@npo/player 1.9.3 → 1.10.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 (92) hide show
  1. package/lib/js/api/getstreamobject.js +1 -2
  2. package/lib/js/api/getstreamobject.js.map +1 -1
  3. package/lib/js/fragments/setfragments.d.ts +3 -2
  4. package/lib/js/fragments/setfragments.js +6 -7
  5. package/lib/js/fragments/setfragments.js.map +1 -1
  6. package/lib/js/playeractions/handlers/error.js.map +1 -1
  7. package/lib/js/playeractions/handlers/processplayerconfig.d.ts +11 -0
  8. package/lib/js/playeractions/handlers/processplayerconfig.js +40 -0
  9. package/lib/js/playeractions/handlers/processplayerconfig.js.map +1 -0
  10. package/lib/js/playeractions/playeractions.d.ts +1 -0
  11. package/lib/js/playeractions/playeractions.js +1 -0
  12. package/lib/js/playeractions/playeractions.js.map +1 -1
  13. package/lib/js/ui/components/controlbar.d.ts +1 -1
  14. package/lib/js/ui/components/controlbar.js +19 -8
  15. package/lib/js/ui/components/controlbar.js.map +1 -1
  16. package/lib/js/ui/components/ctabar.js.map +1 -1
  17. package/lib/js/ui/components/nativemobile/addFragments.d.ts +1 -0
  18. package/lib/js/ui/components/nativemobile/addFragments.js +8 -0
  19. package/lib/js/ui/components/nativemobile/addFragments.js.map +1 -0
  20. package/lib/js/ui/components/nativemobile/buttons.js +1 -1
  21. package/lib/js/ui/components/nativemobile/buttons.js.map +1 -1
  22. package/lib/js/ui/components/nativemobile/controlbar.d.ts +2 -1
  23. package/lib/js/ui/components/nativemobile/controlbar.js +33 -4
  24. package/lib/js/ui/components/nativemobile/controlbar.js.map +1 -1
  25. package/lib/js/ui/components/nativemobile/titlebar.d.ts +2 -0
  26. package/lib/js/ui/components/nativemobile/titlebar.js +8 -0
  27. package/lib/js/ui/components/nativemobile/titlebar.js.map +1 -0
  28. package/lib/js/ui/components/topbar.js +5 -2
  29. package/lib/js/ui/components/topbar.js.map +1 -1
  30. package/lib/js/ui/handlers/listboxhandlers.js +9 -9
  31. package/lib/js/ui/handlers/listboxhandlers.js.map +1 -1
  32. package/lib/js/ui/handlers/nicamhandler.d.ts +1 -1
  33. package/lib/js/ui/handlers/nicamhandler.js +4 -4
  34. package/lib/js/ui/handlers/nicamhandler.js.map +1 -1
  35. package/lib/js/ui/{nativemobileui.js → nativemobileuicontainer.js} +6 -7
  36. package/lib/js/ui/nativemobileuicontainer.js.map +1 -0
  37. package/lib/js/ui/nativemobileuifactory.d.ts +3 -0
  38. package/lib/js/ui/nativemobileuifactory.js +43 -0
  39. package/lib/js/ui/nativemobileuifactory.js.map +1 -0
  40. package/lib/js/ui/uicontainer.js +4 -7
  41. package/lib/js/ui/uicontainer.js.map +1 -1
  42. package/lib/js/utilities/utilities.js +0 -1
  43. package/lib/js/utilities/utilities.js.map +1 -1
  44. package/lib/npoplayer.d.ts +1 -1
  45. package/lib/npoplayer.js +26 -42
  46. package/lib/npoplayer.js.map +1 -1
  47. package/lib/package.json +19 -10
  48. package/lib/src/js/fragments/setfragments.d.ts +3 -2
  49. package/lib/src/js/playeractions/handlers/processplayerconfig.d.ts +11 -0
  50. package/lib/src/js/playeractions/playeractions.d.ts +1 -0
  51. package/lib/src/js/ui/components/controlbar.d.ts +1 -1
  52. package/lib/src/js/ui/components/nativemobile/addFragments.d.ts +1 -0
  53. package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +2 -1
  54. package/lib/src/js/ui/components/nativemobile/titlebar.d.ts +2 -0
  55. package/lib/src/js/ui/handlers/nicamhandler.d.ts +1 -1
  56. package/lib/src/js/ui/nativemobileuifactory.d.ts +3 -0
  57. package/lib/src/npoplayer.d.ts +1 -1
  58. package/lib/src/types/interfaces.d.ts +2 -1
  59. package/lib/types/interfaces.d.ts +2 -1
  60. package/lib/types/interfaces.js.map +1 -1
  61. package/package.json +19 -10
  62. package/src/scss/components/_advert.scss +28 -31
  63. package/src/scss/components/_buffering.scss +35 -4
  64. package/src/scss/components/_controlbars.scss +5 -15
  65. package/src/scss/components/_error.scss +6 -4
  66. package/src/scss/components/_hugeplaybacktogglebutton.scss +71 -0
  67. package/src/scss/components/_icons.scss +53 -154
  68. package/src/scss/components/_metadata.scss +22 -0
  69. package/src/scss/components/_nicam.scss +2 -1
  70. package/src/scss/components/_playnext.scss +1 -1
  71. package/src/scss/components/_replay.scss +35 -0
  72. package/src/scss/components/_seekbar.scss +51 -76
  73. package/src/scss/components/_seekbarthumbnail.scss +56 -0
  74. package/src/scss/components/_settingspanel.scss +47 -54
  75. package/src/scss/components/_textbuttons.scss +1 -1
  76. package/src/scss/components/_volumeslider.scss +78 -13
  77. package/src/scss/npoplayer.css +2 -1237
  78. package/src/scss/npoplayer.scss +7 -3
  79. package/src/scss/variants/_player-base.scss +10 -36
  80. package/src/scss/variants/_player-debug.scss +14 -0
  81. package/src/scss/variants/_player-large.scss +18 -40
  82. package/src/scss/variants/_player-medium.scss +11 -43
  83. package/src/scss/variants/_player-native-mobile.scss +5 -0
  84. package/src/scss/variants/_player-small.scss +36 -197
  85. package/src/scss/vars/_colors.scss +7 -12
  86. package/src/scss/vars/_fonts.scss +2 -2
  87. package/src/scss/vars/_icons.scss +21 -33
  88. package/lib/js/ui/nativemobileui.js.map +0 -1
  89. package/src/scss/components/_container.scss +0 -8
  90. package/src/scss/components/_fonts.scss +0 -19
  91. /package/lib/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
  92. /package/lib/src/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
