@eluvio/elv-player-js 1.0.140 → 2.0.1

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 (102) hide show
  1. package/README.md +35 -6
  2. package/dist/.vite/manifest.json +67 -0
  3. package/dist/Analytics-HWXR7tWt.mjs +2028 -0
  4. package/dist/Analytics-IUVysdzU.js +29 -0
  5. package/dist/dash.all.min-1QS9Xbir.js +25 -0
  6. package/dist/dash.all.min-9V1xYBRv.mjs +19428 -0
  7. package/dist/elv-player-js.cjs.js +1 -0
  8. package/dist/elv-player-js.css +1 -0
  9. package/dist/elv-player-js.es.js +5 -0
  10. package/dist/hls-1eCRapWm.mjs +15461 -0
  11. package/dist/hls-6O5SV1FQ.js +26 -0
  12. package/dist/index-6cMQneJf.mjs +2273 -0
  13. package/dist/index-C8mwW09z.js +23 -0
  14. package/dist/index-J4QpmTkA.js +367 -0
  15. package/dist/index-hvQzQ6UX.mjs +67432 -0
  16. package/lib/index.js +7 -0
  17. package/{src → lib/player}/Analytics.js +9 -8
  18. package/lib/player/Controls.js +913 -0
  19. package/{src → lib/player}/FairPlay.js +2 -0
  20. package/lib/player/Player.js +881 -0
  21. package/lib/player/PlayerParameters.js +173 -0
  22. package/lib/static/icons/Icons.js +29 -0
  23. package/lib/static/icons/svgs/backward-circle.svg +5 -0
  24. package/lib/static/icons/svgs/backward.svg +4 -0
  25. package/lib/static/icons/svgs/captions-off.svg +7 -0
  26. package/lib/static/icons/svgs/captions.svg +6 -0
  27. package/lib/static/icons/svgs/check.svg +1 -0
  28. package/lib/static/icons/svgs/chevron-left.svg +1 -0
  29. package/lib/static/icons/svgs/chevron-right.svg +1 -0
  30. package/lib/static/icons/svgs/forward-circle.svg +5 -0
  31. package/lib/static/icons/svgs/forward.svg +4 -0
  32. package/{src/static/icons/media/Full Screen icon.svg → lib/static/icons/svgs/full-screen.svg} +1 -1
  33. package/lib/static/icons/svgs/large-play-circle.svg +4 -0
  34. package/lib/static/icons/svgs/list.svg +1 -0
  35. package/{src/static/icons → lib/static/icons/svgs}/minimize.svg +1 -1
  36. package/{src/static/icons/media/Pause icon.svg → lib/static/icons/svgs/pause-circle.svg} +3 -3
  37. package/lib/static/icons/svgs/pause.svg +1 -0
  38. package/{src/static/icons/media/Play icon.svg → lib/static/icons/svgs/play-circle.svg} +1 -1
  39. package/lib/static/icons/svgs/play.svg +1 -0
  40. package/lib/static/icons/svgs/rotate-cw.svg +1 -0
  41. package/lib/static/icons/svgs/settings.svg +11 -0
  42. package/{src/static/icons/media/skip back icon.svg → lib/static/icons/svgs/skip-backward.svg} +2 -3
  43. package/{src/static/icons/media/Skip forward icon.svg → lib/static/icons/svgs/skip-forward.svg} +2 -3
  44. package/{src/static/icons/media/Volume icon.svg → lib/static/icons/svgs/volume-high.svg} +3 -3
  45. package/lib/static/icons/svgs/volume-low.svg +10 -0
  46. package/{src/static/icons/media/low volume icon.svg → lib/static/icons/svgs/volume-medium.svg} +2 -2
  47. package/{src/static/icons/media/no volume icon.svg → lib/static/icons/svgs/volume-off.svg} +3 -3
  48. package/lib/static/stylesheets/common.module.scss +486 -0
  49. package/lib/static/stylesheets/controls-tv.module.scss +488 -0
  50. package/lib/static/stylesheets/controls-web.module.scss +422 -0
  51. package/lib/static/stylesheets/player-profile-form.module.scss +141 -0
  52. package/lib/static/stylesheets/player.module.scss +92 -0
  53. package/lib/static/stylesheets/reset.module.scss +79 -0
  54. package/lib/static/stylesheets/ticket-form.module.scss +123 -0
  55. package/lib/ui/BuildIcons.cjs +44 -0
  56. package/lib/ui/Common.js +210 -0
  57. package/lib/ui/Components.jsx +342 -0
  58. package/lib/ui/Observers.js +449 -0
  59. package/lib/ui/PlayerProfileForm.jsx +106 -0
  60. package/lib/ui/PlayerUI.jsx +317 -0
  61. package/lib/ui/TVControls.jsx +337 -0
  62. package/lib/ui/TicketForm.jsx +147 -0
  63. package/lib/ui/WebControls.jsx +290 -0
  64. package/package.json +35 -47
  65. package/dist/index.js +0 -2
  66. package/dist/index.js.LICENSE.txt +0 -80
  67. package/src/BuildIcons.js +0 -27
  68. package/src/PlayerControls.js +0 -1478
  69. package/src/index.js +0 -1417
  70. package/src/static/icons/Icons.js +0 -15
  71. package/src/static/icons/Settings icon.svg +0 -4
  72. package/src/static/icons/chat icon collapse.svg +0 -1
  73. package/src/static/icons/chat icon.svg +0 -11
  74. package/src/static/icons/chat send.svg +0 -1
  75. package/src/static/icons/full screen.svg +0 -1
  76. package/src/static/icons/media/LargePlayIcon.svg +0 -4
  77. package/src/static/icons/media/Settings icon.svg +0 -4
  78. package/src/static/icons/media/Skip backward icon.svg +0 -4
  79. package/src/static/icons/media/list.svg +0 -1
  80. package/src/static/icons/media/loop icon.svg +0 -12
  81. package/src/static/icons/media/shuffle icon.svg +0 -13
  82. package/src/static/icons/muted.svg +0 -11
  83. package/src/static/icons/pause.svg +0 -1
  84. package/src/static/icons/play circle.svg +0 -1
  85. package/src/static/icons/play.svg +0 -1
  86. package/src/static/icons/settings.svg +0 -1
  87. package/src/static/icons/slider circle.svg +0 -1
  88. package/src/static/icons/unmuted.svg +0 -10
  89. package/src/static/images/ELUV.IO logo embed player.png +0 -0
  90. package/src/static/images/ELUV.IO logo embed player.svg +0 -1
  91. package/src/static/images/ELUV.IO white 20 px V2.png +0 -0
  92. package/src/static/images/ELUVIO white.svg +0 -26
  93. package/src/static/images/Logo.png +0 -0
  94. package/src/static/stylesheets/player.scss +0 -1065
  95. package/webpack.config.js +0 -152
  96. /package/{src/static/icons → lib/static/icons/svgs}/arrow-left.svg +0 -0
  97. /package/{src/static/icons/live icon.svg → lib/static/icons/svgs/live.svg} +0 -0
  98. /package/{src/static/icons → lib/static/icons/svgs}/multiview.svg +0 -0
  99. /package/{src/static/icons/media → lib/static/icons/svgs}/next.svg +0 -0
  100. /package/{src/static/icons/media → lib/static/icons/svgs}/previous.svg +0 -0
  101. /package/{src/static/icons → lib/static/icons/svgs}/x.svg +0 -0
  102. /package/{dist/5897e28fa3e8ac0a2fae.png → lib/static/images/Logo.png} +0 -0
