@npo/player 1.9.4 → 1.10.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 (200) hide show
  1. package/lib/js/fragments/setfragments.d.ts +3 -2
  2. package/lib/js/playeractions/handlers/processplayerconfig.d.ts +3 -0
  3. package/lib/js/playeractions/playeractions.d.ts +1 -0
  4. package/lib/js/tracking/handlers/eventbinding.d.ts +0 -7
  5. package/lib/js/tracking/handlers/eventlogging.d.ts +0 -9
  6. package/lib/js/tracking/handlers/playertrackerinit.d.ts +0 -9
  7. package/lib/js/tracking/handlers/playertrackerstart.d.ts +0 -7
  8. package/lib/js/ui/components/controlbar.d.ts +1 -1
  9. package/lib/js/ui/components/ctabar.d.ts +1 -1
  10. package/lib/js/ui/components/nativemobile/addFragments.d.ts +1 -0
  11. package/lib/js/ui/components/nativemobile/controlbar.d.ts +2 -1
  12. package/lib/js/ui/components/nativemobile/titlebar.d.ts +2 -0
  13. package/lib/js/ui/handlers/nicamhandler.d.ts +1 -1
  14. package/lib/js/ui/nativemobileuifactory.d.ts +3 -0
  15. package/lib/js/utilities/utilities.d.ts +0 -50
  16. package/lib/npoplayer.d.ts +1 -1
  17. package/lib/npoplayer.js +2 -517
  18. package/lib/npoplayer.js.map +1 -1
  19. package/lib/package.json +19 -10
  20. package/package.json +19 -10
  21. package/src/scss/components/_advert.scss +28 -31
  22. package/src/scss/components/_buffering.scss +35 -4
  23. package/src/scss/components/_controlbars.scss +5 -9
  24. package/src/scss/components/_error.scss +6 -4
  25. package/src/scss/components/_hugeplaybacktogglebutton.scss +71 -0
  26. package/src/scss/components/_icons.scss +53 -154
  27. package/src/scss/components/_metadata.scss +22 -0
  28. package/src/scss/components/_nicam.scss +2 -1
  29. package/src/scss/components/_playnext.scss +1 -1
  30. package/src/scss/components/_replay.scss +35 -0
  31. package/src/scss/components/_seekbar.scss +51 -76
  32. package/src/scss/components/_seekbarthumbnail.scss +56 -0
  33. package/src/scss/components/_settingspanel.scss +47 -54
  34. package/src/scss/components/_textbuttons.scss +1 -1
  35. package/src/scss/components/_volumeslider.scss +78 -13
  36. package/src/scss/npoplayer.css +2 -1234
  37. package/src/scss/npoplayer.scss +7 -3
  38. package/src/scss/variants/_player-base.scss +27 -36
  39. package/src/scss/variants/_player-debug.scss +14 -0
  40. package/src/scss/variants/_player-large.scss +18 -40
  41. package/src/scss/variants/_player-medium.scss +11 -43
  42. package/src/scss/variants/_player-native-mobile.scss +5 -0
  43. package/src/scss/variants/_player-small.scss +48 -190
  44. package/src/scss/vars/_colors.scss +7 -12
  45. package/src/scss/vars/_icons.scss +21 -33
  46. package/lib/js/ads/ster.js +0 -157
  47. package/lib/js/ads/ster.js.map +0 -1
  48. package/lib/js/ads/ster.test.js +0 -91
  49. package/lib/js/ads/ster.test.js.map +0 -1
  50. package/lib/js/api/getstreamobject.js +0 -19
  51. package/lib/js/api/getstreamobject.js.map +0 -1
  52. package/lib/js/cdnproviders.js +0 -13
  53. package/lib/js/cdnproviders.js.map +0 -1
  54. package/lib/js/checks/safari.js +0 -10
  55. package/lib/js/checks/safari.js.map +0 -1
  56. package/lib/js/checks/safari.test.js +0 -21
  57. package/lib/js/checks/safari.test.js.map +0 -1
  58. package/lib/js/drm/verifydrm.js +0 -38
  59. package/lib/js/drm/verifydrm.js.map +0 -1
  60. package/lib/js/drm/verifydrm.test.js +0 -18
  61. package/lib/js/drm/verifydrm.test.js.map +0 -1
  62. package/lib/js/fragments/setfragments.js +0 -68
  63. package/lib/js/fragments/setfragments.js.map +0 -1
  64. package/lib/js/playeractions/customerrors.test.js +0 -52
  65. package/lib/js/playeractions/customerrors.test.js.map +0 -1
  66. package/lib/js/playeractions/handlers/customerrors.js +0 -154
  67. package/lib/js/playeractions/handlers/customerrors.js.map +0 -1
  68. package/lib/js/playeractions/handlers/error.js +0 -23
  69. package/lib/js/playeractions/handlers/error.js.map +0 -1
  70. package/lib/js/playeractions/handlers/error.test.js +0 -45
  71. package/lib/js/playeractions/handlers/error.test.js.map +0 -1
  72. package/lib/js/playeractions/handlers/handleoffsets.js +0 -71
  73. package/lib/js/playeractions/handlers/handleoffsets.js.map +0 -1
  74. package/lib/js/playeractions/handlers/handleoffsets.test.js +0 -50
  75. package/lib/js/playeractions/handlers/handleoffsets.test.js.map +0 -1
  76. package/lib/js/playeractions/handlers/resolvekeypress.js +0 -55
  77. package/lib/js/playeractions/handlers/resolvekeypress.js.map +0 -1
  78. package/lib/js/playeractions/playeractions.js +0 -4
  79. package/lib/js/playeractions/playeractions.js.map +0 -1
  80. package/lib/js/tracking/handlers/eventbinding.js +0 -86
  81. package/lib/js/tracking/handlers/eventbinding.js.map +0 -1
  82. package/lib/js/tracking/handlers/eventlogging.js +0 -42
  83. package/lib/js/tracking/handlers/eventlogging.js.map +0 -1
  84. package/lib/js/tracking/handlers/playertrackerinit.js +0 -29
  85. package/lib/js/tracking/handlers/playertrackerinit.js.map +0 -1
  86. package/lib/js/tracking/handlers/playertrackerstart.js +0 -29
  87. package/lib/js/tracking/handlers/playertrackerstart.js.map +0 -1
  88. package/lib/js/tracking/playertracker.js +0 -10
  89. package/lib/js/tracking/playertracker.js.map +0 -1
  90. package/lib/js/ui/components/adbutton.js +0 -21
  91. package/lib/js/ui/components/adbutton.js.map +0 -1
  92. package/lib/js/ui/components/adlabel.js +0 -17
  93. package/lib/js/ui/components/adlabel.js.map +0 -1
  94. package/lib/js/ui/components/buttons.js +0 -89
  95. package/lib/js/ui/components/buttons.js.map +0 -1
  96. package/lib/js/ui/components/controlbar.js +0 -52
  97. package/lib/js/ui/components/controlbar.js.map +0 -1
  98. package/lib/js/ui/components/ctabar.js +0 -41
  99. package/lib/js/ui/components/ctabar.js.map +0 -1
  100. package/lib/js/ui/components/nativemobile/buttons.js +0 -43
  101. package/lib/js/ui/components/nativemobile/buttons.js.map +0 -1
  102. package/lib/js/ui/components/nativemobile/controlbar.js +0 -23
  103. package/lib/js/ui/components/nativemobile/controlbar.js.map +0 -1
  104. package/lib/js/ui/components/nativemobile/ctabar.js +0 -12
  105. package/lib/js/ui/components/nativemobile/ctabar.js.map +0 -1
  106. package/lib/js/ui/components/nativemobile/playnext.js +0 -16
  107. package/lib/js/ui/components/nativemobile/playnext.js.map +0 -1
  108. package/lib/js/ui/components/nativemobile/topbar.js +0 -21
  109. package/lib/js/ui/components/nativemobile/topbar.js.map +0 -1
  110. package/lib/js/ui/components/playnext.js +0 -11
  111. package/lib/js/ui/components/playnext.js.map +0 -1
  112. package/lib/js/ui/components/settingspanel.js +0 -130
  113. package/lib/js/ui/components/settingspanel.js.map +0 -1
  114. package/lib/js/ui/components/shared/playnextscreen.js +0 -18
  115. package/lib/js/ui/components/shared/playnextscreen.js.map +0 -1
  116. package/lib/js/ui/components/titlebar.js +0 -9
  117. package/lib/js/ui/components/titlebar.js.map +0 -1
  118. package/lib/js/ui/components/topbar.js +0 -19
  119. package/lib/js/ui/components/topbar.js.map +0 -1
  120. package/lib/js/ui/handlers/listboxhandlers.js +0 -41
  121. package/lib/js/ui/handlers/listboxhandlers.js.map +0 -1
  122. package/lib/js/ui/handlers/nicamhandler.js +0 -32
  123. package/lib/js/ui/handlers/nicamhandler.js.map +0 -1
  124. package/lib/js/ui/handlers/nicamhandler.test.js +0 -34
  125. package/lib/js/ui/handlers/nicamhandler.test.js.map +0 -1
  126. package/lib/js/ui/handlers/playnexthandlers.js +0 -2
  127. package/lib/js/ui/handlers/playnexthandlers.js.map +0 -1
  128. package/lib/js/ui/handlers/timecontrolhandlers.js +0 -23
  129. package/lib/js/ui/handlers/timecontrolhandlers.js.map +0 -1
  130. package/lib/js/ui/nativemobileui.js +0 -49
  131. package/lib/js/ui/nativemobileui.js.map +0 -1
  132. package/lib/js/ui/uicontainer.js +0 -61
  133. package/lib/js/ui/uicontainer.js.map +0 -1
  134. package/lib/js/utilities/localizationconfig.js +0 -8
  135. package/lib/js/utilities/localizationconfig.js.map +0 -1
  136. package/lib/js/utilities/printversion.js +0 -28
  137. package/lib/js/utilities/printversion.js.map +0 -1
  138. package/lib/js/utilities/utilities.js +0 -106
  139. package/lib/js/utilities/utilities.js.map +0 -1
  140. package/lib/lang/nl.json +0 -72
  141. package/lib/npoplayer.test.js +0 -12
  142. package/lib/npoplayer.test.js.map +0 -1
  143. package/lib/src/js/ads/ster.d.ts +0 -4
  144. package/lib/src/js/ads/ster.test.d.ts +0 -1
  145. package/lib/src/js/api/getstreamobject.d.ts +0 -3
  146. package/lib/src/js/cdnproviders.d.ts +0 -1
  147. package/lib/src/js/checks/safari.d.ts +0 -1
  148. package/lib/src/js/checks/safari.test.d.ts +0 -1
  149. package/lib/src/js/drm/verifydrm.d.ts +0 -4
  150. package/lib/src/js/drm/verifydrm.test.d.ts +0 -1
  151. package/lib/src/js/fragments/setfragments.d.ts +0 -3
  152. package/lib/src/js/playeractions/customerrors.test.d.ts +0 -1
  153. package/lib/src/js/playeractions/handlers/customerrors.d.ts +0 -50
  154. package/lib/src/js/playeractions/handlers/error.d.ts +0 -3
  155. package/lib/src/js/playeractions/handlers/error.test.d.ts +0 -1
  156. package/lib/src/js/playeractions/handlers/handleoffsets.d.ts +0 -6
  157. package/lib/src/js/playeractions/handlers/handleoffsets.test.d.ts +0 -1
  158. package/lib/src/js/playeractions/handlers/resolvekeypress.d.ts +0 -3
  159. package/lib/src/js/playeractions/playeractions.d.ts +0 -3
  160. package/lib/src/js/tracking/handlers/eventbinding.d.ts +0 -10
  161. package/lib/src/js/tracking/handlers/eventlogging.d.ts +0 -11
  162. package/lib/src/js/tracking/handlers/playertrackerinit.d.ts +0 -13
  163. package/lib/src/js/tracking/handlers/playertrackerstart.d.ts +0 -8
  164. package/lib/src/js/tracking/playertracker.d.ts +0 -4
  165. package/lib/src/js/ui/components/adbutton.d.ts +0 -7
  166. package/lib/src/js/ui/components/adlabel.d.ts +0 -7
  167. package/lib/src/js/ui/components/buttons.d.ts +0 -30
  168. package/lib/src/js/ui/components/controlbar.d.ts +0 -3
  169. package/lib/src/js/ui/components/ctabar.d.ts +0 -9
  170. package/lib/src/js/ui/components/nativemobile/buttons.d.ts +0 -13
  171. package/lib/src/js/ui/components/nativemobile/controlbar.d.ts +0 -2
  172. package/lib/src/js/ui/components/nativemobile/ctabar.d.ts +0 -10
  173. package/lib/src/js/ui/components/nativemobile/playnext.d.ts +0 -10
  174. package/lib/src/js/ui/components/nativemobile/topbar.d.ts +0 -3
  175. package/lib/src/js/ui/components/playnext.d.ts +0 -11
  176. package/lib/src/js/ui/components/settingspanel.d.ts +0 -4
  177. package/lib/src/js/ui/components/shared/playnextscreen.d.ts +0 -2
  178. package/lib/src/js/ui/components/titlebar.d.ts +0 -3
  179. package/lib/src/js/ui/components/topbar.d.ts +0 -2
  180. package/lib/src/js/ui/handlers/listboxhandlers.d.ts +0 -5
  181. package/lib/src/js/ui/handlers/nicamhandler.d.ts +0 -2
  182. package/lib/src/js/ui/handlers/nicamhandler.test.d.ts +0 -1
  183. package/lib/src/js/ui/handlers/playnexthandlers.d.ts +0 -0
  184. package/lib/src/js/ui/handlers/timecontrolhandlers.d.ts +0 -3
  185. package/lib/src/js/ui/nativemobileui.d.ts +0 -6
  186. package/lib/src/js/ui/uicontainer.d.ts +0 -3
  187. package/lib/src/js/utilities/localizationconfig.d.ts +0 -6
  188. package/lib/src/js/utilities/printversion.d.ts +0 -1
  189. package/lib/src/js/utilities/utilities.d.ts +0 -60
  190. package/lib/src/npoplayer.d.ts +0 -45
  191. package/lib/src/npoplayer.test.d.ts +0 -1
  192. package/lib/src/types/classes.d.ts +0 -4
  193. package/lib/src/types/interfaces.d.ts +0 -106
  194. package/lib/types/classes.js +0 -4
  195. package/lib/types/classes.js.map +0 -1
  196. package/lib/types/interfaces.js +0 -6
  197. package/lib/types/interfaces.js.map +0 -1
  198. package/src/scss/components/_container.scss +0 -8
  199. package/src/scss/components/_fonts.scss +0 -19
  200. /package/lib/js/ui/{nativemobileui.d.ts → nativemobileuicontainer.d.ts} +0 -0
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npo/player",
3
- "version": "1.9.3",
3
+ "version": "1.10.0",
4
4
  "description": "NPO Player",
