@latest-thinking/lt-player 1.2.0 → 2.0.0-a

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 (205) hide show
  1. package/.editorconfig +1 -1
  2. package/.node-version +1 -0
  3. package/.nvmrc +1 -0
  4. package/README.md +162 -0
  5. package/dist/main.js +24375 -0
  6. package/package.json +31 -67
  7. package/tsconfig.json +2 -1
  8. package/vite-dev.config.mts +35 -0
  9. package/vite.config.mts +40 -0
  10. package/ README.md +0 -270
  11. package/.babelrc +0 -11
  12. package/.eslintrc.js +0 -6
  13. package/dist/css/lt-player-main.css +0 -3
  14. package/dist/css/lt-player-main.css.map +0 -1
  15. package/dist/fonts/0574e80a2483be7b033e.otf +0 -0
  16. package/dist/fonts/34274fbfb2f270b8d53b.otf +0 -0
  17. package/dist/fonts/80acced0ba3630ee652b.otf +0 -0
  18. package/dist/fonts/8ccea4947561e7008d19.otf +0 -0
  19. package/dist/fonts/d355445ed7d61b887e58.otf +0 -0
  20. package/dist/js/lt-player-main.js +0 -3
  21. package/dist/js/lt-player-main.js.LICENSE.txt +0 -9
  22. package/dist/js/lt-player-main.js.map +0 -1
  23. package/examples/basic.html +0 -35
  24. package/examples/lt-page-with-player.html +0 -3529
  25. package/examples/lt-page-with-player_files/Weiskopf_Coverphoto.jpg +0 -0
  26. package/examples/lt-page-with-player_files/ajax-progress.module.css +0 -49
  27. package/examples/lt-page-with-player_files/align.module.css +0 -32
  28. package/examples/lt-page-with-player_files/announce.js +0 -49
  29. package/examples/lt-page-with-player_files/autocomplete-loading.module.css +0 -22
  30. package/examples/lt-page-with-player_files/autocomplete.css +0 -16
  31. package/examples/lt-page-with-player_files/bootstrap.css +0 -22691
  32. package/examples/lt-page-with-player_files/clearfix.module.css +0 -15
  33. package/examples/lt-page-with-player_files/container-inline.module.css +0 -16
  34. package/examples/lt-page-with-player_files/cookiesjsr.min.css +0 -10
  35. package/examples/lt-page-with-player_files/core.css +0 -97
  36. package/examples/lt-page-with-player_files/details.module.css +0 -10
  37. package/examples/lt-page-with-player_files/fieldgroup.module.css +0 -9
  38. package/examples/lt-page-with-player_files/hidden.module.css +0 -53
  39. package/examples/lt-page-with-player_files/himme-alexander-beyond_0.jpg +0 -0
  40. package/examples/lt-page-with-player_files/item-list.module.css +0 -19
  41. package/examples/lt-page-with-player_files/js.module.css +0 -22
  42. package/examples/lt-page-with-player_files/latest_thinking.style.css +0 -6496
  43. package/examples/lt-page-with-player_files/logo-small.png +0 -0
  44. package/examples/lt-page-with-player_files/menu.css +0 -64
  45. package/examples/lt-page-with-player_files/nowrap.module.css +0 -8
  46. package/examples/lt-page-with-player_files/paragraphs.unpublished.css +0 -3
  47. package/examples/lt-page-with-player_files/position-container.module.css +0 -8
  48. package/examples/lt-page-with-player_files/progress.module.css +0 -51
  49. package/examples/lt-page-with-player_files/radix.style.css +0 -1
  50. package/examples/lt-page-with-player_files/reset-appearance.module.css +0 -15
  51. package/examples/lt-page-with-player_files/resize.module.css +0 -21
  52. package/examples/lt-page-with-player_files/search_api_autocomplete.css +0 -41
  53. package/examples/lt-page-with-player_files/sticky-header.module.css +0 -13
  54. package/examples/lt-page-with-player_files/system-status-counter.css +0 -30
  55. package/examples/lt-page-with-player_files/system-status-report-counters.css +0 -27
  56. package/examples/lt-page-with-player_files/system-status-report-general-info.css +0 -14
  57. package/examples/lt-page-with-player_files/tabledrag.module.css +0 -98
  58. package/examples/lt-page-with-player_files/tablesort.module.css +0 -19
  59. package/examples/lt-page-with-player_files/theme.css +0 -446
  60. package/examples/lt-page-with-player_files/thumbnail_MPI_CBS_Eingangsbereich.jpg +0 -0
  61. package/examples/lt-page-with-player_files/tree-child.module.css +0 -18
  62. package/examples/lt-page-with-player_files/widget-min.js +0 -10
  63. package/examples/lt-website.html +0 -76
  64. package/examples/portrait-with-subtitles.html +0 -81
  65. package/examples/samples/vtt/Pahl-Kerstin-Maria-MAIN-20230320.vtt +0 -765
  66. package/examples/samples/vtt/Sobolev-Anton-Subtitles-20230518_0.vtt +0 -352
  67. package/examples/samples/vtt/demo.vtt +0 -7
  68. package/src/assets/css/sample.css +0 -12
  69. package/src/assets/fonts/museo/MuseoSans-100.otf +0 -0
  70. package/src/assets/fonts/museo/MuseoSans-300.otf +0 -0
  71. package/src/assets/fonts/museo/MuseoSans-500.otf +0 -0
  72. package/src/assets/fonts/museo/MuseoSans-700.otf +0 -0
  73. package/src/assets/fonts/museo/MuseoSans-900.otf +0 -0
  74. package/src/assets/icons/arrow-down.svg +0 -8
  75. package/src/assets/icons/arrow-left.svg +0 -8
  76. package/src/assets/icons/chevron-down-full.svg +0 -7
  77. package/src/assets/icons/chevron-down.svg +0 -7
  78. package/src/assets/icons/chevron-up-full.svg +0 -7
  79. package/src/assets/icons/chevron-up.svg +0 -7
  80. package/src/assets/icons/close.svg +0 -8
  81. package/src/assets/icons/compass.svg +0 -8
  82. package/src/assets/icons/external-link.svg +0 -9
  83. package/src/assets/icons/facebook.svg +0 -7
  84. package/src/assets/icons/fast-backward.svg +0 -8
  85. package/src/assets/icons/fast-forward.svg +0 -8
  86. package/src/assets/icons/file-text.svg +0 -11
  87. package/src/assets/icons/home.svg +0 -8
  88. package/src/assets/icons/logo-big.png +0 -0
  89. package/src/assets/icons/logo.png +0 -0
  90. package/src/assets/icons/maximize.svg +0 -7
  91. package/src/assets/icons/mini-player.svg +0 -8
  92. package/src/assets/icons/minimize.svg +0 -7
  93. package/src/assets/icons/more-vertical.svg +0 -9
  94. package/src/assets/icons/mute.svg +0 -9
  95. package/src/assets/icons/pause.svg +0 -8
  96. package/src/assets/icons/play.svg +0 -8
  97. package/src/assets/icons/search.svg +0 -8
  98. package/src/assets/icons/settings.svg +0 -8
  99. package/src/assets/icons/share.svg +0 -11
  100. package/src/assets/icons/skip-backward.svg +0 -8
  101. package/src/assets/icons/skip-forward.svg +0 -8
  102. package/src/assets/icons/speed-1-5.svg +0 -7
  103. package/src/assets/icons/speed-1.svg +0 -7
  104. package/src/assets/icons/speed-2.svg +0 -7
  105. package/src/assets/icons/subtitles.svg +0 -7
  106. package/src/assets/icons/twitter.svg +0 -7
  107. package/src/assets/icons/university.svg +0 -9
  108. package/src/assets/icons/user.svg +0 -8
  109. package/src/assets/icons/volume-1.svg +0 -15
  110. package/src/assets/icons/volume-2.svg +0 -15
  111. package/src/assets/icons/volume-3.svg +0 -15
  112. package/src/assets/sass/abstracts/_mixins.scss +0 -145
  113. package/src/assets/sass/abstracts/_placeholders.scss +0 -112
  114. package/src/assets/sass/abstracts/_variables.scss +0 -68
  115. package/src/assets/sass/abstracts/all.scss +0 -4
  116. package/src/assets/sass/app.scss +0 -99
  117. package/src/assets/sass/components/_all.scss +0 -6
  118. package/src/assets/sass/components/_buttons.scss +0 -1
  119. package/src/assets/sass/components/_images.scss +0 -4
  120. package/src/assets/sass/components/_loader.scss +0 -187
  121. package/src/assets/sass/components/_modal.scss +0 -365
  122. package/src/assets/sass/components/_range.scss +0 -33
  123. package/src/assets/sass/core/_all.scss +0 -13
  124. package/src/assets/sass/core/_fonts.scss +0 -55
  125. package/src/assets/sass/core/_player.scss +0 -71
  126. package/src/assets/sass/core/_typography.scss +0 -13
  127. package/src/assets/sass/layout/_all.scss +0 -3
  128. package/src/assets/sass/layout/_grid.scss +0 -0
  129. package/src/assets/sass/sections/_additional-info.scss +0 -90
  130. package/src/assets/sass/sections/_all.scss +0 -6
  131. package/src/assets/sass/sections/_control.scss +0 -122
  132. package/src/assets/sass/sections/_poster.scss +0 -319
  133. package/src/assets/sass/sections/_settings.scss +0 -504
  134. package/src/assets/sass/sections/_share.scss +0 -250
  135. package/src/assets/sass/sections/_subtitles.scss +0 -85
  136. package/src/assets/sass/sections/controllers/_all.scss +0 -4
  137. package/src/assets/sass/sections/controllers/_botom.scss +0 -522
  138. package/src/assets/sass/sections/controllers/_mini-player.scss +0 -169
  139. package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +0 -260
  140. package/src/assets/sass/sections/controllers/_top.scss +0 -169
  141. package/src/components/LTPlayerDevMethode.ts +0 -192
  142. package/src/components/LTPlayerEventsManager.ts +0 -31
  143. package/src/components/LTPlayerHls.ts +0 -38
  144. package/src/components/LTPlayerManager.ts +0 -266
  145. package/src/components/LTPlayerSettingsManager.ts +0 -117
  146. package/src/components/LTPlayerSetup.ts +0 -286
  147. package/src/components/LTPlayerStatusFeedback.ts +0 -76
  148. package/src/components/LTPlayerStorage.ts +0 -58
  149. package/src/components/LTPlayerType.ts +0 -371
  150. package/src/components/LTPlayerUpdate.ts +0 -61
  151. package/src/components/addInfo/LTPLayerAddInfoResizeManager.ts +0 -15
  152. package/src/components/addInfo/LTPlayerAddInfoDesktop.ts +0 -127
  153. package/src/components/addInfo/LTPlayerAddInfoManager.ts +0 -230
  154. package/src/components/addInfo/LTPlayerAddInfoMobile.ts +0 -113
  155. package/src/components/captions/LTPlayerCaptions.ts +0 -80
  156. package/src/components/config/LTPlayerConfig.ts +0 -280
  157. package/src/components/config/LTPlayerConfigProcessor.ts +0 -604
  158. package/src/components/controls/LTPlayerChapters.ts +0 -285
  159. package/src/components/controls/LTPlayerControls.ts +0 -57
  160. package/src/components/controls/LTPlayerControlsEvents.ts +0 -946
  161. package/src/components/controls/LTPlayerMini.ts +0 -285
  162. package/src/components/controls/LTPlayerSettingsControlsManager.ts +0 -60
  163. package/src/components/controls/settings/LTPlayerCommonSettingsControllers.ts +0 -71
  164. package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +0 -135
  165. package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +0 -211
  166. package/src/components/events/LTPlayer.ts +0 -194
  167. package/src/components/events/LTPlayerCommon.ts +0 -252
  168. package/src/components/events/LTPlayerDesktop.ts +0 -222
  169. package/src/components/events/LTPlayerMobile.ts +0 -243
  170. package/src/components/poster/LTPlayerPoster.ts +0 -78
  171. package/src/components/poster/LTPlayerPosterEvents.ts +0 -172
  172. package/src/components/poster/LTPlayerPosterManager.ts +0 -46
  173. package/src/components/poster/LTPlayerPosterPreload.ts +0 -51
  174. package/src/components/poster/LTPlayerPosterPreloadEvents.ts +0 -152
  175. package/src/components/share/LTPlayerShareDesktop.ts +0 -131
  176. package/src/components/share/LTPlayerShareEvents.ts +0 -64
  177. package/src/components/share/LTPlayerShareManager.ts +0 -58
  178. package/src/components/share/LTPlayerShareMobile.ts +0 -154
  179. package/src/components/video/LTPlayerVideo.ts +0 -49
  180. package/src/global/controllers/LTPlayerController.ts +0 -58
  181. package/src/global/interfaces/EventsInterfaces.ts +0 -11
  182. package/src/global/interfaces/SettingsControlsInterfaces.ts +0 -3
  183. package/src/global/interfaces/TypeInterface.ts +0 -9
  184. package/src/global/types/ModuleTypes.d.ts +0 -35
  185. package/src/global/types/ModuleViews.d.ts +0 -13
  186. package/src/global/types/ModuleWindow.d.ts +0 -12
  187. package/src/global/types/Modules.d.ts +0 -44
  188. package/src/index.ts +0 -10
  189. package/src/json-schema/player-config.json +0 -16
  190. package/src/services/Helper.ts +0 -147
  191. package/src/services/IconsService.ts +0 -124
  192. package/src/services/LTPlayerRotateDeviceService.ts +0 -15
  193. package/src/services/LoaderService.ts +0 -21
  194. package/src/services/ResizeService.ts +0 -352
  195. package/src/services/TemplateService.ts +0 -136
  196. package/src/services/ValidatorService.ts +0 -31
  197. package/src/views/additionalInfo.handlebars +0 -103
  198. package/src/views/background.handlebars +0 -5
  199. package/src/views/controls.handlebars +0 -390
  200. package/src/views/onloadPoster.handlebars +0 -1
  201. package/src/views/poster.handlebars +0 -69
  202. package/src/views/settings.handlebars +0 -31
  203. package/src/views/settings.mobile.handlebars +0 -22
  204. package/src/views/share.handlebars +0 -101
  205. package/src/views/template.handlebars +0 -15
