myetv-player 1.0.0

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 (50) hide show
  1. package/.github/workflows/npm-publish.yml +30 -0
  2. package/LICENSE +21 -0
  3. package/README.md +866 -0
  4. package/build.js +189 -0
  5. package/css/README.md +1 -0
  6. package/css/myetv-player.css +13702 -0
  7. package/css/myetv-player.min.css +1 -0
  8. package/dist/README.md +1 -0
  9. package/dist/myetv-player.js +6408 -0
  10. package/dist/myetv-player.min.js +6183 -0
  11. package/package.json +27 -0
  12. package/plugins/README.md +1 -0
  13. package/plugins/google-analytics/README.md +1 -0
  14. package/plugins/google-analytics/myetv-player-g-analytics-plugin.js +548 -0
  15. package/plugins/youtube/README.md +1 -0
  16. package/plugins/youtube/myetv-player-youtube-plugin.js +418 -0
  17. package/scss/README.md +1 -0
  18. package/scss/_audio-player.scss +21 -0
  19. package/scss/_base.scss +131 -0
  20. package/scss/_controls.scss +30 -0
  21. package/scss/_loading.scss +111 -0
  22. package/scss/_menus.scss +4070 -0
  23. package/scss/_mixins.scss +112 -0
  24. package/scss/_poster.scss +8 -0
  25. package/scss/_progress-bar.scss +2203 -0
  26. package/scss/_resolution.scss +68 -0
  27. package/scss/_responsive.scss +1532 -0
  28. package/scss/_themes.scss +30 -0
  29. package/scss/_title-overlay.scss +2262 -0
  30. package/scss/_tooltips.scss +7 -0
  31. package/scss/_variables.scss +49 -0
  32. package/scss/_video.scss +2401 -0
  33. package/scss/_volume.scss +1981 -0
  34. package/scss/_watermark.scss +8 -0
  35. package/scss/myetv-player.scss +51 -0
  36. package/scss/package.json +16 -0
  37. package/src/README.md +1 -0
  38. package/src/chapters.js +521 -0
  39. package/src/controls.js +1005 -0
  40. package/src/core.js +1650 -0
  41. package/src/events.js +330 -0
  42. package/src/fullscreen.js +82 -0
  43. package/src/i18n.js +348 -0
  44. package/src/playlist.js +177 -0
  45. package/src/plugins.js +384 -0
  46. package/src/quality.js +921 -0
  47. package/src/streaming.js +346 -0
  48. package/src/subtitles.js +426 -0
  49. package/src/utils.js +51 -0
  50. package/src/watermark.js +195 -0
@@ -0,0 +1,112 @@
1
+ // ===================================
2
+ // MIXINS
3
+ // ===================================
4
+
5
+ @use 'variables' as *;
6
+
7
+ // Mixin for button hover effects
8
+ @mixin button-hover {
9
+ transition: all $player-transition-fast;
10
+
11
+ &:hover {
12
+ background: $player-button-hover;
13
+ transform: scale(1.05);
14
+ }
15
+
16
+ &:active {
17
+ transform: scale(0.95);
18
+ background: $player-button-active;
19
+ }
20
+ }
21
+
22
+ // Mixin for overlay positioning
23
+ @mixin overlay-base {
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ height: 100%;
29
+ }
30
+
31
+ // Mixin for menu styling
32
+ @mixin menu-base {
33
+ position: absolute;
34
+ bottom: 100%;
35
+ right: 0;
36
+ background: $player-bg-menu;
37
+ backdrop-filter: blur(10px);
38
+ border-radius: 8px;
39
+ padding: 8px 0;
40
+ margin-bottom: 10px;
41
+ opacity: 0;
42
+ visibility: hidden;
43
+ transition: all $player-transition-fast;
44
+ min-width: 140px;
45
+ border: 1px solid rgba(255, 255, 255, 0.1);
46
+ z-index: 100;
47
+ box-shadow: $player-shadow-menu;
48
+ }
49
+
50
+ // Mixin for tooltip styling
51
+ @mixin tooltip-base {
52
+ position: absolute;
53
+ bottom: 100%;
54
+ background: rgba(0, 0, 0, 0.9);
55
+ color: white;
56
+ padding: 6px 10px;
57
+ border-radius: 6px;
58
+ font-size: 12px;
59
+ font-weight: 500;
60
+ white-space: nowrap;
61
+ opacity: 0;
62
+ visibility: hidden;
63
+ transition: all 0.15s ease;
64
+ z-index: 1000;
65
+ box-shadow: $player-shadow-tooltip;
66
+ backdrop-filter: blur(8px);
67
+ border: 1px solid rgba(255, 255, 255, 0.1);
68
+
69
+ &::after {
70
+ content: '';
71
+ position: absolute;
72
+ top: 100%;
73
+ left: 50%;
74
+ transform: translateX(-50%);
75
+ width: 0;
76
+ height: 0;
77
+ border-left: 5px solid transparent;
78
+ border-right: 5px solid transparent;
79
+ border-top: 5px solid rgba(0, 0, 0, 0.9);
80
+ }
81
+ }
82
+
83
+ // Mixin for flex centering
84
+ @mixin flex-center {
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ }
89
+
90
+ // Mixin for smooth transition
91
+ @mixin smooth-transition($properties...) {
92
+ transition: $properties $player-transition-normal;
93
+ }
94
+
95
+ // Responsive breakpoints
96
+ @mixin tablet {
97
+ @media (max-width: 768px) {
98
+ @content;
99
+ }
100
+ }
101
+
102
+ @mixin mobile {
103
+ @media (max-width: 480px) {
104
+ @content;
105
+ }
106
+ }
107
+
108
+ @mixin small-mobile {
109
+ @media (max-width: 350px) {
110
+ @content;
111
+ }
112
+ }
@@ -0,0 +1,8 @@
1
+ // ===================================
2
+ // POSTER OVERLAY
3
+ // ===================================
4
+
5
+ @use 'mixins' as *;
6
+ @use 'variables' as *;
7
+
8
+