@@ -1,5 +1,15 @@
1
+ $seekbar-height: 4px;
2
+ $seekbar-border-radius: 2px;
3
+
1
4
  .bmpui-ui-seekbar {
5
+ position: relative;
6
+
2
7
  .bmpui-seekbar {
8
+ height: $seekbar-height;
9
+ overflow: hidden;
10
+ border-radius: $seekbar-border-radius;
11
+ margin-top: 5px;
12
+
3
13
  .bmpui-seekbar-marker {
4
14
  background-color: var(--npo-player-primarycolor);
5
15
  }
@@ -11,21 +21,46 @@
11
21
 
12
22
  .bmpui-seekbar-playbackposition {
13
23
  background: linear-gradient(90deg, var(--npo-player-primarycolor) 0%, var(--npo-player-primarycolor-light) 100%);
14
- backdrop-filter: blur(50px);
15
- border-radius: 5px;
16
24
  }
17
25
 
18
- .bmpui-seekbar-bufferlevel,
19
- .bmpui-seekbar-playbackposition {
20
- border-top-left-radius: 5px;
21
- border-bottom-left-radius: 5px;
26
+ .bmpui-seekbar-seekposition {
27
+ display: none;
22
28
  }
23
29
 
30
+ .bmpui-seekbar-playbackposition,
24
31
  .bmpui-seekbar-label,
25
32
  .bmpui-seekbar-backdrop,
26
- .bmpui-seekbar-markers,
27
- .bmpui-ui-seekbar {
28
- border-radius: 5px;
33
+ .bmpui-seekbar-bufferlevel,
34
+ .bmpui-seekbar-markers {
35
+ // to accept the overflow hidden for rounded borders, because elements are scaled, border radius wont look pretty
36
+ position: initial;
37
+ height: $seekbar-height;
38
+ margin: 0;
39
+ }
40
+
41
+ .bmpui-seekbar-marker-interval {
42
+ height: $seekbar-height;
43
+ }
44
+
45
+ .bmpui-seekbar-bufferlevel,
46
+ .bmpui-seekbar-playbackposition,
47
+ .bmpui-seekbar-markers {
48
+ // move up MINUS seekbar-height to make elements visible, because position changed to initial
49
+ margin-top: -$seekbar-height;
50
+ }
51
+
52
+ .bmpui-seekbar-markers {
53
+ position: relative;
54
+ overflow: hidden;
55
+ border-radius: $seekbar-border-radius;
56
+
57
+ .bmpui-seekbar-marker {
58
+ transition: none;
59
+ }
60
+
61
+ > .bmpui-seekbar-marker-unplayable {
62
+ background: var(--npo-player-unavailable);
63
+ }
29
64
  }
30
65
 
31
66
  .bmpui-seekbar-playbackposition-marker {
@@ -35,81 +70,21 @@
35
70
  height: 16px;
36
71
 
37
72
  &:after {
38
- border-radius: 50%;
39
- width: 0;
40
- height: 0;
73
+ content: '';
41
74
  position: absolute;
75
+ border-radius: 50%;
76
+ width: 38px;
77
+ height: 38px;
42
78
  left: -14px;
43
79
  top: -14px;
44
- content: '';
45
80
  opacity: 0.3;
46
81
  background-color: var(--npo-player-white);
82
+ transform: scale(0);
83
+ transition: transform linear 0.1s;
47
84
  }
48
85
 
49
86
  &:hover:after {
50
- width: 38px;
51
- height: 38px;
52
- }
53
- }
54
-
55
- .bmpui-seekbar-markers>.bmpui-seekbar-marker-unplayable {
56
- background: var(--npo-player-unavailable);
57
- backdrop-filter: blur(25px);
58
- height: 0.3125em;
59
- }
60
- }
61
- }
62
-
63
- //Thumbnail
64
- .bmpui-ui-seekbar-label {
65
- .bmpui-seekbar-label-inner {
66
- border-bottom: 0px none;
67
-
68
- &::after {
69
- display: none;
70
- }
71
-
72
- >.bmpui-container-wrapper {
73
- .bmpui-seekbar-thumbnail {
74
- width: 148px;
75
- border-radius: 12px;
76
- border: 2px solid var(--npo-player-white);
77
- border-radius: 12px;
78
- box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.35);
79
- margin-bottom: 4px;
80
-
81
- &[style*=background] {
82
- display: none;
83
- }
84
- }
85
-
86
- .bmpui-seekbar-label-metadata {
87
- background: none;
88
- padding: 0;
89
- position: relative;
90
-
91
- .bmpui-seekbar-label-title,
92
- .bmpui-seekbar-label-time {
93
- font-size: 13px;
94
- line-height: 1;
95
- font-weight: 700;
96
- margin: 4px auto;
97
- }
98
-
99
- .bmpui-seekbar-label-title {
100
- opacity: 0.8;
101
- width: 120px;
102
- overflow: hidden;
103
- white-space: nowrap;
104
- text-overflow: ellipsis;
105
- display: block;
106
- font-family: var(--fontRegular);
107
- }
108
-
109
- .bmpui-seekbar-label-time {
110
- font-family: var(--fontBold);
111
- font-weight: 700;
112
- }
87
+ transform: scale(1);
113
88
  }
114
89
  }
115
90
  }
@@ -0,0 +1,56 @@
1
+ .bmpui-ui-seekbar-label {
2
+ margin-bottom: 15px;
3
+
4
+ .bmpui-seekbar-label-inner {
5
+ border-bottom: 0px none;
6
+
7
+ &::after {
8
+ display: none;
9
+ }
10
+
11
+ >.bmpui-container-wrapper {
12
+ .bmpui-seekbar-thumbnail {
13
+ width: 148px;
14
+ border-radius: 12px;
15
+ border: 2px solid var(--npo-player-white);
16
+ border-radius: 12px;
17
+ box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.35);
18
+ margin-bottom: 4px;
19
+ display: none;
20
+
21
+ &[style=background] {
22
+ display: block;
23
+ }
24
+ }
25
+
26
+ .bmpui-seekbar-label-metadata {
27
+ background: none;
28
+ padding: 0;
29
+ position: relative;
30
+
31
+ .bmpui-seekbar-label-title,
32
+ .bmpui-seekbar-label-time {
33
+ font-size: 13px;
34
+ line-height: 1;
35
+ font-weight: 700;
36
+ margin: 4px auto;
37
+ }
38
+
39
+ .bmpui-seekbar-label-title {
40
+ opacity: 0.8;
41
+ width: 120px;
42
+ overflow: hidden;
43
+ white-space: nowrap;
44
+ text-overflow: ellipsis;
45
+ display: block;
46
+ font-family: var(--fontRegular);
47
+ }
48
+
49
+ .bmpui-seekbar-label-time {
50
+ font-family: var(--fontBold);
51
+ font-weight: 700;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
@@ -1,21 +1,17 @@
1
+ $settings-panel-font-size: 16px;
2
+ $settings-panel-line-height: 19px;
3
+
1
4
  .bmpui-ui-settings-panel {
2
5
  display: block;
3
- flex-direction: row;
4
- align-items: flex-start;
5
6
  padding: 24px;
6
- gap: 18px;
7
- height: auto !important;
7
+ height: auto;
8
8
  min-width: 230px; //Hotfix for select capping of text with only 'Snelheid'
9
9
  z-index: 100;
10
10
  filter: drop-shadow(0px 6px 16px rgba(0, 0, 0, 0.35));
11
11
  border-radius: 12px;
12
12
  background-color: var(--npo-player-secondarycolor);
13
-
14
- //&.bmpui-hidden{
15
- // display:block;
16
- // opacity:1;
17
- // visibility:visible;
18
- // }
13
+ color: var(--npo-player-textcolor);
14
+ font-family: var(--fontRegular);
19
15
 
20
16
  > .bmpui-container-wrapper {
21
17
  margin: 0;
@@ -23,8 +19,9 @@
23
19
 
24
20
  .bmpui-setting-header {
25
21
  font-weight: 700;
26
- font-size: 16px;
27
- line-height: 19px;
22
+ font-size: $settings-panel-font-size;
23
+ line-height: $settings-panel-line-height;
24
+ font-family: var(--fontBold);
28
25
  }
29
26
 
30
27
  .bmpui-listbox-pager-button {
@@ -34,28 +31,25 @@
34
31
 
35
32
  .bmpui-ui-settings-panel-page.bmpui-main-panel {
36
33
  margin: 0;
34
+
37
35
  > .bmpui-container-wrapper {
38
36
  display: flex;
39
37
  flex-direction: column;
40
-
41
38
  padding: 0px;
42
39
  gap: 16px;
40
+
43
41
  label {
44
- font-family: var(--fontRegular) !important;
45
- font-style: normal;
46
- font-weight: 400;
47
- font-size: 16px;
48
- line-height: 19px;
49
- color: #ffffff;
42
+ font-size: $settings-panel-font-size;
43
+ line-height: $settings-panel-line-height;
50
44
  opacity: 0.75;
51
45
  }
52
- *.bmpui-ui-selectbox {
46
+
47
+ .bmpui-ui-selectbox {
53
48
  margin-left: 0;
54
- font-family: var(--fontRegular) !important;
49
+ font-family: var(--fontRegular);
55
50
  font-style: normal;
56
- font-weight: 700;
57
- font-size: 16px;
58
- line-height: 19px;
51
+ font-size: $settings-panel-font-size;
52
+ line-height: $settings-panel-line-height;
59
53
  text-align: right;
60
54
  }
61
55
 
@@ -66,33 +60,34 @@
66
60
  vertical-align: unset;
67
61
  width: 45%;
68
62
  margin-left: 0;
69
- font-family: var(--fontRegular) !important;
70
- font-style: normal;
71
- font-weight: 700;
72
- font-size: 16px;
73
- line-height: 19px;
63
+ font-family: var(--fontRegular);
64
+ font-size: $settings-panel-font-size;
65
+ line-height: $settings-panel-line-height;
74
66
  text-align: right;
75
67
  padding-right: 15px;
68
+
76
69
  span {
77
- display: block !important;
70
+ display: block;
78
71
  }
72
+
79
73
  ::after {
80
74
  content: '';
81
75
  width: 8px;
82
76
  height: 8px;
83
- border: solid 0.17em white;
77
+ border: solid 0.17em var(--npo-player-textcolor);
84
78
  border-width: 0 0.17em 0.17em 0;
85
79
  display: inline-block;
86
80
  padding: 0px;
87
81
  margin-left: 8px;
88
82
  transform: rotate(-45deg);
89
- -webkit-transform: rotate(-45deg);
90
83
  }
91
84
  }
92
85
  }
86
+
93
87
  .bmpui-ui-settings-panel-item {
94
88
  border-bottom: 0;
95
89
  padding: 0;
90
+
96
91
  > .bmpui-container-wrapper {
97
92
  display: flex;
98
93
  flex-direction: row;
@@ -105,36 +100,29 @@
105
100
 
106
101
  .bmpui-ui-settings-panel-page.bmpui-listbox-panel {
107
102
  margin: 0;
103
+
108
104
  > .bmpui-container-wrapper {
109
105
  display: flex;
110
106
  flex-direction: column;
111
-
112
107
  padding: 0px;
113
108
  gap: 16px;
114
109
 
115
110
  .bmpui-ui-settingspanelpagebackbutton {
116
- width: 9em;
117
- float: left;
111
+ width: auto;
112
+ padding: 0;
113
+ text-align: left;
118
114
  }
119
115
 
120
116
  label {
121
- font-family: var(--fontRegular) !important;
122
- font-style: normal;
123
- font-weight: 400;
124
- font-size: 16px;
125
- line-height: 19px;
126
- color: #ffffff;
117
+ font-size: $settings-panel-font-size;
118
+ line-height: $settings-panel-line-height;
127
119
  opacity: 0.75;
128
120
  }
129
121
 
130
122
  .bmpui-ui-listbox-button span {
131
- font-family: var(--fontRegular) !important;
132
123
  text-align: left;
133
- font-style: normal;
134
- font-weight: 400;
135
- font-size: 16px;
136
- line-height: 19px;
137
- color: #ffffff;
124
+ font-size: $settings-panel-font-size;
125
+ line-height: $settings-panel-line-height;
138
126
  opacity: 0.75;
139
127
  }
140
128
 
@@ -143,9 +131,10 @@
143
131
 
144
132
  span {
145
133
  color: var(--npo-player-primarycolor);
146
- font-weight: 700 !important;
134
+ font-weight: 700;
147
135
  opacity: 1;
148
136
  width: 100%;
137
+
149
138
  &::after {
150
139
  position: relative;
151
140
  float: right;
@@ -157,10 +146,12 @@
157
146
  .bmpui-ui-settings-panel-item {
158
147
  order: 2;
159
148
  padding: 0;
149
+
160
150
  > .bmpui-container-wrapper {
161
151
  > label {
162
152
  display: none;
163
153
  }
154
+
164
155
  > .bmpui-ui-listbox {
165
156
  display: flex;
166
157
  flex-direction: column;
@@ -172,19 +163,21 @@
172
163
 
173
164
  .bmpui-settings-back-button {
174
165
  display: table-header-group;
175
- font-family: var(--fontBold) !important;
166
+ font-family: var(--fontBold);
176
167
  order: 1;
177
168
  font-style: normal;
178
169
  font-weight: 700;
179
- font-size: 16px;
180
- line-height: 19px;
181
- color: #ffffff;
170
+ font-size: $settings-panel-font-size;
171
+ line-height: $settings-panel-line-height;
172
+ color: var(--npo-player-textcolor);
182
173
  opacity: 1;
174
+
183
175
  span {
184
176
  padding-left: 35px;
177
+
185
178
  &::before {
186
- border-bottom: 0.17em solid #fff;
187
- border-left: 0.17em solid #fff;
179
+ border-bottom: 0.17em solid var(--npo-player-textcolor);
180
+ border-left: 0.17em solid var(--npo-player-textcolor);
188
181
  width: 0.5em;
189
182
  height: 0.5em;
190
183
  margin-left: -25px;
@@ -2,7 +2,7 @@
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  align-items: center;
5
- padding: 0px 40px 13% 0px;
5
+ padding: 0px 22px 104px 0px;
6
6
  gap: 24px;
7
7
 
8
8
  position: absolute;
@@ -1,23 +1,88 @@
1
- .bmpui-ui-volumeslider {
1
+ .bmpui-ui-controlbar .bmpui-controlbar-bottom > .bmpui-container-wrapper .bmpui-ui-volumeslider {
2
+ width: 160px;
3
+ margin: 11px 2px 0 0;
2
4
  box-sizing: border-box;
3
- width: 100px !important;
4
- .bmpui-seekbar-backdrop, .bmpui-seekbar-seekposition, .bmpui-seekbar-playbackposition{
5
+
6
+ .bmpui-seekbar-backdrop,
7
+ .bmpui-seekbar-seekposition,
8
+ .bmpui-seekbar-playbackposition{
5
9
  border-radius: 5px;
6
10
  }
11
+
7
12
  .bmpui-seekbar-playbackposition {
8
- background-color: var(--npo-player-white) !important ;
9
- backdrop-filter: blur(50px);
13
+ background-color: var(--npo-player-textcolor);
10
14
  }
11
- .bmpui-seekbar-playbackposition-marker{
12
- display: none !important;
15
+
16
+ .bmpui-seekbar-playbackposition-marker {
17
+ display: none;
18
+ background-color: var(--npo-player-textcolor);
19
+ border-color: var(--npo-player-textcolor);
20
+ width: 16px;
21
+ height: 16px;
13
22
  }
14
- &:hover{
23
+
24
+ &:hover {
15
25
  .bmpui-seekbar-playbackposition-marker {
16
- display: block !important;
17
- background-color: var(--npo-player-textcolor) !important;
18
- border-color: var(--npo-player-textcolor) !important;
19
- width: 16px !important;
20
- height: 16px !important;
26
+ display: block;
27
+ }
28
+ }
29
+ }
30
+
31
+ // vertical slider in topbar
32
+ .bmpui-controlbar-small {
33
+ .bmpui-ui-volumeslider.bmpui-vertical {
34
+ position: absolute;
35
+ top: 38px;
36
+ right: 10px;
37
+ height: 116px;
38
+ border-radius: 8px;
39
+ background-color: transparent;
40
+ overflow: hidden;
41
+
42
+ &::before {
43
+ content: '';
44
+ position: absolute;
45
+ width: 100%;
46
+ height: 100%;
47
+ background-color: var(--npo-player-graycolor-dark);
48
+ opacity: 0.6;
49
+ }
50
+
51
+ .bmpui-seekbar {
52
+ width: 20px;
53
+ left: 0;
54
+ right: 0;
55
+ top: 8px;
56
+ bottom: 8px;
57
+ }
58
+
59
+ .bmpui-seekbar-backdrop {
60
+ background-color: var(--npo-player-textcolor);
61
+ opacity: 0.3;
62
+ border-radius: 5px;
63
+ width: 4px;
64
+ }
65
+
66
+ .bmpui-seekbar-playbackposition-marker {
67
+ position: absolute;
68
+ background-color: var(--npo-player-textcolor);
69
+ width: 16px;
70
+ height: 16px;
71
+ padding: 0;
72
+ left: 2px;
73
+ bottom: auto;
74
+ }
75
+
76
+ .bmpui-seekbar-seekposition {
77
+ display: none;
78
+ }
79
+
80
+ .bmpui-seekbar-playbackposition {
81
+ height: 100%;
82
+ width: 4px;
83
+ margin: 0 auto;
84
+ transform-origin: bottom;
85
+ background-color: var(--npo-player-textcolor);
21
86
  }
22
87
  }
23
88
  }