@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,260 +0,0 @@
1
- @import "../../abstracts/variables";
2
-
3
- .lt-player-notification {
4
- width: 100%;
5
-
6
- &__notification-button-state {
7
- position: absolute;
8
- top: 50%;
9
- left: 50%;
10
- transform: translate(-50%, -50%);
11
-
12
- .player-state {
13
- opacity: 0;
14
- transition: all 0.8s ease-in-out;
15
- pointer-events: none;
16
- @extend %lt-player-btn;
17
- @include dark-btn;
18
- background: rgba(39, 40, 42, 0.5);
19
- padding: 16px;
20
- }
21
-
22
- .active {
23
- opacity: 1;
24
- transition: all 0.2s ease-in-out;
25
- }
26
- }
27
-
28
- .lt-player-video-content {
29
- text-align: left;
30
- display: none;
31
- padding: 0;
32
- width: 100%;
33
- user-select: none;
34
- align-items: end;
35
-
36
- .content__body {
37
- z-index: 2;
38
- width: 100%;
39
- }
40
-
41
- .poster-title {
42
- @extend %line-clamp-3;
43
- @include line-clamp-4;
44
- color: $default-lt-player-white !important;
45
- font-size: $lt-player-font-size-sm;
46
- font-weight: $lt-player-font-weight-lg;
47
- line-height: $lt-player-line-height;
48
- margin: 0;
49
- }
50
-
51
- .poster-paragraph {
52
- &__content {
53
- display: -webkit-box;
54
- -webkit-line-clamp: 2;
55
- -webkit-box-orient: vertical;
56
- word-wrap: break-word;
57
- text-overflow: ellipsis;
58
- overflow: hidden;
59
- font-size: $lt-player-font-size-sm;
60
- font-weight: $lt-player-font-weight-sm;
61
- color: $default-lt-player-white !important;
62
- margin-bottom: 0;
63
- max-height: 50px;
64
- transition: max-height 0.3s ease-in-out;
65
- }
66
-
67
- .open-content {
68
- display: block;
69
- transition: max-height 0.3s ease-in-out;
70
- }
71
- }
72
- }
73
-
74
- .lt-player-video-content-enable {
75
- display: flex;
76
- }
77
-
78
- .poster-paragraph__button {
79
- background: none;
80
- box-shadow: none;
81
- padding: 0;
82
- border: none;
83
- margin: 0;
84
- text-decoration: none;
85
- font-size: $lt-player-font-size-xs;
86
- color: white;
87
- cursor: pointer;
88
- position: absolute;
89
- bottom: 144px;
90
- right: 96px;
91
- z-index: 8;
92
- }
93
-
94
- .lt-player-rewind-area,
95
- .lt-player-forward-area {
96
- touch-action: inherit !important;
97
- width: 50%;
98
- height: 100%;
99
- z-index: 4;
100
- position: absolute;
101
- top: 0;
102
- }
103
-
104
- .lt-player-forward-area {
105
- right: 0;
106
- }
107
-
108
- .lt-player-rewind-area {
109
- left: 0;
110
- }
111
-
112
- .lt-player-rewind,
113
- .lt-player-forward {
114
- width: 50%;
115
- top: 10%;
116
- display: flex;
117
- position: absolute;
118
- text-align: center;
119
- height: unset;
120
- bottom: 10%;
121
-
122
- &__icon-wrapper {
123
- display: flex;
124
- user-select: none;
125
-
126
- &.rotate {
127
- rotate: 180deg;
128
- }
129
-
130
- img {
131
- max-width: 20px;
132
- }
133
- }
134
-
135
- &__icon {
136
- display: flex;
137
- justify-content: flex-start;
138
- align-items: center;
139
- color: rgba(255,255,255, 1);
140
- user-select: none;
141
- }
142
-
143
- span {
144
- font-size: $lt-player-font-size-base;
145
- font-weight: $lt-player-font-weight-sm;
146
- user-select: none;
147
- padding: 0 8px;
148
- }
149
- }
150
-
151
- .lt-player-rewind {
152
- left: 0;
153
-
154
- &__icon {
155
- flex-direction: row-reverse;
156
-
157
- &__portrait {
158
- margin: auto auto auto 45px;
159
- }
160
-
161
- &__landscape {
162
- margin: auto 60px auto auto;
163
- }
164
- }
165
- }
166
-
167
- .lt-player-forward {
168
- right: 0;
169
-
170
- &__icon {
171
- &__portrait {
172
- margin: auto 45px auto auto;
173
- }
174
-
175
- &__landscape {
176
- margin: auto auto auto 60px;
177
- }
178
- }
179
- }
180
-
181
- .lt-player-notify {
182
- transition: background 0.8s;
183
- //background: rgba(200,200,200,.4) radial-gradient(circle, transparent 1%, rgba(200,200,200,.4) 1%) center/15000%;
184
- opacity: 0;
185
- //opacity: 1;
186
- }
187
-
188
- .animate-in {
189
- opacity: 1;
190
- display: flex;
191
- animation: ripple 1s forwards;
192
- }
193
- }
194
-
195
- @keyframes ripple{
196
- 0% {
197
- //background-color: rgba(200,200,200,.4);
198
- //background-size: 100%;
199
- transition: background 0s;
200
- opacity:1;
201
- }
202
- 100% {
203
- //transition: background 6s;
204
- //background: rgba(200,200,200,.4) radial-gradient(circle, transparent 1%, rgba(200,200,200,.4) 1%) center/15000%;
205
- display: flex;
206
- opacity:0;
207
- }
208
- }
209
- @keyframes fadeInLeft {
210
- 0% {
211
- opacity: 1;
212
- transform: translateX(-20px);
213
- }
214
- 100% {
215
- opacity: 1;
216
- transform: translateX(0);
217
- }
218
- }
219
- @keyframes fadeInRight {
220
- 0% {
221
- opacity: 1;
222
- transform: translateX(0px);
223
- }
224
- 100% {
225
- opacity: 1;
226
- transform: translateX(-20px);
227
- }
228
- }
229
-
230
- .lt-player-orientation--portrait {
231
- .lt-player-notification {
232
- padding: 20px 20px 28px 20px;
233
- }
234
- }
235
-
236
- .lt-player-orientation--landscape {
237
- .lt-player-notification {
238
- padding: 0;
239
- }
240
- }
241
-
242
- @container portrait (width > 319px) {
243
- .lt-player-orientation--portrait {
244
- .lt-player-notification {
245
- .lt-player-video-content {
246
- .poster-title {
247
- @extend %line-clamp-3;
248
- @include line-clamp-3;
249
- font-size: $lt-player-font-size-xxl;
250
- }
251
-
252
- .poster-paragraph {
253
- &__content {
254
- font-size: $lt-player-font-size-base;
255
- }
256
- }
257
- }
258
- }
259
- }
260
- }
@@ -1,169 +0,0 @@
1
- @import "../../abstracts/variables";
2
-
3
- .plyr {
4
- .plyr__controls-enable-settings {
5
- opacity: 1;
6
- }
7
- .plyr__controls-enable-share {
8
- opacity: 1;
9
- }
10
-
11
- &__controls,
12
- &__controls-enable,
13
- &__controls-enable-settings {
14
- .top-controllers {
15
- width: 100%;
16
- padding: 10px 10px 0;
17
- margin-bottom: auto;
18
-
19
- button {
20
- @extend %lt-player-btn;
21
- @include dark-btn;
22
- @include buttons-xs;
23
- }
24
-
25
- &__background {
26
- position: absolute;
27
- width: 100%;
28
- left: 0;
29
- top: 0;
30
- height: 20%;
31
- background: var(--plyr-video-controls-background,linear-gradient(transparent,rgba(0,0,0,.75)));
32
- rotate: 180deg;
33
- display: none;
34
- }
35
-
36
- &__body {
37
- display: flex;
38
- justify-content: space-between;
39
-
40
- &__left,
41
- &__right {
42
- display: flex;
43
- flex-direction: column;
44
- flex: 0 0 12%;
45
- z-index: 5;
46
- }
47
-
48
- &__left {
49
- align-items: flex-start;
50
- }
51
-
52
- &__right {
53
- align-items: end;
54
- }
55
-
56
- &__center {
57
- flex: 1;
58
- width: 100%;
59
- word-break: break-word;
60
-
61
- .chapter {
62
- font-size: $lt-player-font-size-base;
63
- font-weight: $lt-player-font-weight-base;
64
- position: relative;
65
- z-index: 90;
66
- margin: 0;
67
- color: $default-lt-player-white !important;
68
- }
69
- }
70
-
71
- &__right {
72
- .mini-player-control {
73
- margin-top: 20px;
74
- }
75
- }
76
- }
77
- }
78
- }
79
- }
80
-
81
- .lt-player-orientation--portrait {
82
- .plyr {
83
- &__controls {
84
- .top-controllers {
85
- padding: 16px;
86
- }
87
- }
88
- }
89
- }
90
-
91
- // @Container Query
92
-
93
- @container portrait (width > 319px) {
94
- .lt-player-orientation--portrait {
95
- .plyr {
96
- &__controls {
97
- .top-controllers {
98
- padding: 20px 20px 0;
99
-
100
- &__body {
101
- &__center {
102
- .chapter {
103
- margin-top: 6px;
104
- }
105
- }
106
- }
107
-
108
- button {
109
- @include buttons-normal;
110
- }
111
- }
112
- }
113
- }
114
- }
115
- }
116
-
117
- @container landscape (width > 479px) {
118
- .lt-player-orientation--landscape {
119
- .plyr {
120
- &__controls {
121
- .top-controllers {
122
- padding: 20px 20px 0;
123
- }
124
- }
125
- }
126
- }
127
- }
128
-
129
- @container landscape (width > 639px) {
130
- .lt-player-orientation--landscape {
131
- .plyr {
132
- &__controls {
133
- .top-controllers {
134
- padding: 20px 40px 0;
135
-
136
- &__body {
137
- &__center {
138
- .chapter {
139
- font-size: $lt-player-font-size-lg;
140
- }
141
- }
142
- }
143
- }
144
- }
145
- }
146
- }
147
- }
148
-
149
- @container landscape (width > 912px) {
150
- .lt-player-orientation--landscape {
151
- .plyr {
152
- &__controls {
153
- .top-controllers {
154
- button {
155
- @include buttons-normal;
156
- }
157
-
158
- &__body {
159
- &__center {
160
- .chapter {
161
- font-size: $lt-player-font-size-xxl2;
162
- }
163
- }
164
- }
165
- }
166
- }
167
- }
168
- }
169
- }
@@ -1,192 +0,0 @@
1
- import Plyr from "plyr";
2
- import {LTPlayerPosterPreload} from "./poster/LTPlayerPosterPreload";
3
- import {LTPlayerPosterPreloadEvents} from "./poster/LTPlayerPosterPreloadEvents";
4
- import {LTPlayer} from "./LTPlayerType";
5
- import {LTPlayerSettingsManager} from "./LTPlayerSettingsManager";
6
-
7
- export namespace LTPlayerDevMethode {
8
-
9
- export class Player {
10
-
11
- player: Plyr
12
- instance: LTPlayer.PortraitType | LTPlayer.LandscapeType
13
- settingsManager: LTPlayerSettingsManager
14
-
15
- constructor(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
16
- this.player = instance.plyr;
17
- this.instance = instance;
18
- this.settingsManager = new LTPlayerSettingsManager(instance);
19
- }
20
-
21
- play(isFirst?: boolean) {
22
- console.log('is it the first video? ' + isFirst);
23
- const playerContainer = this.player.elements.container;
24
-
25
- if(isFirst) {
26
- this.player.muted = true;
27
- this.player.volume = 0;
28
- this.settingsManager.setGlobalSettings();
29
- }
30
-
31
- playerContainer.addEventListener('ratechange', () => {
32
- this.settingsManager.setGlobalSettings();
33
- });
34
-
35
- playerContainer.addEventListener('volumechange', () => {
36
- this.settingsManager.setGlobalSettings();
37
- });
38
-
39
- this.settingsManager.applyGlobalSettings();
40
-
41
- const disablePoster = () => {
42
- let poster = playerContainer.querySelector(`.lt-player__poster`);
43
-
44
- if (poster) {
45
- poster.classList.add('d-none');
46
- }
47
-
48
- let controls = playerContainer.querySelector('.player__controls');
49
-
50
- if (controls) {
51
- controls.classList.remove('d-none');
52
- }
53
- }
54
-
55
- if (!this.player.playing) {
56
- this.player.play();
57
- }
58
-
59
- disablePoster();
60
- }
61
-
62
- pause() {
63
- this.player.pause();
64
- }
65
-
66
- stop() {
67
- const playerContainer = this.player.elements.container;
68
-
69
- this.settingsManager.setGlobalSettings();
70
-
71
- const enablePoster = () => {
72
-
73
- const customPoster = playerContainer.querySelector('.lt-player__poster');
74
- const controls = playerContainer.querySelector('.plyr__controls');
75
-
76
- playerContainer.classList.add('plyr--stopped')
77
- customPoster.classList.remove('d-none');
78
- controls.classList.add('d-none');
79
- }
80
-
81
- const disableSettings = () => {
82
-
83
- const settingsBody = playerContainer.querySelector('.settings-controllers');
84
-
85
- if (settingsBody && settingsBody.classList.contains('settings-controllers-enable')) {
86
-
87
- const settingsBody = playerContainer.querySelector('.settings-controllers');
88
- this.player.elements.controls.classList.remove('plyr__controls-enable-settings')
89
-
90
- settingsBody.classList.remove('settings-controllers-enable');
91
-
92
- const background = document.querySelector('.settings-controllers-enable__background');
93
-
94
- if (!background.classList.contains('d-none')) {
95
- background.classList.add('d-none');
96
- }
97
-
98
- }
99
- }
100
-
101
- const exitMiniPLayer = () => {
102
- const miniPlayer = {
103
- controls: playerContainer.querySelector('.lt-player-mini-player-controls'),
104
- background: playerContainer.querySelector('.lt-player-mini-player-background'),
105
- enable: playerContainer.querySelector('.lt-player-mini-enable'),
106
- size_land: playerContainer.querySelector(`.lt-player-mini-1`),
107
- size_port: playerContainer.querySelector(`.lt-player-mini-2`)
108
- };
109
-
110
- if (miniPlayer.controls) {
111
- miniPlayer.controls.remove();
112
- }
113
-
114
- if (miniPlayer.background) {
115
- miniPlayer.background.remove();
116
- }
117
-
118
- if (miniPlayer.size_land) {
119
- miniPlayer.size_land.classList.remove(`lt-player-mini-1`)
120
- }
121
-
122
- if (miniPlayer.size_port) {
123
- miniPlayer.size_port.classList.remove(`lt-player-mini-2`)
124
- }
125
-
126
- if (miniPlayer.enable) {
127
- miniPlayer.enable.classList.remove('lt-player-mini-enable')
128
- }
129
- }
130
-
131
- const exitFullScreen = () => {
132
- if (this.player.fullscreen.active) {
133
- this.player.fullscreen.exit();
134
- }
135
- }
136
-
137
- this.player.stop()
138
- enablePoster();
139
- disableSettings();
140
- exitMiniPLayer();
141
- exitFullScreen();
142
-
143
- }
144
-
145
- enterMiniPlayer() {
146
- this.instance.miniPlayer.enterMiniPlayer();
147
- }
148
-
149
- exitMiniPlayer() {
150
- this.instance.miniPlayer.exitMiniPlayer(this.player);
151
- }
152
- }
153
- export class Preload {
154
-
155
- instance: LTPlayer.PortraitType | LTPlayer.LandscapeType;
156
- preloadPoster: LTPlayerPosterPreload
157
-
158
- constructor(player: LTPlayer.PortraitType | LTPlayer.LandscapeType, preloadPoster: LTPlayerPosterPreload) {
159
- this.instance = player;
160
- this.preloadPoster = preloadPoster;
161
- }
162
-
163
- play() {
164
- if (this.instance.plyr.isEmbed) {
165
- let instance = this.instance;
166
- let plyr = this.instance.plyr;
167
- plyr.on('ready', function LTPLayerMobileReadyEmbed() {
168
- plyr.embed.ready().then(function LTPlayerEmbedReady() {
169
- LTPlayerPosterPreloadEvents.preloadEvents.embedPlay(instance, 'action')
170
- })
171
- });
172
-
173
- LTPlayerPosterPreloadEvents.preloadEvents.embedPlay(instance, 'action')
174
-
175
- }
176
-
177
- if (this.instance.plyr.isHTML5) {
178
- let instance = this.instance;
179
- LTPlayerPosterPreloadEvents.preloadEvents.html5Play(instance, 'action')
180
- }
181
- }
182
-
183
- pause() {
184
- LTPlayerPosterPreloadEvents.preloadEvents.stop(this.instance, 'action')
185
- }
186
-
187
- stop() {
188
- return console.error("Sorry, this method is not implemented, don't worry, be happy");
189
- }
190
-
191
- }
192
- }
@@ -1,31 +0,0 @@
1
- import Plyr from "plyr";
2
- import {LTPlayer} from "./LTPlayerType";
3
- import 'hammerjs'
4
- import {LTPlayerDesktop} from "./events/LTPlayerDesktop";
5
- import {LTPlayerMobile} from "./events/LTPlayerMobile";
6
-
7
- /**
8
- * LTPlayer events namespace
9
- */
10
- export class LTPlayerEventsManager {
11
- player: LTPlayer.PortraitType | LTPlayer.LandscapeType
12
- plyr: Plyr
13
- desktopEvents: LTPlayerDesktop
14
- mobileEvents: LTPlayerMobile
15
-
16
- constructor(player: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
17
- this.player = player;
18
- this.plyr = player.plyr;
19
- this.setup();
20
- }
21
-
22
- setup() {
23
- if (this.player.playerConfig.getDevice() === 'mobile') {
24
- this.mobileEvents = new LTPlayerMobile();
25
- this.mobileEvents.setup(this);
26
- } else {
27
- this.desktopEvents = new LTPlayerDesktop();
28
- this.desktopEvents.setup(this);
29
- }
30
- }
31
- }
@@ -1,38 +0,0 @@
1
- import {LTPlayer} from "./LTPlayerType";
2
- import {LTPlayerConfig} from "./config/LTPlayerConfig";
3
- import Hls from "hls.js";
4
- import {defaultType} from "../global/types/ModuleTypes";
5
-
6
- export class LTPlayerHls {
7
- instance : LTPlayer.LandscapeType | LTPlayer.PortraitType
8
- config : LTPlayerConfig
9
- playerSettings : defaultType
10
-
11
- hlsInstance : Hls
12
-
13
- constructor(instance : LTPlayer.LandscapeType | LTPlayer.PortraitType, playerSettings : defaultType) {
14
- this.instance = instance;
15
- this.config = instance.playerConfig;
16
- this.playerSettings = playerSettings;
17
- this.hlsInstance = new Hls({
18
- "enableWorker": true,
19
- "lowLatencyMode": true,
20
- "backBufferLength": 20,
21
- "abrEwmaFastVoD": 1,
22
- "autoStartLoad": true,
23
- "abrBandWidthUpFactor": 0.95,
24
- "maxMaxBufferLength": 15,
25
- "abrEwmaDefaultEstimate": 50
26
- });
27
- }
28
-
29
- init() {
30
- if (Hls.isSupported()) {
31
- this.hlsInstance.loadSource(this.config.getVideoUrl().videoUrl);
32
- this.hlsInstance.attachMedia(this.config.getPlayerElementContainer().querySelector('video'));
33
- this.hlsInstance.on(Hls.Events.MANIFEST_PARSED,function() {
34
- console.log('MANIFEST_PARSED');
35
- });
36
- }
37
- }
38
- }