@latest-thinking/lt-player 1.0.6-b → 1.0.7

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 (31) hide show
  1. package/dist/css/lt-player-main.css +1 -1
  2. package/dist/css/lt-player-main.css.map +1 -1
  3. package/dist/js/lt-player-main.js +1 -1
  4. package/dist/js/lt-player-main.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/assets/sass/abstracts/_mixins.scss +11 -0
  7. package/src/assets/sass/abstracts/_variables.scss +3 -0
  8. package/src/assets/sass/app.scss +13 -1
  9. package/src/assets/sass/components/_modal.scss +1 -1
  10. package/src/assets/sass/sections/_settings.scss +255 -82
  11. package/src/assets/sass/sections/_share.scss +4 -38
  12. package/src/assets/sass/sections/controllers/_botom.scss +296 -303
  13. package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +36 -66
  14. package/src/assets/sass/sections/controllers/_top.scss +94 -113
  15. package/src/components/LTPlayerType.ts +2 -0
  16. package/src/components/addInfo/LTPlayerAddInfoDesktop.ts +99 -0
  17. package/src/components/addInfo/LTPlayerAddInfoManager.ts +6 -6
  18. package/src/components/addInfo/LTPlayerAddInfoMobile.ts +110 -0
  19. package/src/components/controls/LTPlayerControlsEvents.ts +46 -36
  20. package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +0 -1
  21. package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +166 -30
  22. package/src/components/events/LTPlayer.ts +8 -0
  23. package/src/components/events/LTPlayerCommon.ts +21 -27
  24. package/src/components/events/LTPlayerMobile.ts +2 -2
  25. package/src/index.ts +6 -0
  26. package/src/services/ResizeService.ts +7 -7
  27. package/src/views/additionalInfo.handlebars +4 -8
  28. package/src/views/controls.handlebars +41 -37
  29. package/src/views/settings.handlebars +11 -14
  30. package/src/views/share.handlebars +1 -1
  31. package/src/components/addInfo/LTPlayerAdditionalInfoEvents.ts +0 -247
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latest-thinking/lt-player",
3
- "version": "1.0.6-b",
3
+ "version": "1.0.7",
4
4
  "description": "LT player.",
5
5
  "main": "dist/js/lt-player-main.js",
6
6
  "module": "dist/js/lt-player-main.js",
@@ -83,6 +83,17 @@
83
83
  }
84
84
  }
85
85
 
86
+ @mixin buttons-normal {
87
+ padding: 8px 8px;
88
+
89
+ img {
90
+ width: 24px;
91
+ height: 24px;
92
+ min-width: 24px;
93
+ min-height: 24px;
94
+ }
95
+ }
96
+
86
97
  @mixin line-clamp-2 {
87
98
  -webkit-line-clamp: 2;
88
99
  }
@@ -17,8 +17,10 @@
17
17
  $lt-font-family-base: "MuseoSans", sans-serif !important;
18
18
 
19
19
  $lt-player-font-size-xs: 12px;
20
+ $lt-player-font-size-sm: 14px;
20
21
  $lt-player-font-size-base: 16px;
21
22
  $lt-player-font-size-lg: 18px;
23
+ $lt-player-font-size-lg2: 19px;
22
24
  $lt-player-font-size-xl: 20px;
23
25
  $lt-player-font-size-xxl: 21px;
24
26
  $lt-player-font-size-xxl2: 24px;
@@ -26,6 +28,7 @@ $lt-player-font-size-xxxl2: 30px;
26
28
 
27
29
  $lt-player-font-weight-xs: 100;
28
30
  $lt-player-font-weight-sm: 300;
31
+ $lt-player-font-weight-base: 500;
29
32
  $lt-player-font-weight-lg: 600;
30
33
  $lt-player-font-weight-xl: 700;
31
34
 
@@ -20,7 +20,9 @@
20
20
  // 2. Resetting properties
21
21
  //---------------------------------------------
22
22
 
23
-
23
+ body {
24
+ margin: 0;
25
+ }
24
26
 
25
27
  //---------------------------------------------
26
28
  // 3. General
@@ -30,6 +32,16 @@
30
32
  display: flex;
31
33
  }
32
34
 
