@playkit-js/unisphere 0.0.2-canary.0-0e931f0

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 (34) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +135 -0
  3. package/dist/index.d.ts +1 -0
  4. package/dist/playkit-unisphere.js +3 -0
  5. package/dist/playkit-unisphere.js.LICENSE.txt +1 -0
  6. package/dist/playkit-unisphere.js.map +1 -0
  7. package/dist/tsdoc-metadata.json +11 -0
  8. package/package.json +96 -0
  9. package/src/components/container-element/container-element.tsx +13 -0
  10. package/src/components/container-element/index.ts +1 -0
  11. package/src/components/index.ts +2 -0
  12. package/src/components/upper-bar-icon/index.ts +1 -0
  13. package/src/components/upper-bar-icon/upper-bar-icon.tsx +23 -0
  14. package/src/index.ts +4 -0
  15. package/src/services/container/container-manager.ts +25 -0
  16. package/src/services/container/index.ts +1 -0
  17. package/src/services/container/producers/base-container-producer.ts +42 -0
  18. package/src/services/container/producers/container-producer.ts +8 -0
  19. package/src/services/container/producers/index.ts +3 -0
  20. package/src/services/container/producers/sidepanel-container-producer.tsx +37 -0
  21. package/src/services/container/producers/simple-container-producer.tsx +27 -0
  22. package/src/services/index.ts +1 -0
  23. package/src/services/unisphere/index.ts +3 -0
  24. package/src/services/unisphere/unisphere-base-service.ts +46 -0
  25. package/src/services/unisphere/unisphere-element-service.ts +11 -0
  26. package/src/services/unisphere/unisphere-event-service.ts +30 -0
  27. package/src/services/unisphere/unisphere-storage-service.ts +37 -0
  28. package/src/types/global.d.ts +1 -0
  29. package/src/types/index.ts +3 -0
  30. package/src/types/unisphere-event.ts +8 -0
  31. package/src/types/unisphere-plugin-config.ts +25 -0
  32. package/src/types/unisphere-storage-keys.ts +8 -0
  33. package/src/unisphere-plugin-manager.tsx +176 -0
  34. package/src/unisphere-plugin.tsx +41 -0
