bitmovin-player-ui 3.38.0 → 3.40.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 (169) hide show
  1. package/.github/workflows/ci.yml +55 -0
  2. package/.github/workflows/release.yml +34 -0
  3. package/.nvmrc +1 -0
  4. package/CHANGELOG.md +21 -0
  5. package/README.md +1 -0
  6. package/artifact/artifact.tar.gz +0 -0
  7. package/assets/skin-modern/images/replay-nocircle.svg +12 -0
  8. package/dist/css/bitmovinplayer-ui.css +216 -41
  9. package/dist/css/bitmovinplayer-ui.min.css +2 -2
  10. package/dist/css/demo.css +1 -1
  11. package/dist/js/bitmovinplayer-ui.js +1570 -198
  12. package/dist/js/bitmovinplayer-ui.min.js +9 -8
  13. package/dist/js/bitmovinplayer-ui.min.js.map +1 -1
  14. package/dist/js/framework/browserutils.d.ts +4 -0
  15. package/dist/js/framework/browserutils.js +43 -1
  16. package/dist/js/framework/components/adclickoverlay.js +3 -1
  17. package/dist/js/framework/components/admessagelabel.js +3 -1
  18. package/dist/js/framework/components/adskipbutton.js +3 -1
  19. package/dist/js/framework/components/airplaytogglebutton.js +3 -1
  20. package/dist/js/framework/components/audioqualityselectbox.js +3 -1
  21. package/dist/js/framework/components/audiotracklistbox.js +3 -1
  22. package/dist/js/framework/components/audiotrackselectbox.js +3 -1
  23. package/dist/js/framework/components/bufferingoverlay.js +3 -1
  24. package/dist/js/framework/components/button.js +3 -1
  25. package/dist/js/framework/components/caststatusoverlay.js +3 -1
  26. package/dist/js/framework/components/casttogglebutton.js +3 -1
  27. package/dist/js/framework/components/castuicontainer.js +3 -1
  28. package/dist/js/framework/components/clickoverlay.js +3 -1
  29. package/dist/js/framework/components/closebutton.js +3 -1
  30. package/dist/js/framework/components/component.d.ts +4 -0
  31. package/dist/js/framework/components/component.js +6 -0
  32. package/dist/js/framework/components/container.js +3 -1
  33. package/dist/js/framework/components/controlbar.js +3 -1
  34. package/dist/js/framework/components/errormessageoverlay.d.ts +1 -0
  35. package/dist/js/framework/components/errormessageoverlay.js +9 -4
  36. package/dist/js/framework/components/fullscreentogglebutton.js +3 -1
  37. package/dist/js/framework/components/hugeplaybacktogglebutton.js +3 -1
  38. package/dist/js/framework/components/hugereplaybutton.js +3 -1
  39. package/dist/js/framework/components/itemselectionlist.js +3 -1
  40. package/dist/js/framework/components/label.js +3 -1
  41. package/dist/js/framework/components/listbox.js +3 -1
  42. package/dist/js/framework/components/listselector.js +3 -1
  43. package/dist/js/framework/components/metadatalabel.js +3 -1
  44. package/dist/js/framework/components/pictureinpicturetogglebutton.js +3 -1
  45. package/dist/js/framework/components/playbackspeedselectbox.js +3 -1
  46. package/dist/js/framework/components/playbacktimelabel.js +3 -1
  47. package/dist/js/framework/components/playbacktogglebutton.js +3 -1
  48. package/dist/js/framework/components/playbacktoggleoverlay.js +3 -1
  49. package/dist/js/framework/components/recommendationoverlay.js +4 -2
  50. package/dist/js/framework/components/replaybutton.d.ts +10 -0
  51. package/dist/js/framework/components/replaybutton.js +64 -0
  52. package/dist/js/framework/components/seekbar.js +3 -1
  53. package/dist/js/framework/components/seekbarlabel.js +3 -1
  54. package/dist/js/framework/components/selectbox.js +3 -1
  55. package/dist/js/framework/components/settingspanel.js +3 -1
  56. package/dist/js/framework/components/settingspanelitem.js +3 -1
  57. package/dist/js/framework/components/settingspanelpage.js +3 -1
  58. package/dist/js/framework/components/settingspanelpagebackbutton.js +3 -1
  59. package/dist/js/framework/components/settingspanelpagenavigatorbutton.js +3 -1
  60. package/dist/js/framework/components/settingspanelpageopenbutton.js +3 -1
  61. package/dist/js/framework/components/settingstogglebutton.js +3 -1
  62. package/dist/js/framework/components/spacer.js +3 -1
  63. package/dist/js/framework/components/subtitlelistbox.js +3 -1
  64. package/dist/js/framework/components/subtitleoverlay.js +3 -1
  65. package/dist/js/framework/components/subtitleselectbox.js +3 -1
  66. package/dist/js/framework/components/subtitlesettings/backgroundcolorselectbox.js +3 -1
  67. package/dist/js/framework/components/subtitlesettings/backgroundopacityselectbox.js +3 -1
  68. package/dist/js/framework/components/subtitlesettings/characteredgeselectbox.js +3 -1
  69. package/dist/js/framework/components/subtitlesettings/fontcolorselectbox.js +3 -1
  70. package/dist/js/framework/components/subtitlesettings/fontfamilyselectbox.js +3 -1
  71. package/dist/js/framework/components/subtitlesettings/fontopacityselectbox.js +3 -1
  72. package/dist/js/framework/components/subtitlesettings/fontsizeselectbox.js +3 -1
  73. package/dist/js/framework/components/subtitlesettings/subtitlesettingselectbox.js +3 -1
  74. package/dist/js/framework/components/subtitlesettings/subtitlesettingslabel.js +3 -1
  75. package/dist/js/framework/components/subtitlesettings/subtitlesettingsmanager.js +3 -1
  76. package/dist/js/framework/components/subtitlesettings/subtitlesettingspanelpage.js +3 -1
  77. package/dist/js/framework/components/subtitlesettings/subtitlesettingsresetbutton.js +3 -1
  78. package/dist/js/framework/components/subtitlesettings/windowcolorselectbox.js +3 -1
  79. package/dist/js/framework/components/subtitlesettings/windowopacityselectbox.js +3 -1
  80. package/dist/js/framework/components/titlebar.js +3 -1
  81. package/dist/js/framework/components/togglebutton.js +3 -1
  82. package/dist/js/framework/components/tvnoisecanvas.js +3 -1
  83. package/dist/js/framework/components/uicontainer.d.ts +2 -0
  84. package/dist/js/framework/components/uicontainer.js +16 -12
  85. package/dist/js/framework/components/videoqualityselectbox.js +3 -1
  86. package/dist/js/framework/components/volumecontrolbutton.js +3 -1
  87. package/dist/js/framework/components/volumeslider.js +3 -1
  88. package/dist/js/framework/components/volumetogglebutton.js +3 -1
  89. package/dist/js/framework/components/vrtogglebutton.js +3 -1
  90. package/dist/js/framework/components/watermark.js +3 -1
  91. package/dist/js/framework/eventdispatcher.js +3 -1
  92. package/dist/js/framework/main.d.ts +1 -0
  93. package/dist/js/framework/main.js +5 -2
  94. package/dist/js/framework/spatialnavigation/ListNavigationGroup.d.ts +14 -0
  95. package/dist/js/framework/spatialnavigation/ListNavigationGroup.js +66 -0
  96. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.d.ts +9 -0
  97. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.js +55 -0
  98. package/dist/js/framework/spatialnavigation/keymap.d.ts +5 -0
  99. package/dist/js/framework/spatialnavigation/keymap.js +126 -0
  100. package/dist/js/framework/spatialnavigation/navigationalgorithm.d.ts +18 -0
  101. package/dist/js/framework/spatialnavigation/navigationalgorithm.js +132 -0
  102. package/dist/js/framework/spatialnavigation/navigationgroup.d.ts +82 -0
  103. package/dist/js/framework/spatialnavigation/navigationgroup.js +142 -0
  104. package/dist/js/framework/spatialnavigation/nodeeventsubscriber.d.ts +30 -0
  105. package/dist/js/framework/spatialnavigation/nodeeventsubscriber.js +63 -0
  106. package/dist/js/framework/spatialnavigation/rootnavigationgroup.d.ts +15 -0
  107. package/dist/js/framework/spatialnavigation/rootnavigationgroup.js +61 -0
  108. package/dist/js/framework/spatialnavigation/seekbarhandler.d.ts +31 -0
  109. package/dist/js/framework/spatialnavigation/seekbarhandler.js +134 -0
  110. package/dist/js/framework/spatialnavigation/spatialnavigation.d.ts +53 -0
  111. package/dist/js/framework/spatialnavigation/spatialnavigation.js +139 -0
  112. package/dist/js/framework/spatialnavigation/typeguards.d.ts +11 -0
  113. package/dist/js/framework/spatialnavigation/typeguards.js +32 -0
  114. package/dist/js/framework/spatialnavigation/types.d.ts +16 -0
  115. package/dist/js/framework/spatialnavigation/types.js +15 -0
  116. package/dist/js/framework/subtitleutils.js +5 -7
  117. package/dist/js/framework/uifactory.d.ts +7 -0
  118. package/dist/js/framework/uifactory.js +119 -0
  119. package/dist/js/framework/uimanager.d.ts +4 -1
  120. package/dist/js/framework/uimanager.js +17 -11
  121. package/gulpfile.js +1 -1
  122. package/jest.config.js +3 -1
  123. package/package.json +17 -11
  124. package/publish.sh +10 -1
  125. package/setup-jest.ts +1 -0
  126. package/spec/errorutils.spec.ts +1 -1
  127. package/spec/helper/MockHelper.ts +1 -0
  128. package/spec/helper/mockClass.ts +49 -0
  129. package/spec/helper/mockComponent.ts +24 -0
  130. package/spec/spatialnavigation/gethtmlelementsfromcomponents.spec.ts +91 -0
  131. package/spec/spatialnavigation/keymap.spec.ts +35 -0
  132. package/spec/spatialnavigation/listnavigationgroup.spec.ts +55 -0
  133. package/spec/spatialnavigation/navigationalgorithm.spec.ts +91 -0
  134. package/spec/spatialnavigation/navigationgroup.spec.ts +157 -0
  135. package/spec/spatialnavigation/nodeeventsubscriber.spec.ts +41 -0
  136. package/spec/spatialnavigation/rootnavigationgroup.spec.ts +54 -0
  137. package/spec/spatialnavigation/seekbarhandler.spec.ts +212 -0
  138. package/spec/spatialnavigation/spatialnavigation.spec.ts +101 -0
  139. package/src/scss/skin-modern/_mixins.scss +1 -1
  140. package/src/scss/skin-modern/_skin-cast-receiver.scss +1 -1
  141. package/src/scss/skin-modern/_skin-smallscreen.scss +2 -2
  142. package/src/scss/skin-modern/_skin-tv.scss +100 -0
  143. package/src/scss/skin-modern/_skin.scss +2 -0
  144. package/src/scss/skin-modern/_variables.scss +1 -1
  145. package/src/scss/skin-modern/components/_bufferingoverlay.scss +1 -1
  146. package/src/scss/skin-modern/components/_replaybutton.scss +12 -0
  147. package/src/scss/skin-modern/components/_seekbar.scss +3 -3
  148. package/src/scss/skin-modern/components/_subtitleoverlay-cea608.scss +2 -2
  149. package/src/scss/skin-modern/components/_subtitleoverlay.scss +55 -53
  150. package/src/ts/browserutils.ts +33 -1
  151. package/src/ts/components/component.ts +7 -0
  152. package/src/ts/components/errormessageoverlay.ts +7 -3
  153. package/src/ts/components/replaybutton.ts +48 -0
  154. package/src/ts/components/uicontainer.ts +14 -11
  155. package/src/ts/main.ts +1 -0
  156. package/src/ts/spatialnavigation/ListNavigationGroup.ts +46 -0
  157. package/src/ts/spatialnavigation/gethtmlelementsfromcomponents.ts +58 -0
  158. package/src/ts/spatialnavigation/keymap.ts +129 -0
  159. package/src/ts/spatialnavigation/navigationalgorithm.ts +146 -0
  160. package/src/ts/spatialnavigation/navigationgroup.ts +182 -0
  161. package/src/ts/spatialnavigation/nodeeventsubscriber.ts +76 -0
  162. package/src/ts/spatialnavigation/rootnavigationgroup.ts +37 -0
  163. package/src/ts/spatialnavigation/seekbarhandler.ts +162 -0
  164. package/src/ts/spatialnavigation/spatialnavigation.ts +153 -0
  165. package/src/ts/spatialnavigation/typeguards.ts +29 -0
  166. package/src/ts/spatialnavigation/types.ts +18 -0
  167. package/src/ts/uifactory.ts +116 -0
  168. package/src/ts/uimanager.ts +18 -3
  169. package/.travis.yml +0 -19