35
+ .lt-player-orientation {
36
+ &--portrait {
37
+ container: portrait / inline-size;
38
+ }
39
+
40
+ &--landscape {
41
+ container: landscape / inline-size;
42
+ }
43
+ }
44
+
33
45
  .invisible {
34
46
  visibility: hidden;
35
47
  }
@@ -182,7 +182,7 @@
182
182
  left: 0;
183
183
  background: $default-lt-player-white;
184
184
  padding: 0 0 32px 0;
185
- bottom: -66%;
185
+ bottom: 0;
186
186
  transition: .3s;
187
187
  max-height: 90%;
188
188
  overflow: auto;
@@ -1,107 +1,249 @@
1
1
  @import "../abstracts/variables";
2
2
 
3
- .lt-player-landscape--desktop {
4
- .plyr {
5
- &__controls {
6
- .settings-controllers {
7
- transition: none;
3
+ .lt-player-mobile-settings-modal {
4
+ .settings-controllers {
5
+ position: fixed;
6
+ width: 100%;
7
+ z-index: 10;
8
+ left: 0;
9
+ background: $default-lt-player-white;
10
+ padding: 0 0 32px 0;
11
+ bottom: 0;
12
+ transition:.3s;
13
+
14
+ .line-button {
15
+ @extend %line-button;
16
+ }
17
+
18
+ .settings-text {
19
+ font-size: $lt-player-font-size-base;
20
+ font-weight: $lt-player-font-weight-sm;
21
+ color: $default-lt-button-color !important;
22
+ margin: 0;
23
+ }
24
+ }
25
+
26
+ .settings-controllers-enable {
27
+ transition:.3s;
28
+ position: absolute;
29
+ width: 100%;
30
+ z-index: 30;
31
+ left: 0;
32
+ background: $default-lt-player-white;
33
+ border-radius: 0 0 0 30px;
34
+ bottom: 0;
35
+ display: flex;
36
+ flex-direction: column;
37
+ padding: 0 0 24px 0;
38
+
39
+ &__speed-range {
40
+ padding: 24px 24px 0 24px;
41
+ align-items: center;
42
+ color: $default-lt-player-black;
43
+ display: flex;
44
+ position: relative;
45
+
46
+ .mobile {
47
+ display: flex;
48
+ width: 80%!important;
8
49
  }
9
50
 
10
- .settings-controllers-enable {
11
- top: 50%;
12
- left: 50%;
13
- right: 0;
14
- bottom: 0;
15
- max-width: 345px;
16
- height: fit-content;
17
- transform: translate(-50%, -50%);
18
- transition: none;
19
- width: 100%;
20
- border-radius: 0;
51
+ .speed-range-input-body {
52
+ color: $default-lt-player-black;
53
+ width: 65%;
54
+ margin-left: auto;
55
+ position: relative;
21
56
 
22
- &__subtitles {
23
- padding: 16px 24px 24px;
57
+ button {
58
+ color: #27282A;
59
+ background-color: #D8D846;
60
+ width: 16%;
61
+ margin: 0 2px;
24
62
  }
25
63
 
26
- .line-button {
27
- display: none;
64
+ .button_active {
65
+ background-color: #27282A;
66
+ color: grey;
67
+ }
68
+
69
+
70
+ output {
71
+ font-size: $lt-player-font-size-base;
72
+ font-weight: $lt-player-font-weight-lg;
73
+ color: $default-lt-player-blue;
74
+ position: absolute;
75
+ left: 50%;
76
+ top: -20px;
77
+ }
78
+
79
+ .speed-range-input::-webkit-slider-thumb {
80
+ @extend %input-range--webkit-slider-thumb;
81
+ border: 7px solid $default-lt-player-blue;
82
+ height: 20px;
83
+ width: 20px;
84
+ background: $default-lt-player-white;
85
+ margin-top: -9.5px;
86
+ }
87
+
88
+ .speed-range-input::-moz-range-thumb {
89
+ @extend %input-range--moz-range-thumb;
90
+ color: $default-lt-player-white;
91
+ box-shadow: none;
92
+ border: 7px solid $default-lt-player-blue;
93
+ background: $default-lt-player-white;
94
+ }
95
+
96
+ .speed-range-input::-ms-thumb {
97
+ @extend %input-range--ms-thumb;
98
+ margin-top: 3px;
99
+ box-shadow: 1px 1px 1px $default-lt-player-white;
100
+ border: 7px solid $default-lt-player-blue;
101
+ height: 20px;
102
+ width: 20px;
103
+ background: $default-lt-player-white;
104
+ }
105
+
106
+ .speed-range-input {
107
+ color: $default-lt-player-blue;
108
+ height: 32px;
109
+ cursor: pointer;
110
+ width: 100%;
111
+ appearance: none;
112
+ }
113
+
114
+ .speed-range-input::-webkit-slider-runnable-track {
115
+ @extend %input-range--webkit-slider-runnable-track;
116
+ color: $default-lt-player-blue;
117
+ background: $default-lt-player-blue;
118
+ }
119
+
120
+ .speed-range-input::-moz-range-track {
121
+ @extend %input-range--moz-range-track;
122
+ color: $default-lt-player-blue;
123
+ background: $default-lt-player-blue;
124
+
125
+ }
126
+
127
+ .speed-range-input::-ms-track {
128
+ @extend %input-range--ms-track;
129
+ color: $default-lt-player-blue;
130
+ background: $default-lt-player-blue;
131
+ }
132
+
133
+ .speed-range-input::-moz-range-progress {
134
+ @extend %input-range--moz-range-progress;
135
+ height: 4px;
28
136
  }
29
137
  }
30
138
  }
31
- }
32
- }
33
139
 
34
- .lt-player-portrate--mobile {
35
- .plyr {
36
- &__controls {
37
- .settings-controllers-enable {
38
- border-radius: 0;
140
+ &__subtitles {
141
+ display: flex;
142
+ justify-content: space-between;
143
+ padding: 16px 24px 0 24px;
144
+ align-items: center;
145
+
146
+ .subtitles-body__input-switch:checked + .subtitles-body__slider {
147
+ background-color: $default_color_player;
39
148
  }
40
- }
41
- }
42
149
 
43
- &.lt-player--portrait {
44
- &__xs {
45
- .plyr {
46
- &__controls {
47
- .settings-controllers-enable {
48
- &__button-save {
49
- .button-save {
50
- @include buttons-xs;
51
- font-size: $lt-player-font-size-xs;
52
- width: 100%;
53
- }
54
- }
55
-
56
- &__subtitles {
57
- .subtitles-body {
58
- &__switch {
59
- height: 25px;
60
- min-width: 50px;
61
- }
62
-
63
- &__slider {
64
- &:before {
65
- height: 16px;
66
- width: 16px;
67
- }
68
- }
69
- }
70
- }
71
- }
150
+ .subtitles-body__input-switch:checked + .subtitles-body__slider::before {
151
+ -webkit-transform: translateX(26px);
152
+ -ms-transform: translateX(26px);
153
+ transform: translateX(26px);
154
+ }
155
+
156
+ .subtitles-body {
157
+ &__switch {
158
+ z-index: 4;
159
+ position: relative;
160
+ display: inline-block;
161
+ min-width: 60px;
162
+ height: 34px;
163
+ margin-left: 10px;
164
+ }
165
+
166
+ &__input-switch {
167
+ opacity: 0;
168
+ width: 0;
169
+ height: 0;
170
+ accent-color: #D8D846;
171
+ margin: 0;
172
+ font-family: inherit;
173
+ font-size: inherit;
174
+ line-height: inherit;
175
+ }
176
+
177
+ &__slider {
178
+ position: absolute;
179
+ cursor: pointer;
180
+ top: 0;
181
+ left: 0;
182
+ right: 0;
183
+ bottom: 0;
184
+ background-color: #E6E6E6;
185
+ -webkit-transition: 0.4s;
186
+ transition: 0.4s;
187
+ display: inline-block;
188
+ margin-bottom: 0!important;
189
+ margin-top: 0!important;
190
+ }
191
+
192
+ &__slider:focus {
193
+ box-shadow: 0 0 1px #D8D846;
194
+ }
195
+
196
+ &__slider:before {
197
+ width: 26px;
198
+ height: 26px;
199
+ background-color: $default-lt-player-white;
200
+ position: absolute;
201
+ content: "";
202
+ left: 4px;
203
+ bottom: 4px;
204
+ -webkit-transition: 0.4s;
205
+ transition: 0.4s;
72
206
  }
73
207
  }
74
208
  }
75
209
 
76
- &__sm {
77
- .plyr {
78
- &__controls {
79
- .settings-controllers-enable {
80
- &__button-save {
81
- .button-save {
82
- @include buttons-sm;
83
- font-size: $lt-player-font-size-base;
84
- width: 100%;
85
- }
86
- }
87
- }
88
- }
210
+ &__button-save {
211
+ padding: 16px 24px 0 24px;
212
+ color: black;
213
+ display: flex;
214
+ justify-content: left;
215
+
216
+ .button-save {
217
+ @extend %lt-player-btn;
218
+ @include yellow-btn;
219
+ padding: 12px 32px;
89
220
  }
90
221
  }
91
222
 
92
- &__md {
93
- .plyr {
94
- &__controls {
95
- .settings-controllers-enable {
96
- &__button-save {
97
- .button-save {
98
- width: 100%;
99
- }
100
- }
101
- }
102
- }
223
+ &__exit-button {
224
+ padding: 16px;
225
+
226
+ span {
227
+ display: flex;
228
+ justify-content: center;
229
+ align-items: center;
230
+ padding: 0.2em;
231
+ }
232
+
233
+ span:hover {
234
+ color: black;
103
235
  }
104
236
  }
237
+
238
+ &__background {
239
+ position: fixed;
240
+ width: 100%;
241
+ height: 100%;
242
+ top: 0;
243
+ background: #27282A;
244
+ opacity: 0.75;
245
+ z-index: 10;
246
+ }
105
247
  }
106
248
  }
107
249
 
@@ -352,3 +494,34 @@
352
494
  }
353
495
  }
354
496
  }
497
+
498
+ .lt-player-orientation--landscape {
499
+ .plyr {
500
+ &__controls {
501
+ .settings-controllers {
502
+ transition: none;
503
+ }
504
+
505
+ .settings-controllers-enable {
506
+ top: 50%;
507
+ left: 50%;
508
+ right: 0;
509
+ bottom: 0;
510
+ max-width: 345px;
511
+ height: fit-content;
512
+ transform: translate(-50%, -50%);
513
+ transition: none;
514
+ width: 100%;
515
+ border-radius: 0;
516
+
517
+ &__subtitles {
518
+ padding: 16px 24px 24px;
519
+ }
520
+
521
+ .line-button {
522
+ display: none;
523
+ }
524
+ }
525
+ }
526
+ }
527
+ }
@@ -1,28 +1,5 @@
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
-
22
1
  .lt-player-mobile-share-modal {
23
2
  .share-controller {
24
-
25
-
26
3
  .share-inactive {
27
4
  align-items: end;
28
5
  background: rgba(0, 0, 0, .3);
@@ -50,30 +27,19 @@
50
27
  display: flex;
51
28
  justify-content: space-between;
52
29
  align-items: center;
53
- background-color: #F9F9F9;
54
- min-height: 50px;
30
+ background-color: transparent;
55
31
  padding: 0 16px;
56
32
  border-radius: 15px 15px 0 0;
57
-
58
- .line-button {
59
- display: flex;
60
- width: 56px;
61
- height: 6px;
62
- background-color: #E6E6E6;
63
- margin: 0.5rem auto;
64
- cursor: pointer;
65
- }
66
33
  }
67
34
 
68
-
69
35
  .line-button {
70
36
  display: flex;
71
37
  width: 56px;
72
38
  height: 6px;
73
39
  background-color: $default-lt-line-button;
74
- margin: 8px auto;
40
+ margin: 6px auto 32px;
75
41
  cursor: pointer;
76
- visibility: hidden;
42
+ visibility: visible;
77
43
  }
78
44
 
79
45
  .share-controller-frame {
@@ -197,7 +163,7 @@
197
163
  width: 56px;
198
164
  height: 6px;
199
165
  background-color: $default-lt-line-button;
200
- margin: 8px auto;
166
+ margin: 6px auto 32px;
201
167
  cursor: pointer;
202
168
  visibility: hidden;
203
169
  }