package/README.md ADDED
@@ -0,0 +1,135 @@
1
+ [![Build Status](https://app.travis-ci.com/kaltura/playkit-js-plugin-example.svg?branch=master)](https://app.travis-ci.com/kaltura/playkit-js-plugin-example)
2
+ [![](https://img.shields.io/npm/v/@playkit-js/plugin-example/latest.svg)](https://www.npmjs.com/package/@playkit-js/plugin-example)
3
+ [![](https://img.shields.io/npm/v/@playkit-js/plugin-example/canary.svg)](https://www.npmjs.com/package/@playkit-js/plugin-example/v/canary)
4
+
5
+ # playkit-js-plugin-example
6
+
7
+ playkit-js-plugin-example is a [kaltura player] plugin that groups several UI services,
8
+ in order to simplify and facilitate the customization of the [kaltura player] UI by providing a simple and clean API.
9
+
10
+ Each service manages a different area of UI functionality.
11
+
12
+ It relies on [kaltura player] core API for managing UI features.
13
+
14
+ playkit-js-plugin-example is written in [ECMAScript6] (`*.js`) and [TypeScript] (`*.ts`) (strongly typed superset of ES6),
15
+ and transpiled in ECMAScript5 using [Babel](https://babeljs.io/) and the [TypeScript compiler].
16
+
17
+ [Webpack] is used to build the distro bundle and serve the local development environment.
18
+
19
+ [kaltura player]: https://github.com/kaltura/kaltura-player-js.
20
+ [ecmascript6]: https://github.com/ericdouglas/ES6-Learning#articles--tutorials
21
+ [typescript]: https://www.typescriptlang.org/
22
+ [typescript compiler]: https://www.typescriptlang.org/docs/handbook/compiler-options.html
23
+ [webpack]: https://webpack.js.org/
24
+
25
+ ## Features
26
+
27
+ Write here your plugin description...
28
+
29
+ ## Getting started with development
30
+
31
+ ```sh
32
+ # First, checkout the repository and install the required dependencies
33
+ git clone https://github.com/kaltura/playkit-js-plugin-example.git
34
+
35
+ # Navigate to the repo dir
36
+ cd playkit-js-plugin-example
37
+
38
+ # Run dev-server for demo page (recompiles on file-watch, and write to actual dist fs artifacts)
39
+ npm run dev
40
+
41
+ # Before submitting a PR - Run the pre commit command
42
+ npm run pre:commit
43
+
44
+ # this command will run:
45
+
46
+ # 1. types check
47
+ # 2. lint check
48
+ # 3. generate/update types
49
+ # 4. generate/update docs
50
+ ```
51
+
52
+ The dev server will host files on port 8000. Once started, the demo can be found running at http://localhost:8000/.
53
+
54
+ Before submitting a PR, please see our [contribution guidelines](CONTRIBUTING.md).
55
+
56
+
57
+ ### Linter (ESlint)
58
+
59
+ Run linter:
60
+
61
+ ```
62
+ npm run lint:check
63
+ ```
64
+
65
+ Run linter with auto-fix mode:
66
+
67
+ ```
68
+ npm run lint:fix
69
+ ```
70
+
71
+ ### Formatting Code
72
+
73
+ Run prettier to format code
74
+
75
+ ```
76
+ npm run prettier:fix
77
+ ```
78
+
79
+ ### Type Check
80
+
81
+ Run type-check to verify TypeScript types
82
+
83
+ ```
84
+ npm run types:check
85
+ ```
86
+
87
+ ### Automated tests (Mocha/Karma)
88
+
89
+ Run all tests at once:
90
+
91
+ ```
92
+ npm test
93
+ ```
94
+
95
+ Run unit tests in watch mode:
96
+
97
+ ```
98
+ npm run test:watch
99
+ ```
100
+
101
+ ## Design
102
+
103
+ An overview of this project's design, can be found [here](https://kaltura.atlassian.net/wiki/spaces/PROD/pages/3554412657/Side+Panel+Manager+-+Design+Document).
104
+
105
+ ## API docs
106
+
107
+ [API docs](https://kaltura.github.io/playkit-js-plugin-example/docs/api/index.html)
108
+
109
+ ## Usage guide
110
+
111
+ [usage guide](./docs/guide.md)
112
+
113
+ ## Demo
114
+
115
+ [https://kaltura.github.io/playkit-js-plugin-example/demo/index.html](https://kaltura.github.io/playkit-js-plugin-example/demo/index.html)
116
+
117
+
118
+ ## Compatibility
119
+
120
+ playkit-js-plugin-example is only compatible with browsers supporting MediaSource extensions (MSE) API with 'video/MP4' mime-type inputs.
121
+
122
+ playkit-js-plugin-example is supported on:
123
+
124
+ - Chrome 39+ for Android
125
+ - Chrome 39+ for Desktop
126
+ - Firefox 41+ for Android
127
+ - Firefox 42+ for Desktop
128
+ - IE11 for Windows 8.1+
129
+ - Edge for Windows 10+
130
+ - Safari 8+ for MacOS 10.10+
131
+ - Safari for ipadOS 13+
132
+
133
+ ## License
134
+
135
+ playkit-js-plugin-example is released under [Apache 2.0 License](LICENSE)
@@ -0,0 +1 @@
1
+ export { }
@@ -0,0 +1,3 @@
1
+ /*! For license information please see playkit-unisphere.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("KalturaPlayer",[],t):"object"==typeof exports?exports.KalturaPlayer=t():(e.KalturaPlayer=e.KalturaPlayer||{},e.KalturaPlayer.plugins=e.KalturaPlayer.plugins||{},e.KalturaPlayer.plugins.unisphere=t())}(self,(()=>(()=>{var e={51:(e,t,r)=>{var n=r(564).default;function o(){"use strict";e.exports=o=function(){return r},e.exports.__esModule=!0,e.exports.default=e.exports;var t,r={},a=Object.prototype,i=a.hasOwnProperty,u=Object.defineProperty||function(e,t,r){e[t]=r.value},c="function"==typeof Symbol?Symbol:{},s=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",f=c.toStringTag||"@@toStringTag";function p(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{p({},"")}catch(t){p=function(e,t,r){return e[t]=r}}function y(e,t,r,n){var o=t&&t.prototype instanceof w?t:w,a=Object.create(o.prototype),i=new L(n||[]);return u(a,"_invoke",{value:O(e,r,i)}),a}function h(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}r.wrap=y;var v="suspendedStart",d="suspendedYield",g="executing",b="completed",m={};function w(){}function E(){}function P(){}var S={};p(S,s,(function(){return this}));var I=Object.getPrototypeOf,_=I&&I(I(R([])));_&&_!==a&&i.call(_,s)&&(S=_);var x=P.prototype=w.prototype=Object.create(S);function A(e){["next","throw","return"].forEach((function(t){p(e,t,(function(e){return this._invoke(t,e)}))}))}function M(e,t){function r(o,a,u,c){var s=h(e[o],e,a);if("throw"!==s.type){var l=s.arg,f=l.value;return f&&"object"==n(f)&&i.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,u,c)}),(function(e){r("throw",e,u,c)})):t.resolve(f).then((function(e){l.value=e,u(l)}),(function(e){return r("throw",e,u,c)}))}c(s.arg)}var o;u(this,"_invoke",{value:function(e,n){function a(){return new t((function(t,o){r(e,n,t,o)}))}return o=o?o.then(a,a):a()}})}function O(e,r,n){var o=v;return function(a,i){if(o===g)throw Error("Generator is already running");if(o===b){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var u=n.delegate;if(u){var c=k(u,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=b,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=g;var s=h(e,r,n);if("normal"===s.type){if(o=n.done?b:d,s.arg===m)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(o=b,n.method="throw",n.arg=s.arg)}}}function k(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,k(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var a=h(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,m;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function j(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function L(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function R(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(i.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return E.prototype=P,u(x,"constructor",{value:P,configurable:!0}),u(P,"constructor",{value:E,configurable:!0}),E.displayName=p(P,f,"GeneratorFunction"),r.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===E||"GeneratorFunction"===(t.displayName||t.name))},r.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,P):(e.__proto__=P,p(e,f,"GeneratorFunction")),e.prototype=Object.create(x),e},r.awrap=function(e){return{__await:e}},A(M.prototype),p(M.prototype,l,(function(){return this})),r.AsyncIterator=M,r.async=function(e,t,n,o,a){void 0===a&&(a=Promise);var i=new M(y(e,t,n,o),a);return r.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},A(x),p(x,f,"Generator"),p(x,s,(function(){return this})),p(x,"toString",(function(){return"[object Generator]"})),r.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},r.values=R,L.prototype={constructor:L,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(j),!e)for(var r in this)"t"===r.charAt(0)&&i.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,o){return u.type="throw",u.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],u=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),s=i.call(a,"finallyLoc");if(c&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method="next",this.next=o.finallyLoc,m):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),m},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),j(r),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},r}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},564:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},790:(e,t,r)=>{var n=r(51)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}return r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=KalturaPlayer;function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function i(e,t,r){return t&&a(e.prototype,t),r&&a(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function u(e,t){if(t&&("object"==n(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function s(e,t){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},s(e,t)}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function f(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t){if(e){if("string"==typeof e)return p(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(e,t):void 0}}function h(e,t,r,n,o,a,i){try{var u=e[a](i),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function i(e){h(a,n,o,i,u,"next",e)}function u(e){h(a,n,o,i,u,"throw",e)}i(void 0)}))}}var d=r(790),g=r.n(d);const b=KalturaPlayer.ui.preact;var m=function(e){return e.UPPER_BAR_ICON_SHOW="unisphere.event.player.upper-bar-icon.show",e.SIDE_PANEL_OPEN="unisphere.event.player.side-panel.open",e.SIDE_PANEL_CLOSE="unisphere.event.player.side-panel.close",e.SET_VALUE_CURRENT_TIME="unisphere.event.player.set-value.current-time",e.CHAPTERS_ADD="unisphere.event.player.chapters.add",e.PLAYER_RESIZE="unisphere.event.player.resize",e}({}),w=function(e){return e.SELECTED_CHAPTER="selectedChapter",e.CURRENT_TIME="currentTime",e.IS_PAUSED="isPaused",e.PLAYER_SESSION="player-session",e}(w||{}),E=function(e){var t;return(0,b.h)("div",{style:null!==(t=e.style)&&void 0!==t?t:{},id:e.id})},P=e.ui.components,S=P.Tooltip,I=P.Icon,_=function(t){var r=t.id,n=t.label,o=t.iconPath;return(0,b.h)(S,{label:n,type:"bottom"},(0,b.h)("button",{type:"button","data-testid":"playlist_pluginButton","aria-label":n,className:e.ui.style.upperBarIcon},(0,b.h)(I,{id:"unisphere-icon-".concat(r),height:32,width:32,viewBox:"0 0 32 32",path:o})))};function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,u=[],c=!0,s=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=a.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(s)throw o}}return u}}(e,t)||y(e,t)||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.")}()}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var M,O=function(){function e(){t(this,e)}return i(e,null,[{key:"addToUnsubscribeMap",value:function(t){return e.unsubscribeMap.set(e.sequence,t),++e.sequence,e.sequence}},{key:"unsubscribeAll",value:function(){var t,r=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return A(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?A(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(e.unsubscribeMap);try{for(r.s();!(t=r.n()).done;){var n=x(t.value,2),o=n[0];(0,n[1])(),e.unsubscribeMap.delete(o)}}catch(e){r.e(e)}finally{r.f()}}},{key:"unsubscribe",value:function(t){var r=e.unsubscribeMap.get(t);r&&(r(),e.unsubscribeMap.delete(t))}}])}();function k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(k=function(){return!!e})()}f(O,"unsubscribeMap",new Map),f(O,"sequence",-1),f(O,"getWorkspace",(function(){return new Promise((function(e){var t=setInterval((function(){window.unisphereWorkspace&&(e(window.unisphereWorkspace),clearTimeout(t))}),1e3)}))}));var T,j=function(e){function r(){return t(this,r),e=this,o=arguments,n=c(n=r),u(e,k()?Reflect.construct(n,o||[],c(e).constructor):n.apply(e,o));var e,n,o}return l(r,e),i(r)}(O);function L(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(L=function(){return!!e})()}M=j,f(j,"get",function(){var e=v(g().mark((function e(t){var r,n,o;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.widgetId,n=t.context,e.next=3,M.getWorkspace();case 3:return o=e.sent,e.abrupt("return",Promise.resolve(o.getElement(r,n)));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());var R,C="unisphere.service.pub-sub",B=function(e){function r(){return t(this,r),e=this,o=arguments,n=c(n=r),u(e,L()?Reflect.construct(n,o||[],c(e).constructor):n.apply(e,o));var e,n,o}return l(r,e),i(r,[{key:"reset",value:function(){r.unsubscribeAll()}}])}(O);function D(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(D=function(){return!!e})()}T=B,f(B,"subscribe",function(){var e=v(g().mark((function e(t,r){var n,o,a;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,T.getWorkspace();case 2:return n=e.sent,o=n.getService(C),a=o.subscribe(t,r),e.abrupt("return",Promise.resolve(T.addToUnsubscribeMap(a)));case 6:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),f(B,"emit",(function(e,t){T.getWorkspace().then((function(r){var n=r.getService(C);null==n||n.emit({id:e,version:"1.0.0",payload:t})}))}));var N="player",U="unisphere.service.storage",W=function(e){function r(){return t(this,r),e=this,o=arguments,n=c(n=r),u(e,D()?Reflect.construct(n,o||[],c(e).constructor):n.apply(e,o));var e,n,o}return l(r,e),i(r,[{key:"reset",value:function(){r.unsubscribeAll()}}])}(O);R=W,f(W,"update",(function(e,t){R.getWorkspace().then((function(r){r.getService(U).update(N,e,t)}))})),f(W,"get",function(){var e=v(g().mark((function e(t){var r,n;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R.getWorkspace();case 2:return r=e.sent,n=r.getService(U),e.abrupt("return",Promise.resolve(n.get(N,t)));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),f(W,"subscribe",function(){var e=v(g().mark((function e(t,r){var n,o,a;return g().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,R.getWorkspace();case 2:return n=e.sent,o=n.getService(U),a=o.subscribe(r,{namespace:N,property:t,emitLastValue:!0}),e.abrupt("return",Promise.resolve(R.addToUnsubscribeMap(a)));case 6:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}());const K=KalturaPlayer.core;function G(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var H=function(){return i((function e(){t(this,e),f(this,"_disposers",new Map)}),[{key:"generateId",value:function(e){for(var t="".concat(e.containerType,"_container_"),r=0;r<4;++r)t+=K.Utils.Generator.uniqueId();return t}},{key:"getSidePanelsManager",value:function(e){return e.getService("sidePanelsManager")}},{key:"addDisposer",value:function(e,t){this._disposers.set(e,t)}},{key:"dispose",value:function(e){var t=this._disposers.get(e);t&&(t(),this._disposers.delete(e))}},{key:"destroy",value:function(){var e,t=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return G(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?G(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(this._disposers);try{for(t.s();!(e=t.n()).done;){var r=x(e.value,1)[0];this.dispose(r)}}catch(e){t.e(e)}finally{t.f()}}}])}();function Y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Y=function(){return!!e})()}var F=function(e){function r(){return t(this,r),e=this,o=arguments,n=c(n=r),u(e,Y()?Reflect.construct(n,o||[],c(e).constructor):n.apply(e,o));var e,n,o}return l(r,e),i(r,[{key:"createContainer",value:function(e,t){var r,n=this,o=this.generateId(t),a=t.unisphereArea,i=t.position,u=t.expandMode,c=t.presets,s=null===(r=this.getSidePanelsManager(e))||void 0===r?void 0:r.add({label:o,panelComponent:function(){return(0,b.h)(E,{style:{height:"100%"},id:o})},presets:c,position:i,expandMode:u});return"number"==typeof s?(this.addDisposer(o,(function(){var t;null===(t=n.getSidePanelsManager(e))||void 0===t||t.remove(s)})),W.update(a,{upperBarIcon:{panelId:s}}),o):null}}])}(H);function q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(q=function(){return!!e})()}var $=function(e){function r(){return t(this,r),e=this,o=arguments,n=c(n=r),u(e,q()?Reflect.construct(n,o||[],c(e).constructor):n.apply(e,o));var e,n,o}return l(r,e),i(r,[{key:"createContainer",value:function(e,t){var r=this.generateId(t),n=t.playerArea,o=t.presets,a=e.ui.addComponent({label:r,presets:o,area:n,get:function(){return(0,b.h)(E,{id:r})}});return this.addDisposer(r,a),r}}])}(H);function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var Z=function(){return i((function e(r){t(this,e),f(this,"containerProducers",new Map([["sidepanel",new F],["simple",new $]])),this.player=r}),[{key:"createContainer",value:function(e){var t=this.containerProducers.get(e.containerType);return t?t.createContainer(this.player,e):null}},{key:"destroy",value:function(){var e,t=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return V(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?V(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(this.containerProducers);try{for(t.s();!(e=t.n()).done;){var r,n=x(e.value,1)[0];null===(r=this.containerProducers.get(n))||void 0===r||r.destroy()}}catch(e){t.e(e)}finally{t.f()}}}])}();function z(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return J(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?J(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){u=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var Q=function(){return i((function e(r,n){t(this,e),f(this,"iconIds",new Map),f(this,"persistentIconIds",new Map),f(this,"panelIds",new Map),f(this,"eventDisposerIds",[]),f(this,"storageDisposerIds",[]),this.player=r,this.eventManager=n,this.addEventHandlers(),this.containerManager=new Z(r)}),[{key:"upperBarManager",get:function(){return this.player.getService("upperBarManager")}},{key:"sidePanelsManager",get:function(){return this.player.getService("sidePanelsManager")}},{key:"timelineManager",get:function(){return this.player.getService("timeline")}},{key:"addEventHandlers",value:(r=v(g().mark((function t(){var r,n,o=this;return g().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([B.subscribe(m.UPPER_BAR_ICON_SHOW,(function(e){var t=e.payload,r=t.id,n=t.label,a=t.order,i=t.iconPath,u=t.panelId,c=t.isPersistent;o.addUpperBarIcon(r,n,a,i,u,c)})),B.subscribe(m.SIDE_PANEL_OPEN,(function(e){var t,r=e.payload.panelId;null===(t=o.sidePanelsManager)||void 0===t||t.activateItem(r)})),B.subscribe(m.SIDE_PANEL_CLOSE,(function(e){var t,r=e.payload.panelId;null===(t=o.sidePanelsManager)||void 0===t||t.deactivateItem(r)})),B.subscribe(m.SET_VALUE_CURRENT_TIME,(function(e){var t=e.payload.currentTime;t>=0&&(o.player.currentTime=t)})),B.subscribe(m.CHAPTERS_ADD,(function(e){var t=e.payload.chapters;if(t&&t.length)for(var r=0;r<t.length;++r){var n,a=t[r],i=a.title,u=+a.time;null===(n=o.timelineManager)||void 0===n||n.addKalturaCuePoint(u,"Chapter",r,i,{onClick:function(e){var t=e.cuePoint;W.update(w.SELECTED_CHAPTER,t.id)}})}}))]);case 2:n=t.sent,(r=this.eventDisposerIds).push.apply(r,function(e){if(Array.isArray(e))return p(e)}(a=n)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||y(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),this.eventManager.listen(this.player,e.core.EventType.TIME_UPDATE,(function(){W.update(w.CURRENT_TIME,"".concat(o.player.currentTime))})),this.eventManager.listen(this.player,e.ui.EventType.GUI_RESIZE,(function(){B.emit(m.PLAYER_RESIZE,{})})),this.eventManager.listen(this.player,e.core.EventType.PAUSE,(function(){W.update(w.IS_PAUSED,!0)})),this.eventManager.listen(this.player,e.core.EventType.PLAY,(function(){W.update(w.IS_PAUSED,!1)}));case 8:case"end":return t.stop()}var a}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"addUpperBarIcon",value:function(e,t,r,n,o,a){var i,u=this;if(!this.iconIds.has(e)&&!this.persistentIconIds.has(e)){var c=null===(i=this.upperBarManager)||void 0===i?void 0:i.add({displayName:t,ariaLabel:t,order:r,component:function(){return(0,b.h)(_,{id:e,label:t,iconPath:n})},svgIcon:{path:n},onClick:function(){var e,t,r;null!==(e=u.sidePanelsManager)&&void 0!==e&&e.isItemActive(o)?null===(t=u.sidePanelsManager)||void 0===t||t.deactivateItem(o):null===(r=u.sidePanelsManager)||void 0===r||r.activateItem(o)}});a?this.iconIds.set(e,c):this.persistentIconIds.set(e,c)}}},{key:"loadWidgets",value:function(e){var t,r=this,n=z(e);try{for(n.s();!(t=n.n()).done;){var o=t.value,a=o.widgetId,i=o.context;if(a&&i){var u,c=z(o.containers);try{var s=function(){var e=u.value;if(!e.unisphereArea)return 1;var t=r.containerManager.createContainer(e);t&&j.get({widgetId:a,context:i}).then((function(r){null==r||r.assignAreaByName(e.unisphereArea,t)}))};for(c.s();!(u=c.n()).done;)s()}catch(e){c.e(e)}finally{c.f()}}}}catch(e){n.e(e)}finally{n.f()}}},{key:"updateSessionData",value:function(){var e;W.update(w.PLAYER_SESSION,{entryId:this.player.sources.id,ks:null===(e=this.player.config.session)||void 0===e?void 0:e.ks})}},{key:"reset",value:function(){var e,t=z(this.iconIds.values());try{for(t.s();!(e=t.n()).done;){var r,n=e.value;null===(r=this.upperBarManager)||void 0===r||r.remove(n)}}catch(e){t.e(e)}finally{t.f()}}},{key:"destroy",value:function(){this.reset(),this.containerManager.destroy();var e,t=z(this.persistentIconIds.values());try{for(t.s();!(e=t.n()).done;){var r,n=e.value;null===(r=this.upperBarManager)||void 0===r||r.remove(n)}}catch(e){t.e(e)}finally{t.f()}var o,a=z(this.eventDisposerIds);try{for(a.s();!(o=a.n()).done;){var i=o.value;B.unsubscribe(i)}}catch(e){a.e(e)}finally{a.f()}var u,c=z(this.storageDisposerIds);try{for(c.s();!(u=c.n()).done;){var s=u.value;W.unsubscribe(s)}}catch(e){c.e(e)}finally{c.f()}}}]);var r}();function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(X=function(){return!!e})()}var ee=function(e){function r(e,n,o){var a,i,s,l;return t(this,r),i=this,l=[e,n,o],s=c(s=r),f(a=u(i,X()?Reflect.construct(s,l||[],c(i).constructor):s.apply(i,l)),"isReady",!1),a.unispherePluginManager=new Q(n,a.eventManager),a}return l(r,e),i(r,[{key:"loadMedia",value:function(){this.unispherePluginManager.updateSessionData(),this.isReady||(this.unispherePluginManager.loadWidgets(this.config.widgets),this.isReady=!0)}},{key:"reset",value:function(){this.unispherePluginManager.reset()}},{key:"destroy",value:function(){this.eventManager.destroy(),this.unispherePluginManager.destroy()}}],[{key:"isValid",value:function(){return!0}}])}(e.BasePlugin);f(ee,"defaultConfig",{widgets:[]}),(0,e.registerPlugin)("unisphere",ee)})(),{}})()));
3
+ //# sourceMappingURL=playkit-unisphere.js.map
@@ -0,0 +1 @@
1
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playkit-unisphere.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.unisphere/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/typeof.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/regenerator/index.js","webpack://KalturaPlayer.plugins.unisphere/webpack/bootstrap","webpack://KalturaPlayer.plugins.unisphere/webpack/runtime/compat get default export","webpack://KalturaPlayer.plugins.unisphere/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.unisphere/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.unisphere/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://KalturaPlayer.plugins.unisphere/external root \"KalturaPlayer.ui.preact\"","webpack://KalturaPlayer.plugins.unisphere/./types/unisphere-event.ts","webpack://KalturaPlayer.plugins.unisphere/./types/unisphere-storage-keys.ts","webpack://KalturaPlayer.plugins.unisphere/./components/container-element/container-element.tsx","webpack://KalturaPlayer.plugins.unisphere/./components/upper-bar-icon/upper-bar-icon.tsx","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.unisphere/./services/unisphere/unisphere-base-service.ts","webpack://KalturaPlayer.plugins.unisphere/./services/unisphere/unisphere-element-service.ts","webpack://KalturaPlayer.plugins.unisphere/./services/unisphere/unisphere-event-service.ts","webpack://KalturaPlayer.plugins.unisphere/./services/unisphere/unisphere-storage-service.ts","webpack://KalturaPlayer.plugins.unisphere/external root \"KalturaPlayer.core\"","webpack://KalturaPlayer.plugins.unisphere/./services/container/producers/base-container-producer.ts","webpack://KalturaPlayer.plugins.unisphere/./services/container/producers/sidepanel-container-producer.tsx","webpack://KalturaPlayer.plugins.unisphere/./services/container/producers/simple-container-producer.tsx","webpack://KalturaPlayer.plugins.unisphere/./services/container/container-manager.ts","webpack://KalturaPlayer.plugins.unisphere/./unisphere-plugin-manager.tsx","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://KalturaPlayer.plugins.unisphere/../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://KalturaPlayer.plugins.unisphere/./unisphere-plugin.tsx","webpack://KalturaPlayer.plugins.unisphere/./index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"unisphere\"] = factory();\n})(self, () => {\nreturn ","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.ui.preact;","export enum UnisphereEvent {\n UPPER_BAR_ICON_SHOW = 'unisphere.event.player.upper-bar-icon.show',\n SIDE_PANEL_OPEN = 'unisphere.event.player.side-panel.open',\n SIDE_PANEL_CLOSE = 'unisphere.event.player.side-panel.close',\n SET_VALUE_CURRENT_TIME = 'unisphere.event.player.set-value.current-time',\n CHAPTERS_ADD = 'unisphere.event.player.chapters.add',\n PLAYER_RESIZE = 'unisphere.event.player.resize'\n}\n","enum UnisphereStorageKeys {\n SELECTED_CHAPTER = 'selectedChapter',\n CURRENT_TIME = 'currentTime',\n IS_PAUSED = 'isPaused',\n PLAYER_SESSION = 'player-session'\n}\n\nexport { UnisphereStorageKeys };\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { h } from 'preact';\n\ninterface ContainerProps {\n id: string;\n style?: { [property: string]: string };\n}\n\nconst ContainerElement = (props: ContainerProps): preact.JSX.Element => {\n return <div style={props.style ?? {}} id={props.id}></div>;\n};\n\nexport { ContainerElement };\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { h } from 'preact';\n\nimport { ui } from '@playkit-js/kaltura-player-js';\nconst { Tooltip, Icon } = ui.components;\n\ninterface UpperBarIconProps {\n id: string;\n iconPath: string;\n label: string;\n}\n\nconst UpperBarIcon = ({ id, label, iconPath }: UpperBarIconProps): preact.JSX.Element => {\n return (\n <Tooltip label={label} type=\"bottom\">\n <button type=\"button\" data-testid={'playlist_pluginButton'} aria-label={label} className={ui.style.upperBarIcon}>\n <Icon id={`unisphere-icon-${id}`} height={32} width={32} viewBox={'0 0 32 32'} path={iconPath} />\n </button>\n </Tooltip>\n );\n};\n\nexport { UpperBarIcon };\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import { UnisphereWorkspaceType } from '@unisphere/core-js';\n\ndeclare global {\n interface Window {\n unisphereWorkspace: UnisphereWorkspaceType;\n }\n}\n\nabstract class UnisphereBaseService {\n private static unsubscribeMap: Map<number, () => void> = new Map();\n private static sequence = -1;\n\n protected static getWorkspace = (): Promise<UnisphereWorkspaceType> => {\n return new Promise((resolve) => {\n const interval = setInterval(() => {\n if (window.unisphereWorkspace) {\n resolve(window.unisphereWorkspace);\n clearTimeout(interval);\n }\n }, 1000);\n });\n };\n\n protected static addToUnsubscribeMap(unsubscribe: () => void): number {\n UnisphereBaseService.unsubscribeMap.set(UnisphereBaseService.sequence, unsubscribe);\n ++UnisphereBaseService.sequence;\n return UnisphereBaseService.sequence;\n }\n\n protected static unsubscribeAll(): void {\n for (const [key, disposer] of UnisphereBaseService.unsubscribeMap) {\n disposer();\n UnisphereBaseService.unsubscribeMap.delete(key);\n }\n }\n\n public static unsubscribe(id: number): void {\n const unsubscribe = UnisphereBaseService.unsubscribeMap.get(id);\n if (!unsubscribe) return;\n\n unsubscribe();\n UnisphereBaseService.unsubscribeMap.delete(id);\n }\n}\n\nexport { UnisphereBaseService };\n","import { UnisphereElementBase } from '@unisphere/core-js';\nimport { UnisphereBaseService } from './unisphere-base-service';\n\nclass UnisphereElementService extends UnisphereBaseService {\n public static get = async ({ widgetId, context }: { widgetId: string; context: string }): Promise<UnisphereElementBase<HTMLDivElement> | null> => {\n const workspace = await UnisphereElementService.getWorkspace();\n return Promise.resolve(workspace.getElement(widgetId, context));\n };\n}\n\nexport { UnisphereElementService };\n","import { PubSubServiceType } from '@unisphere/core-js';\nimport { UnisphereBaseService } from './unisphere-base-service';\n\nconst PUB_SUB_SERVICE_KEY = 'unisphere.service.pub-sub';\n\nclass UnisphereEventService extends UnisphereBaseService {\n public static subscribe = async (event: string, callback: (data: { payload: { [key: string]: unknown } }) => void): Promise<unknown> => {\n const workspace = await UnisphereEventService.getWorkspace();\n const pubSubService = workspace.getService<PubSubServiceType>(PUB_SUB_SERVICE_KEY);\n const unsubscribe = pubSubService!.subscribe(event, callback);\n return Promise.resolve(UnisphereEventService.addToUnsubscribeMap(unsubscribe));\n };\n\n public static emit = (event: string, payload: Record<string, unknown>): void => {\n UnisphereEventService.getWorkspace().then((workspace) => {\n const pubSubService = workspace.getService<PubSubServiceType>(PUB_SUB_SERVICE_KEY);\n pubSubService?.emit({\n id: event,\n version: '1.0.0',\n payload\n });\n });\n };\n\n public reset(): void {\n UnisphereEventService.unsubscribeAll();\n }\n}\n\nexport { UnisphereEventService };\n","import { StorageServiceListener, StorageServiceType } from '@unisphere/core-js';\nimport { UnisphereBaseService } from './unisphere-base-service';\n\nconst STORAGE_NAMESPACE = 'player';\nconst STORAGE_SERVICE_KEY = 'unisphere.service.storage';\n\nclass UnisphereStorageService extends UnisphereBaseService {\n public static update = (key: string, value: unknown): void => {\n UnisphereStorageService.getWorkspace().then((workspace) => {\n const storageService = <StorageServiceType>workspace.getService(STORAGE_SERVICE_KEY);\n storageService.update(STORAGE_NAMESPACE, key, value);\n });\n };\n\n public static get = async (key: string): Promise<unknown> => {\n const workspace = await UnisphereStorageService.getWorkspace();\n const storageService = <StorageServiceType>workspace.getService(STORAGE_SERVICE_KEY);\n return Promise.resolve(storageService.get(STORAGE_NAMESPACE, key));\n };\n\n public static subscribe = async (key: string, callback: StorageServiceListener): Promise<number> => {\n const workspace = await UnisphereStorageService.getWorkspace();\n const storageService = <StorageServiceType>workspace.getService(STORAGE_SERVICE_KEY);\n const unsubscribe = storageService.subscribe(callback, {\n namespace: STORAGE_NAMESPACE,\n property: key,\n emitLastValue: true\n });\n return Promise.resolve(UnisphereStorageService.addToUnsubscribeMap(unsubscribe));\n };\n\n public reset(): void {\n UnisphereStorageService.unsubscribeAll();\n }\n}\n\nexport { UnisphereStorageService };\n","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer.core;","import { KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { Utils } from '@playkit-js/playkit-js';\nimport { SidePanelsManager } from '@playkit-js/ui-managers';\n\nimport { ContainerConfig } from '../../../types';\n\nabstract class BaseContainerProducer {\n protected _disposers: Map<string, () => void> = new Map<string, () => void>();\n\n protected generateId(containerConfig: ContainerConfig): string {\n const iterations = 4;\n let result = `${containerConfig.containerType}_container_`;\n for (let i = 0; i < iterations; ++i) {\n result += Utils.Generator.uniqueId();\n }\n return result;\n }\n\n protected getSidePanelsManager(player: KalturaPlayer): SidePanelsManager | undefined {\n return player.getService('sidePanelsManager') as SidePanelsManager;\n }\n\n protected addDisposer(containerId: string, disposer: () => void): void {\n this._disposers.set(containerId, disposer);\n }\n\n public dispose(containerId: string): void {\n const disposer = this._disposers.get(containerId);\n if (disposer) {\n disposer();\n this._disposers.delete(containerId);\n }\n }\n\n public destroy(): void {\n for (const [containerId] of this._disposers) {\n this.dispose(containerId);\n }\n }\n}\n\nexport { BaseContainerProducer };\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { h } from 'preact';\n\nimport { KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { ContainerElement } from '../../../components';\nimport { SidePanelContainerConfig } from '../../../types';\nimport { UnisphereStorageService } from '../../unisphere';\n\nimport { ContainerProducer } from './container-producer';\nimport { BaseContainerProducer } from './base-container-producer';\n\nclass SidePanelContainerProducer extends BaseContainerProducer implements ContainerProducer<SidePanelContainerConfig> {\n public createContainer(player: KalturaPlayer, containerConfig: SidePanelContainerConfig): string | null {\n const containerId = this.generateId(containerConfig);\n const { unisphereArea, position, expandMode, presets } = containerConfig;\n\n const panelId = this.getSidePanelsManager(player)?.add({\n label: containerId,\n panelComponent: () => (<ContainerElement style={{ height: '100%' }} id={containerId} />) as preact.JSX.Element,\n presets,\n position,\n expandMode\n }) as number;\n\n if (typeof panelId === 'number') {\n this.addDisposer(containerId, () => {\n this.getSidePanelsManager(player)?.remove(panelId);\n });\n\n UnisphereStorageService.update(unisphereArea, { upperBarIcon: { panelId } });\n return containerId;\n }\n return null;\n }\n}\n\nexport { SidePanelContainerProducer };\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { h } from 'preact';\n\nimport { KalturaPlayer } from '@playkit-js/kaltura-player-js';\n\nimport { SimpleContainerConfig } from '../../../types';\nimport { ContainerElement } from '../../../components';\nimport { BaseContainerProducer } from './base-container-producer';\nimport { ContainerProducer } from './container-producer';\n\nclass SimpleContainerProducer extends BaseContainerProducer implements ContainerProducer<SimpleContainerConfig> {\n public createContainer(player: KalturaPlayer, containerConfig: SimpleContainerConfig): string | null {\n const containerId = this.generateId(containerConfig);\n const { playerArea, presets } = containerConfig;\n\n const disposer = player.ui.addComponent({\n label: containerId,\n presets,\n area: playerArea,\n get: () => <ContainerElement id={containerId} />\n });\n\n this.addDisposer(containerId, disposer);\n return containerId;\n }\n}\nexport { SimpleContainerProducer };\n","import { KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { ContainerConfig } from '../../types';\nimport { SidePanelContainerProducer, SimpleContainerProducer, ContainerProducer } from './producers';\n\nclass ContainerManager {\n private containerProducers: Map<string, ContainerProducer<ContainerConfig>> = new Map([\n ['sidepanel', new SidePanelContainerProducer()],\n ['simple', new SimpleContainerProducer()]\n ]);\n\n constructor(private player: KalturaPlayer) {}\n\n public createContainer(containerConfig: ContainerConfig): string | null {\n const containerProducer = this.containerProducers.get(containerConfig.containerType);\n return containerProducer ? containerProducer.createContainer(this.player, containerConfig) : null;\n }\n\n public destroy(): void {\n for (const [containerType] of this.containerProducers) {\n this.containerProducers.get(containerType)?.destroy();\n }\n }\n}\n\nexport { ContainerManager };\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { h } from 'preact';\n\nimport { core, ui, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { SidePanelsManager, UpperBarManager } from '@playkit-js/ui-managers';\n\nimport { UnisphereEvent, UnisphereStorageKeys, WidgetConfig } from './types';\nimport { UpperBarIcon } from './components';\nimport { UnisphereElementService, UnisphereEventService, UnisphereStorageService } from './services';\nimport { ContainerManager } from './services/container';\n\nclass UnispherePluginManager {\n private iconIds = new Map<string, number>();\n private persistentIconIds = new Map<string, number>();\n private panelIds = new Map<string, number>();\n private eventDisposerIds: number[] = [];\n private storageDisposerIds: number[] = [];\n private containerManager: ContainerManager;\n\n constructor(private player: KalturaPlayer, private eventManager: core.EventManager) {\n this.addEventHandlers();\n this.containerManager = new ContainerManager(player);\n }\n\n private get upperBarManager(): UpperBarManager | undefined {\n return this.player.getService('upperBarManager') as UpperBarManager;\n }\n\n private get sidePanelsManager(): SidePanelsManager | undefined {\n return this.player.getService('sidePanelsManager') as SidePanelsManager;\n }\n\n private get timelineManager():\n | {\n addKalturaCuePoint: (\n startTime: number,\n type: string,\n index: number,\n title: string,\n options: { onClick: ({ cuePoint }: { cuePoint: { id: string } }) => void }\n ) => void;\n }\n | undefined {\n return this.player.getService('timeline');\n }\n\n private async addEventHandlers(): Promise<void> {\n const eventDisposerIds = (await Promise.all([\n UnisphereEventService.subscribe(UnisphereEvent.UPPER_BAR_ICON_SHOW, ({ payload }) => {\n const { id, label, order, iconPath, panelId, isPersistent } = payload;\n this.addUpperBarIcon(id as string, label as string, order as number, iconPath as string, panelId as number, isPersistent as boolean);\n }),\n UnisphereEventService.subscribe(UnisphereEvent.SIDE_PANEL_OPEN, ({ payload }) => {\n const { panelId } = payload;\n this.sidePanelsManager?.activateItem(panelId as number);\n }),\n UnisphereEventService.subscribe(UnisphereEvent.SIDE_PANEL_CLOSE, ({ payload }) => {\n const { panelId } = payload;\n this.sidePanelsManager?.deactivateItem(panelId as number);\n }),\n UnisphereEventService.subscribe(UnisphereEvent.SET_VALUE_CURRENT_TIME, ({ payload }) => {\n const currentTime = payload.currentTime as number;\n if ((currentTime as number) >= 0) {\n this.player.currentTime = currentTime as number;\n }\n }),\n UnisphereEventService.subscribe(UnisphereEvent.CHAPTERS_ADD, ({ payload }) => {\n const chapters = payload.chapters as { title: string; time: string }[];\n if (chapters && chapters.length) {\n for (let i = 0; i < chapters.length; ++i) {\n const { title, time } = chapters[i];\n const startTime = +time;\n this.timelineManager?.addKalturaCuePoint(startTime, 'Chapter', i, title, {\n onClick: ({ cuePoint }: { cuePoint: { id: string } }) => {\n UnisphereStorageService.update(UnisphereStorageKeys.SELECTED_CHAPTER, cuePoint.id);\n }\n });\n }\n }\n })\n ])) as number[];\n this.eventDisposerIds.push(...eventDisposerIds);\n\n this.eventManager.listen(this.player, core.EventType.TIME_UPDATE, () => {\n UnisphereStorageService.update(UnisphereStorageKeys.CURRENT_TIME, `${this.player.currentTime}`);\n });\n\n this.eventManager.listen(this.player, ui.EventType.GUI_RESIZE, () => {\n UnisphereEventService.emit(UnisphereEvent.PLAYER_RESIZE, {});\n });\n\n this.eventManager.listen(this.player, core.EventType.PAUSE, () => {\n UnisphereStorageService.update(UnisphereStorageKeys.IS_PAUSED, true);\n });\n\n this.eventManager.listen(this.player, core.EventType.PLAY, () => {\n UnisphereStorageService.update(UnisphereStorageKeys.IS_PAUSED, false);\n });\n }\n\n private addUpperBarIcon(id: string, label: string, order: number, iconPath: string, panelId: number, isPersistent: boolean): void {\n if (this.iconIds.has(id) || this.persistentIconIds.has(id)) return;\n\n const iconId = this.upperBarManager?.add({\n displayName: label,\n ariaLabel: label,\n order,\n component: () => (<UpperBarIcon id={id} label={label} iconPath={iconPath} />) as preact.JSX.Element,\n svgIcon: { path: iconPath },\n onClick: () => {\n if (this.sidePanelsManager?.isItemActive(panelId)) {\n this.sidePanelsManager?.deactivateItem(panelId);\n } else {\n this.sidePanelsManager?.activateItem(panelId);\n }\n }\n }) as number;\n\n if (isPersistent) {\n this.iconIds.set(id, iconId);\n } else {\n this.persistentIconIds.set(id, iconId);\n }\n }\n\n public loadWidgets(widgets: WidgetConfig[]): void {\n for (const widget of widgets) {\n const { widgetId, context } = widget;\n if (!widgetId || !context) continue;\n\n for (const containerConfig of widget.containers) {\n if (!containerConfig.unisphereArea) continue;\n\n const containerId = this.containerManager.createContainer(containerConfig);\n if (containerId) {\n UnisphereElementService.get({ widgetId, context }).then((element) => {\n element?.assignAreaByName(containerConfig.unisphereArea, containerId);\n });\n }\n }\n }\n }\n\n public updateSessionData(): void {\n UnisphereStorageService.update(UnisphereStorageKeys.PLAYER_SESSION, {\n entryId: this.player.sources.id,\n ks: this.player.config.session?.ks\n });\n }\n\n public reset(): void {\n for (const v of this.iconIds.values()) {\n this.upperBarManager?.remove(v);\n }\n }\n\n public destroy(): void {\n this.reset();\n\n this.containerManager.destroy();\n\n for (const v of this.persistentIconIds.values()) {\n this.upperBarManager?.remove(v);\n }\n\n for (const id of this.eventDisposerIds) {\n UnisphereEventService.unsubscribe(id);\n }\n\n for (const id of this.storageDisposerIds) {\n UnisphereStorageService.unsubscribe(id);\n }\n }\n}\n\nexport { UnispherePluginManager };\n","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import { BasePlugin, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { UnispherePluginConfig } from './types';\nimport { UnispherePluginManager } from './unisphere-plugin-manager';\n\nexport const pluginName = 'unisphere';\n\nexport class UnispherePlugin extends BasePlugin {\n public static defaultConfig: UnispherePluginConfig = {\n widgets: []\n };\n\n private isReady = false;\n private unispherePluginManager: UnispherePluginManager;\n\n constructor(name: string, player: KalturaPlayer, config: UnispherePluginConfig) {\n super(name, player, config);\n this.unispherePluginManager = new UnispherePluginManager(player, this.eventManager);\n }\n\n public static isValid(): boolean {\n return true;\n }\n\n public loadMedia(): void {\n this.unispherePluginManager.updateSessionData();\n\n if (!this.isReady) {\n this.unispherePluginManager.loadWidgets(this.config.widgets);\n this.isReady = true;\n }\n }\n\n public reset(): void {\n this.unispherePluginManager.reset();\n }\n\n public destroy(): void {\n this.eventManager.destroy();\n this.unispherePluginManager.destroy();\n }\n}\n","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { pluginName, UnispherePlugin } from './unisphere-plugin';\n\nregisterPlugin(pluginName, UnispherePlugin);\n"],"names":["root","factory","exports","module","define","amd","self","_typeof","_regeneratorRuntime","e","__esModule","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","key","get","obj","prop","KalturaPlayer","_classCallCheck","toPropertyKey","toPrimitive","String","_defineProperties","_createClass","_possibleConstructorReturn","ReferenceError","_getPrototypeOf","bind","_setPrototypeOf","_inherits","_defineProperty","_arrayLikeToArray","Array","_unsupportedIterableToArray","toString","from","test","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","ui","preact","UnisphereEvent","UnisphereStorageKeys","ContainerElement","props","_props$style","style","id","_ui$components","components","Tooltip","Icon","UpperBarIcon","_ref","label","iconPath","className","upperBarIcon","concat","height","width","viewBox","path","_slicedToArray","isArray","UnisphereBaseService","unsubscribe","unsubscribeMap","set","sequence","_step","_iterator","_createForOfIteratorHelper","_step$value","disposer","delete","err","Map","interval","setInterval","window","unisphereWorkspace","clearTimeout","UnisphereElementService","_UnisphereBaseService","_UnisphereElementService","_ref2","_callee","widgetId","context","workspace","_context","getWorkspace","getElement","_x","PUB_SUB_SERVICE_KEY","UnisphereEventService","unsubscribeAll","_UnisphereEventService","event","callback","pubSubService","getService","subscribe","addToUnsubscribeMap","_x2","payload","emit","version","STORAGE_NAMESPACE","STORAGE_SERVICE_KEY","UnisphereStorageService","_UnisphereStorageService","update","storageService","_callee2","_context2","namespace","property","emitLastValue","_x3","core","BaseContainerProducer","containerConfig","result","containerType","Utils","uniqueId","player","containerId","_disposers","dispose","SidePanelContainerProducer","_BaseContainerProduce","_this$getSidePanelsMa","_this","generateId","unisphereArea","position","expandMode","presets","panelId","getSidePanelsManager","add","panelComponent","addDisposer","_this$getSidePanelsMa2","remove","SimpleContainerProducer","playerArea","addComponent","area","ContainerManager","containerProducer","containerProducers","createContainer","_this$containerProduc","destroy","UnispherePluginManager","eventManager","addEventHandlers","containerManager","_addEventHandlers","_this$eventDisposerId","eventDisposerIds","all","UPPER_BAR_ICON_SHOW","order","isPersistent","addUpperBarIcon","SIDE_PANEL_OPEN","_this$sidePanelsManag","sidePanelsManager","activateItem","SIDE_PANEL_CLOSE","_ref3","_this$sidePanelsManag2","deactivateItem","SET_VALUE_CURRENT_TIME","_ref4","currentTime","CHAPTERS_ADD","_ref5","chapters","_this$timelineManager","_chapters$i","title","startTime","time","timelineManager","addKalturaCuePoint","onClick","_ref6","cuePoint","SELECTED_CHAPTER","listen","EventType","TIME_UPDATE","CURRENT_TIME","GUI_RESIZE","PLAYER_RESIZE","PAUSE","IS_PAUSED","PLAY","_this$upperBarManager","_this2","iconIds","has","persistentIconIds","iconId","upperBarManager","ariaLabel","component","svgIcon","_this2$sidePanelsMana","_this2$sidePanelsMana2","_this2$sidePanelsMana3","isItemActive","widgets","_this3","widget","_step2","_iterator2","containers","_loop","element","assignAreaByName","_this$player$config$s","PLAYER_SESSION","entryId","sources","ks","config","session","_step3","_iterator3","_this$upperBarManager2","_step4","_iterator4","_this$upperBarManager3","_step5","_iterator5","_step6","_iterator6","storageDisposerIds","UnispherePlugin","_BasePlugin","unispherePluginManager","updateSessionData","isReady","loadWidgets","BasePlugin","registerPlugin"],"sourceRoot":""}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.48.1"
9
+ }
10
+ ]
11
+ }
package/package.json ADDED
@@ -0,0 +1,96 @@
1
+ {
2
+ "name": "@playkit-js/unisphere",
3
+ "version": "0.0.2-canary.0-0e931f0",
4
+ "description": "Playkit JS Unisphere plugin",
5
+ "main": "dist/playkit-unisphere.js",
6
+ "typings": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/**/*",
9
+ "src/**/*"
10
+ ],
11
+ "license": "AGPL-3.0",
12
+ "homepage": "https://github.com/kaltura/playkit-js-unisphere",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/kaltura/playkit-js-unisphere"
16
+ },
17
+ "keywords": [
18
+ "@playkit-js/unisphere",
19
+ "kaltura",
20
+ "player"
21
+ ],
22
+ "scripts": {
23
+ "dev": "webpack serve --open --mode development",
24
+ "watch": "webpack --mode development --watch",
25
+ "build:prod": "webpack --mode production",
26
+ "build": "yarn run build:prod && yarn run build:types",
27
+ "build:types": "tsc --build tsconfig-lib.json && mkdir -p lib && api-extractor run --local",
28
+ "type-check": "tsc --noEmit",
29
+ "type-check:watch": "yarn run type-check --watch",
30
+ "lint": "eslint src/ --ext .js --ext .ts",
31
+ "lint:fix": "yarn run lint --fix",
32
+ "prettier": "prettier --write .",
33
+ "test": "echo 'TODO'",
34
+ "clean": "rimraf ./dist",
35
+ "prebuild": "npm run clean",
36
+ "precommit": "npm run build:prod && npm run type-check && npm run lint",
37
+ "pushTaggedRelease": "git push --follow-tags --no-verify origin master",
38
+ "release": "standard-version"
39
+ },
40
+ "devDependencies": {
41
+ "@babel/core": "^7.23.7",
42
+ "@babel/plugin-proposal-decorators": "^7.10.5",
43
+ "@babel/plugin-transform-react-jsx": "^7.23.4",
44
+ "@babel/plugin-transform-runtime": "^7.23.7",
45
+ "@babel/preset-env": "^7.23.8",
46
+ "@babel/preset-typescript": "^7.23.3",
47
+ "@babel/runtime": "^7.23.8",
48
+ "@microsoft/api-extractor": "^7.48.1",
49
+ "@playkit-js/browserslist-config": "1.0.8",
50
+ "@playkit-js/common": "1.5.19",
51
+ "@playkit-js/kaltura-player-js": "3.17.33-canary.0-d4f707b",
52
+ "@playkit-js/ui-managers": "1.6.4",
53
+ "@typescript-eslint/eslint-plugin": "^5.58.0",
54
+ "@typescript-eslint/parser": "^5.58.0",
55
+ "@unisphere/core-js": "^1.0.0",
56
+ "babel-loader": "^9.1.3",
57
+ "conventional-github-releaser": "3.1.3",
58
+ "css-loader": "^6.9.0",
59
+ "cypress": "13.13.1",
60
+ "eslint": "^8.42.0",
61
+ "eslint-config-preact": "^1.3.0",
62
+ "eslint-config-prettier": "^8.8.0",
63
+ "eslint-plugin-cypress": "^2.13.3",
64
+ "eslint-plugin-prettier": "^4.2.1",
65
+ "prettier": "^2.8.4",
66
+ "sass": "^1.69.7",
67
+ "sass-loader": "^13.3.3",
68
+ "standard-version": "^9.5.0",
69
+ "style-loader": "^3.3.4",
70
+ "ts-loader": "^9.4.2",
71
+ "typescript": "^5.3.3",
72
+ "typescript-plugin-css-modules": "^5.0.2",
73
+ "webpack": "^5.89.0",
74
+ "webpack-cli": "^5.1.4",
75
+ "webpack-dev-server": "^4.15.1"
76
+ },
77
+ "peerDependencies": {
78
+ "@playkit-js/kaltura-player-js": "3.17.33-canary.0-d4f707b",
79
+ "preact": "10.4.6",
80
+ "preact-i18n": "2.0.0-preactx.2"
81
+ },
82
+ "publishConfig": {
83
+ "access": "public"
84
+ },
85
+ "browserslist": [
86
+ "extends @playkit-js/browserslist-config"
87
+ ],
88
+ "kaltura": {
89
+ "name": "unisphere",
90
+ "dependencies": {
91
+ "playkit-ui-managers": "1.6.4",
92
+ "playkit-kaltura-cuepoints": "3.0.15",
93
+ "playkit-timeline": "3.0.21"
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,13 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ import { h } from 'preact';
3
+
4
+ interface ContainerProps {
5
+ id: string;
6
+ style?: { [property: string]: string };
7
+ }
8
+
9
+ const ContainerElement = (props: ContainerProps): preact.JSX.Element => {
10
+ return <div style={props.style ?? {}} id={props.id}></div>;
11
+ };
12
+
13
+ export { ContainerElement };
@@ -0,0 +1 @@
1
+ export { ContainerElement } from './container-element';
@@ -0,0 +1,2 @@
1
+ export * from './container-element';
2
+ export * from './upper-bar-icon';
@@ -0,0 +1 @@
1
+ export { UpperBarIcon } from './upper-bar-icon';
@@ -0,0 +1,23 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
2
+ import { h } from 'preact';
3
+
4
+ import { ui } from '@playkit-js/kaltura-player-js';
5
+ const { Tooltip, Icon } = ui.components;
6
+
7
+ interface UpperBarIconProps {
8
+ id: string;
9
+ iconPath: string;
10
+ label: string;
11
+ }
12
+
13
+ const UpperBarIcon = ({ id, label, iconPath }: UpperBarIconProps): preact.JSX.Element => {
14
+ return (
15
+ <Tooltip label={label} type="bottom">
16
+ <button type="button" data-testid={'playlist_pluginButton'} aria-label={label} className={ui.style.upperBarIcon}>
17
+ <Icon id={`unisphere-icon-${id}`} height={32} width={32} viewBox={'0 0 32 32'} path={iconPath} />
18
+ </button>
19
+ </Tooltip>
20
+ );
21
+ };
22
+
23
+ export { UpperBarIcon };
package/src/index.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { registerPlugin } from '@playkit-js/kaltura-player-js';
2
+ import { pluginName, UnispherePlugin } from './unisphere-plugin';
3
+
4
+ registerPlugin(pluginName, UnispherePlugin);
@@ -0,0 +1,25 @@
1
+ import { KalturaPlayer } from '@playkit-js/kaltura-player-js';
2
+ import { ContainerConfig } from '../../types';
3
+ import { SidePanelContainerProducer, SimpleContainerProducer, ContainerProducer } from './producers';
4
+
5
+ class ContainerManager {
6
+ private containerProducers: Map<string, ContainerProducer<ContainerConfig>> = new Map([
7
+ ['sidepanel', new SidePanelContainerProducer()],
8
+ ['simple', new SimpleContainerProducer()]
9
+ ]);
10
+
11
+ constructor(private player: KalturaPlayer) {}
12
+
13
+ public createContainer(containerConfig: ContainerConfig): string | null {
14
+ const containerProducer = this.containerProducers.get(containerConfig.containerType);
15
+ return containerProducer ? containerProducer.createContainer(this.player, containerConfig) : null;
16
+ }
17
+
18
+ public destroy(): void {
19
+ for (const [containerType] of this.containerProducers) {
20
+ this.containerProducers.get(containerType)?.destroy();
21
+ }
22
+ }
23
+ }
24
+
25
+ export { ContainerManager };
@@ -0,0 +1 @@
1
+ export { ContainerManager } from './container-manager';