bitmovin-player-ui 3.39.0 → 3.41.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 (160) 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 +17 -1
  5. package/README.md +1 -0
  6. package/artifact/artifact.tar.gz +0 -0
  7. package/dist/css/bitmovinplayer-ui.css +187 -32
  8. package/dist/css/bitmovinplayer-ui.min.css +1 -1
  9. package/dist/css/demo.css +1 -1
  10. package/dist/js/bitmovinplayer-ui.js +1440 -133
  11. package/dist/js/bitmovinplayer-ui.min.js +9 -8
  12. package/dist/js/bitmovinplayer-ui.min.js.map +1 -1
  13. package/dist/js/framework/browserutils.d.ts +4 -0
  14. package/dist/js/framework/browserutils.js +43 -1
  15. package/dist/js/framework/components/adclickoverlay.js +3 -1
  16. package/dist/js/framework/components/admessagelabel.js +3 -1
  17. package/dist/js/framework/components/adskipbutton.js +3 -1
  18. package/dist/js/framework/components/airplaytogglebutton.js +3 -1
  19. package/dist/js/framework/components/audioqualityselectbox.js +3 -1
  20. package/dist/js/framework/components/audiotracklistbox.js +3 -1
  21. package/dist/js/framework/components/audiotrackselectbox.js +3 -1
  22. package/dist/js/framework/components/bufferingoverlay.js +3 -1
  23. package/dist/js/framework/components/button.js +3 -1
  24. package/dist/js/framework/components/caststatusoverlay.js +3 -1
  25. package/dist/js/framework/components/casttogglebutton.js +3 -1
  26. package/dist/js/framework/components/castuicontainer.js +3 -1
  27. package/dist/js/framework/components/clickoverlay.js +3 -1
  28. package/dist/js/framework/components/closebutton.js +3 -1
  29. package/dist/js/framework/components/container.js +3 -1
  30. package/dist/js/framework/components/controlbar.js +3 -1
  31. package/dist/js/framework/components/errormessageoverlay.js +3 -1
  32. package/dist/js/framework/components/fullscreentogglebutton.js +3 -1
  33. package/dist/js/framework/components/hugeplaybacktogglebutton.js +3 -1
  34. package/dist/js/framework/components/hugereplaybutton.js +3 -1
  35. package/dist/js/framework/components/itemselectionlist.js +3 -1
  36. package/dist/js/framework/components/label.js +3 -1
  37. package/dist/js/framework/components/listbox.js +3 -1
  38. package/dist/js/framework/components/listselector.js +3 -1
  39. package/dist/js/framework/components/metadatalabel.js +3 -1
  40. package/dist/js/framework/components/pictureinpicturetogglebutton.js +3 -1
  41. package/dist/js/framework/components/playbackspeedselectbox.js +3 -1
  42. package/dist/js/framework/components/playbacktimelabel.js +3 -1
  43. package/dist/js/framework/components/playbacktogglebutton.js +3 -1
  44. package/dist/js/framework/components/playbacktoggleoverlay.js +3 -1
  45. package/dist/js/framework/components/recommendationoverlay.js +4 -2
  46. package/dist/js/framework/components/replaybutton.js +3 -1
  47. package/dist/js/framework/components/seekbar.js +3 -1
  48. package/dist/js/framework/components/seekbarlabel.js +3 -1
  49. package/dist/js/framework/components/selectbox.js +3 -1
  50. package/dist/js/framework/components/settingspanel.js +3 -1
  51. package/dist/js/framework/components/settingspanelitem.js +3 -1
  52. package/dist/js/framework/components/settingspanelpage.js +3 -1
  53. package/dist/js/framework/components/settingspanelpagebackbutton.js +3 -1
  54. package/dist/js/framework/components/settingspanelpagenavigatorbutton.js +3 -1
  55. package/dist/js/framework/components/settingspanelpageopenbutton.js +3 -1
  56. package/dist/js/framework/components/settingstogglebutton.js +3 -1
  57. package/dist/js/framework/components/spacer.js +3 -1
  58. package/dist/js/framework/components/subtitlelistbox.js +3 -1
  59. package/dist/js/framework/components/subtitleoverlay.js +3 -1
  60. package/dist/js/framework/components/subtitleselectbox.js +3 -1
  61. package/dist/js/framework/components/subtitlesettings/backgroundcolorselectbox.js +3 -1
  62. package/dist/js/framework/components/subtitlesettings/backgroundopacityselectbox.js +3 -1
  63. package/dist/js/framework/components/subtitlesettings/characteredgeselectbox.js +3 -1
  64. package/dist/js/framework/components/subtitlesettings/fontcolorselectbox.js +3 -1
  65. package/dist/js/framework/components/subtitlesettings/fontfamilyselectbox.js +3 -1
  66. package/dist/js/framework/components/subtitlesettings/fontopacityselectbox.js +3 -1
  67. package/dist/js/framework/components/subtitlesettings/fontsizeselectbox.js +3 -1
  68. package/dist/js/framework/components/subtitlesettings/subtitlesettingselectbox.js +3 -1
  69. package/dist/js/framework/components/subtitlesettings/subtitlesettingslabel.js +3 -1
  70. package/dist/js/framework/components/subtitlesettings/subtitlesettingsmanager.js +3 -1
  71. package/dist/js/framework/components/subtitlesettings/subtitlesettingspanelpage.js +3 -1
  72. package/dist/js/framework/components/subtitlesettings/subtitlesettingsresetbutton.js +3 -1
  73. package/dist/js/framework/components/subtitlesettings/windowcolorselectbox.js +3 -1
  74. package/dist/js/framework/components/subtitlesettings/windowopacityselectbox.js +3 -1
  75. package/dist/js/framework/components/titlebar.js +3 -1
  76. package/dist/js/framework/components/togglebutton.js +3 -1
  77. package/dist/js/framework/components/tvnoisecanvas.js +3 -1
  78. package/dist/js/framework/components/uicontainer.d.ts +2 -0
  79. package/dist/js/framework/components/uicontainer.js +16 -12
  80. package/dist/js/framework/components/videoqualityselectbox.js +3 -1
  81. package/dist/js/framework/components/volumecontrolbutton.js +3 -1
  82. package/dist/js/framework/components/volumeslider.js +3 -1
  83. package/dist/js/framework/components/volumetogglebutton.js +3 -1
  84. package/dist/js/framework/components/vrtogglebutton.js +3 -1
  85. package/dist/js/framework/components/watermark.js +3 -1
  86. package/dist/js/framework/eventdispatcher.js +3 -1
  87. package/dist/js/framework/main.d.ts +5 -0
  88. package/dist/js/framework/main.js +16 -2
  89. package/dist/js/framework/spatialnavigation/ListNavigationGroup.d.ts +14 -0
  90. package/dist/js/framework/spatialnavigation/ListNavigationGroup.js +66 -0
  91. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.d.ts +9 -0
  92. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.js +55 -0
  93. package/dist/js/framework/spatialnavigation/keymap.d.ts +5 -0
  94. package/dist/js/framework/spatialnavigation/keymap.js +126 -0
  95. package/dist/js/framework/spatialnavigation/navigationalgorithm.d.ts +18 -0
  96. package/dist/js/framework/spatialnavigation/navigationalgorithm.js +132 -0
  97. package/dist/js/framework/spatialnavigation/navigationgroup.d.ts +82 -0
  98. package/dist/js/framework/spatialnavigation/navigationgroup.js +142 -0
  99. package/dist/js/framework/spatialnavigation/nodeeventsubscriber.d.ts +30 -0
  100. package/dist/js/framework/spatialnavigation/nodeeventsubscriber.js +63 -0
  101. package/dist/js/framework/spatialnavigation/rootnavigationgroup.d.ts +15 -0
  102. package/dist/js/framework/spatialnavigation/rootnavigationgroup.js +61 -0
  103. package/dist/js/framework/spatialnavigation/seekbarhandler.d.ts +31 -0
  104. package/dist/js/framework/spatialnavigation/seekbarhandler.js +134 -0
  105. package/dist/js/framework/spatialnavigation/spatialnavigation.d.ts +53 -0
  106. package/dist/js/framework/spatialnavigation/spatialnavigation.js +139 -0
  107. package/dist/js/framework/spatialnavigation/typeguards.d.ts +11 -0
  108. package/dist/js/framework/spatialnavigation/typeguards.js +32 -0
  109. package/dist/js/framework/spatialnavigation/types.d.ts +16 -0
  110. package/dist/js/framework/spatialnavigation/types.js +15 -0
  111. package/dist/js/framework/subtitleutils.js +5 -7
  112. package/dist/js/framework/uifactory.d.ts +7 -0
  113. package/dist/js/framework/uifactory.js +119 -0
  114. package/dist/js/framework/uimanager.d.ts +4 -1
  115. package/dist/js/framework/uimanager.js +13 -10
  116. package/gulpfile.js +1 -1
  117. package/jest.config.js +3 -1
  118. package/package.json +17 -11
  119. package/publish.sh +10 -1
  120. package/setup-jest.ts +1 -0
  121. package/spec/errorutils.spec.ts +1 -1
  122. package/spec/helper/MockHelper.ts +1 -0
  123. package/spec/helper/mockClass.ts +49 -0
  124. package/spec/helper/mockComponent.ts +24 -0
  125. package/spec/spatialnavigation/gethtmlelementsfromcomponents.spec.ts +91 -0
  126. package/spec/spatialnavigation/keymap.spec.ts +35 -0
  127. package/spec/spatialnavigation/listnavigationgroup.spec.ts +55 -0
  128. package/spec/spatialnavigation/navigationalgorithm.spec.ts +91 -0
  129. package/spec/spatialnavigation/navigationgroup.spec.ts +157 -0
  130. package/spec/spatialnavigation/nodeeventsubscriber.spec.ts +41 -0
  131. package/spec/spatialnavigation/rootnavigationgroup.spec.ts +54 -0
  132. package/spec/spatialnavigation/seekbarhandler.spec.ts +212 -0
  133. package/spec/spatialnavigation/spatialnavigation.spec.ts +101 -0
  134. package/src/scss/skin-modern/_mixins.scss +1 -1
  135. package/src/scss/skin-modern/_skin-cast-receiver.scss +1 -1
  136. package/src/scss/skin-modern/_skin-smallscreen.scss +2 -2
  137. package/src/scss/skin-modern/_skin-tv.scss +100 -0
  138. package/src/scss/skin-modern/_skin.scss +1 -0
  139. package/src/scss/skin-modern/_variables.scss +1 -1
  140. package/src/scss/skin-modern/components/_bufferingoverlay.scss +1 -1
  141. package/src/scss/skin-modern/components/_seekbar.scss +3 -3
  142. package/src/scss/skin-modern/components/_subtitleoverlay-cea608.scss +2 -2
  143. package/src/scss/skin-modern/components/_subtitleoverlay.scss +55 -53
  144. package/src/ts/browserutils.ts +33 -1
  145. package/src/ts/components/uicontainer.ts +14 -11
  146. package/src/ts/main.ts +7 -0
  147. package/src/ts/spatialnavigation/ListNavigationGroup.ts +46 -0
  148. package/src/ts/spatialnavigation/gethtmlelementsfromcomponents.ts +58 -0
  149. package/src/ts/spatialnavigation/keymap.ts +129 -0
  150. package/src/ts/spatialnavigation/navigationalgorithm.ts +146 -0
  151. package/src/ts/spatialnavigation/navigationgroup.ts +182 -0
  152. package/src/ts/spatialnavigation/nodeeventsubscriber.ts +76 -0
  153. package/src/ts/spatialnavigation/rootnavigationgroup.ts +37 -0
  154. package/src/ts/spatialnavigation/seekbarhandler.ts +162 -0
  155. package/src/ts/spatialnavigation/spatialnavigation.ts +153 -0
  156. package/src/ts/spatialnavigation/typeguards.ts +29 -0
  157. package/src/ts/spatialnavigation/types.ts +18 -0
  158. package/src/ts/uifactory.ts +116 -0
  159. package/src/ts/uimanager.ts +12 -2
  160. 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,21 @@ 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.41.0] - 2023-01-12
8
+
9
+ ### Added
10
+ - Export Localization and SpatialNavigation to use in external UI configuration
11
+
12
+ ## [3.40.0] - 2022-12-20
13
+
14
+ ### Added
15
+ - Support for spatial navigation
16
+ - SmartTV UI via `UIFactory.buildDefaultTvUI`
17
+
18
+ ### Changed
19
+ - Node.js from 10 to 16
20
+ - Typescript from ^3.9.6 to 4.3
21
+
7
22
  ## [3.39.0] - 2022-12-01
8
23
 
9
24
  ### Added
@@ -804,7 +819,8 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
804
819
  ## 1.0.0 (2017-02-03)
805
820
  - First release
806
821
 
807
- [develop]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.38.0...HEAD
822
+ [3.41.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.40.0...v3.41.0
823
+ [3.40.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.39.0...v3.40.0
808
824
  [3.39.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.38.0...v3.39.0
809
825
  [3.38.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.37.0...v3.38.0
810
826
  [3.37.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.36.0...v3.37.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