@@ -1,1065 +0,0 @@
1
- // sass-lint:disable function-name-format
2
-
3
- $white: #fff;
4
- $gray: #717171;
5
- $black: #000;
6
-
7
- $background-color: $black;
8
- $controls-color: rgba(0, 0, 0, 0.8);
9
- $modal-background-color: rgba(0, 0, 0, 0.5);
10
- $menu-color: rgba(0, 0, 0, 0.8);
11
- $menu-active-color: rgba(255, 255, 255, 0.1);
12
- $button-color: #fff;
13
- $button-inactive-color: rgba($white, 0.7);
14
- $button-active-color: #3784eb;
15
- $button-color: rgba($white, 1);
16
- $form-button-color: #ddd;
17
- $form-submit-color: #3784eb;
18
- $progress-color: #3784eb;
19
- $slider-color: rgba($gray, 0.5);
20
- $hotspot-color: rgba($gray, 0.3);
21
- $focus-color: rgba(225, 225, 255, 0.7);
22
- $border-color: #252525;
23
- $modal-color: #121212;
24
- $seek-indicator-color: rgba(100, 100, 100, 0.15);
25
- $error-color: #a32;
26
- $controls-padding: 5px;
27
- $button-height: 35px;
28
-
29
- @keyframes fade-out {
30
- 0% {
31
- opacity: 1;
32
- }
33
-
34
- 100% {
35
- opacity: 0;
36
- }
37
- }
38
-
39
- .eluvio-player {
40
- align-items: center;
41
- display: flex;
42
- height: 100%;
43
- justify-content: center;
44
- max-height: 100%;
45
- max-width: 100%;
46
- object-fit: contain;
47
- position: relative;
48
- width: 100%;
49
-
50
- &--error {
51
- background-color: $black;
52
-
53
- .eluvio-player__big-play-button {
54
- display: none;
55
- }
56
- }
57
-
58
- &__error-message {
59
- align-items: center;
60
- display: flex;
61
- height: 100%;
62
- justify-content: center;
63
- letter-spacing: 0.05em;
64
- padding: 20px;
65
- position: absolute;
66
- user-select: none;
67
- width: 100%;
68
- z-index: 1;
69
- }
70
-
71
- &__error-message__text {
72
- color: $error-color;
73
- font-size: 20px;
74
- font-weight: 300;
75
- max-width: 600px;
76
- text-align: center;
77
- }
78
-
79
- // Seek indicator
80
- &--seek-left,
81
- &--seek-right {
82
- &::after {
83
- animation: fade-out 0.5s ease;
84
- content: "";
85
- height: 100%;
86
- opacity: 0;
87
- pointer-events: none;
88
- position: absolute;
89
- transition: background-color 1s ease;
90
- width: 100%;
91
- z-index: 100;
92
- }
93
- }
94
-
95
- &--seek-left {
96
- &::after {
97
- background: linear-gradient(90deg, $seek-indicator-color, transparent 15%);
98
- }
99
- }
100
-
101
- &--seek-right {
102
- &::after {
103
- background: linear-gradient(90deg, transparent 85%, $seek-indicator-color);
104
- }
105
- }
106
-
107
- &.eluvio-player-restarted {
108
- .eluvio-player__big-play-button {
109
- display: none;
110
- }
111
- }
112
-
113
- * {
114
- box-sizing: border-box;
115
- font-family: "Helvetica Neue", Helvetica, sans-serif;
116
- overscroll-behavior-y: contain; // sass-lint:disable-line no-misspelled-properties
117
- }
118
-
119
- // sass-lint:disable force-attribute-nesting no-qualifying-elements
120
- input[type="range"],
121
- button {
122
- background: transparent;
123
- border: 0;
124
- cursor: pointer;
125
- justify-content: center;
126
-
127
- &:hover {
128
- opacity: 1;
129
- }
130
-
131
- &:disabled {
132
- opacity: 0.5;
133
- }
134
-
135
- &:focus {
136
- outline: 0;
137
- }
138
-
139
- &.focus-visible {
140
- box-shadow: 0 0 2px $focus-color;
141
- outline: 0;
142
- }
143
- }
144
-
145
- input[type="range"] {
146
- -webkit-tap-highlight-color: transparent;
147
- appearance: none;
148
- background: transparent;
149
- border-radius: 3px;
150
- height: 3px;
151
- margin: 0;
152
- padding: 15px 0;
153
- z-index: 100;
154
-
155
- &::-webkit-slider-thumb {
156
- appearance: none;
157
- height: 15px;
158
- opacity: 0;
159
- width: 15px;
160
- }
161
-
162
- &::-moz-range-thumb {
163
- appearance: none;
164
- height: 15px;
165
- opacity: 0;
166
- width: 15px;
167
- }
168
-
169
- &::-webkit-slider-runnable-track {
170
- -webkit-tap-highlight-color: transparent;
171
- background: transparent;
172
- height: 3px;
173
- }
174
-
175
- &::-moz-range-track {
176
- -webkit-tap-highlight-color: transparent;
177
- background: transparent;
178
- height: 3px;
179
- }
180
- }
181
-
182
- // sass-lint:enable force-attribute-nesting no-qualifying-elements
183
-
184
- progress {
185
- appearance: none;
186
- background-color: transparent;
187
- border: 0;
188
- border-radius: 3px;
189
- height: 3px;
190
- }
191
-
192
- ::-webkit-progress-value {
193
- background-color: $progress-color;
194
- }
195
-
196
- ::-webkit-progress-bar {
197
- background-color: transparent;
198
- }
199
-
200
- ::-moz-progress-bar {
201
- background-color: $progress-color;
202
- }
203
-
204
- &__poster-image {
205
- cursor: pointer;
206
- height: 100%;
207
- left: 0;
208
- object-fit: contain;
209
- object-position: center;
210
- position: absolute;
211
- top: 0;
212
- width: 100%;
213
- }
214
-
215
- &__video {
216
- background: $background-color;
217
- height: 100%;
218
- margin: auto;
219
- object-fit: contain;
220
- object-position: center;
221
- width: 100%;
222
- z-index: 1;
223
- }
224
-
225
- &__watermark {
226
- height: 15px;
227
- pointer-events: none;
228
- position: absolute;
229
- right: 15px;
230
- top: 15px;
231
- width: auto;
232
- z-index: 10;
233
- }
234
-
235
- &__account-watermark {
236
- color: $white;
237
- font-size: 8px;
238
- opacity: 0.5;
239
- pointer-events: none;
240
- position: absolute;
241
- right: 15px;
242
- top: 15px;
243
- z-index: 10;
244
- }
245
-
246
- &__hidden-audio-controls {
247
- bottom: 10px;
248
- height: max-content;
249
- left: 10px;
250
- opacity: 1;
251
- position: absolute;
252
- transition: opacity 0.25s linear;
253
- width: max-content;
254
- z-index: 10;
255
-
256
- button {
257
- background: $controls-color;
258
- border-radius: 100%;
259
- padding: 6px;
260
- }
261
- }
262
-
263
- &__title-container {
264
- background: linear-gradient(rgba(0, 0, 0, 0.5) 75%, transparent);
265
- color: #fff;
266
- display: grid;
267
- gap: 5px;
268
- padding: 10px 10px 20px;
269
- position: absolute;
270
- top: 0;
271
- user-select: none;
272
- width: 100%;
273
- z-index: 2;
274
- }
275
-
276
- &__title {
277
- font-size: 20px;
278
- padding-right: 100px;
279
- }
280
-
281
- &__description {
282
- font-size: 12px;
283
- padding-right: 100px;
284
- }
285
-
286
- &__controls {
287
- align-items: center;
288
- background: $controls-color;
289
- bottom: 0;
290
- display: flex;
291
- height: max-content;
292
- padding: $controls-padding;
293
- position: absolute;
294
- transition: opacity 0.25s linear;
295
- width: 100%;
296
- z-index: 10;
297
-
298
- &__button {
299
- -webkit-tap-highlight-color: transparent;
300
- color: $button-color;
301
- height: $button-height;
302
- max-height: $button-height;
303
- max-width: $button-height;
304
- min-height: $button-height;
305
- min-width: $button-height;
306
- overflow: visible;
307
- padding: 6px;
308
- transition: opacity 0.25s linear, color 0.1s ease;
309
- width: $button-height;
310
-
311
- &:not(:last-child) {
312
- margin-right: 2px;
313
- }
314
-
315
- &:disabled {
316
- opacity: 0.5;
317
- }
318
-
319
- &-volume {
320
- // Move volume button closer to volume slider
321
- padding-right: 0;
322
- }
323
-
324
- &--active {
325
- color: $button-active-color;
326
- }
327
-
328
- svg {
329
- height: 100%;
330
- max-height: 100%;
331
- max-width: 100%;
332
- overflow: visible;
333
- width: 100%;
334
- }
335
- }
336
-
337
- &__button-multiview-spinning {
338
- svg {
339
- animation: spin 1s ease-in-out infinite;
340
- }
341
- }
342
-
343
- &__volume-container {
344
- flex: 1 1 auto;
345
- max-width: 75px;
346
- min-width: 0;
347
- }
348
-
349
- &__volume {
350
- // sass-lint:disable no-important
351
- background-color: $slider-color !important;
352
- // sass-lint:enable no-important
353
-
354
- &::-webkit-progress-value {
355
- background-color: $button-color;
356
- }
357
-
358
- &::-moz-progress-bar {
359
- background-color: $button-color;
360
- }
361
- }
362
-
363
- &__slider-container {
364
- align-items: center;
365
- display: flex;
366
- flex: 1 1 auto;
367
- height: 100%;
368
- justify-content: center;
369
- min-width: 0;
370
- position: relative;
371
- }
372
-
373
- &__slider-container__input,
374
- &__slider-container__progress {
375
- flex: 1 1 auto;
376
- left: 0;
377
- margin: 0 5px;
378
- min-width: 0;
379
- position: absolute;
380
- width: calc(100% - 10px);
381
- }
382
-
383
- &__slider-container__input {
384
- width: 100%;
385
- z-index: 0;
386
- }
387
-
388
- &__slider-container__progress {
389
- pointer-events: none;
390
- z-index: 2;
391
- }
392
-
393
- &__progress-buffer {
394
- // sass-lint:disable no-important
395
- background-color: $slider-color !important;
396
- // sass-lint:enable no-important
397
- z-index: 1;
398
-
399
- &::-webkit-progress-value {
400
- background-color: $slider-color;
401
- }
402
-
403
- &::-moz-progress-bar {
404
- background-color: $slider-color;
405
- }
406
- }
407
-
408
- &__time {
409
- color: $button-color;
410
- font-size: 11px;
411
- text-align: center;
412
- width: 55px;
413
- }
414
-
415
- &__right-buttons {
416
- align-items: center;
417
- display: flex;
418
- flex-wrap: nowrap;
419
- height: 100%;
420
- }
421
-
422
- &.eluvio-player__controls-no-progress {
423
- .eluvio-player__controls__time,
424
- .eluvio-player__controls__progress-slider {
425
- visibility: hidden;
426
- }
427
- }
428
-
429
- &__tooltip {
430
- background: $controls-color;
431
- border-radius: 3px;
432
- bottom: 45px;
433
- color: $button-color;
434
- font-size: 14px;
435
- font-weight: 300;
436
- max-height: calc(100% - 54px);
437
- max-width: 225px;
438
- min-height: 20px;
439
- opacity: 1;
440
- padding: 10px 5px;
441
- pointer-events: none;
442
- position: absolute;
443
- right: 10px;
444
- text-align: center;
445
- transition: opacity 0.1s linear;
446
- user-select: none;
447
- z-index: 100;
448
-
449
- * {
450
- line-height: 1.2em;
451
- }
452
-
453
- &:empty {
454
- display: none;
455
- opacity: 0;
456
- }
457
-
458
- svg {
459
- height: 20px;
460
- margin-bottom: 5px;
461
- width: auto;
462
- }
463
- }
464
-
465
- &__settings-menu {
466
- background: $menu-color;
467
- border-radius: 3px 0 0;
468
- bottom: CALC(#{$button-height} + #{$controls-padding} + #{$controls-padding});
469
- color: $button-color;
470
- max-height: MIN(90%, 100% - CALC(25px + #{$button-height} + #{$controls-padding} + #{$controls-padding}));
471
- min-height: 20px;
472
- overflow-y: auto;
473
- position: absolute;
474
- right: 0;
475
- width: 250px;
476
- z-index: 100;
477
-
478
- &-hidden {
479
- display: none;
480
- }
481
-
482
- button {
483
- border: 1px solid transparent;
484
- }
485
-
486
- &__close {
487
- align-items: center;
488
- display: none;
489
- height: 20px;
490
- justify-content: center;
491
- padding: 0;
492
- position: absolute;
493
- right: 20px;
494
- top: 20px;
495
- width: 20px;
496
-
497
- * {
498
- color: $button-color;
499
- }
500
- }
501
-
502
- &__title {
503
- font-size: 16px;
504
- margin-bottom: 5px;
505
- padding: 9px 20px;
506
- user-select: none;
507
- }
508
-
509
- &__option {
510
- border: 1px solid transparent;
511
- color: $button-inactive-color;
512
- cursor: pointer;
513
- display: block;
514
- font-size: 14px;
515
- height: max-content;
516
- line-height: 1.4;
517
- max-width: 100%;
518
- overflow-x: hidden;
519
- padding: 9px 20px;
520
- text-align: left;
521
- text-overflow: ellipsis;
522
- transition: background-color 0.05s linear;
523
- width: 100%;
524
-
525
- &-back {
526
- align-items: center;
527
- display: flex;
528
- position: relative;
529
- width: 100%;
530
- }
531
-
532
- &-back__icon {
533
- align-items: center;
534
- display: flex;
535
- height: 100%;
536
- left: 20px;
537
- margin-right: 5px;
538
- position: absolute;
539
- width: 15px;
540
-
541
- svg {
542
- height: 100%;
543
- width: 100%;
544
- }
545
- }
546
-
547
- &-back__text {
548
- padding-inline: 25px;
549
- width: 100%;
550
- }
551
-
552
- &-selected {
553
- color: $white;
554
- font-weight: 500;
555
- }
556
-
557
- &:hover {
558
- background: $menu-active-color;
559
- color: $white;
560
- }
561
-
562
- &.focus-visible {
563
- border: 1px solid $focus-color;
564
- }
565
- }
566
- }
567
- }
568
-
569
- &__big-play-button {
570
- max-height: 100px;
571
- max-width: 100px;
572
- min-height: 100px;
573
- min-width: 100px;
574
- position: absolute;
575
- z-index: 10;
576
-
577
- svg {
578
- height: 100%;
579
- opacity: 0.7;
580
- overflow: visible;
581
- padding: 2px;
582
- transition: opacity 0.1s linear;
583
- width: 100%;
584
- z-index: 11;
585
- }
586
-
587
- &:hover {
588
- svg {
589
- opacity: 1;
590
- }
591
- }
592
- }
593
-
594
- &:fullscreen {
595
- margin: 0;
596
- padding: 0;
597
- }
598
-
599
- &__hls-options-form-container {
600
- align-items: center;
601
- background-color: $modal-background-color;
602
- bottom: 0;
603
- display: flex;
604
- justify-content: center;
605
- left: 0;
606
- position: absolute;
607
- right: 0;
608
- top: 0;
609
- z-index: 100;
610
- }
611
-
612
- &__hls-options-form {
613
- background-color: $menu-color;
614
- border-radius: 5px;
615
- color: $white;
616
- display: flex;
617
- flex-direction: column;
618
- height: 400px;
619
- max-height: 100%;
620
- max-width: 100%;
621
- padding: 30px 30px 20px;
622
- width: 500px;
623
-
624
- &__title {
625
- font-size: 16px;
626
- margin-top: 0;
627
- }
628
-
629
- &__input {
630
- background-color: $menu-color;
631
- border: 1px solid $border-color;
632
- color: $white;
633
- flex: 1 1 100%;
634
- font-size: 14px;
635
- padding: 0.5rem;
636
- width: 100%;
637
-
638
- &:focus {
639
- outline: none;
640
- }
641
-
642
- &.focus-visible {
643
- outline: 1px solid $focus-color;
644
- }
645
-
646
- &--invalid {
647
- border: 1px solid $error-color;
648
- }
649
- }
650
-
651
- &__api-info {
652
- align-items: center;
653
- display: flex;
654
- font-size: 10px;
655
- justify-content: space-between;
656
- padding: 3px;
657
- }
658
-
659
- &__version {
660
- opacity: 0.5;
661
- }
662
-
663
- &__api-link {
664
- color: $white;
665
- }
666
-
667
- &__actions {
668
- align-items: center;
669
- display: flex;
670
- justify-content: flex-end;
671
- margin-top: 10px;
672
- }
673
-
674
- button {
675
- &.eluvio-player__hls-options-form__action {
676
- align-items: center;
677
- background-color: $form-button-color;
678
- border-radius: 3px;
679
- color: $black;
680
- cursor: pointer;
681
- display: flex;
682
- height: 30px;
683
- justify-content: center;
684
- width: 100px;
685
-
686
- &.focus-visible {
687
- border: 1px solid $focus-color;
688
- box-shadow: 2px 2px 5px $focus-color;
689
- }
690
-
691
- &:disabled {
692
- opacity: 0.5;
693
- }
694
-
695
- &:not(:last-child) {
696
- margin-right: 10px;
697
- }
698
- }
699
-
700
- &.eluvio-player__hls-options-form__submit {
701
- background-color: $form-submit-color;
702
- color: $white;
703
- }
704
- }
705
- }
706
-
707
- &__ticket-modal {
708
- align-items: center;
709
- background: $background-color;
710
- display: flex;
711
- height: 100%;
712
- justify-content: center;
713
- position: absolute;
714
- width: 100%;
715
-
716
- &__form {
717
- align-items: center;
718
- background: $modal-color;
719
- border: 2px solid $border-color;
720
- border-radius: 3px;
721
- display: flex;
722
- flex-direction: column;
723
- justify-content: center;
724
- padding: 20px 30px;
725
- width: 300px;
726
-
727
- &__text,
728
- &__error-text,
729
- &__input {
730
- margin-bottom: 10px;
731
- }
732
-
733
- &__text {
734
- color: $button-color;
735
- font-size: 16px;
736
- font-weight: 300;
737
- letter-spacing: 0.05em;
738
- }
739
-
740
- &__error-text {
741
- color: $error-color;
742
- font-size: 16px;
743
-
744
- &:empty {
745
- display: none;
746
- }
747
- }
748
-
749
- &__input {
750
- background: $white;
751
- border: 0;
752
- border-radius: 3px;
753
- font-size: 18px;
754
- font-weight: bold;
755
- letter-spacing: 0.16em;
756
- margin: 5px 0 15px;
757
- min-height: 36px;
758
- padding: 0 10px;
759
- text-align: center;
760
- width: 100%;
761
- }
762
-
763
- &__submit {
764
- border-radius: 3px;
765
- color: $button-color;
766
- font-size: 14px;
767
- font-weight: 500;
768
- height: 40px;
769
- letter-spacing: 0.1em;
770
- text-transform: uppercase;
771
- width: 100%;
772
-
773
- &:disabled {
774
- color: $slider-color;
775
- }
776
- }
777
-
778
- button {
779
- &.eluvio-player__ticket-modal__form__submit {
780
- // Higher specificity
781
- background: $border-color;
782
- margin: 0;
783
- }
784
- }
785
- }
786
- }
787
-
788
- &__hotspot-overlay {
789
- bottom: 0;
790
- left: 0;
791
- position: absolute;
792
- right: 0;
793
- top: 0;
794
- z-index: 5;
795
-
796
- &__target {
797
- align-items: center;
798
- cursor: pointer;
799
- display: flex;
800
- justify-content: center;
801
- position: absolute;
802
- transition: background-color 0.3s;
803
-
804
- &__title {
805
- color: $button-color;
806
- display: none;
807
- font-size: 24px;
808
- font-weight: 300;
809
- letter-spacing: 0.08em;
810
- transition: letter-spacing 5s;
811
- }
812
-
813
- &:hover {
814
- background-color: $hotspot-color;
815
-
816
- .eluvio-player__hotspot-overlay__target__title {
817
- display: block;
818
- text-shadow: 1px 1px $gray;
819
- }
820
- }
821
-
822
- &-switching {
823
- animation: hotspot-select 1s ease-out;
824
- }
825
- }
826
-
827
- &-visible {
828
- .eluvio-player__hotspot-overlay__target {
829
- background-color: $hotspot-color;
830
- }
831
-
832
- .eluvio-player__hotspot-overlay__target__title {
833
- display: block;
834
- text-shadow: 1px 1px $gray;
835
- }
836
- }
837
- }
838
-
839
- &.eluvio-player-xl {
840
- .eluvio-player__title {
841
- font-size: 28px;
842
- }
843
-
844
- .eluvio-player__description {
845
- font-size: 16px;
846
- }
847
-
848
- .eluvio-player__controls {
849
- padding: CALC(#{$controls-padding} * 1.5);
850
-
851
- &__tooltip {
852
- bottom: 65px;
853
- }
854
- }
855
-
856
- .eluvio-player__controls__settings-menu {
857
- bottom: CALC(5px + #{$button-height} + #{$controls-padding} + #{$controls-padding});
858
- }
859
- }
860
-
861
- &.eluvio-player-m,
862
- &.eluvio-player-s {
863
- .eluvio-player__error-message__text {
864
- font-size: 18px;
865
- }
866
-
867
-
868
- .eluvio-player__watermark {
869
- height: 10px;
870
- top: 10px;
871
- }
872
-
873
- .eluvio-player__controls {
874
- padding: CALC(#{$controls-padding} * 0.5);
875
- }
876
-
877
- .eluvio-player__controls__button {
878
- &:not(.eluvio-player__big-play-button) {
879
- height: CALC(#{$button-height} * 0.9);
880
- max-height: CALC(#{$button-height} * 0.9);
881
- max-width: CALC(#{$button-height} * 0.9);
882
- min-height: CALC(#{$button-height} * 0.9);
883
- min-width: CALC(#{$button-height} * 0.9);
884
- }
885
- }
886
-
887
- .eluvio-player__controls__settings-menu {
888
- bottom: CALC(#{$button-height * 0.9} + #{$controls-padding});
889
- max-height: MIN(90%, 100% - CALC(25px + #{$button-height * 0.9} + #{$controls-padding}));
890
- right: 0;
891
- }
892
-
893
- .eluvio-player__controls__volume-container {
894
- display: none;
895
- }
896
-
897
- .eluvio-player__big-play-button {
898
- max-height: 55px;
899
- max-width: 55px;
900
- min-height: 55px;
901
- min-width: 55px;
902
- }
903
-
904
- .eluvio-player__ticket-modal {
905
- &__form {
906
- max-height: 70%;
907
- max-width: 70%;
908
- }
909
- }
910
-
911
- .eluvio-player__hotspot-overlay {
912
- .eluvio-player__hotspot-overlay__target {
913
- .eluvio-player__hotspot-overlay__target__title {
914
- font-size: 16px;
915
- }
916
- }
917
- }
918
- }
919
-
920
- &.eluvio-player-s {
921
- .eluvio-player__error-message__text {
922
- font-size: 14px;
923
- }
924
-
925
- .eluvio-player__controls__time {
926
- display: none;
927
- }
928
-
929
- .eluvio-player__controls__tooltip {
930
- font-size: 10px;
931
- max-width: 180px;
932
-
933
- svg {
934
- height: 15px;
935
- width: 15px;
936
- }
937
- }
938
-
939
- .eluvio-player__controls__settings-menu {
940
- align-items: center;
941
- height: 100%;
942
- max-height: 100%;
943
- padding: 80px 0 100px;
944
- right: 0;
945
- top: 0;
946
- width: 100%;
947
-
948
- &__title,
949
- &__option {
950
- font-size: 20px;
951
- margin-bottom: 5px;
952
- text-align: center;
953
-
954
- &-back {
955
- margin-bottom: 20px;
956
- }
957
- }
958
-
959
- &__close {
960
- display: flex;
961
- z-index: 100;
962
- }
963
- }
964
-
965
- // Small width, but landscape
966
- &.eluvio-player-landscape {
967
- .eluvio-player__controls__settings-menu {
968
- padding: 20px 0 50px;
969
-
970
- &__title,
971
- &__option {
972
- font-size: 14px;
973
- margin-bottom: 5px;
974
- text-align: center;
975
-
976
- &-back {
977
- margin-bottom: 20px;
978
- }
979
- }
980
-
981
- &__close {
982
- display: flex;
983
- }
984
- }
985
- }
986
-
987
- .eluvio-player__hls-options-form {
988
- padding: 10px;
989
-
990
- &__title {
991
- font-size: 12px;
992
- margin-bottom: 5px;
993
- }
994
-
995
- &__input {
996
- font-size: 12px;
997
- }
998
-
999
- &__action {
1000
- font-size: 12px;
1001
- height: 20px;
1002
- width: 60px;
1003
- }
1004
- }
1005
-
1006
- .eluvio-player__hotspot-overlay {
1007
- .eluvio-player__hotspot-overlay__target {
1008
- .eluvio-player__hotspot-overlay__target__title {
1009
- font-size: 14px;
1010
- }
1011
- }
1012
- }
1013
- }
1014
- }
1015
-
1016
- // sass-lint:disable no-important
1017
- .-elv-fade-in,
1018
- .-elv-fade-out {
1019
- transition: opacity 0.25s linear;
1020
- }
1021
-
1022
- .-elv-fade-out {
1023
- opacity: 0 !important;
1024
- pointer-events: none !important;
1025
- }
1026
-
1027
- .-elv-fade-in {
1028
- opacity: 1;
1029
- }
1030
-
1031
- .-elv-no-cursor {
1032
- cursor: none !important;
1033
-
1034
- * {
1035
- cursor: none !important;
1036
- }
1037
- }
1038
-
1039
- // sass-lint:disable no-color-literals
1040
- @keyframes hotspot-select {
1041
- 0% {
1042
- background-color: rgba(255, 255, 255, 0.2);
1043
- opacity: 1;
1044
- }
1045
-
1046
- 50% {
1047
- background-color: rgba(255, 255, 255, 0.7);
1048
- opacity: 0.7;
1049
- }
1050
-
1051
- 100% {
1052
- background-color: rgba(255, 255, 255, 0);
1053
- opacity: 0;
1054
- }
1055
- }
1056
-
1057
- @keyframes spin {
1058
- 0% {
1059
- transform: rotate(0deg);
1060
- }
1061
-
1062
- 100% {
1063
- transform: rotate(360deg);
1064
- }
1065
- }