@latest-thinking/lt-player 1.0.5 → 1.0.6

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 (48) hide show
  1. package/.babelrc +2 -1
  2. package/dist/css/lt-player-main.css +1 -1
  3. package/dist/css/lt-player-main.css.map +1 -1
  4. package/dist/js/lt-player-main.js +1 -1
  5. package/dist/js/lt-player-main.js.map +1 -1
  6. package/package.json +5 -3
  7. package/src/assets/sass/abstracts/_mixins.scss +5 -5
  8. package/src/assets/sass/abstracts/_placeholders.scss +5 -5
  9. package/src/assets/sass/abstracts/_variables.scss +7 -7
  10. package/src/assets/sass/components/_modal.scss +61 -19
  11. package/src/assets/sass/sections/_additional-info.scss +6 -6
  12. package/src/assets/sass/sections/_control.scss +12 -11
  13. package/src/assets/sass/sections/_poster.scss +52 -10
  14. package/src/assets/sass/sections/_settings.scss +14 -12
  15. package/src/assets/sass/sections/_share.scss +123 -100
  16. package/src/assets/sass/sections/_subtitles.scss +14 -1
  17. package/src/assets/sass/sections/controllers/_botom.scss +160 -98
  18. package/src/assets/sass/sections/controllers/_mini-player.scss +18 -3
  19. package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +48 -85
  20. package/src/assets/sass/sections/controllers/_top.scss +39 -13
  21. package/src/components/LTPlayerDevMethode.ts +23 -3
  22. package/src/components/LTPlayerHls.ts +29 -0
  23. package/src/components/LTPlayerSetup.ts +14 -8
  24. package/src/components/LTPlayerType.ts +84 -34
  25. package/src/components/addInfo/LTPlayerAddInfoManager.ts +12 -5
  26. package/src/components/addInfo/LTPlayerAdditionalInfoEvents.ts +37 -12
  27. package/src/components/config/LTPlayerConfig.ts +29 -0
  28. package/src/components/config/LTPlayerConfigProcessor.ts +9 -5
  29. package/src/components/controls/LTPlayerControlsEvents.ts +26 -10
  30. package/src/components/controls/LTPlayerMini.ts +75 -5
  31. package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +2 -2
  32. package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +4 -4
  33. package/src/components/events/LTPlayer.ts +10 -1
  34. package/src/components/events/LTPlayerCommon.ts +2 -5
  35. package/src/components/events/LTPlayerDesktop.ts +25 -2
  36. package/src/components/events/LTPlayerMobile.ts +25 -0
  37. package/src/components/poster/LTPlayerPoster.ts +36 -22
  38. package/src/components/poster/LTPlayerPosterEvents.ts +10 -7
  39. package/src/components/poster/LTPlayerPosterManager.ts +3 -10
  40. package/src/components/share/LTPlayerShareEvents.ts +66 -3
  41. package/src/global/controllers/LTPlayerController.ts +2 -0
  42. package/src/services/Helper.ts +24 -0
  43. package/src/services/ResizeService.ts +33 -10
  44. package/src/views/additionalInfo.handlebars +58 -0
  45. package/src/views/background.handlebars +1 -1
  46. package/src/views/controls.handlebars +6 -6
  47. package/src/views/poster.handlebars +2 -1
  48. package/src/views/share.handlebars +69 -69
