@clickview/lite 0.76.0-rc.2 → 0.76.0-rc.4

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 (65) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{658-lite-5cb7c60d3b.chunk.css → 3700-lite-2ddbf5e39f.chunk.css} +0 -1
  3. package/dist/css/{4033-lite-b2fb1fd10e.chunk.css → 5987-lite-dc7e18cd99.chunk.css} +1 -0
  4. package/dist/css/{3325-lite-6f710728af.chunk.css → 5999-lite-bd05e26c6b.chunk.css} +1 -0
  5. package/dist/css/{6273-lite-e023522516.chunk.css → 6554-lite-a69c2a69da.chunk.css} +1 -0
  6. package/dist/languages/en.json +1 -1
  7. package/dist/scripts/{1518-c916754d35-lite.chunk.js → 1518-7005bfd3c8-lite.chunk.js} +2 -2
  8. package/dist/scripts/{1518-c916754d35-lite.chunk.js.map → 1518-7005bfd3c8-lite.chunk.js.map} +1 -1
  9. package/dist/scripts/{1670-823b692de0-lite.chunk.js → 1670-d9ced49962-lite.chunk.js} +2 -2
  10. package/dist/scripts/{1670-823b692de0-lite.chunk.js.map → 1670-d9ced49962-lite.chunk.js.map} +1 -1
  11. package/dist/scripts/{1912-f7cadd3e9e-lite.chunk.js → 1912-2271f9d8ee-lite.chunk.js} +2 -2
  12. package/dist/scripts/{1912-f7cadd3e9e-lite.chunk.js.map → 1912-2271f9d8ee-lite.chunk.js.map} +1 -1
  13. package/dist/scripts/{3143-f03801138f-lite.chunk.js → 3143-a754e306a5-lite.chunk.js} +3 -3
  14. package/dist/scripts/{3143-f03801138f-lite.chunk.js.map → 3143-a754e306a5-lite.chunk.js.map} +1 -1
  15. package/dist/scripts/{3191-6f79256d33-lite.chunk.js → 3191-e387636012-lite.chunk.js} +2 -2
  16. package/dist/scripts/{3191-6f79256d33-lite.chunk.js.map → 3191-e387636012-lite.chunk.js.map} +1 -1
  17. package/dist/scripts/3700-201cabeb7a-lite.chunk.js +3 -0
  18. package/dist/scripts/3700-201cabeb7a-lite.chunk.js.map +1 -0
  19. package/dist/scripts/{4050-57e2409255-lite.chunk.js → 4050-8852c15f40-lite.chunk.js} +3 -3
  20. package/dist/scripts/4050-8852c15f40-lite.chunk.js.map +1 -0
  21. package/dist/scripts/{4802-1b7a767c46-lite.chunk.js → 4802-bc321d7ede-lite.chunk.js} +3 -3
  22. package/dist/scripts/{4802-1b7a767c46-lite.chunk.js.map → 4802-bc321d7ede-lite.chunk.js.map} +1 -1
  23. package/dist/scripts/{5877-6c9d90249b-lite.chunk.js → 5877-20ef40af7c-lite.chunk.js} +2 -2
  24. package/dist/scripts/{5877-6c9d90249b-lite.chunk.js.map → 5877-20ef40af7c-lite.chunk.js.map} +1 -1
  25. package/dist/scripts/5987-ece2ee4793-lite.chunk.js +3 -0
  26. package/dist/scripts/5987-ece2ee4793-lite.chunk.js.map +1 -0
  27. package/dist/scripts/{6273-a71eccd48b-lite.chunk.js → 6554-353cf95001-lite.chunk.js} +2 -2
  28. package/dist/scripts/{6273-a71eccd48b-lite.chunk.js.map → 6554-353cf95001-lite.chunk.js.map} +1 -1
  29. package/dist/scripts/{7815-554d031e0a-lite.chunk.js → 7815-05c5e8df47-lite.chunk.js} +2 -2
  30. package/dist/scripts/{7815-554d031e0a-lite.chunk.js.map → 7815-05c5e8df47-lite.chunk.js.map} +1 -1
  31. package/dist/scripts/{7835-61d04f9f11-lite.chunk.js → 7835-8d490274c8-lite.chunk.js} +3 -3
  32. package/dist/scripts/{7835-61d04f9f11-lite.chunk.js.map → 7835-8d490274c8-lite.chunk.js.map} +1 -1
  33. package/dist/scripts/{8362-5936447d00-lite.chunk.js → 8362-7cac098b34-lite.chunk.js} +3 -3
  34. package/dist/scripts/{8362-5936447d00-lite.chunk.js.map → 8362-7cac098b34-lite.chunk.js.map} +1 -1
  35. package/dist/scripts/{8548-4eeb094dbb-lite.chunk.js → 8548-c987128b9f-lite.chunk.js} +3 -3
  36. package/dist/scripts/{8548-4eeb094dbb-lite.chunk.js.map → 8548-c987128b9f-lite.chunk.js.map} +1 -1
  37. package/dist/scripts/{8756-a3f84f1b64-lite.chunk.js → 8756-560899a88b-lite.chunk.js} +2 -2
  38. package/dist/scripts/{8756-a3f84f1b64-lite.chunk.js.map → 8756-560899a88b-lite.chunk.js.map} +1 -1
  39. package/dist/scripts/{8933-01ed4c4e69-lite.chunk.js → 8933-aa3f547d1e-lite.chunk.js} +3 -3
  40. package/dist/scripts/{8933-01ed4c4e69-lite.chunk.js.map → 8933-aa3f547d1e-lite.chunk.js.map} +1 -1
  41. package/dist/scripts/914-4a8424247f-lite.chunk.js +2 -0
  42. package/dist/scripts/914-4a8424247f-lite.chunk.js.map +1 -0
  43. package/dist/scripts/{9423-d67a0bb6f3-lite.chunk.js → 9423-3ce35ca995-lite.chunk.js} +2 -2
  44. package/dist/scripts/{9423-d67a0bb6f3-lite.chunk.js.map → 9423-3ce35ca995-lite.chunk.js.map} +1 -1
  45. package/dist/scripts/bundle-2ab602ed30.min.js +3 -0
  46. package/dist/scripts/{bundle-4276667ced.min.js.map → bundle-2ab602ed30.min.js.map} +1 -1
  47. package/package.json +1 -1
  48. package/dist/scripts/4033-d8dbb0d208-lite.chunk.js +0 -3
  49. package/dist/scripts/4033-d8dbb0d208-lite.chunk.js.map +0 -1
  50. package/dist/scripts/4050-57e2409255-lite.chunk.js.map +0 -1
  51. package/dist/scripts/5467-3c44100a58-lite.chunk.js +0 -2
  52. package/dist/scripts/5467-3c44100a58-lite.chunk.js.map +0 -1
  53. package/dist/scripts/658-f500e8210f-lite.chunk.js +0 -3
  54. package/dist/scripts/658-f500e8210f-lite.chunk.js.map +0 -1
  55. package/dist/scripts/bundle-4276667ced.min.js +0 -3
  56. /package/dist/scripts/{3143-f03801138f-lite.chunk.js.LICENSE.txt → 3143-a754e306a5-lite.chunk.js.LICENSE.txt} +0 -0
  57. /package/dist/scripts/{4033-d8dbb0d208-lite.chunk.js.LICENSE.txt → 3700-201cabeb7a-lite.chunk.js.LICENSE.txt} +0 -0
  58. /package/dist/scripts/{4050-57e2409255-lite.chunk.js.LICENSE.txt → 4050-8852c15f40-lite.chunk.js.LICENSE.txt} +0 -0
  59. /package/dist/scripts/{4802-1b7a767c46-lite.chunk.js.LICENSE.txt → 4802-bc321d7ede-lite.chunk.js.LICENSE.txt} +0 -0
  60. /package/dist/scripts/{658-f500e8210f-lite.chunk.js.LICENSE.txt → 5987-ece2ee4793-lite.chunk.js.LICENSE.txt} +0 -0
  61. /package/dist/scripts/{7835-61d04f9f11-lite.chunk.js.LICENSE.txt → 7835-8d490274c8-lite.chunk.js.LICENSE.txt} +0 -0
  62. /package/dist/scripts/{8362-5936447d00-lite.chunk.js.LICENSE.txt → 8362-7cac098b34-lite.chunk.js.LICENSE.txt} +0 -0
  63. /package/dist/scripts/{8548-4eeb094dbb-lite.chunk.js.LICENSE.txt → 8548-c987128b9f-lite.chunk.js.LICENSE.txt} +0 -0
  64. /package/dist/scripts/{8933-01ed4c4e69-lite.chunk.js.LICENSE.txt → 8933-aa3f547d1e-lite.chunk.js.LICENSE.txt} +0 -0
  65. /package/dist/scripts/{bundle-4276667ced.min.js.LICENSE.txt → bundle-2ab602ed30.min.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5467],{59253:(t,e,n)=>{var r=n(76032),o=n(11576);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,l(r.key),r)}}function l(t){var e=function(t){if("object"!=i(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:e+""}function a(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(a=function(){return!!t})()}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function s(t,e){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},s(t,e)}var f=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(r=function(t,e,n){return e=c(e),function(t,e){if(e&&("object"==i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,a()?Reflect.construct(e,n||[],c(t).constructor):e.apply(t,n))}(this,e,[t,n])).update(),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&s(t,e)}(e,t),n=e,r=[{key:"update",value:function(){this.options_.activityStatus===o.T.Complete?this.addClass("cv-activity-completed"):this.removeClass("cv-activity-completed")}},{key:"handleClick",value:function(){if(this.options_.activityStatus=this.getToggledActivityStatus(),this.update(),this.options_.clickHandler){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];this.options_.clickHandler.call(this,e)}}},{key:"buildCSSClass",value:function(){return"cv-activity-status-button"}},{key:"getToggledActivityStatus",value:function(){return this.options_.activityStatus===o.T.None||this.options_.activityStatus===o.T.Incomplete?o.T.Complete:this.options_.activityStatus===o.T.Complete?o.T.Incomplete:void 0}}],r&&u(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(r.Z.getComponent("Button"));function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}function y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,d(r.key),r)}}function d(t){var e=function(t){if("object"!=p(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==p(e)?e:e+""}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(h=function(){return!!t})()}function v(t){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},v(t)}function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}f.prototype.controlText_="Complete";var g=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),function(t,e,n){return e=v(e),function(t,e){if(e&&("object"==p(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,h()?Reflect.construct(e,n||[],v(t).constructor):e.apply(t,n))}(this,e,arguments)}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&b(t,e)}(e,t),n=e,(r=[{key:"setActivityStatus",value:function(t,e){var n=this;t!==this.activityStatus&&(this.activityStatus=t,this.onToggleStatus=e,this.player.ready(function(){n.renderActivityStatusButton()}))}},{key:"renderActivityStatusButton",value:function(){this.button&&this.player.removeChild(this.button),this.button=new f(this.player,{activityStatus:this.activityStatus,clickHandler:this.onToggleStatus}),this.player.addChild(this.button)}}])&&y(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(r.Z.getPlugin("plugin"));r.Z.registerPlugin("activityStatusPlugin",g)},14340:(t,e,n)=>{var r=n(76032),o=n(10463),i=n(32735),u=n(14735);function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function a(t){var e,n,r,o=(n=i.useState(5),r=2,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,u,l=[],a=!0,c=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;a=!1}else for(;!(a=(r=i.call(n)).done)&&(l.push(r.value),l.length!==e);a=!0);}catch(t){c=!0,o=t}finally{try{if(!a&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(c)throw o}}return l}}(n,r)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=o[0],a=o[1];if(i.useEffect(function(){var t=setInterval(function(){a(function(t){return t-1})},1e3);return function(){clearInterval(t)}},[]),i.useEffect(function(){0===u&&t.onPlayNext()},[u]),!t.nextVideo||!t.onPlayNext)return i.createElement(i.Fragment,null);var c=Math.ceil(u),s=1===c?"second":"seconds";return i.createElement(i.Fragment,null,i.createElement("div",{className:"cv-up-next-container"},i.createElement("div",{className:"cv-cancel-up-next cursor-pointer",role:"button",onClick:t.onCancel},"×"),i.createElement("div",{className:"cv-up-next-heading"},"Up next in ",c," ",s,":"),i.createElement("div",{className:"cv-up-next-image cursor-pointer",onClick:t.onPlayNext,style:{backgroundImage:"url(".concat(null===(e=t.nextVideo)||void 0===e?void 0:e.thumbnailUrl,")")}}),i.createElement("div",{className:"cv-up-next-title"},t.nextVideo.name)))}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,f(r.key),r)}}function f(t){var e=function(t){if("object"!=c(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=c(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==c(e)?e:e+""}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(p=function(){return!!t})()}function y(t,e,n,r){var o=d(h(1&r?t.prototype:t),e,n);return 2&r&&"function"==typeof o?function(t){return o.apply(n,t)}:o}function d(){return d="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=h(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(arguments.length<3?t:n):o.value}},d.apply(null,arguments)}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function v(t,e){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},v(t,e)}r.Z.registerComponent("UpNext",(0,u.Z)(function(t,e){return i.createElement(a,Object.assign({player:t},e))}));var b=function(t){function e(t,n){var r;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(r=function(t,e,n){return e=h(e),function(t,e){if(e&&("object"==c(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,n||[],h(t).constructor):e.apply(t,n))}(this,e,[t,n])).bindListeners(),r.player_.nextVideoPlugin().getShouldPlayNext()&&r.toggleOn(),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&v(t,e)}(e,t),n=e,(o=[{key:"bindListeners",value:function(){this.onPlayNextChange=this.onPlayNextChange.bind(this),this.player_.on("cv:playnext",this.onPlayNextChange)}},{key:"handleToggle",value:function(){var t=this.player_.nextVideoPlugin().getShouldPlayNext();this.player_.nextVideoPlugin().setShouldPlayNext(!t,!0)}},{key:"onPlayNextChange",value:function(t,e){e?this.toggleOn():this.toggleOff()}},{key:"toggleOn",value:function(){r.Z.dom.addClass(this.toggleEl,"on")}},{key:"toggleOff",value:function(){r.Z.dom.removeClass(this.toggleEl,"on")}},{key:"handleClick",value:function(t){t.stopImmediatePropagation()}},{key:"createEl",value:function(t,n,o){this.handlerBound||(this.handleToggle=this.handleToggle.bind(this),this.handlerBound=!0),this.toggleEl&&this.toggleEl.removeEventListener("click",this.handleToggle),this.toggleEl=r.Z.dom.createEl("div",{className:"custom-toggle custom-toggle-info toggle-option float-end",innerHTML:'<span class="handle"></span></div>'}),this.toggleEl.addEventListener("click",this.handleToggle);var i=y(e,"createEl",this,3)([t,{className:"vjs-menu-item cv-cog-menu-item cv-play-next-toggle",innerHTML:'\n <span class="vjs-menu-item-text">Play next video</span>\n <span class="cv-toggle-container"></span>'},o]);return i.children[1].appendChild(this.toggleEl),i}},{key:"dispose",value:function(){this.player_.off("cv:playnext",this.onPlayNextChange),y(e,"dispose",this,3)([])}}])&&s(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(r.Z.getComponent("MenuItem"));function g(t){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},g(t)}function m(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,P(r.key),r)}}function P(t){var e=function(t){if("object"!=g(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==g(e)?e:e+""}function w(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(w=function(){return!!t})()}function S(){return S="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(t,e){for(;!{}.hasOwnProperty.call(t,e)&&null!==(t=x(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(arguments.length<3?t:n):o.value}},S.apply(null,arguments)}function x(t){return x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},x(t)}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}r.Z.registerComponent("NextVideoMenuItem",b);var j="cv-persisttest",N="cv-play-next-video",k=r.Z.getPlugin("plugin"),_=(r.Z.getComponent("MenuItem"),r.Z.getComponent("NextVideoMenuItem")),C=function(t){function e(t){var n;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),(n=function(t,e,n){return e=x(e),function(t,e){if(e&&("object"==g(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,w()?Reflect.construct(e,n||[],x(t).constructor):e.apply(t,n))}(this,e,[t])).setShouldPlayNext=n.setShouldPlayNext.bind(n),n.getShouldPlayNext=n.getShouldPlayNext.bind(n),n.getChapterTrack=n.getChapterTrack.bind(n),n.onTimeUpdate=n.onTimeUpdate.bind(n),n.hasLocalStorage=n.testHasLocalStorage(),n.shouldPlayNextVideo=!1,n.hasLocalStorage){var r=window.localStorage.getItem(N);n.shouldPlayNextVideo="true"===r}return t.ready(function(){n.initialize()}),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&O(t,e)}(e,t),n=e,r=[{key:"initialize",value:function(){this.player.isDisposed()||this.bindListeners()}},{key:"getChapterTrack",value:function(){return o.O.getTrack(this.player,"chapters",null)}},{key:"setNextVideo",value:function(t,e,n){var r;this.nextVideo=t,this.callback=n,e&&this.setShouldPlayNext(!0),(null===(r=this.player.getChild("collapserator"))||void 0===r?void 0:r.getChild("cogButton")).addItem({index:0,ctor:_,name:"NextVideoMenuItem"})}},{key:"getShouldPlayNext",value:function(){return this.shouldPlayNextVideo}},{key:"setShouldPlayNext",value:function(t,e){this.shouldPlayNextVideo=t,this.player.trigger("cv:playnext",t),this.hasLocalStorage&&e&&window.localStorage.setItem(N,t.toString()),t&&this.player.loopVideoPlugin().loop(!1)}},{key:"bindListeners",value:function(){this.player.on("timeupdate",this.onTimeUpdate)}},{key:"dispose",value:function(){var t,n,r;this.player.off("timeupdate",this.onTimeUpdate),this.hideUpNext(),(t=e,n=this,"function"==typeof(r=S(x(1&3?t.prototype:t),"dispose",n))?function(t){return r.apply(n,t)}:r)([])}},{key:"onTimeUpdate",value:function(){this.player.pictureInPicture&&this.player.isInPictureInPicture()||(this.getShouldPlayNext()?this.upNextRendered&&this.player.currentTime()<this.player.duration()?this.hideUpNext():this.player.ended()&&this.showUpNext():this.hideUpNext())}},{key:"showUpNext",value:function(){var t=this;this.upNextRendered||(this.upNextRendered=!0,this.player.addChild("UpNext",{nextVideo:this.nextVideo,onPlayNext:this.callback,onCancel:function(){t.hideUpNext(),t.setShouldPlayNext(!1)}}))}},{key:"hideUpNext",value:function(){if(this.upNextRendered){this.upNextRendered=!1;var t=this.player.getChild("UpNext");t&&(this.player.removeChild(t),t.dispose())}}},{key:"testHasLocalStorage",value:function(){try{return window.localStorage.setItem(j,"persistPlayNext"),window.localStorage.removeItem(j),!0}catch(t){return!1}}}],r&&m(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(k);r.Z.registerPlugin("nextVideoPlugin",C)},63816:(t,e,n)=>{function r(t){return new Proxy(t,{get:function(t,e,n){if("off"===e||!t.isDisposed())return Reflect.get(t,e,n)}})}n.d(e,{G:()=>r})}}]);
2
- //# sourceMappingURL=5467-3c44100a58-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/5467-3c44100a58-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/player/src/plugins/activity-status-plugin/components/activity-status-button.ts","file:///app/packages/projects/player/src/plugins/activity-status-plugin/activity-status-plugin.ts","file:///app/packages/projects/player/src/plugins/next-video-plugin/components/up-next/up-next.tsx","file:///app/packages/projects/player/src/components/next-video-menu-item/next-video-menu-item.ts","file:///app/packages/projects/player/src/plugins/next-video-plugin/next-video-plugin.ts","file:///app/packages/projects/player/src/utils/getProxy.ts"],"sourcesContent":["import videojs, { VideoJsPlayer } from 'video.js';\n\nimport { ShareActivityStatus } from 'libs/shared/enums/ShareActivityStatus';\n\nconst Button = videojs.getComponent('Button');\n\nimport './activity-status-button.scss';\n\ninterface ActivityStatusButtonOptions extends videojs.ComponentOptions {\n activityStatus: ShareActivityStatus;\n clickHandler: () => void;\n}\n\nexport class ActivityStatusButton extends Button {\n public options_: ActivityStatusButtonOptions;\n public controlText_: string;\n\n constructor(player: VideoJsPlayer, options: ActivityStatusButtonOptions) {\n super(player, options);\n\n this.update();\n }\n\n public update(): void {\n if (this.options_.activityStatus === ShareActivityStatus.Complete)\n this.addClass('cv-activity-completed');\n else\n this.removeClass('cv-activity-completed');\n }\n\n public handleClick(...args: any[]) {\n this.options_.activityStatus = this.getToggledActivityStatus();\n\n this.update();\n if (this.options_.clickHandler) {\n this.options_.clickHandler.call(this, args);\n }\n }\n\n public buildCSSClass(): string {\n return 'cv-activity-status-button';\n }\n\n private getToggledActivityStatus(): ShareActivityStatus {\n if (this.options_.activityStatus === ShareActivityStatus.None\n || this.options_.activityStatus === ShareActivityStatus.Incomplete) {\n return ShareActivityStatus.Complete;\n }\n\n if (this.options_.activityStatus === ShareActivityStatus.Complete) {\n return ShareActivityStatus.Incomplete;\n }\n }\n}\n\nActivityStatusButton.prototype.controlText_ = 'Complete';","import videojs from 'video.js';\n\nimport { ShareActivityStatus } from 'libs/shared/enums/ShareActivityStatus';\n\nimport { ActivityStatusButton } from 'projects/player/plugins/activity-status-plugin/components/activity-status-button';\n\nconst Plugin = videojs.getPlugin('plugin');\n\nclass ActivityStatusPlugin extends Plugin {\n private activityStatus: ShareActivityStatus;\n private onToggleStatus: () => void;\n private button: ActivityStatusButton;\n\n public setActivityStatus(activityStatus: ShareActivityStatus, onToggleStatus: () => void): void {\n if (activityStatus === this.activityStatus)\n return;\n\n this.activityStatus = activityStatus;\n this.onToggleStatus = onToggleStatus;\n\n this.player.ready(() => {\n this.renderActivityStatusButton();\n });\n }\n\n // Remove old button and render new button when activity status is different from previous status\n private renderActivityStatusButton(): void {\n if (this.button) {\n this.player.removeChild(this.button);\n }\n\n this.button = new ActivityStatusButton(this.player, {\n activityStatus: this.activityStatus,\n clickHandler: this.onToggleStatus\n });\n\n this.player.addChild(this.button);\n }\n}\n\nvideojs.registerPlugin('activityStatusPlugin', ActivityStatusPlugin);\n\ndeclare module 'video.js' {\n export interface VideoJsPlayer {\n activityStatusPlugin(): ActivityStatusPlugin;\n }\n}\n","import * as React from 'react';\nimport videojs, { VideoJsPlayer } from 'video.js';\n\nimport { NextVideo } from 'projects/player/interfaces/NextVideo';\nimport { getReactComponent } from 'projects/player/react/react-component';\n\nimport './up-next.scss';\n\ninterface UpNextProps {\n player: VideoJsPlayer;\n nextVideo: NextVideo;\n onPlayNext: () => void;\n onCancel: () => void;\n}\n\nfunction UpNext(props: UpNextProps): JSX.Element {\n const [ timeRemaining, setTimeRemaining ] = React.useState(5);\n\n React.useEffect(() => {\n const timer = setInterval(() => {\n setTimeRemaining(prev => prev - 1);\n }, 1000);\n\n return () => {\n clearInterval(timer);\n };\n }, []);\n\n React.useEffect(() => {\n if (timeRemaining === 0)\n props.onPlayNext();\n }, [timeRemaining]);\n\n if (!props.nextVideo || !props.onPlayNext)\n return <></>;\n\n const roundedTimeRemaining = Math.ceil(timeRemaining);\n const secondsString = roundedTimeRemaining === 1 ? 'second' : 'seconds';\n\n return (\n <>\n <div className='cv-up-next-container'>\n <div className='cv-cancel-up-next cursor-pointer' role='button' onClick={props.onCancel}>&times;</div>\n <div className='cv-up-next-heading'>Up next in {roundedTimeRemaining} {secondsString}:</div>\n <div\n className='cv-up-next-image cursor-pointer'\n onClick={props.onPlayNext}\n style={{\n backgroundImage: `url(${props.nextVideo?.thumbnailUrl})`\n }}\n ></div>\n <div className='cv-up-next-title'>{props.nextVideo.name}</div>\n </div>\n </>\n );\n}\n\nvideojs.registerComponent(\n 'UpNext',\n getReactComponent(\n (player: VideoJsPlayer, options: UpNextProps) => <UpNext player={player} {...options} />\n )\n);","import videojs, { VideoJsPlayer } from 'video.js';\n\nimport './next-video-menu-item.scss';\n\nconst MenuItem = videojs.getComponent('MenuItem');\n\nclass NextVideoMenuItem extends MenuItem {\n private toggleEl: Element;\n\n /**\n * Because we want to bind our listener in createEl\n * and createEl runs in super. We store if we've bounud\n * our handler, so we only call bind once and \n * the call to removeEventListener will still work\n */\n private handlerBound: boolean;\n\n constructor(player: VideoJsPlayer, options: videojs.ComponentOptions) {\n super(player, options);\n\n this.bindListeners();\n\n if (this.player_.nextVideoPlugin().getShouldPlayNext())\n this.toggleOn();\n }\n\n private bindListeners(): void {\n this.onPlayNextChange = this.onPlayNextChange.bind(this);\n\n this.player_.on('cv:playnext', this.onPlayNextChange);\n }\n\n public handleToggle(): void {\n const shouldPlayNext = this.player_.nextVideoPlugin().getShouldPlayNext();\n\n this.player_.nextVideoPlugin().setShouldPlayNext(!shouldPlayNext, true);\n }\n\n private onPlayNextChange(_: any, enabled: boolean): void {\n enabled ? this.toggleOn() : this.toggleOff();\n }\n\n private toggleOn(): void {\n videojs.dom.addClass(this.toggleEl, 'on');\n }\n\n private toggleOff(): void {\n videojs.dom.removeClass(this.toggleEl, 'on');\n }\n\n /**\n * Because we extend MenuItem which will close the menu by default\n * we need to halt the event propogation here\n */\n public handleClick(event: videojs.EventTarget.Event): void {\n event.stopImmediatePropagation();\n }\n\n public createEl(tagName?: string, properties?: any, attributes?: any): HTMLLIElement {\n /**\n * Bind our event listener only once\n * see the comment where handlerBound is defined\n */\n if (!this.handlerBound) {\n this.handleToggle = this.handleToggle.bind(this);\n this.handlerBound = true;\n }\n\n if (this.toggleEl)\n this.toggleEl.removeEventListener('click', this.handleToggle);\n\n this.toggleEl = videojs.dom.createEl('div', {\n className: `custom-toggle custom-toggle-info toggle-option float-end`,\n innerHTML: '<span class=\"handle\"></span></div>'\n });\n this.toggleEl.addEventListener('click', this.handleToggle);\n\n const innerHTML = `\n <span class=\"vjs-menu-item-text\">Play next video</span>\n <span class=\"cv-toggle-container\"></span>`;\n\n const el = super.createEl(tagName, {\n className: 'vjs-menu-item cv-cog-menu-item cv-play-next-toggle',\n innerHTML\n }, attributes);\n\n /**\n * Indexing into the child this way is only safe to do because\n * we know that the el only has two children\n */\n el.children[1].appendChild(this.toggleEl);\n\n return el;\n }\n\n public dispose(): void {\n this.player_.off('cv:playnext', this.onPlayNextChange);\n super.dispose();\n }\n}\n\nvideojs.registerComponent('NextVideoMenuItem', NextVideoMenuItem);\n","import videojs, { VideoJsPlayer } from 'video.js';\n\nimport { CogButton } from 'projects/player/components/cog-button/cog-button';\nimport { NextVideo } from 'projects/player/interfaces/NextVideo';\nimport { TrackHelper } from 'projects/player/utils/track-helper';\n\nimport 'projects/player/plugins/next-video-plugin/components/up-next/up-next';\nimport 'projects/player/components/next-video-menu-item/next-video-menu-item';\n\nconst TEST = 'cv-persisttest';\nconst PLAY_NEXT = 'cv-play-next-video';\n\nconst Plugin = videojs.getPlugin('plugin');\nconst MenuItem = videojs.getComponent('MenuItem');\nconst NextVideoMenuItem = videojs.getComponent('NextVideoMenuItem') as unknown as typeof MenuItem;\n\nclass NextVideoPlugin extends Plugin {\n private shouldPlayNextVideo: boolean;\n private hasLocalStorage: boolean;\n private nextVideoMenuItem: typeof MenuItem;\n\n private upNextRendered: boolean;\n\n private nextVideo: NextVideo;\n private callback: () => void;\n \n constructor(player: VideoJsPlayer) {\n super(player);\n\n this.setShouldPlayNext = this.setShouldPlayNext.bind(this);\n this.getShouldPlayNext = this.getShouldPlayNext.bind(this);\n this.getChapterTrack = this.getChapterTrack.bind(this);\n this.onTimeUpdate = this.onTimeUpdate.bind(this);\n\n this.hasLocalStorage = this.testHasLocalStorage();\n\n this.shouldPlayNextVideo = false;\n\n if (this.hasLocalStorage) {\n const item = window.localStorage.getItem(PLAY_NEXT);\n this.shouldPlayNextVideo = item === 'true';\n }\n\n player.ready(() => {\n this.initialize();\n });\n }\n \n private initialize(): void {\n if ((this.player as any).isDisposed())\n return;\n \n this.bindListeners();\n }\n\n private getChapterTrack(): TextTrack {\n return TrackHelper.getTrack(this.player, 'chapters', null);\n }\n\n public setNextVideo(nextVideo: NextVideo, playNext: boolean, callback: () => void): void {\n this.nextVideo = nextVideo;\n this.callback = callback;\n\n if (playNext)\n this.setShouldPlayNext(true);\n\n const cogButton = this.player.getChild('collapserator')?.getChild('cogButton') as CogButton;\n cogButton.addItem({ index: 0, ctor: NextVideoMenuItem, name: 'NextVideoMenuItem' });\n }\n\n public getShouldPlayNext(): boolean {\n return this.shouldPlayNextVideo;\n }\n\n public setShouldPlayNext(val: boolean, persist?: boolean): void {\n this.shouldPlayNextVideo = val;\n this.player.trigger('cv:playnext', val);\n\n if (this.hasLocalStorage && persist)\n window.localStorage.setItem(PLAY_NEXT, val.toString());\n\n if (val)\n this.player.loopVideoPlugin().loop(false);\n }\n\n private bindListeners(): void {\n this.player.on('timeupdate', this.onTimeUpdate);\n }\n\n public dispose(): void {\n this.player.off('timeupdate', this.onTimeUpdate);\n\n this.hideUpNext();\n\n super.dispose();\n }\n\n private onTimeUpdate(): void {\n /**\n * Do nothing when in picture in picture.\n * TODO: Figure out how next video should work for PiP\n */\n if (this.player.pictureInPicture && this.player.isInPictureInPicture())\n return;\n\n if (!this.getShouldPlayNext()) {\n this.hideUpNext();\n return;\n }\n\n /*\n * Always hide the up-next tile if the video is not at the end\n */\n if (this.upNextRendered && this.player.currentTime() < this.player.duration()) {\n this.hideUpNext();\n return;\n }\n\n /*\n * Show the up-next tile when the video has finished\n */\n if (this.player.ended()) {\n this.showUpNext();\n }\n }\n\n private showUpNext(): void {\n if (this.upNextRendered)\n return;\n\n this.upNextRendered = true;\n\n this.player.addChild('UpNext', {\n nextVideo: this.nextVideo,\n onPlayNext: this.callback,\n onCancel: () => {\n this.hideUpNext();\n this.setShouldPlayNext(false);\n }\n });\n }\n\n private hideUpNext(): void {\n if (!this.upNextRendered)\n return;\n\n this.upNextRendered = false;\n\n const upNext = this.player.getChild('UpNext');\n\n if (upNext) {\n this.player.removeChild(upNext);\n upNext.dispose();\n }\n }\n\n private testHasLocalStorage(): boolean {\n try {\n window.localStorage.setItem(TEST, 'persistPlayNext');\n window.localStorage.removeItem(TEST);\n return true;\n } catch (e) {\n return false;\n }\n }\n}\n\nvideojs.registerPlugin('nextVideoPlugin', NextVideoPlugin);\n\ndeclare module 'video.js' {\n export interface VideoJsPlayer {\n nextVideoPlugin(): NextVideoPlugin;\n }\n}","import { BasePlayer } from 'projects/player/players/base-player';\n\nexport function getProxy<T extends BasePlayer>(player: T) {\n return new Proxy(player, {\n get(target: T, p: string, receiver: any) {\n /**\n * We still allow removing event listeners if the player is diposed\n */\n if (p !== 'off' && target.isDisposed())\n return;\n\n return Reflect.get(target, p, receiver);\n }\n });\n}"],"names":["ActivityStatusButton","player","options","update","this","options_","activityStatus","ShareActivityStatus","addClass","removeClass","getToggledActivityStatus","clickHandler","args","call","prototype","controlText_","ActivityStatusPlugin","onToggleStatus","ready","renderActivityStatusButton","button","removeChild","addChild","UpNext","props","timeRemaining","setTimeRemaining","timer","setInterval","prev","clearInterval","onPlayNext","nextVideo","roundedTimeRemaining","Math","ceil","secondsString","className","role","onClick","onCancel","style","backgroundImage","thumbnailUrl","name","NextVideoMenuItem","bindListeners","player_","nextVideoPlugin","getShouldPlayNext","toggleOn","onPlayNextChange","bind","on","shouldPlayNext","setShouldPlayNext","_","enabled","toggleOff","toggleEl","event","stopImmediatePropagation","tagName","properties","attributes","handlerBound","handleToggle","removeEventListener","innerHTML","addEventListener","el","children","appendChild","off","TEST","PLAY_NEXT","Plugin","NextVideoPlugin","getChapterTrack","onTimeUpdate","hasLocalStorage","testHasLocalStorage","shouldPlayNextVideo","item","window","localStorage","getItem","initialize","isDisposed","playNext","callback","getChild","addItem","index","ctor","val","persist","trigger","setItem","toString","loopVideoPlugin","loop","hideUpNext","pictureInPicture","isInPictureInPicture","upNextRendered","currentTime","duration","ended","showUpNext","upNext","dispose","removeItem","e","getProxy","Proxy","get","target","p","receiver","Reflect"],"sourceRoot":""}