@@ -0,0 +1,55 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - '**'
7
+
8
+ workflow_dispatch:
9
+
10
+ workflow_call:
11
+
12
+ jobs:
13
+ test_and_build:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
18
+ - name: Checkout
19
+ uses: actions/checkout@v3
20
+
21
+ - name: Set up node.js
22
+ uses: actions/setup-node@v3.3.0
23
+ with:
24
+ node-version-file: .nvmrc
25
+
26
+ - name: Cache node modules
27
+ id: cache-nodemodules
28
+ uses: actions/cache@v3
29
+ env:
30
+ cache-name: cache-node-modules
31
+ with:
32
+ path: node_modules
33
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
34
+
35
+ - name: Install dependencies
36
+ if: steps.cache-nodemodules.outputs.cache-hit != 'true'
37
+ run: npm ci
38
+
39
+ - name: Test
40
+ run: npm test
41
+
42
+ - name: Build and prepare for a potential 'npm publish'
43
+ run: gulp npm-prepare
44
+
45
+ - name: Package artifact for upload
46
+ run: tar -czvf artifact.tar.gz dist
47
+ shell: bash
48
+
49
+ - uses: actions/upload-artifact@v3
50
+ with:
51
+ path: |
52
+ ${{ github.workspace }}/artifact.tar.gz
53
+ if-no-files-found: error
54
+ retention-days: 1
55
+
@@ -0,0 +1,34 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '!player/'
7
+ - 'v*'
8
+
9
+ jobs:
10
+ test_and_build:
11
+ uses: ./.github/workflows/ci.yml
12
+
13
+ download_and_publish:
14
+ needs: test_and_build
15
+ runs-on: ubuntu-latest
16
+
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v3
20
+
21
+ - uses: actions/download-artifact@v3
22
+ with:
23
+ path: .
24
+
25
+ - name: Unpackage artifact files
26
+ run: tar -xzvf artifact/artifact.tar.gz -C .
27
+ shell: bash
28
+
29
+ - name: Publish
30
+ run: ./publish.sh
31
+ shell: bash
32
+ env:
33
+ NPM_DRY_RUN: false
34
+ NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ v16.15.1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,25 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [3.40.0] - 2022-12-20
8
+
9
+ ### Added
10
+ - Support for spatial navigation
11
+ - SmartTV UI via `UIFactory.buildDefaultTvUI`
12
+
13
+ ### Changed
14
+ - Node.js from 10 to 16
15
+ - Typescript from ^3.9.6 to 4.3
16
+
17
+ ## [3.39.0] - 2022-12-01
18
+
19
+ ### Added
20
+ - `display` method on `ErrorMessageOverlay` to enable usage for application errors without a player error
21
+ - Replay button which can be used within the controlbar and works also during playback
22
+
23
+ ### Fixed
24
+ - Unnecessary DOM element creation on release
25
+
7
26
  ## [3.38.0] - 2022-08-30