@@ -1,122 +1,145 @@
1
+ //.lt-player-portrate--mobile,
2
+ //.lt-player-portrate--desktop,
3
+ //.lt-player-landscape--mobile {
4
+ // .plyr {
5
+ // .share-controller {
6
+ // .share-active {
7
+ // position: relative;
8
+ //
9
+ //
10
+ // .share-controller-content {
11
+ // max-width: 100%;
12
+ // .line-button {
13
+ // visibility: visible;
14
+ // margin-bottom: 32px;
15
+ // }
16
+ // }
17
+ // }
18
+ // }
19
+ // }
20
+ //}
21
+
1
22
  .plyr {
2
- .share-controller {
23
+ .share-controller {
24
+ .share-inactive {
25
+ display: none;
26
+ }
3
27
 
4
- .share-inactive {
5
- display: none;
6
- }
28
+ .share-active {
29
+ align-items: center;
30
+ background: rgba(0, 0, 0, .3);
31
+ -webkit-backdrop-filter: blur(14px);
32
+ backdrop-filter: blur(14px);
33
+ bottom: 0;
34
+ color: $default-lt-player-white;
35
+ display: flex;
36
+ justify-content: center;
37
+ left: 0;
38
+ position: absolute;
39
+ right: 0;
40
+ top: 0;
41
+ z-index: 99;
42
+
43
+ .share-controller-content {
44
+ background: $default-lt-player-white;
45
+ padding: 0 28px 20px;
46
+ text-align: center;
47
+ width: 100%;
48
+ max-width: 376px;
49
+
50
+ .line-button {
51
+ display: flex;
52
+ width: 56px;
53
+ height: 6px;
54
+ background-color: $default-lt-line-button;
55
+ margin: 8px auto;
56
+ cursor: pointer;
57
+ visibility: hidden;
58
+ }
7
59
 
8
- .share-active {
9
- align-items: center;
10
- background: rgba(0,0,0,.3);
11
- -webkit-backdrop-filter: blur(14px);
12
- backdrop-filter: blur(14px);
13
- bottom: 0;
14
- color: #fff;
15
- display: flex;
16
- justify-content: center;
17
- left: 0;
18
- position: absolute;
19
- right: 0;
20
- top: 0;
21
- z-index: 99;
22
-
23
- .share-controller-content {
24
- background: #fff;
25
- border-radius: 10px;
26
- max-width: 90%;
27
- padding: 40px;
28
- text-align: center;
29
-
30
- .share-controller-frame {
31
- position: relative;
32
-
33
- .player-share-close-button {
34
- color: #000;
35
- position: absolute;
36
- right: -20px;
37
- top: -20px;
38
- }
60
+ .share-controller-frame {
61
+ position: relative;
39
62
 
63
+ .player-share-close-button {
64
+ color: $default-lt-player-black;
65
+ position: absolute;
66
+ right: -20px;
67
+ top: -20px;
68
+ }
69
+ }
40
70
 
71
+ .share-controller-title,
72
+ .share-controller-via {
73
+ h3 {
74
+ color: $default-lt-button-color;
75
+ font-size: $lt-player-font-size-base;
76
+ font-weight: $lt-player-font-weight-lg;
77
+ margin-top: 0;
41
78
  }
79
+ }
42
80
 
43
- .share-controller-title {
44
- margin-bottom: 30px;
45
- span {
46
- color: #181818;
47
- font-size: 32px;
48
- font-weight: 700;
49
- }
81
+ .share-controller-via {
82
+ margin-bottom: 25px;
83
+ }
50
84
 
85
+ .share-controller-link-wrapper {
86
+ @extend %center-elements;
87
+ flex-flow: column wrap;
88
+ gap: 20px;
89
+ word-break: break-word;
90
+
91
+ .share-controller-url {
92
+ font-size: $lt-player-font-size-base;
93
+ color: $default-lt-player-modal-color;
94
+ font-weight: $lt-player-font-weight-sm;
95
+ text-decoration: underline;
96
+ cursor: pointer;
97
+ max-width: 90%;
51
98
  }
52
99
 
53
- .share-controller-link-wrapper {
54
- align-items: center;
55
- display: flex;
56
- //padding: 0 20px;
57
-
58
- input.share-controller-url {
59
- border: none;
60
- color: rgba(24,24,24,.5);
61
- flex: 1;
62
- font-size: 12px;
63
- overflow: hidden;
64
- text-align: center;
65
- white-space: nowrap;
66
- }
67
- .share-controller-link {
68
- color: #6cf;
69
- font-weight: 500;
70
- margin-left: 20px;
71
- white-space: nowrap;
72
- }
73
- }
74
- .share-controller-hr {
75
- border-top: 2px solid #eee;
76
- margin-top: 5px;
77
- }
78
- .share-controller-via {
79
- color: #181818;
80
- font-size: 18px;
81
- margin: 30px 0;
100
+ .share-controller-link {
101
+ @extend %lt-player-btn;
102
+ @include yellow-btn;
103
+ color: $default-lt-button-color !important;
104
+ max-width: 142px;
105
+ width: 100%;
82
106
  }
107
+ }
83
108
 
84
- .share-controller-icons {
85
- display: flex;
86
- justify-content: center;
109
+ .share-controller-hr {
110
+ opacity: 0.3;
111
+ margin: 20px 0;
112
+ }
87
113
 
88
- a {
89
- align-items: center;
90
- display: flex;
91
- flex-direction: column;
92
- margin: 0 7px;
93
- text-align: center;
94
-
95
- .share-icon__icon {
96
- border-radius: 50%;
97
- box-shadow: 0 4px 20px rgba(0,0,0,.1);
98
- display: block;
99
- margin-bottom: 5px;
100
- max-height: 35px;
101
- max-width: 35px;
102
-
103
- img {
104
- max-width: 35px;
105
- }
106
- }
107
- span {
108
- color: #181818;
109
- font-size: 12px;
110
- font-weight: 300;
111
- }
114
+ .share-controller-icons {
115
+ @extend %center-elements;
116
+ gap: 15px;
117
+ flex-wrap: wrap;
112
118
 
119
+ div {
120
+ display: none;
113
121
  }
114
122
 
123
+ a {
124
+ padding: 0;
115
125
 
126
+ &:first-child {
127
+ .share-icon__icon {
128
+ background: $default_color_player;
129
+ }
130
+ }
131
+
132
+ .share-icon__icon {
133
+ @extend %center-elements;
134
+ width: 32px;
135
+ height: 32px;
136
+ max-width: 32px;
137
+ max-height: 32px;
138
+ background: $default-lt-button-color;
139
+ }
116
140
  }
117
141
  }
118
-
119
142
  }
120
143
  }
121
-
144
+ }
122
145
  }
@@ -1,3 +1,16 @@
1
+ .lt-player-landscape--mobile,
2
+ .lt-player-landscape--desktop {
3
+ &.lt-player--landscape {
4
+ &__xxs {
5
+ .plyr {
6
+ .plyr__caption {
7
+ font-size: $lt-player-font-size-base !important;
8
+ }
9
+ }
10
+ }
11
+ }
12
+ }
13
+
1
14
  .plyr__caption {
2
15
  display: flex!important;
3
16
  justify-content: center!important;
@@ -7,7 +20,7 @@
7
20
  background-color: $default-lt-player-black !important;
8
21
  font-size: $lt-player-font-size-lg !important;
9
22
  line-height: $lt-player-line-height !important;
10
- padding: .5rem .75rem !important;
23
+ padding: 8px 12px !important;
11
24
  font-family: $lt-font-family-base !important;
12
25
  white-space: unset !important;
13
26
  }
@@ -6,10 +6,10 @@
6
6
  &__controls {
7
7
  .bottom-controller {
8
8
  max-width: 100%;
9
- padding: 2rem;
9
+ padding: 28px 40px;
10
10
 
11
11
  .play-button {
12
- padding: 1rem;
12
+ padding: 16px;
13
13
  bottom: -5px;
14
14
  }
15
15
 
@@ -17,48 +17,50 @@
17
17
  &__center-buttons,
18
18
  &__right-buttons {
19
19
  display: flex;
20
- gap: 1rem;
21
- align-items: end;
20
+ gap: 20px;
21
+ align-items: flex-end;
22
22
  }
23
23
 
24
24
  &__left-buttons {
25
25
  margin-right: auto;
26
- display: grid;
26
+ display: flex;
27
27
  grid-template-columns: 1fr 1fr;
28
+ flex: 1;
28
29
  }
29
30
 
30
31
  &__center-buttons {
31
- gap: 2rem;
32
+ gap: 32px;
32
33
  }
33
34
 
34
35
  &__right-buttons {
35
36
  margin-left: auto;
36
- display: grid;
37
- grid-template-columns: 1fr 1fr;
38
- direction: rtl;
37
+ display: flex;
38
+ flex: 1;
39
+ justify-content: end;
39
40
  }
40
41
 
41
42
  &__previous-chapter-view-wrapper,
42
43
  &__next-chapter-view-wrapper {
43
44
  display: flex;
44
- gap: 1rem;
45
- align-items: end;
45
+ gap: 16px;
46
+ align-items: flex-end;
46
47
  }
47
48
 
48
49
  &__previous-chapter-view {
49
- justify-content: end;
50
+ justify-content: flex-end;
50
51
  }
51
52
 
52
53
  &__next-chapter-view {
53
- justify-content: start;
54
+ justify-content: flex-start;
54
55
  }
55
56
 
56
57
  &__next-chapter-view,
57
58
  &__previous-chapter-view {
58
59
  display: flex;
59
- align-items: end;
60
- margin-bottom: .4rem;
60
+ align-items: flex-end;
61
+ margin-bottom: 4px;
61
62
  width: 100px;
63
+ font-size: $lt-player-font-size-lg;
62
64
  color: $default-lt-player-white !important;
63
65
  }
64
66
 
@@ -74,17 +76,32 @@
74
76
  }
75
77
 
76
78
  &.lt-player--landscape {
79
+ &__lg {
80
+ .plyr {
81
+ &__controls {
82
+ .bottom-controller {
83
+ &__previous-chapter-view {
84
+ display: none;
85
+ }
86
+
87
+ &__next-chapter-view {
88
+ display: none;
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
94
+
77
95
  &__md {
78
96
  .plyr {
79
97
  &__controls {
80
98
  .bottom-controller {
81
- .play-button {
82
- padding: .75rem;
83
- bottom: -2px;
99
+ &__previous-chapter-view {
100
+ display: none;
84
101
  }
85
102
 
86
- &__center-buttons {
87
- gap: 1rem;
103
+ &__next-chapter-view {
104
+ display: none;
88
105
  }
89
106
  }
90
107
  }
@@ -95,13 +112,42 @@
95
112
  .plyr {
96
113
  &__controls {
97
114
  .bottom-controller {
98
- .play-button {
99
- padding: .75rem;
100
- bottom: -2px;
115
+ &__center-buttons {
116
+ gap: 20px;
101
117
  }
102
118
 
103
- &__center-buttons {
104
- gap: 1rem;
119
+ &__previous-chapter-view {
120
+ display: none;
121
+ }
122
+
123
+ &__next-chapter-view {
124
+ display: none;
125
+ }
126
+
127
+ .skip-backward-seconds,
128
+ .skip-forward-seconds {
129
+ display: flex;
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ &__xs {
137
+ .plyr {
138
+ &__controls {
139
+ .bottom-controller {
140
+ .plyr__controls_speed-button {
141
+ width: 32px;
142
+ height: 32px;
143
+ font-size: 10px;
144
+ transition: none;
145
+ }
146
+
147
+ &__left-buttons,
148
+ &__center-buttons,
149
+ &__right-buttons {
150
+ gap: 20px;
105
151
  }
106
152
 
107
153
  &__previous-chapter-view {
@@ -121,21 +167,27 @@
121
167
  }
122
168
  }
123
169
 
124
- &__xs {
170
+ &__xxs {
125
171
  .plyr {
172
+ &__progress {
173
+ &--wrapper {
174
+ padding: 0 10px;
175
+ bottom: 50px;
176
+ }
177
+ }
178
+
126
179
  &__controls {
127
180
  .bottom-controller {
128
- padding: 1.5rem;
181
+ padding: 15px 10px;
129
182
 
130
183
  .play-button {
131
- padding: .75rem;
132
- bottom: -2px;
184
+ padding: 12px;
133
185
  }
134
186
 
135
187
  .plyr__controls_speed-button {
136
188
  width: 32px;
137
189
  height: 32px;
138
- font-size: .6rem;
190
+ font-size: 10px;
139
191
  transition: none;
140
192
  }
141
193
 
@@ -146,7 +198,11 @@
146
198
  &__left-buttons,
147
199
  &__center-buttons,
148
200
  &__right-buttons {
149
- gap: .5rem;
201
+ gap: 16px;
202
+ }
203
+
204
+ &__center-buttons {
205
+ gap: 20px;
150
206
  }
151
207
 
152
208
  &__previous-chapter-view {
@@ -175,10 +231,6 @@
175
231
  &__right-buttons {
176
232
  direction: unset;
177
233
  }
178
-
179
- &__play-button_body {
180
- bottom: -3px;
181
- }
182
234
  }
183
235
  }
184
236
  }
@@ -186,25 +238,36 @@
186
238
 
187
239
  .lt-player-portrate--mobile,
188
240
  .lt-player-portrate--desktop {
241
+ .plyr {
242
+ &__progress {
243
+ &--wrapper {
244
+ width: 100%;
245
+ padding: 0 25px;
246
+ position: absolute;
247
+ bottom: 90px;
248
+ }
249
+ }
250
+ }
251
+
189
252
  &.lt-player--portrait {
190
253
  &__xs {
191
254
  .plyr {
192
255
  &__controls {
193
256
  .bottom-controller {
194
- padding: 1rem;
257
+ padding: 16px;
195
258
 
196
259
  button {
197
260
  @include buttons-xs;
198
261
  }
199
262
 
200
263
  .play-button {
201
- padding: .75rem;
264
+ padding: 12px;
202
265
  }
203
266
 
204
267
  .plyr__controls_speed-button {
205
268
  width: 32px;
206
269
  height: 32px;
207
- font-size: .6rem;
270
+ font-size: 10px;
208
271
  transition: none;
209
272
  }
210
273
  }
@@ -216,27 +279,27 @@
216
279
 
217
280
  .plyr {
218
281
  &__progress {
219
- top: -75px;
220
282
  z-index: 9;
221
283
 
222
284
  &--wrapper {
223
- position: relative;
224
285
  width: 100%;
225
- padding: 0 2rem;
286
+ padding: 0 40px;
287
+ position: absolute;
288
+ bottom: 90px;
226
289
  }
227
290
  }
228
291
 
229
292
  &__controls {
230
293
  .bottom-controller {
231
294
  position: absolute;
232
- bottom: 1rem;
295
+ bottom: 0;
233
296
  width: 100%;
234
297
  height: 36%;
235
298
  max-width: 500px;
236
299
  display: flex;
237
300
  justify-content: space-between;
238
- align-items: end;
239
- padding: 1.5rem;
301
+ align-items: flex-end;
302
+ padding: 24px;
240
303
 
241
304
  button {
242
305
  @extend %lt-player-btn;
@@ -282,16 +345,15 @@
282
345
  .play-button {
283
346
  @extend %lt-player-btn;
284
347
  @include yellow-btn;
285
- padding: 1rem;
348
+ padding: 16px;
286
349
  }
287
350
  }
288
351
 
289
352
  &__current {
290
353
  display: flex;
291
354
  justify-content: space-between;
292
- margin-bottom: 2rem;
293
- margin-left: -0.5rem;
294
- margin-right: -0.5rem;
355
+ margin-left: -8px;
356
+ margin-right: -8px;
295
357
 
296
358
  .plyr {
297
359
  &__time {
@@ -306,7 +368,7 @@
306
368
  display: flex;
307
369
  height: 200px;
308
370
  justify-content: center;
309
- align-items: end;
371
+ align-items: flex-end;
310
372
  background: $default-lt-player-white;
311
373
  z-index: 30;
312
374
 
@@ -315,61 +377,61 @@
315
377
  &__area {
316
378
  position: absolute;
317
379
  rotate: 270deg!important;
318
- bottom: 5rem;
380
+ bottom: 80px;
319
381
  max-width: 110px;
320
382
  min-width: 80px;
321
383
  width: 20%;
322
384
 
323
- .volume_control__background__area__range {
324
- color: $default-lt-button-color !important;
325
- min-width: 8rem;
326
- -webkit-appearance: none;
327
- appearance: none;
328
- background: transparent;
329
- cursor: pointer;
330
- }
331
-
332
- .volume_control__background__area__range::-webkit-slider-runnable-track {
333
- @extend %input-range--webkit-slider-runnable-track;
334
- }
335
-
336
- .volume_control__background__area__range::-moz-range-track {
337
- @extend %input-range--moz-range-track;
338
- }
339
-
340
- .volume_control__background__area__range::-ms-track {
341
- @extend %input-range--ms-track;
342
- }
343
-
344
- .volume_control__background__area__range::-webkit-slider-thumb {
345
- @extend %input-range--webkit-slider-thumb;
346
- border-color: $default-lt-player-black;
347
- background: $default-lt-player-white;
348
- }
349
-
350
- .volume_control__background__area__range::-moz-range-thumb {
351
- @extend %input-range--moz-range-thumb;
352
- border-color: $default-lt-player-black;
353
- background: $default-lt-player-white;
354
- }
355
-
356
- .volume_control__background__area__range::-ms-thumb {
357
- @extend %input-range--ms-thumb;
358
- margin-top: 3px;
359
- border: 7px solid black;
360
- height: 20px;
361
- width: 20px;
362
- background: $default-lt-player-white;
363
- cursor: pointer;
364
- }
365
-
366
- .volume_control__background__area__range::-moz-range-progress {
367
- @extend %input-range--moz-range-progress;
368
- }
385
+ .volume_control__background__area__range {
386
+ color: $default-lt-button-color !important;
387
+ min-width: 128px;
388
+ -webkit-appearance: none;
389
+ appearance: none;
390
+ background: transparent;
391
+ cursor: pointer;
392
+ }
393
+
394
+ .volume_control__background__area__range::-webkit-slider-runnable-track {
395
+ @extend %input-range--webkit-slider-runnable-track;
396
+ }
397
+
398
+ .volume_control__background__area__range::-moz-range-track {
399
+ @extend %input-range--moz-range-track;
400
+ }
401
+
402
+ .volume_control__background__area__range::-ms-track {
403
+ @extend %input-range--ms-track;
404
+ }
405
+
406
+ .volume_control__background__area__range::-webkit-slider-thumb {
407
+ @extend %input-range--webkit-slider-thumb;
408
+ border-color: $default-lt-player-black;
409
+ background: $default-lt-player-white;
410
+ }
411
+
412
+ .volume_control__background__area__range::-moz-range-thumb {
413
+ @extend %input-range--moz-range-thumb;
414
+ border-color: $default-lt-player-black;
415
+ background: $default-lt-player-white;
416
+ }
417
+
418
+ .volume_control__background__area__range::-ms-thumb {
419
+ @extend %input-range--ms-thumb;
420
+ margin-top: 3px;
421
+ border: 7px solid black;
422
+ height: 20px;
423
+ width: 20px;
424
+ background: $default-lt-player-white;
425
+ cursor: pointer;
426
+ }
427
+
428
+ .volume_control__background__area__range::-moz-range-progress {
429
+ @extend %input-range--moz-range-progress;
430
+ }
369
431
  }
370
432
 
371
433
  .volume_control__volume-button-close {
372
- bottom: 5rem;
434
+ bottom: 80px;
373
435
  background: $default-lt-player-white;
374
436
  display: flex;
375
437
  justify-content: center;
@@ -391,7 +453,7 @@
391
453
  &__background {
392
454
  position: absolute;
393
455
  width: 100%;
394
- height: 10rem;
456
+ height: 160px;
395
457
  bottom: 0;
396
458
  right: 0;
397
459
  background: linear-gradient(transparent,rgba(0,0,0,.75))!important;