@@ -1,154 +0,0 @@
1
- import {LTPlayerShareManager} from "./LTPlayerShareManager";
2
-
3
- export class LTPlayerShareMobile {
4
-
5
- manager : LTPlayerShareManager
6
- isPlaying : boolean
7
-
8
- constructor(instance : LTPlayerShareManager) {
9
- this.manager = instance;
10
- }
11
-
12
- activeModal() {
13
- if (!this.manager.playerConfig.getShareData().canonicalUrl) {
14
- if (!this.manager.playerConfig.getShareData().embedUrl) {
15
- return
16
- } else {
17
- this.createModal();
18
- this.setCopyContent(true);
19
- }
20
- } else {
21
- this.createModal();
22
- this.setCopyContent(false);
23
- }
24
-
25
- (window as any).a2a.init_all();
26
-
27
- this.setCopyButtonsEvents()
28
- this.setSwitchButton()
29
-
30
- if (this.manager.instance.plyr.playing) {
31
- this.isPlaying = true;
32
- this.manager.instance.plyr.pause();
33
- } else {
34
- this.isPlaying = false;
35
- }
36
-
37
- setTimeout(() => {
38
- const shareContainer = document.querySelector('.share-controller-wrapper');
39
- const shareContainerHeader = document.querySelector('.share-controller-mobile-modal-header');
40
- let instance = this;
41
-
42
- if (shareContainer) {
43
- let mobileEvent: HammerManager = this.manager.instance.eventInstance.mobileEvents.setMobileEvent(shareContainer);
44
- if (mobileEvent) {
45
- mobileEvent.on('singletap', function LTPlayerMobileShareButtonsExit(event) {
46
- event.preventDefault();
47
- let target = event.target as HTMLElement;
48
- if (!target.classList.contains('player-lt__close-button') && !target.classList.contains('lt-player-mobile-share')) {
49
- instance.inactiveModal();
50
- }
51
- })
52
- }
53
- }
54
-
55
- if (shareContainerHeader) {
56
- let mobileEvent: HammerManager = this.manager.instance.eventInstance.mobileEvents.setMobileEvent(shareContainer);
57
- if (mobileEvent) {
58
- mobileEvent.on('pan', function LTPlayerMobileShareButtonsExitPan(event) {
59
- event.preventDefault();
60
- let target = event.target as HTMLElement;
61
- if (!target.classList.contains('player-lt__close-button') ) {
62
- instance.inactiveModal();
63
- }
64
- })
65
- }
66
- }
67
- }, 100)
68
- }
69
- setSwitchButton() {
70
- const switchButton = document.querySelector('.share-controller-wrapper').querySelector('.button_embed');
71
- const urlInput = document.querySelector('.share-controller-wrapper').querySelector('.share-controller-url');
72
- const instance = this.manager.instance;
73
-
74
- if (!instance.playerConfig.getShareData().embedUrl || !instance.playerConfig.getShareData().canonicalUrl) {
75
- switchButton.classList.add('d-none');
76
- return;
77
- }
78
-
79
- switchButton.addEventListener('click', () => {
80
- if (urlInput.classList.contains('canonicalUrl')) {
81
- urlInput.classList.remove('canonicalUrl');
82
- urlInput.classList.add('embedUrl');
83
- this.setCopyContent(true);
84
- } else {
85
- urlInput.classList.add('canonicalUrl');
86
- urlInput.classList.remove('embedUrl');
87
- this.setCopyContent(false);
88
- }
89
- })
90
- }
91
-
92
- setCopyButtonsEvents() {
93
- const selectors = document.querySelectorAll('.share-controller-link');
94
- const urlInput = document.querySelector('.share-controller-wrapper').querySelector('.share-controller-url');
95
-
96
- if (selectors.length > 0) {
97
- selectors.forEach((button: HTMLElement) => {
98
- button.addEventListener('click', function LTPlayerShareCopy() {
99
- navigator.clipboard.writeText((urlInput as HTMLElement).dataset.copy);
100
- })
101
-
102
- })
103
- }
104
- }
105
-
106
- setCopyContent(embed : boolean) {
107
- const urlInput = document.querySelector('.share-controller-wrapper').querySelector('.share-controller-url');
108
-
109
- if (!urlInput) {
110
- return;
111
- }
112
-
113
- if (!embed) {
114
- urlInput.classList.add('canonicalUrl');
115
- urlInput.innerHTML = `${this.manager.instance.playerConfig.getShareData().canonicalUrl}`;
116
- (urlInput as HTMLElement).dataset.copy = this.manager.instance.playerConfig.getShareData().canonicalUrl;
117
- urlInput.addEventListener('click', () => {
118
- window.open(this.manager.instance.playerConfig.getShareData().canonicalUrl)
119
- })
120
- return
121
- }
122
- urlInput.classList.add('embedUrl');
123
- const iframe = `<iframe width="560" height="315" src="${this.manager.instance.playerConfig.getShareData().embedUrl}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
124
- (urlInput as HTMLElement).innerText = iframe;
125
- (urlInput as HTMLElement).dataset.copy = iframe;
126
- }
127
-
128
- createModal() {
129
-
130
- let modalTemplate = this.manager.instance.templateService.getShare(this.manager.playerConfig.getShareData());
131
-
132
- const modal = document.createElement('div');
133
- modal.classList.add('lt-player-mobile-share-modal')
134
- modal.innerHTML = modalTemplate;
135
-
136
- const body = document.querySelector('body');
137
-
138
- if (body) {
139
- body.appendChild(modal);
140
- }
141
- }
142
-
143
- inactiveModal() {
144
- const modal = document.querySelector('.lt-player-mobile-share-modal');
145
-
146
- if (modal) {
147
- modal.remove();
148
- }
149
-
150
- if (this.isPlaying) {
151
- this.manager.instance.plyr.play();
152
- }
153
- }
154
- }
@@ -1,49 +0,0 @@
1
- import {LTPlayer} from "../LTPlayerType";
2
- import {LTPlayerConfig} from "../config/LTPlayerConfig";
3
- import Plyr from "plyr";
4
-
5
- export class LTPlayerVideo {
6
- instanceType : LTPlayer.LandscapeType | LTPlayer.PortraitType
7
- playerConfig : LTPlayerConfig
8
- plyr : Plyr
9
- objectFit: string
10
- init(instance: LTPlayer.LandscapeType | LTPlayer.PortraitType) {
11
- this.instanceType = instance;
12
- this.playerConfig = instance.playerConfig;
13
- this.plyr = instance.plyr;
14
- this.objectFit =instance.playerConfig.getObjectFit();
15
- this.appendObjectFit();
16
- }
17
-
18
- appendObjectFit() {
19
- if (!this.objectFit) {
20
- return;
21
- }
22
-
23
- if (!this.plyr.isHTML5) {
24
- return;
25
- }
26
-
27
- const videoTag = this.plyr.elements.wrapper.querySelector('video');
28
-
29
- if (this.objectFit === 'cover') {
30
- videoTag.style.objectFit = this.objectFit;
31
- }
32
- }
33
-
34
- removeObjectFit() {
35
- if (!this.objectFit) {
36
- return;
37
- }
38
-
39
- if (!this.plyr.isHTML5) {
40
- return;
41
- }
42
-
43
- const videoTag = this.plyr.elements.wrapper.querySelector('video');
44
-
45
- if (this.objectFit === 'cover') {
46
- videoTag.style.objectFit = null;
47
- }
48
- }
49
- }
@@ -1,58 +0,0 @@
1
- import {LTPlayerConfig} from "../../components/config/LTPlayerConfig";
2
- import {LTPlayerControls} from "../../components/controls/LTPlayerControls";
3
- import Plyr from "plyr";
4
- import {TemplateService} from "../../services/TemplateService";
5
- import {IconsService} from "../../services/IconsService";
6
- import {ResizeService} from "../../services/ResizeService";
7
- import {LTPlayerEvents} from "../../components/events/LTPlayer";
8
- import {LTPLayerAddInfo} from "../../components/addInfo/LTPlayerAddInfoManager";
9
- import {LTPlayerMini} from "../../components/controls/LTPlayerMini";
10
- import {LTPlayerDevMethode} from "../../components/LTPlayerDevMethode";
11
- import {LTPlayerEventsManager} from "../../components/LTPlayerEventsManager";
12
- import {LTPlayerPosterManager} from "../../components/poster/LTPlayerPosterManager";
13
- import {LTPlayerShareManager} from "../../components/share/LTPlayerShareManager";
14
- import {LTPlayerHls} from "../../components/LTPlayerHls";
15
- import {LTPlayerVideo} from "../../components/video/LTPlayerVideo";
16
- import {LTPlayerCaptionsManager} from "../../components/captions/LTPlayerCaptions";
17
- import {LTPlayerStatusFeedback} from "../../components/LTPlayerStatusFeedback";
18
-
19
- /**
20
- * Default Player type Service
21
- */
22
- export class LTPlayerController {
23
- playerId: number
24
- windowService: ResizeService
25
- playerConfig: LTPlayerConfig
26
- playerControl: LTPlayerControls
27
- plyr: Plyr
28
- templateService: TemplateService
29
- iconService: IconsService
30
- desktopEvents: LTPlayerEvents.Desktop;
31
- mobileEvents: LTPlayerEvents.Mobile;
32
- additionalInfoService: LTPLayerAddInfo.Controller | null
33
- miniPlayer: LTPlayerMini
34
- devMethodePlayer: LTPlayerDevMethode.Player
35
- devMethodePreload: LTPlayerDevMethode.Preload
36
- eventInstance: LTPlayerEventsManager
37
- posterManager : LTPlayerPosterManager
38
- share : LTPlayerShareManager
39
- hls : LTPlayerHls
40
- videoService : LTPlayerVideo
41
- captionsService : LTPlayerCaptionsManager
42
- statusFeedbackService: LTPlayerStatusFeedback
43
-
44
- /**
45
- * Base player type service
46
- */
47
- constructor() {
48
- this.windowService = new ResizeService();
49
- this.iconService = new IconsService();
50
- this.templateService = new TemplateService();
51
- this.playerControl = new LTPlayerControls(this.templateService);
52
- this.posterManager = new LTPlayerPosterManager();
53
- this.share = new LTPlayerShareManager();
54
- this.videoService = new LTPlayerVideo();
55
- this.captionsService = new LTPlayerCaptionsManager(this);
56
- this.statusFeedbackService = new LTPlayerStatusFeedback(this);
57
- }
58
- }
@@ -1,11 +0,0 @@
1
- export interface EventsInterfaces {
2
- plyrOnReady(): void
3
-
4
- plyrEmbedOnReady(): void
5
-
6
- plyrEndVideo(): void
7
-
8
- plyrFullScreen(): void
9
-
10
- plyrTimeUpdate(): void
11
- }
@@ -1,3 +0,0 @@
1
- export interface SettingsControlsInterfaces {
2
- init(): void
3
- }
@@ -1,9 +0,0 @@
1
- import {playerConfigType} from "../types/ModuleTypes";
2
- import {LTPLayerAddInfo} from "../../components/addInfo/LTPlayerAddInfoManager";
3
-
4
- /**
5
- * Set default methods for Player type service
6
- */
7
- export interface TypeInterface {
8
- setup(configData: playerConfigType, additionalInfo: LTPLayerAddInfo.Controller | null): boolean;
9
- }
@@ -1,35 +0,0 @@
1
- import {LTPlayer} from "../../components/LTPlayerType";
2
- import Plyr from "plyr";
3
- import {LTPlayerShareEvents} from "../../components/share/LTPlayerShareEvents";
4
-
5
- type playerConfigType = {[index: string]: any}
6
-
7
- type urlDataType = {[index: string] : string}
8
-
9
- type additionalInformation = {[index: string] : any}
10
-
11
- type defaultType = {[index: string] : any}
12
-
13
- type PlayerType = LTPlayer.PortraitType | LTPlayer.LandscapeType;
14
-
15
-
16
- type plyr = Plyr & {
17
- id: number;
18
- captions : defaultType;
19
- }
20
-
21
- type playerManger = Element & {
22
- playerManager: LTPlayer.PortraitType | LTPlayer.LandscapeType
23
- }
24
-
25
- type urlVideoType = {
26
- type : string
27
- origin : string
28
- embedId : string
29
- embedHash : string
30
- }
31
-
32
- type shareType = {
33
- mobile : LTPlayerShareEvents.mobile,
34
- desktop : LTPlayerShareEvents.desktop
35
- }
@@ -1,13 +0,0 @@
1
- //-----------------------
2
- // Templates Modules
3
- //-----------------------
4
-
5
- declare module "html!*" {
6
- const value: string
7
- export default value
8
- }
9
-
10
- declare module '*.handlebars' {
11
- const content: string;
12
- export default content;
13
- }
@@ -1,12 +0,0 @@
1
- //----------------------
2
- // Window Modules
3
- //----------------------
4
- import {LTPlayerManager} from "../../components/LTPlayerManager";
5
-
6
- export {};
7
-
8
- declare global {
9
- interface Window {
10
- Player: LTPlayerManager;
11
- }
12
- }
@@ -1,44 +0,0 @@
1
- import {LTPlayerManager} from "../../components/LTPlayerManager";
2
-
3
-
4
- /**
5
- * Tells the IntelliSense to allow import of the following file extensions in TypeScript.
6
- * Current Webpack config for these files doesn't embed their content, but provides the file path inside the Webpack bundle.
7
- */
8
-
9
- //-----------------------
10
- // Fonts Module
11
- //-----------------------
12
-
13
- declare module '*.otf' {
14
- const value: any;
15
- export = value;
16
- }
17
- declare module '*.eot' {
18
- const value: any;
19
- export = value;
20
- }
21
-
22
- declare module '*.ttf' {
23
- const value: any;
24
- export = value;
25
- }
26
- declare module '*.woff' {
27
- const value: any;
28
- export = value;
29
- }
30
- declare module '*.svg' {
31
- const value: any;
32
- export = value;
33
- }
34
-
35
-
36
- //----------------------
37
- // Images Modules
38
- //----------------------
39
- declare module '*.jpg';
40
- declare module '*.jpeg';
41
- declare module '*.png';
42
- declare module '*.svg';
43
-
44
-
package/src/index.ts DELETED
@@ -1,10 +0,0 @@
1
- import {LTPlayerManager} from "./components/LTPlayerManager";
2
-
3
- const supportsContainerQueries = "container" in document.documentElement.style;
4
- if (!supportsContainerQueries) {
5
- require('container-query-polyfill');
6
- }
7
-
8
- if (window.Player === undefined) {
9
- window.Player = new LTPlayerManager();
10
- }
@@ -1,16 +0,0 @@
1
- {
2
- "type": "object",
3
- "required": [
4
- "version",
5
- "body"
6
- ],
7
- "properties": {
8
- "version": {
9
- "type": ["integer", "string"],
10
- "nullable" : false
11
- },
12
- "body": {
13
- "type": "object"
14
- }
15
- }
16
- }
@@ -1,147 +0,0 @@
1
- import {defaultType} from "../global/types/ModuleTypes";
2
-
3
- export class Helper {
4
-
5
- static getDevice() {
6
- let device = 'desktop'; //initiate as false
7
- if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
8
- || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
9
- device = 'mobile';
10
- }
11
- return device;
12
- }
13
-
14
- static setDebugEvent(data: string | object, type?: string) {
15
- if (type === undefined) {
16
- type = 'info'
17
- }
18
-
19
- if (process.env.DEBUG === "true") {
20
- switch (type) {
21
- case 'info':
22
- console.info(data);
23
- break
24
- case 'error':
25
- console.error(data);
26
- break
27
- case 'table':
28
- console.table(data)
29
- break
30
- }
31
-
32
-
33
- }
34
- }
35
-
36
- static processConfigData(videoUrl: string | defaultType) {
37
-
38
- const regex = /^(http:\/\/|https:\/\/)(player\.vimeo\.com|vimeo\.com|youtu\.be|www\.youtube\.com)\/([\w\/]+)(\?.*)?$/;
39
-
40
- let groupMatch;
41
- let type = 'video';
42
- let origin = 'video';
43
-
44
- if ((groupMatch = regex.exec(<string>videoUrl)) !== null) {
45
- groupMatch.forEach((match: string) => {
46
- if (match !== undefined) {
47
- if (match.includes('vimeo')) {
48
- type = 'embedded';
49
- origin = 'vimeo';
50
- }
51
- if (match.includes('youtube')) {
52
- type = 'embedded';
53
- origin = 'youtube';
54
- }
55
- }
56
- });
57
- }
58
-
59
- return {
60
- type: type,
61
- origin: origin
62
- };
63
- }
64
-
65
- static getEmbeddedID = (url: string | defaultType) => {
66
- const urlGroups = url.split('?')[0].split('/');
67
- if (urlGroups.length > 4) {
68
- return url.split('?')[0].split('/').slice(-2)[0];
69
- }
70
- return url.split('?')[0].split('/').slice(-1)[0];
71
-
72
- }
73
-
74
- static getEmbeddedHash = (url: string | defaultType) => {
75
- const urlGroups = url.split('?')[0].split('/');
76
- if (urlGroups.length > 4) {
77
- return url.split('?')[0].split('/').slice(-1)[0];
78
- }
79
- return null;
80
- }
81
-
82
- static isValidHttpUrl(string: string | defaultType) {
83
- let url;
84
-
85
- if (typeof string === 'object') {
86
- return false;
87
- }
88
-
89
- try {
90
- url = new URL(string);
91
- } catch (_) {
92
- return false;
93
- }
94
- return url.protocol === "http:" || url.protocol === "https:";
95
- }
96
-
97
- static checkIsHls(url : string): boolean {
98
- const extensions = [
99
- 'm3u8'
100
- ]
101
-
102
- let response = false;
103
-
104
- extensions.forEach(item => {
105
- if (url.includes(item)) {
106
- response = true;
107
- }
108
- })
109
-
110
- return response;
111
- }
112
-
113
- static getVideoOrientation(width: number, height: number) {
114
- if (width > height) {
115
- return 'landscape';
116
- } else {
117
- return 'portrait'
118
- }
119
- }
120
-
121
- static getPlayerStringType(type: string|number)
122
- {
123
- let response = null;
124
-
125
- switch (type) {
126
- case "1":
127
- response = 'portrait'
128
- break
129
- case "2":
130
- response = 'landscape'
131
- break
132
- case 1:
133
- response = 'portrait'
134
- break
135
- case 2:
136
- response = 'landscape'
137
- break
138
- case 'portrait':
139
- response = 'portrait'
140
- break
141
- case 'landscape':
142
- response = 'landscape'
143
- }
144
-
145
- return response;
146
- }
147
- }