8
27
 
9
28
  ### Fixed
@@ -795,6 +814,8 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
795
814
  ## 1.0.0 (2017-02-03)
796
815
  - First release
797
816
 
817
+ [3.40.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.39.0...v3.40.0
818
+ [3.39.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.38.0...v3.39.0
798
819
  [3.38.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.37.0...v3.38.0
799
820
  [3.37.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.36.0...v3.37.0
800
821
  [3.36.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.35.0...v3.36.0
package/README.md CHANGED
@@ -186,6 +186,7 @@ There are various conditions upon which the `UIManager` can automatically switch
186
186
  * `buildDefaultUI`: The default UI as used by the player by default
187
187
  * `buildDefaultCastReceiverUI`: A light UI specifically for Google Cast receivers
188
188
  * `buildDefaultSmallScreenUI`: A light UI specifically for small handheld devices
189
+ * `buildDefaultTvUI`: A UI specifically for big screens with remote control ans main input option
189
190
 
190
191
  You can easily test and switch between these UIs in the UI playground.
191
192
 
Binary file
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 26.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#FFFFFF;}
7
+ </style>
8
+ <path class="st0" d="M22.8,9.1C19,5.2,12.7,5.1,8.7,8.9V7.1c0-0.6-0.4-1-1-1s-1,0.4-1,1v4.5c0,0.6,0.4,1,1,1h4.5c0.6,0,1-0.4,1-1
9
+ s-0.4-1-1-1H9.8c1.6-1.6,3.7-2.5,5.9-2.5c4.4,0,8,3.7,8,8.1s-3.7,8-8.1,8c-3.5,0-6.5-2.3-7.6-5.4l0,0C7.9,18.4,7.5,18,7.1,18
10
+ c-0.5,0-1,0.4-1,1c0,0.1,0,0.2,0.1,0.3l0,0l0,0l0,0c0.5,1.3,1.2,2.5,2.2,3.5c3.8,4,10.1,4.1,14.1,0.3C26.5,19.5,26.6,13.2,22.8,9.1z
11
+ "/>
12
+ </svg>