5
5
  "author": "Publieke Omroep <player@npo.nl>",
6
6
  "contributors": [
@@ -12,18 +12,17 @@
12
12
  "node": "^18.16.0"
13
13
  },
14
14
  "license": "ISC",
15
- "main": "npoplayer",
16
- "types": "npoplayer.d.ts",
15
+ "main": "./lib/npoplayer",
16
+ "types": "./lib/npoplayer.d.ts",
17
17
  "scripts": {
18
18
  "build": "webpack --hot",
19
- "build:scss": "npm run build:web-styles && npm run build:web-styles && npm run build:mobile-styles-min && npm run build:mobile-styles && cp src/scss/*.css dist",
20
- "build:web-styles": "sass --no-source-map src/scss/npoplayer.scss src/scss/npoplayer.css",
21
- "build:web-styles-min": "sass --no-source-map --style=compressed src/scss/npoplayer.scss src/scss/npoplayer.min.css",
22
- "build:mobile-styles": "node-sass --no-source-map src/scss/npoplayer-mobile.scss src/scss/npoplayer-mobile.css",
23
- "build:mobile-styles-min": "sass --no-source-map --style=compressed src/scss/npoplayer-mobile.scss src/scss/npoplayer-mobile.min.css",
19
+ "build:scss": "npm run build:web-styles && npm run build:mobile-styles && cp src/scss/*.css dist && cp src/scss/*.css.map dist",
20
+ "build:web-styles": "sass src/scss/npoplayer.scss --style=compressed src/scss/npoplayer.css | postcss --use autoprefixer -r src/scss/npoplayer.css",
21
+ "build:mobile-styles": "sass src/scss/npoplayer-mobile.scss --style=compressed src/scss/npoplayer-mobile.css | postcss --use autoprefixer -r src/scss/npoplayer-mobile.css",
22
+ "build:cdn": "bash build-cdn.sh",
24
23
  "lint": "eslint src --fix",
25
- "bundle": "npm run lint && ts-node build.ts && webpack && npm run build:scss",
26
- "build:ts": "ts-node build.ts",
24
+ "bundle": "npm run lint && bash build-lib.sh && npm run build:scss",
25
+ "build:ts": "bash build-lib.sh",
27
26
  "test": "jest",
28
27
  "test:ci": "node_modules/.bin/jest",
29
28
  "version:dev": "npm version prerelease --preid=dev --no-git-tag-version"
@@ -47,6 +46,7 @@
47
46
  "@types/jest": "^29.4.0",
48
47
  "@typescript-eslint/eslint-plugin": "^5.58.0",
49
48
  "@typescript-eslint/parser": "^5.58.0",
49
+ "autoprefixer": "^10.4.15",
50
50
  "babel-jest": "^28.1.3",
51
51
  "babel-loader": "^8.3.0",
52
52
  "css-loader": "^6.7.3",
@@ -64,6 +64,9 @@
64
64
  "mini-css-extract-plugin": "^2.7.2",
65
65
  "node-fetch": "^3.3.0",
66
66
  "node-sass": "^7.0.3",
67
+ "postcss-cli": "^10.1.0",
68
+ "postcss-loader": "^7.3.3",
69
+ "postcss-scss": "^4.0.7",
67
70
  "sass": "^1.58.0",
68
71
  "sass-loader": "^12.6.0",
69
72
  "style-loader": "^3.3.1",
@@ -80,6 +83,12 @@
80
83
  "bitmovin-player": "^8.125.0",
81
84
  "bitmovin-player-ui": "^3.48.0"
82
85
  },
86
+ "browserslist": [
87
+ "defaults",
88
+ "not ie < 11",
89
+ "last 2 versions",
90
+ "> 1%"
91
+ ],
83
92
  "keywords": [
84
93
  "video",
85
94
  "player",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@npo/player",
3
- "version": "1.9.4",
3
+ "version": "1.10.1",
4
4
  "description": "NPO Player",
5
5
  "author": "Publieke Omroep <player@npo.nl>",
6
6
  "contributors": [
@@ -12,18 +12,17 @@
12
12
  "node": "^18.16.0"
13
13
  },
14
14
  "license": "ISC",
15
- "main": "npoplayer",
16
- "types": "npoplayer.d.ts",
15
+ "main": "./lib/npoplayer",
16
+ "types": "./lib/npoplayer.d.ts",
17
17
  "scripts": {
18
18
  "build": "webpack --hot",
19
- "build:scss": "npm run build:web-styles && npm run build:web-styles && npm run build:mobile-styles-min && npm run build:mobile-styles && cp src/scss/*.css dist",
20
- "build:web-styles": "sass --no-source-map src/scss/npoplayer.scss src/scss/npoplayer.css",
21
- "build:web-styles-min": "sass --no-source-map --style=compressed src/scss/npoplayer.scss src/scss/npoplayer.min.css",
22
- "build:mobile-styles": "node-sass --no-source-map src/scss/npoplayer-mobile.scss src/scss/npoplayer-mobile.css",
23
- "build:mobile-styles-min": "sass --no-source-map --style=compressed src/scss/npoplayer-mobile.scss src/scss/npoplayer-mobile.min.css",
19
+ "build:scss": "npm run build:web-styles && npm run build:mobile-styles && cp src/scss/*.css dist && cp src/scss/*.css.map dist",
20
+ "build:web-styles": "sass src/scss/npoplayer.scss --style=compressed src/scss/npoplayer.css | postcss --use autoprefixer -r src/scss/npoplayer.css",
21
+ "build:mobile-styles": "sass src/scss/npoplayer-mobile.scss --style=compressed src/scss/npoplayer-mobile.css | postcss --use autoprefixer -r src/scss/npoplayer-mobile.css",
22
+ "build:cdn": "bash build-cdn.sh",
24
23
  "lint": "eslint src --fix",
25
- "bundle": "npm run lint && ts-node build.ts && webpack && npm run build:scss",
26
- "build:ts": "ts-node build.ts",
24
+ "bundle": "npm run lint && bash build-lib.sh && npm run build:scss",
25
+ "build:ts": "bash build-lib.sh",
27
26
  "test": "jest",
28
27
  "test:ci": "node_modules/.bin/jest",
29
28
  "version:dev": "npm version prerelease --preid=dev --no-git-tag-version"
@@ -47,6 +46,7 @@
47
46
  "@types/jest": "^29.4.0",
48
47
  "@typescript-eslint/eslint-plugin": "^5.58.0",
49
48
  "@typescript-eslint/parser": "^5.58.0",
49
+ "autoprefixer": "^10.4.15",
50
50
  "babel-jest": "^28.1.3",
51
51
  "babel-loader": "^8.3.0",
52
52
  "css-loader": "^6.7.3",
@@ -64,6 +64,9 @@
64
64
  "mini-css-extract-plugin": "^2.7.2",
65
65
  "node-fetch": "^3.3.0",
66
66
  "node-sass": "^7.0.3",
67
+ "postcss-cli": "^10.1.0",
68
+ "postcss-loader": "^7.3.3",
69
+ "postcss-scss": "^4.0.7",
67
70
  "sass": "^1.58.0",
68
71
  "sass-loader": "^12.6.0",
69
72
  "style-loader": "^3.3.1",
@@ -80,6 +83,12 @@
80
83
  "bitmovin-player": "^8.125.0",
81
84
  "bitmovin-player-ui": "^3.48.0"
82
85
  },
86
+ "browserslist": [
87
+ "defaults",
88
+ "not ie < 11",
89
+ "last 2 versions",
90
+ "> 1%"
91
+ ],
83
92
  "keywords": [
84
93
  "video",
85
94
  "player",
@@ -1,20 +1,19 @@
1
- &.bmpui-ster-ad{
2
- .bmpui-seekbar-playbackposition-marker{
1
+ &.bmpui-ster-ad {
2
+ .bmpui-seekbar-playbackposition-marker,
3
+ .bmpui-ui-hugeplaybacktogglebutton,
4
+ .videoAdUiClickElement{
3
5
  display: none !important;
4
6
  }
5
- .bmpui-ui-controlbar{
6
- &.bmpui-controlbar-middle{
7
- display: none !important;
8
- }
7
+
8
+ .bmpui-ui-controlbar {
9
+ &.bmpui-controlbar-middle,
9
10
  .bmpui-ui-rewindbutton,
10
11
  .bmpui-ui-forwardbutton,
11
- .bmpui-ui-settingstogglebutton{
12
+ .bmpui-ui-settingstogglebutton {
12
13
  display: none !important;
13
- }
14
- .bmpui-controlbar-bottom{
15
- display: block !important;
16
- }
14
+ }
17
15
  }
16
+
18
17
  .bmpui-ui-seekbar {
19
18
  .bmpui-seekbar {
20
19
  .bmpui-seekbar-bufferlevel {
@@ -30,22 +29,18 @@
30
29
  .bmpui-seekbar-playbackposition {
31
30
  background: var(--npo-player-white);
32
31
  backdrop-filter: blur(50px);
33
- border-radius: 5px;
34
32
  }
35
33
  }
36
34
  }
37
- .bmpui-ui-hugeplaybacktogglebutton{
38
- display: none !important;
39
- }
40
- .videoAdUiClickElement{
41
- display: none;
42
- }
43
- .bmpui-adLabel{
35
+
36
+ .bmpui-adLabel {
44
37
  position: relative;
45
38
  padding-right: 15px;
46
39
  font-family: var(--fontBold);
47
- &::before{
48
- content: "";
40
+ font-weight: 700;
41
+
42
+ &::before {
43
+ content: '';
49
44
  pointer-events: none;
50
45
  position: absolute;
51
46
  height: 44px;
@@ -55,16 +50,18 @@
55
50
  background-image: url("data:image/svg+xml,%3Csvg width='59' height='44' viewBox='0 0 39 30' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 15.0338L19.4156 0.414307L38.8238 15.0338L19.4156 29.5855L0 15.0338ZM19.4223 27.5128L36.0603 15.0303L19.4223 2.48968L2.76764 15.0301L19.4223 27.5128Z' fill='white'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.2215 13.9887C12.4213 13.3085 11.7303 12.721 11.7303 11.9329C11.7303 11.2697 12.064 10.8895 12.6461 10.8895C12.8494 10.8895 13.5139 10.9733 13.6141 12.0211L15.2164 11.8445C15.0406 10.3315 14.1464 9.42878 12.8164 9.42878C11.1077 9.42878 10.1279 10.3468 10.1279 11.9472C10.1279 13.5345 11.202 14.4297 12.1495 15.2195C12.9488 15.8859 13.704 16.5152 13.704 17.4532C13.704 18.0625 13.3087 18.4261 12.6463 18.4261C12.0333 18.4261 11.6413 17.8635 11.5647 16.8842C11.4962 16.894 10.0231 17.1058 9.96039 17.1152C10.0361 18.5001 10.8656 19.8866 12.5614 19.8866C14.2547 19.8866 15.3066 18.8944 15.3066 17.297C15.3062 15.7618 14.1987 14.8196 13.2215 13.9887ZM15.7374 13.4513V12.1456H16.6171V10.0881H18.2065V12.1456H19.2708V13.4513H18.2067V17.8506C18.2067 18.2478 18.377 18.4748 18.746 18.4748H19.271V19.837C19.0583 19.8936 18.8736 19.922 18.4762 19.922C17.2843 19.922 16.6173 19.3688 16.6173 18.2048V13.4513H15.7374ZM26.2467 19.7803V12.1458H27.7649V13.0398H27.7933C28.1768 12.3871 28.8435 12.0041 29.5958 12.0041H29.922V13.6642C29.6383 13.5932 29.3688 13.5081 28.9002 13.5081C28.3611 13.5081 27.8358 13.8485 27.8358 14.5297V19.7803H26.2467ZM23.4859 17.5288C23.4599 18.3273 23.1512 18.6659 22.6083 18.6659C22.0409 18.6659 21.7284 18.2968 21.7284 17.4167V16.3098H25.0775V14.8908C25.0775 13.2164 24.4249 12.0528 22.6085 12.0528C20.7921 12.0528 20.1395 13.2164 20.1395 14.8908V17.133C20.1395 18.8073 20.7921 19.9714 22.6085 19.9714C24.2771 19.9714 24.9661 18.9917 25.0655 17.5288H23.4859ZM21.7284 14.6073C21.7284 13.7275 22.0409 13.3583 22.6083 13.3583C23.1761 13.3583 23.4882 13.7275 23.4882 14.6073V15.0049H21.7284V14.6073Z' fill='white'/%3E%3C/svg%3E%0A");
56
51
  }
57
52
  }
58
- .bmpui-controlbar-textbuttons{
59
- padding: 0px 40px 17% 0px !important;
60
- .bmpui-ui-textbutton.ui-sterbutton{
61
- padding: 14px 10px !important;
62
- border: none !important;
63
- border-radius: 6px !important;
64
- height: fit-content !important;
65
- width: fit-content !important;
66
- .bmpui-label{
67
- font-family: var(--fontNormal) !important;
53
+
54
+ .bmpui-controlbar-textbuttons {
55
+ .bmpui-ui-textbutton.ui-sterbutton {
56
+ padding: 14px 10px;
57
+ border: none;
58
+ border-radius: 6px;
59
+ height: fit-content;
60
+ width: fit-content;
61
+
62
+ .bmpui-label {
63
+ font-family: var(--fontNormal);
64
+ font-weight: normal;
68
65
  font-size: 12px;
69
66
  line-height: 0;
70
67
  text-align: left;
@@ -1,6 +1,37 @@
1
1
  .bmpui-ui-buffering-overlay {
2
2
  background-color: var(--npo-player-bufferingcolor);
3
- }
4
- .bmpui-ui-buffering-overlay-indicator {
5
- background-image: url($buffering_indicator) !important;
6
- }
3
+ display: block;
4
+
5
+ .bmpui-container-wrapper {
6
+ display: flex;
7
+ width: 100%;
8
+ height: 100%;
9
+ align-items: center;
10
+ justify-content: center;
11
+
12
+ .bmpui-ui-buffering-overlay-indicator:first-child,
13
+ .bmpui-ui-buffering-overlay-indicator:last-child {
14
+ display: none;
15
+ animation: none;
16
+ background: none;
17
+ }
18
+ }
19
+
20
+ .bmpui-ui-buffering-overlay-indicator {
21
+ width: 56px;
22
+ height: 56px;
23
+ border-radius: 50%;
24
+ background-image: conic-gradient(var(--npo-player-primarycolor), transparent);
25
+ mask: radial-gradient(transparent 20px, var(--npo-player-primarycolor) 20px);
26
+ animation: rotation 2s infinite ease-in;
27
+
28
+ @keyframes rotation {
29
+ from {
30
+ transform: rotate(0deg);
31
+ }
32
+ to {
33
+ transform: rotate(360deg);
34
+ }
35
+ }
36
+ }
37
+ }
@@ -10,21 +10,17 @@
10
10
  .bmpui-controlbar-middle {
11
11
  height: 100%;
12
12
  display: flex;
13
+ left: 0;
14
+ top: 0;
15
+ width: 100%;
13
16
 
14
17
  .bmpui-container-wrapper {
15
18
  display: flex;
16
19
  flex-direction: row;
17
- justify-content: space-evenly; //instead of space-between
20
+ justify-content: space-evenly;
18
21
  align-items: center;
19
22
  padding: 0px;
20
- // gap: 67px;
21
- width: 100%; //Fix for gap pushing buttons out of screen
23
+ width: 100%;
22
24
  margin: 0 auto;
23
25
  }
24
-
25
- button {
26
- // height: 44px;
27
- // width: 44px;
28
- font-size: 2em;
29
- }
30
26
  }
@@ -1,9 +1,10 @@
1
1
  .bmpui-ui-errormessage-overlay {
2
- .bmpui-ui-tvnoisecanvas{
2
+ .bmpui-ui-tvnoisecanvas {
3
3
  display: none;
4
4
  }
5
- &::before{
6
- content: "";
5
+
6
+ &::before {
7
+ content: '';
7
8
  background-color: var(--npo-player-secondarycolor);
8
9
  opacity: 0.7;
9
10
  width: 100%;
@@ -15,8 +16,9 @@
15
16
  position: absolute;
16
17
  }
17
18
  }
19
+
18
20
  .bmpui-ui-errormessage-label {
19
- font-family: 'NPOSansBold';
21
+ font-family: var(--font-bold);
20
22
  font-weight: 700;
21
23
  font-size: 22px;
22
24
  line-height: 130%;
@@ -0,0 +1,71 @@
1
+ &.bmpui-player-state-paused,
2
+ &.bmpui-player-state-prepared,
3
+ &.bmpui-player-state-finished {
4
+ .bmpui-ui-hugeplaybacktogglebutton {
5
+ .bmpui-image {
6
+ animation: none;
7
+ }
8
+ }
9
+ }
10
+
11
+
12
+ /* Icon Play */
13
+ .bmpui-ui-hugeplaybacktogglebutton {
14
+ .bmpui-image {
15
+ cursor: pointer;
16
+ position: relative;
17
+ // animation: none;
18
+ background: none;
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+
23
+ &:after,
24
+ &:before {
25
+ content: '';
26
+ position: absolute;
27
+ height: 88px;
28
+ width: 88px;
29
+ }
30
+
31
+ &:after {
32
+ mask-image: var(--npo-player-icon-play);
33
+ mask-repeat: no-repeat;
34
+ mask-position: center;
35
+ transition: mask-size linear 0.3s;
36
+ mask-size: 40%;
37
+ background-color: var(--npo-player-iconcolor);
38
+ }
39
+
40
+ &:before {
41
+ border-radius: 500px;
42
+ background: rgba(0, 0, 0, 0.5);
43
+ }
44
+
45
+ &:hover {
46
+ &:after {
47
+ mask-size: 55%;
48
+ }
49
+
50
+ &:before {
51
+ background: linear-gradient(90deg, var(--npo-player-primarycolor), var(--npo-player-primarycolor-light));
52
+ background-size: 200% 200%;
53
+ animation: gradientAnimation 2s linear infinite;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ @keyframes gradientAnimation {
60
+ 0% {
61
+ background-position: 0% 50%;
62
+ }
63
+
64
+ 50% {
65
+ background-position: 100% 50%;
66
+ }
67
+
68
+ 100% {
69
+ background-position: 0% 50%;
70
+ }
71
+ }
@@ -1,241 +1,140 @@
1
1
  .bmpui-ui-rewindbutton,
2
2
  .bmpui-ui-forwardbutton,
3
- .bmpui-ui-subtitlesettingstogglebutton,
4
3
  .bmpui-ui-settingstogglebutton,
5
4
  .bmpui-ui-fullscreentogglebutton,
6
5
  .bmpui-ui-playbacktogglebutton,
7
6
  .bmpui-ui-volumetogglebutton,
8
7
  .bmpui-ui-casttogglebutton,
9
8
  .bmpui-ui-airplaytogglebutton,
10
- .bmpui-ui-piptogglebutton,
11
- .bmpui-ui-audiotracksettingstogglebutton {
12
- padding: 8px;
9
+ .bmpui-ui-piptogglebutton {
10
+ width: 40px;
11
+ height: 40px;
12
+ padding: 0;
13
13
  margin: 0;
14
+ background-size: contain;
15
+ background-color: var(--npo-player-iconcolor);
16
+ background-image: none;
17
+ mask-size: contain;
18
+ mask-position: 50% 50%;
19
+ mask-repeat: no-repeat;
20
+ }
21
+
22
+ .bmpui-ui-settingstogglebutton,
23
+ .bmpui-ui-casttogglebutton,
24
+ .bmpui-ui-airplaytogglebutton,
25
+ .bmpui-ui-piptogglebutton {
26
+ &.bmpui-on {
27
+ background-color: var(--npo-player-iconcolor-active);
28
+ }
14
29
  }
15
30
 
16
31
  .bmpui-controlbar-bottom {
17
32
  .bmpui-container-wrapper {
18
- gap: 8px;
33
+ gap: 20px;
19
34
  }
20
35
  }
21
36
 
22
- /*Forward / backward */
37
+ /* Icon rewind 10 sec */
23
38
  .bmpui-ui-rewindbutton {
24
- background-image: url($icon_backwards);
25
- background-size: contain;
39
+ mask-image: var(--npo-player-icon-backward);
26
40
  }
27
41
 
42
+ /* Icon forward 10 sec */
28
43
  .bmpui-ui-forwardbutton {
29
- background-image: url($icon_forward);
30
- background-size: contain;
44
+ mask-image: var(--npo-player-icon-forward);
31
45
  }
32
46
 
33
47
  .bmpui-ui-rewindbutton:hover,
34
48
  .bmpui-ui-forwardbutton:hover {
35
- -webkit-filter: drop-shadow(0 0 1px #fff);
36
- filter: drop-shadow(0 0 1px #fff);
49
+ filter: drop-shadow(0 0 1px var(--npo-player-iconcolor));
37
50
  }
38
51
 
39
- /* Icon Play */
40
- &.bmpui-player-state-paused, &.bmpui-player-state-prepared, &.bmpui-player-state-finished {
41
- .bmpui-ui-hugeplaybacktogglebutton {
42
- .bmpui-image {
43
- cursor: pointer;
44
- animation: none !important;
45
- position: relative;
46
- background: none;
47
- background-image: none !important;
48
- display: flex;
49
- align-items: center;
50
- justify-content: center;
51
- &:after, &:before{
52
- content: "";
53
- position: absolute;
54
- height: 76px;
55
- width: 76px;
56
- }
57
- &:hover{
58
- &:after{
59
- background-size: 55% !important;
60
- }
61
- }
62
- &:after{
63
- background-image: url($icon_bigplay) !important;
64
- background-repeat: no-repeat;
65
- background-position: center;
66
- transition: background-size linear 0.3s !important;
67
- background-size: 40%;
68
- }
69
- &:before{
70
- border-radius: 500px;
71
- background: rgba(0, 0, 0, 0.5);
72
- }
73
- }
74
- &:hover{
75
- .bmpui-image{
76
- &:before{
77
- background: linear-gradient(90deg, var(--npo-player-primarycolor) 0%, var(--npo-player-primarycolor-light) 100%);
78
- animation: gradientAnimation 2s linear infinite;
79
- }
80
- }
81
- }
82
- }
83
-
84
- @container (min-width: 600px){
85
- .bmpui-ui-hugeplaybacktogglebutton .bmpui-image {
86
- &:after, &:before{
87
- height: 88px;
88
- width: 88px;
89
- }
90
- }
91
- }
92
-
93
- @container (min-width: 1200px){
94
- .bmpui-ui-hugeplaybacktogglebutton .bmpui-image {
95
- &:after, &:before{
96
- height: 100px;
97
- width: 100px;
98
- }
99
- }
100
- }
101
- }
102
-
103
- @keyframes gradientAnimation {
104
- 0% {
105
- background-position: 0% 50%;
106
- }
107
- 50% {
108
- background-position: 100% 50%;
109
- }
110
- 100% {
111
- background-position: 0% 50%;
112
- }
113
- }
114
-
115
- // Loading icon, does not currently work
116
- &.bmpui-ui-uicontainer .bmpui-ui-hugeplaybacktogglebutton.bmpui-on .bmpui-image{
117
- background: none !important;
118
- background-position: center !important;
119
- background-repeat: no-repeat !important;
120
- background-size: 15% !important;
121
- background-image: url($icon_bigplay) !important;
122
- }
123
- &.bmpui-ui-uicontainer:not(.bmpui-player-state-prepared):not(.bmpui-player-state-playing):not(.bmpui-player-state-paused):not(.bmpui-player-state-finished) .bmpui-image {
124
- background-image: none !important;
125
- &:after{
126
- animation: rotation 1s infinite linear;
127
- background-image: url($icon_loading) !important;
128
- background-repeat: no-repeat;
129
- background-position: center;
130
- background-size: 4em;
131
- }
132
- }
133
-
134
- /* Icon Audio Quality */
135
- .bmpui-ui-subtitlesettingstogglebutton {
136
- &.bmpui-off {
137
- background-image: url($icon_subtitles);
138
- }
139
- &.bmpui-on {
140
- background-image: url($icon_subtitles_active);
141
- }
142
- }
143
-
144
- /* Icon Subtitles */
145
- .bmpui-ui-subtitlesettingstogglebutton {
146
- &.bmpui-off {
147
- background-image: url($icon_subtitles);
148
- }
149
- &.bmpui-on {
150
- background-image: url($icon_subtitles_active);
151
- }
152
- }
153
-
154
- /* Icon Small Play + Pause */
52
+ /* Icon Small Play/Pause Toggle */
155
53
  .bmpui-ui-playbacktogglebutton {
156
54
  &.bmpui-off {
157
- background-image: url($icon_playbackplay);
55
+ mask-image: var(--npo-player-icon-play);
158
56
  }
159
- &.bmpui-on {
160
- background-image: url($icon_playbackpause);
161
- }
162
- }
163
57
 
164
- @keyframes rotation {
165
- from {
166
- transform: rotate(0deg);
167
- }
168
- to {
169
- transform: rotate(359deg);
58
+ &.bmpui-on {
59
+ mask-image: var(--npo-player-icon-pause);
170
60
  }
171
61
  }
172
62
 
63
+ /* Icon Full Screen */
173
64
  .bmpui-ui-fullscreentogglebutton {
174
65
  &.bmpui-off {
175
- background-image: url($icon_fullscreen);
66
+ mask-image: var(--npo-player-icon-fullscreen);
176
67
  }
68
+
177
69
  &.bmpui-on {
178
- background-image: url($icon_fullscreen_active);
70
+ mask-image: var(--npo-player-icon-fullscreen-active);
179
71
  }
180
72
  }
181
73
 
182
74
  /* Icon Settings */
183
75
  .bmpui-ui-settingstogglebutton {
184
76
  &.bmpui-off {
185
- background-image: url($icon_settings);
77
+ mask-image: var(--npo-player-icon-settings);
186
78
  }
79
+
187
80
  &.bmpui-on {
188
- background-image: url($icon_settings_active);
81
+ mask-image: var(--npo-player-icon-settings-active);
189
82
  }
190
83
  }
191
84
 
192
85
  /* Icon Cast */
193
86
  .bmpui-ui-casttogglebutton {
194
87
  &.bmpui-off {
195
- background-image: url($icon_cast);
88
+ mask-image: var(--npo-player-icon-cast);
196
89
  }
90
+
197
91
  &.bmpui-on {
198
- background-image: url($icon_cast_active);
92
+ mask-image: var(--npo-player-icon-cast-active);
199
93
  }
200
94
  }
201
95
 
202
96
  /* Icon Airplay */
203
97
  .bmpui-ui-airplaytogglebutton {
204
98
  &.bmpui-off {
205
- background-image: url($icon_airplay);
99
+ mask-image: var(--npo-player-icon-airplay);
206
100
  }
101
+
207
102
  &.bmpui-on {
208
- background-image: url($icon_airplay_active);
103
+ mask-image: var(--npo-player-icon-airplay-active);
209
104
  }
210
105
  }
211
106
 
212
107
  /* Icon PIP */
213
108
  .bmpui-ui-piptogglebutton {
214
109
  &.bmpui-off {
215
- background-image: url($icon_pip);
110
+ mask-image: var(--npo-player-icon-pip);
216
111
  }
112
+
217
113
  &.bmpui-on {
218
- background-image: url($icon_pip_active);
114
+ mask-image: var(--npo-player-icon-pip-active);
219
115
  }
220
116
  }
221
117
 
222
118
  /* Icon Volume */
223
119
  .bmpui-ui-volumetogglebutton.bmpui-muted {
224
- background-image: url($icon_volume_muted);
120
+ mask-image: var(--npo-player-icon-volume-muted);
225
121
  }
122
+
226
123
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='1'],
227
124
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='2'],
228
125
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='3'],
229
126
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='4'] {
230
- background-image: url($icon_volume_1);
127
+ mask-image: var(--npo-player-icon-volume-1);
231
128
  }
129
+
232
130
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='5'],
233
131
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='6'],
234
132
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='7'] {
235
- background-image: url($icon_volume_2);
133
+ mask-image: var(--npo-player-icon-volume-2);
236
134
  }
135
+
237
136
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='8'],
238
137
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='9'],
239
138
  .bmpui-ui-volumetogglebutton.bmpui-unmuted[data-bmpui-volume-level-tens='10'] {
240
- background-image: url($icon_volume_3);
241
- }
139
+ mask-image: var(--npo-player-icon-volume-3);
140
+ }