bitmovin-player-ui 3.102.1-beta.1 → 3.103.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 (1200) hide show
  1. package/CHANGELOG.md +372 -2
  2. package/CONTRIBUTING.md +50 -55
  3. package/README.md +19 -18
  4. package/assets/images/ad-skip.svg +3 -0
  5. package/assets/images/airplay.svg +3 -0
  6. package/assets/images/angle-left.svg +1 -0
  7. package/assets/images/angle-right.svg +1 -0
  8. package/assets/images/audio-tracks.svg +3 -0
  9. package/assets/images/cast.svg +3 -0
  10. package/assets/images/check.svg +1 -0
  11. package/assets/images/close.svg +1 -0
  12. package/assets/images/fullscreen.svg +3 -0
  13. package/assets/images/fullscreenX.svg +3 -0
  14. package/assets/images/glasses.svg +3 -0
  15. package/assets/images/leaf.svg +3 -0
  16. package/assets/images/loader.svg +1 -0
  17. package/assets/images/logo.svg +15 -0
  18. package/assets/images/pause.svg +3 -0
  19. package/assets/images/pip.svg +3 -0
  20. package/assets/images/pipX.svg +3 -0
  21. package/assets/images/play.svg +3 -0
  22. package/assets/images/quickseek-back.svg +3 -0
  23. package/assets/images/quickseek-forward.svg +3 -0
  24. package/assets/images/replay-with-play.svg +4 -0
  25. package/assets/images/replay.svg +3 -0
  26. package/assets/images/settings.svg +3 -0
  27. package/assets/images/stop.svg +3 -0
  28. package/assets/images/subtitles.svg +3 -0
  29. package/assets/images/toggleOff.svg +1 -0
  30. package/assets/images/toggleOn.svg +1 -0
  31. package/assets/images/volume-low.svg +3 -0
  32. package/assets/images/volume-mute.svg +3 -0
  33. package/assets/images/volume.svg +3 -0
  34. package/dist/css/bitmovinplayer-ui.css +2 -2756
  35. package/dist/css/bitmovinplayer-ui.css.map +1 -0
  36. package/dist/css/demo.css +2 -7
  37. package/dist/css/demo.css.map +1 -0
  38. package/dist/demo.js +0 -0
  39. package/dist/index.html +906 -717
  40. package/dist/js/bitmovinplayer-ui.js +2 -15412
  41. package/dist/js/bitmovinplayer-ui.js.map +1 -0
  42. package/dist/js/framework/DOM.d.ts +251 -0
  43. package/dist/js/framework/DOM.js +470 -0
  44. package/dist/js/framework/EventDispatcher.js +205 -0
  45. package/dist/js/framework/UIConfig.d.ts +167 -0
  46. package/dist/js/framework/UIFactory.d.ts +67 -0
  47. package/dist/js/framework/UIFactory.js +709 -0
  48. package/dist/js/framework/UIManager.d.ts +323 -0
  49. package/dist/js/framework/UIManager.js +890 -0
  50. package/dist/js/framework/components/CastUIContainer.d.ts +15 -0
  51. package/dist/js/framework/components/CastUIContainer.js +85 -0
  52. package/dist/js/framework/components/Component.d.ts +383 -0
  53. package/dist/js/framework/components/Component.js +486 -0
  54. package/dist/js/framework/components/Container.d.ts +82 -0
  55. package/dist/js/framework/components/Container.js +177 -0
  56. package/dist/js/framework/components/ControlBar.d.ts +20 -0
  57. package/dist/js/framework/components/ControlBar.js +96 -0
  58. package/dist/js/framework/components/DummyComponent.d.ts +4 -0
  59. package/dist/js/framework/components/DummyComponent.js +41 -0
  60. package/dist/js/framework/components/EcoModeContainer.d.ts +23 -0
  61. package/dist/js/framework/components/EcoModeContainer.js +117 -0
  62. package/dist/js/framework/components/Icon.d.ts +17 -0
  63. package/dist/js/framework/components/Icon.js +39 -0
  64. package/dist/js/framework/components/RecommendationItem.d.ts +26 -0
  65. package/dist/js/framework/components/RecommendationItem.js +121 -0
  66. package/dist/js/framework/components/Spacer.d.ts +12 -0
  67. package/dist/js/framework/components/Spacer.js +46 -0
  68. package/dist/js/framework/components/TitleBar.d.ts +27 -0
  69. package/dist/js/framework/components/TitleBar.js +112 -0
  70. package/dist/js/framework/components/TvNoiseCanvas.d.ts +26 -0
  71. package/dist/js/framework/components/TvNoiseCanvas.js +106 -0
  72. package/dist/js/framework/components/UIContainer.d.ts +66 -0
  73. package/dist/js/framework/components/UIContainer.js +429 -0
  74. package/dist/js/framework/components/Watermark.d.ts +16 -0
  75. package/dist/js/framework/components/Watermark.js +42 -0
  76. package/dist/js/framework/components/ads/AdClickOverlay.d.ts +12 -0
  77. package/dist/js/framework/components/ads/AdClickOverlay.js +61 -0
  78. package/dist/js/framework/components/ads/AdControlBar.d.ts +49 -0
  79. package/dist/js/framework/components/ads/AdControlBar.js +129 -0
  80. package/dist/js/framework/components/ads/AdCounterLabel.d.ts +12 -0
  81. package/dist/js/framework/components/ads/AdCounterLabel.js +52 -0
  82. package/dist/js/framework/components/ads/AdMessageLabel.d.ts +12 -0
  83. package/dist/js/framework/components/ads/AdMessageLabel.js +58 -0
  84. package/dist/js/framework/components/ads/AdSkipButton.d.ts +29 -0
  85. package/dist/js/framework/components/ads/AdSkipButton.js +88 -0
  86. package/dist/js/framework/components/ads/AdStatusOverlay.d.ts +9 -0
  87. package/dist/js/framework/components/ads/AdStatusOverlay.js +44 -0
  88. package/dist/js/framework/components/buttons/AirPlayToggleButton.d.ts +12 -0
  89. package/dist/js/framework/components/buttons/AirPlayToggleButton.js +79 -0
  90. package/dist/js/framework/components/buttons/Button.d.ts +75 -0
  91. package/dist/js/framework/components/buttons/Button.js +149 -0
  92. package/dist/js/framework/components/buttons/CastToggleButton.d.ts +12 -0
  93. package/dist/js/framework/components/buttons/CastToggleButton.js +83 -0
  94. package/dist/js/framework/components/buttons/CloseButton.d.ts +24 -0
  95. package/dist/js/framework/components/buttons/CloseButton.js +45 -0
  96. package/dist/js/framework/components/buttons/EcoModeToggleButton.d.ts +14 -0
  97. package/dist/js/framework/components/buttons/EcoModeToggleButton.js +96 -0
  98. package/dist/js/framework/components/buttons/FullscreenToggleButton.d.ts +12 -0
  99. package/dist/js/framework/components/buttons/FullscreenToggleButton.js +73 -0
  100. package/dist/js/framework/components/buttons/HugePlaybackToggleButton.d.ts +18 -0
  101. package/dist/js/framework/components/buttons/HugePlaybackToggleButton.js +174 -0
  102. package/dist/js/framework/components/buttons/HugeReplayButton.d.ts +12 -0
  103. package/dist/js/framework/components/buttons/HugeReplayButton.js +45 -0
  104. package/dist/js/framework/components/buttons/PictureInPictureToggleButton.d.ts +12 -0
  105. package/dist/js/framework/components/buttons/PictureInPictureToggleButton.js +73 -0
  106. package/dist/js/framework/components/buttons/PlaybackToggleButton.d.ts +25 -0
  107. package/dist/js/framework/components/buttons/PlaybackToggleButton.js +140 -0
  108. package/dist/js/framework/components/buttons/QuickSeekButton.d.ts +27 -0
  109. package/dist/js/framework/components/buttons/QuickSeekButton.js +120 -0
  110. package/dist/js/framework/components/buttons/ReplayButton.d.ts +12 -0
  111. package/dist/js/framework/components/buttons/ReplayButton.js +67 -0
  112. package/dist/js/framework/components/buttons/SmallCenteredPlaybackToggleButton.d.ts +13 -0
  113. package/dist/js/framework/components/buttons/SmallCenteredPlaybackToggleButton.js +106 -0
  114. package/dist/js/framework/components/buttons/ToggleButton.d.ts +98 -0
  115. package/dist/js/framework/components/buttons/ToggleButton.js +180 -0
  116. package/dist/js/framework/components/buttons/VRToggleButton.d.ts +12 -0
  117. package/dist/js/framework/components/buttons/VRToggleButton.js +103 -0
  118. package/dist/js/framework/components/buttons/VolumeControlButton.d.ts +49 -0
  119. package/dist/js/framework/components/buttons/VolumeControlButton.js +116 -0
  120. package/dist/js/framework/components/buttons/VolumeToggleButton.d.ts +12 -0
  121. package/dist/js/framework/components/buttons/VolumeToggleButton.js +63 -0
  122. package/dist/js/framework/components/labels/Label.d.ts +100 -0
  123. package/dist/js/framework/components/labels/Label.js +176 -0
  124. package/dist/js/framework/components/labels/MetadataLabel.d.ts +36 -0
  125. package/dist/js/framework/components/labels/MetadataLabel.js +74 -0
  126. package/dist/js/framework/components/labels/PlaybackTimeLabel.d.ts +58 -0
  127. package/dist/js/framework/components/labels/PlaybackTimeLabel.js +193 -0
  128. package/dist/js/framework/components/lists/AudioTrackListBox.d.ts +13 -0
  129. package/dist/js/framework/components/lists/AudioTrackListBox.js +41 -0
  130. package/dist/js/framework/components/lists/ItemSelectionList.d.ts +16 -0
  131. package/dist/js/framework/components/lists/ItemSelectionList.js +117 -0
  132. package/dist/js/framework/components/lists/ListBox.d.ts +21 -0
  133. package/dist/js/framework/components/lists/ListBox.js +81 -0
  134. package/dist/js/framework/components/lists/ListSelector.d.ts +134 -0
  135. package/dist/js/framework/components/lists/ListSelector.js +241 -0
  136. package/dist/js/framework/components/lists/SubtitleListBox.d.ts +13 -0
  137. package/dist/js/framework/components/lists/SubtitleListBox.js +41 -0
  138. package/dist/js/framework/components/overlays/BufferingOverlay.d.ts +26 -0
  139. package/dist/js/framework/components/overlays/BufferingOverlay.js +84 -0
  140. package/dist/js/framework/components/overlays/CastStatusOverlay.d.ts +13 -0
  141. package/dist/js/framework/components/overlays/CastStatusOverlay.js +64 -0
  142. package/dist/js/framework/components/overlays/ClickOverlay.d.ts +27 -0
  143. package/dist/js/framework/components/overlays/ClickOverlay.js +61 -0
  144. package/dist/js/framework/components/overlays/DismissClickOverlay.d.ts +12 -0
  145. package/dist/js/framework/components/overlays/DismissClickOverlay.js +46 -0
  146. package/dist/js/framework/components/overlays/ErrorMessageOverlay.d.ts +86 -0
  147. package/dist/js/framework/components/overlays/ErrorMessageOverlay.js +107 -0
  148. package/dist/js/framework/components/overlays/PlaybackToggleOverlay.d.ts +21 -0
  149. package/dist/js/framework/components/overlays/PlaybackToggleOverlay.js +42 -0
  150. package/dist/js/framework/components/overlays/RecommendationOverlay.d.ts +16 -0
  151. package/dist/js/framework/components/overlays/RecommendationOverlay.js +95 -0
  152. package/dist/js/framework/components/overlays/SubtitleOverlay.d.ts +95 -0
  153. package/dist/js/framework/components/overlays/SubtitleOverlay.js +732 -0
  154. package/dist/js/framework/components/overlays/TouchControlOverlay.d.ts +56 -0
  155. package/dist/js/framework/components/overlays/TouchControlOverlay.js +196 -0
  156. package/dist/js/framework/components/seekbar/SeekBar.d.ts +256 -0
  157. package/dist/js/framework/components/seekbar/SeekBar.js +990 -0
  158. package/dist/js/framework/components/seekbar/SeekBarLabel.d.ts +53 -0
  159. package/dist/js/framework/components/seekbar/SeekBarLabel.js +221 -0
  160. package/dist/js/framework/components/seekbar/VolumeSlider.d.ts +35 -0
  161. package/dist/js/framework/components/seekbar/VolumeSlider.js +121 -0
  162. package/dist/js/framework/components/settings/AudioQualitySelectBox.d.ts +13 -0
  163. package/dist/js/framework/components/settings/AudioQualitySelectBox.js +76 -0
  164. package/dist/js/framework/components/settings/AudioTrackSelectBox.d.ts +13 -0
  165. package/dist/js/framework/components/settings/AudioTrackSelectBox.js +42 -0
  166. package/dist/js/framework/components/settings/DynamicSettingsPanelItem.d.ts +48 -0
  167. package/dist/js/framework/components/settings/DynamicSettingsPanelItem.js +134 -0
  168. package/dist/js/framework/components/settings/InteractiveSettingsPanelItem.d.ts +19 -0
  169. package/dist/js/framework/components/settings/InteractiveSettingsPanelItem.js +81 -0
  170. package/dist/js/framework/components/settings/PlaybackSpeedSelectBox.d.ts +17 -0
  171. package/dist/js/framework/components/settings/PlaybackSpeedSelectBox.js +79 -0
  172. package/dist/js/framework/components/settings/SelectBox.d.ts +40 -0
  173. package/dist/js/framework/components/settings/SelectBox.js +199 -0
  174. package/dist/js/framework/components/settings/SettingsPanel.d.ts +135 -0
  175. package/dist/js/framework/components/settings/SettingsPanel.js +390 -0
  176. package/dist/js/framework/components/settings/SettingsPanelItem.d.ts +62 -0
  177. package/dist/js/framework/components/settings/SettingsPanelItem.js +129 -0
  178. package/dist/js/framework/components/settings/SettingsPanelPage.d.ts +43 -0
  179. package/dist/js/framework/components/settings/SettingsPanelPage.js +138 -0
  180. package/dist/js/framework/components/settings/SettingsPanelPageBackButton.d.ts +10 -0
  181. package/dist/js/framework/components/settings/SettingsPanelPageBackButton.js +45 -0
  182. package/dist/js/framework/components/settings/SettingsPanelPageNavigatorButton.d.ts +51 -0
  183. package/dist/js/framework/components/settings/SettingsPanelPageNavigatorButton.js +60 -0
  184. package/dist/js/framework/components/settings/SettingsPanelPageOpenButton.d.ts +10 -0
  185. package/dist/js/framework/components/settings/SettingsPanelPageOpenButton.js +46 -0
  186. package/dist/js/framework/components/settings/SettingsPanelSelectOption.d.ts +32 -0
  187. package/dist/js/framework/components/settings/SettingsPanelSelectOption.js +59 -0
  188. package/dist/js/framework/components/settings/SettingsToggleButton.d.ts +30 -0
  189. package/dist/js/framework/components/settings/SettingsToggleButton.js +107 -0
  190. package/dist/js/framework/components/settings/SubtitleSelectBox.d.ts +13 -0
  191. package/dist/js/framework/components/settings/SubtitleSelectBox.js +44 -0
  192. package/dist/js/framework/components/settings/VideoQualitySelectBox.d.ts +19 -0
  193. package/dist/js/framework/components/settings/VideoQualitySelectBox.js +85 -0
  194. package/dist/js/framework/components/settings/subtitlesettings/BackgroundColorSelectBox.d.ts +12 -0
  195. package/dist/js/framework/components/settings/subtitlesettings/BackgroundColorSelectBox.js +81 -0
  196. package/dist/js/framework/components/settings/subtitlesettings/BackgroundOpacitySelectBox.d.ts +12 -0
  197. package/dist/js/framework/components/settings/subtitlesettings/BackgroundOpacitySelectBox.js +67 -0
  198. package/dist/js/framework/components/settings/subtitlesettings/CharacterEdgeColorSelectBox.d.ts +12 -0
  199. package/dist/js/framework/components/settings/subtitlesettings/CharacterEdgeColorSelectBox.js +70 -0
  200. package/dist/js/framework/components/settings/subtitlesettings/CharacterEdgeSelectBox.d.ts +12 -0
  201. package/dist/js/framework/components/settings/subtitlesettings/CharacterEdgeSelectBox.js +80 -0
  202. package/dist/js/framework/components/settings/subtitlesettings/FontColorSelectBox.d.ts +12 -0
  203. package/dist/js/framework/components/settings/subtitlesettings/FontColorSelectBox.js +81 -0
  204. package/dist/js/framework/components/settings/subtitlesettings/FontFamilySelectBox.d.ts +12 -0
  205. package/dist/js/framework/components/settings/subtitlesettings/FontFamilySelectBox.js +66 -0
  206. package/dist/js/framework/components/settings/subtitlesettings/FontOpacitySelectBox.d.ts +12 -0
  207. package/dist/js/framework/components/settings/subtitlesettings/FontOpacitySelectBox.js +66 -0
  208. package/dist/js/framework/components/settings/subtitlesettings/FontSizeSelectBox.d.ts +15 -0
  209. package/dist/js/framework/components/settings/subtitlesettings/FontSizeSelectBox.js +84 -0
  210. package/dist/js/framework/components/settings/subtitlesettings/FontStyleSelectBox.d.ts +12 -0
  211. package/dist/js/framework/components/settings/subtitlesettings/FontStyleSelectBox.js +64 -0
  212. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingSelectBox.d.ts +29 -0
  213. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingSelectBox.js +53 -0
  214. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingsPanelPage.d.ts +23 -0
  215. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingsPanelPage.js +138 -0
  216. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingsResetButton.d.ts +13 -0
  217. package/dist/js/framework/components/settings/subtitlesettings/SubtitleSettingsResetButton.js +47 -0
  218. package/dist/js/framework/components/settings/subtitlesettings/WindowColorSelectBox.d.ts +12 -0
  219. package/dist/js/framework/components/settings/subtitlesettings/WindowColorSelectBox.js +81 -0
  220. package/dist/js/framework/components/settings/subtitlesettings/WindowOpacitySelectBox.d.ts +12 -0
  221. package/dist/js/framework/components/settings/subtitlesettings/WindowOpacitySelectBox.js +67 -0
  222. package/dist/js/framework/localization/i18n.d.ts +28 -28
  223. package/dist/js/framework/localization/i18n.js +14 -17
  224. package/dist/js/framework/localization/languages/de.json +62 -61
  225. package/dist/js/framework/localization/languages/en.json +79 -78
  226. package/dist/js/framework/localization/languages/es.json +80 -79
  227. package/dist/js/framework/localization/languages/nl.json +76 -75
  228. package/dist/js/framework/main.d.ts +89 -85
  229. package/dist/js/framework/main.js +184 -172
  230. package/dist/js/framework/spatialnavigation/FocusableContainer.d.ts +21 -0
  231. package/dist/js/framework/spatialnavigation/FocusableContainer.js +44 -0
  232. package/dist/js/framework/spatialnavigation/NavigationAlgorithm.d.ts +18 -0
  233. package/dist/js/framework/spatialnavigation/NavigationAlgorithm.js +176 -0
  234. package/dist/js/framework/spatialnavigation/NavigationGroup.d.ts +109 -0
  235. package/dist/js/framework/spatialnavigation/NavigationGroup.js +272 -0
  236. package/dist/js/framework/spatialnavigation/RecommendationOverlayNavigationGroup.d.ts +8 -0
  237. package/dist/js/framework/spatialnavigation/RecommendationOverlayNavigationGroup.js +41 -0
  238. package/dist/js/framework/spatialnavigation/RootNavigationGroup.d.ts +16 -0
  239. package/dist/js/framework/spatialnavigation/RootNavigationGroup.js +67 -0
  240. package/dist/js/framework/spatialnavigation/SeekBarHandler.d.ts +31 -0
  241. package/dist/js/framework/spatialnavigation/SeekBarHandler.js +137 -0
  242. package/dist/js/framework/spatialnavigation/SettingsPanelNavigationGroup.d.ts +22 -0
  243. package/dist/js/framework/spatialnavigation/SettingsPanelNavigationGroup.js +102 -0
  244. package/dist/js/framework/spatialnavigation/SpatialNavigation.d.ts +53 -0
  245. package/dist/js/framework/spatialnavigation/SpatialNavigation.js +147 -0
  246. package/dist/js/framework/spatialnavigation/TypeGuards.d.ts +10 -0
  247. package/dist/js/framework/spatialnavigation/TypeGuards.js +34 -0
  248. package/dist/js/framework/spatialnavigation/getKeyMapForPlatform.js +136 -0
  249. package/dist/js/framework/spatialnavigation/helper/resolveAllComponents.d.ts +7 -0
  250. package/dist/js/framework/spatialnavigation/helper/resolveAllComponents.js +21 -0
  251. package/dist/js/framework/spatialnavigation/helper/toHtmlElement.d.ts +7 -0
  252. package/dist/js/framework/spatialnavigation/helper/toHtmlElement.js +11 -0
  253. package/dist/js/framework/spatialnavigation/types.d.ts +7 -1
  254. package/dist/js/framework/spatialnavigation/types.js +2 -2
  255. package/dist/js/framework/utils/ArrayUtils.js +25 -0
  256. package/dist/js/framework/utils/AudioTrackUtils.d.ts +22 -0
  257. package/dist/js/framework/utils/AudioTrackUtils.js +69 -0
  258. package/dist/js/framework/utils/BrowserUtils.d.ts +26 -0
  259. package/dist/js/framework/utils/BrowserUtils.js +179 -0
  260. package/dist/js/framework/utils/ErrorUtils.d.ts +10 -0
  261. package/dist/js/framework/utils/ErrorUtils.js +86 -0
  262. package/dist/js/framework/utils/FocusVisibilityTracker.js +63 -0
  263. package/dist/js/framework/utils/GroupPlaybackAPI.js +18 -0
  264. package/dist/js/framework/utils/Guid.js +11 -0
  265. package/dist/js/framework/utils/ImageLoader.js +61 -0
  266. package/dist/js/framework/utils/MobileV3PlayerAPI.d.ts +23 -0
  267. package/dist/js/framework/utils/MobileV3PlayerAPI.js +18 -0
  268. package/dist/js/framework/utils/PlayerUtils.d.ts +83 -0
  269. package/dist/js/framework/utils/PlayerUtils.js +193 -0
  270. package/dist/js/framework/utils/SeekBarController.d.ts +43 -0
  271. package/dist/js/framework/utils/SeekBarController.js +101 -0
  272. package/dist/js/framework/utils/StorageUtils.d.ts +37 -0
  273. package/dist/js/framework/utils/StorageUtils.js +88 -0
  274. package/dist/js/framework/utils/StringUtils.js +194 -0
  275. package/dist/js/framework/utils/SubtitleSettingsManager.d.ts +43 -0
  276. package/dist/js/framework/utils/SubtitleSettingsManager.js +188 -0
  277. package/dist/js/framework/utils/SubtitleUtils.d.ts +24 -0
  278. package/dist/js/framework/utils/SubtitleUtils.js +106 -0
  279. package/dist/js/framework/utils/TimelineMarkersHandler.d.ts +38 -0
  280. package/dist/js/framework/utils/TimelineMarkersHandler.js +224 -0
  281. package/dist/js/framework/utils/UIUtils.d.ts +19 -0
  282. package/dist/js/framework/utils/UIUtils.js +36 -0
  283. package/dist/js/framework/utils/VolumeController.d.ts +41 -0
  284. package/dist/js/framework/utils/VolumeController.js +119 -0
  285. package/dist/js/framework/utils/VttUtils.d.ts +13 -0
  286. package/dist/js/framework/utils/VttUtils.js +203 -0
  287. package/dist/js/framework/utils/getMinBufferLevel.js +17 -0
  288. package/dist/simple.html +34 -33
  289. package/docs/.nojekyll +1 -0
  290. package/docs/assets/hierarchy.js +1 -0
  291. package/docs/assets/highlight.css +71 -0
  292. package/docs/assets/icons.js +18 -0
  293. package/docs/assets/icons.svg +1 -0
  294. package/docs/assets/main.js +60 -0
  295. package/docs/assets/navigation.js +1 -0
  296. package/docs/assets/search.js +1 -0
  297. package/docs/assets/style.css +1633 -0
  298. package/docs/classes/AdClickOverlay.html +88 -0
  299. package/docs/classes/AdControlBar.html +107 -0
  300. package/docs/classes/AdCounterLabel.html +93 -0
  301. package/docs/classes/AdMessageLabel.html +93 -0
  302. package/docs/classes/AdSkipButton.html +84 -0
  303. package/docs/classes/AdStatusOverlay.html +113 -0
  304. package/docs/classes/AirPlayToggleButton.html +102 -0
  305. package/docs/classes/AudioQualitySelectBox.html +123 -0
  306. package/docs/classes/AudioTrackListBox.html +123 -0
  307. package/docs/classes/AudioTrackSelectBox.html +123 -0
  308. package/docs/classes/BackgroundColorSelectBox.html +124 -0
  309. package/docs/classes/BackgroundOpacitySelectBox.html +124 -0
  310. package/docs/classes/BrowserUtils.html +17 -0
  311. package/docs/classes/BufferingOverlay.html +98 -0
  312. package/docs/classes/Button.html +84 -0
  313. package/docs/classes/CastStatusOverlay.html +98 -0
  314. package/docs/classes/CastToggleButton.html +102 -0
  315. package/docs/classes/CastUIContainer.html +103 -0
  316. package/docs/classes/CharacterEdgeSelectBox.html +124 -0
  317. package/docs/classes/ClickOverlay.html +88 -0
  318. package/docs/classes/CloseButton.html +84 -0
  319. package/docs/classes/Component.html +83 -0
  320. package/docs/classes/Container.html +112 -0
  321. package/docs/classes/ControlBar.html +99 -0
  322. package/docs/classes/DynamicSettingsPanelItem.html +101 -0
  323. package/docs/classes/ErrorMessageOverlay.html +99 -0
  324. package/docs/classes/FontColorSelectBox.html +124 -0
  325. package/docs/classes/FontFamilySelectBox.html +124 -0
  326. package/docs/classes/FontOpacitySelectBox.html +124 -0
  327. package/docs/classes/FontSizeSelectBox.html +125 -0
  328. package/docs/classes/FullscreenToggleButton.html +102 -0
  329. package/docs/classes/HugePlaybackToggleButton.html +102 -0
  330. package/docs/classes/HugeReplayButton.html +84 -0
  331. package/docs/classes/I18n.html +5 -0
  332. package/docs/classes/Icon.html +80 -0
  333. package/docs/classes/ItemSelectionList.html +121 -0
  334. package/docs/classes/Label.html +99 -0
  335. package/docs/classes/ListBox.html +138 -0
  336. package/docs/classes/ListSelector.html +123 -0
  337. package/docs/classes/MetadataLabel.html +93 -0
  338. package/docs/classes/NavigationGroup.html +57 -0
  339. package/docs/classes/PictureInPictureToggleButton.html +102 -0
  340. package/docs/classes/PlaybackSpeedSelectBox.html +125 -0
  341. package/docs/classes/PlaybackTimeLabel.html +98 -0
  342. package/docs/classes/PlaybackToggleButton.html +102 -0
  343. package/docs/classes/PlaybackToggleOverlay.html +98 -0
  344. package/docs/classes/PlayerUtils.LiveStreamDetector.html +18 -0
  345. package/docs/classes/PlayerUtils.TimeShiftAvailabilityDetector.html +4 -0
  346. package/docs/classes/PlayerWrapper.html +9 -0
  347. package/docs/classes/QuickSeekButton.html +83 -0
  348. package/docs/classes/RecommendationItem.html +80 -0
  349. package/docs/classes/RecommendationOverlay.html +100 -0
  350. package/docs/classes/ReplayButton.html +84 -0
  351. package/docs/classes/RootNavigationGroup.html +35 -0
  352. package/docs/classes/SeekBar.html +120 -0
  353. package/docs/classes/SeekBarLabel.html +111 -0
  354. package/docs/classes/SelectBox.html +130 -0
  355. package/docs/classes/SettingsPanel.html +138 -0
  356. package/docs/classes/SettingsPanelItem.html +106 -0
  357. package/docs/classes/SettingsPanelNavigationGroup.html +36 -0
  358. package/docs/classes/SettingsPanelNavigationGroupConfig.html +5 -0
  359. package/docs/classes/SettingsPanelPage.html +110 -0
  360. package/docs/classes/SettingsPanelPageBackButton.html +87 -0
  361. package/docs/classes/SettingsPanelPageOpenButton.html +87 -0
  362. package/docs/classes/SettingsToggleButton.html +102 -0
  363. package/docs/classes/Spacer.html +79 -0
  364. package/docs/classes/SpatialNavigation.html +11 -0
  365. package/docs/classes/SubtitleListBox.html +123 -0
  366. package/docs/classes/SubtitleOverlay.html +110 -0
  367. package/docs/classes/SubtitleSelectBox.html +123 -0
  368. package/docs/classes/SubtitleSettingSelectBox.html +124 -0
  369. package/docs/classes/SubtitleSettingsPanelPage.html +109 -0
  370. package/docs/classes/SubtitleSettingsResetButton.html +84 -0
  371. package/docs/classes/TitleBar.html +98 -0
  372. package/docs/classes/ToggleButton.html +102 -0
  373. package/docs/classes/UIContainer.html +103 -0
  374. package/docs/classes/UIInstanceManager.html +32 -0
  375. package/docs/classes/UIManager.html +53 -0
  376. package/docs/classes/VRToggleButton.html +102 -0
  377. package/docs/classes/VideoQualitySelectBox.html +125 -0
  378. package/docs/classes/VolumeControlButton.html +103 -0
  379. package/docs/classes/VolumeSlider.html +113 -0
  380. package/docs/classes/VolumeToggleButton.html +102 -0
  381. package/docs/classes/Watermark.html +88 -0
  382. package/docs/classes/WindowColorSelectBox.html +124 -0
  383. package/docs/classes/WindowOpacitySelectBox.html +124 -0
  384. package/docs/enums/ButtonStyle.html +12 -0
  385. package/docs/enums/LabelStyle.html +9 -0
  386. package/docs/enums/MetadataLabelContent.html +6 -0
  387. package/docs/enums/NavigationDirection.html +3 -0
  388. package/docs/enums/PlaybackTimeLabelMode.html +10 -0
  389. package/docs/enums/PlayerUtils.PlayerState.html +6 -0
  390. package/docs/enums/UIUtils.KeyCode.html +8 -0
  391. package/docs/enums/ViewMode.html +6 -0
  392. package/docs/functions/ArrayUtils.remove.html +5 -0
  393. package/docs/functions/ErrorUtils.defaultMobileV3ErrorMessageTranslator.html +1 -0
  394. package/docs/functions/PlayerUtils.clampValueToRange.html +1 -0
  395. package/docs/functions/PlayerUtils.getCurrentTimeRelativeToSeekableRange.html +3 -0
  396. package/docs/functions/PlayerUtils.getSeekableRangeRespectingLive.html +3 -0
  397. package/docs/functions/PlayerUtils.getSeekableRangeStart.html +4 -0
  398. package/docs/functions/PlayerUtils.getState.html +1 -0
  399. package/docs/functions/PlayerUtils.isTimeShiftAvailable.html +1 -0
  400. package/docs/functions/StorageUtils.getItem.html +4 -0
  401. package/docs/functions/StorageUtils.getObject.html +8 -0
  402. package/docs/functions/StorageUtils.setItem.html +4 -0
  403. package/docs/functions/StorageUtils.setObject.html +8 -0
  404. package/docs/functions/StorageUtils.setStorageApiDisabled.html +1 -0
  405. package/docs/functions/StringUtils.replaceAdMessagePlaceholders.html +29 -0
  406. package/docs/functions/StringUtils.secondsToText.html +1 -0
  407. package/docs/functions/StringUtils.secondsToTime.html +5 -0
  408. package/docs/functions/UIFactory.buildCastReceiverUI.html +8 -0
  409. package/docs/functions/UIFactory.buildSmallScreenUI.html +10 -0
  410. package/docs/functions/UIFactory.buildSubtitleUI.html +7 -0
  411. package/docs/functions/UIFactory.buildTvUI.html +8 -0
  412. package/docs/functions/UIFactory.buildUI.html +14 -0
  413. package/docs/functions/UIUtils.traverseTree.html +1 -0
  414. package/docs/hierarchy.html +1 -0
  415. package/docs/index.html +33 -0
  416. package/docs/interfaces/ActiveUiChangedArgs.html +5 -0
  417. package/docs/interfaces/AdControlBarConfig.html +28 -0
  418. package/docs/interfaces/AdSkipButtonConfig.html +40 -0
  419. package/docs/interfaces/BufferingOverlayConfig.html +32 -0
  420. package/docs/interfaces/ButtonConfig.html +34 -0
  421. package/docs/interfaces/ClickOverlayConfig.html +36 -0
  422. package/docs/interfaces/CloseButtonConfig.html +36 -0
  423. package/docs/interfaces/ComponentConfig.html +27 -0
  424. package/docs/interfaces/ComponentFocusChangedEventArgs.html +3 -0
  425. package/docs/interfaces/ComponentHoverChangedEventArgs.html +3 -0
  426. package/docs/interfaces/ContainerConfig.html +28 -0
  427. package/docs/interfaces/ControlBarConfig.html +28 -0
  428. package/docs/interfaces/DynamicSettingsPanelItemConfig.html +44 -0
  429. package/docs/interfaces/ErrorMessageMap.html +1 -0
  430. package/docs/interfaces/ErrorMessageOverlayConfig.html +79 -0
  431. package/docs/interfaces/ErrorMessageTranslator.html +1 -0
  432. package/docs/interfaces/ExternalRecommendationLink.html +7 -0
  433. package/docs/interfaces/IconConfig.html +29 -0
  434. package/docs/interfaces/InternalUIConfig.html +57 -0
  435. package/docs/interfaces/LabelConfig.html +33 -0
  436. package/docs/interfaces/ListBoxConfig.html +42 -0
  437. package/docs/interfaces/ListItem.html +6 -0
  438. package/docs/interfaces/ListItemFilter.html +7 -0
  439. package/docs/interfaces/ListItemLabelTranslator.html +7 -0
  440. package/docs/interfaces/ListSelectorConfig.html +29 -0
  441. package/docs/interfaces/LocalizationConfig.html +7 -0
  442. package/docs/interfaces/MetadataLabelConfig.html +35 -0
  443. package/docs/interfaces/PlaybackTimeLabelConfig.html +37 -0
  444. package/docs/interfaces/PlaybackToggleButtonConfig.html +52 -0
  445. package/docs/interfaces/PlaybackToggleOverlayConfig.html +31 -0
  446. package/docs/interfaces/PlayerUtils.LiveStreamDetectorEventArgs.html +2 -0
  447. package/docs/interfaces/PlayerUtils.TimeShiftAvailabilityChangedArgs.html +2 -0
  448. package/docs/interfaces/QuickSeekButtonConfig.html +37 -0
  449. package/docs/interfaces/RecommendationConfig.html +14 -0
  450. package/docs/interfaces/RecommendationItemConfig.html +28 -0
  451. package/docs/interfaces/SeekBarConfig.html +48 -0
  452. package/docs/interfaces/SeekBarLabelConfig.html +28 -0
  453. package/docs/interfaces/SeekBarMarker.html +5 -0
  454. package/docs/interfaces/SeekPreviewArgs.html +5 -0
  455. package/docs/interfaces/SeekPreviewEventArgs.html +8 -0
  456. package/docs/interfaces/SettingsPanelConfig.html +35 -0
  457. package/docs/interfaces/SettingsPanelItemConfig.html +40 -0
  458. package/docs/interfaces/SettingsPanelPageConfig.html +30 -0
  459. package/docs/interfaces/SettingsToggleButtonConfig.html +54 -0
  460. package/docs/interfaces/SubtitleSettingSelectBoxConfig.html +29 -0
  461. package/docs/interfaces/SubtitleSettingsPanelPageConfig.html +32 -0
  462. package/docs/interfaces/TimelineMarker.html +21 -0
  463. package/docs/interfaces/TitleBarConfig.html +32 -0
  464. package/docs/interfaces/ToggleButtonConfig.html +49 -0
  465. package/docs/interfaces/UIConditionContext.html +20 -0
  466. package/docs/interfaces/UIConditionResolver.html +4 -0
  467. package/docs/interfaces/UIConfig.html +54 -0
  468. package/docs/interfaces/UIContainerConfig.html +42 -0
  469. package/docs/interfaces/UIUtils.TreeTraversalCallback.html +1 -0
  470. package/docs/interfaces/UIVariant.html +5 -0
  471. package/docs/interfaces/ViewModeChangedEventArgs.html +3 -0
  472. package/docs/interfaces/Vocabularies.html +1 -0
  473. package/docs/interfaces/Vocabulary.html +72 -0
  474. package/docs/interfaces/VolumeControlButtonConfig.html +37 -0
  475. package/docs/interfaces/VolumeSliderConfig.html +55 -0
  476. package/docs/interfaces/WatermarkConfig.html +36 -0
  477. package/docs/interfaces/WrappedPlayer.html +367 -0
  478. package/docs/media/CHANGELOG.md +1709 -0
  479. package/docs/media/CONTRIBUTING.md +56 -0
  480. package/docs/modules/ArrayUtils.html +1 -0
  481. package/docs/modules/ErrorUtils.html +1 -0
  482. package/docs/modules/PlayerUtils.html +1 -0
  483. package/docs/modules/StorageUtils.html +1 -0
  484. package/docs/modules/StringUtils.html +1 -0
  485. package/docs/modules/UIFactory.html +2 -0
  486. package/docs/modules/UIUtils.html +1 -0
  487. package/docs/modules.html +1 -0
  488. package/docs/types/CustomVocabulary.html +1 -0
  489. package/docs/types/LocalizableText.html +1 -0
  490. package/docs/types/Localizer.html +1 -0
  491. package/docs/variables/ErrorUtils.defaultErrorMessages.html +1 -0
  492. package/docs/variables/ErrorUtils.defaultWebErrorMessageTranslator.html +1 -0
  493. package/docs/variables/StringUtils.FORMAT_HHMMSS.html +1 -0
  494. package/docs/variables/StringUtils.FORMAT_MMSS.html +1 -0
  495. package/docs/variables/i18n.html +1 -0
  496. package/docs/variables/version.html +1 -0
  497. package/package.json +36 -28
  498. package/src/html/index.html +906 -717
  499. package/src/html/simple.html +34 -33
  500. package/src/html/tts-testing.html +341 -0
  501. package/src/scss/_ads.scss +50 -0
  502. package/src/scss/_cast-receiver.scss +88 -0
  503. package/src/scss/_mixins.scss +164 -0
  504. package/src/scss/_small-screen.scss +60 -0
  505. package/src/scss/_tv.scss +8 -0
  506. package/src/scss/_variables.scss +134 -0
  507. package/src/scss/bitmovinplayer-ui.scss +150 -1
  508. package/src/scss/components/_container.scss +9 -0
  509. package/src/scss/components/_control-bar.scss +51 -0
  510. package/src/scss/components/_icon.scss +25 -0
  511. package/src/scss/components/_title-bar.scss +63 -0
  512. package/src/scss/components/_uicontainer.scss +43 -0
  513. package/src/scss/components/_watermark.scss +26 -0
  514. package/src/scss/components/ads/_ad-control-bar.scss +71 -0
  515. package/src/scss/components/ads/_ad-counter-label.scss +5 -0
  516. package/src/scss/components/ads/_ad-message-label.scss +16 -0
  517. package/src/scss/components/ads/_ad-skip-button.scss +32 -0
  518. package/src/scss/components/ads/_ad-status-overlay.scss +23 -0
  519. package/src/scss/components/buttons/_airplay-toggle-button.scss +21 -0
  520. package/src/scss/components/buttons/_audio-track-list-box-toggle-button.scss +15 -0
  521. package/src/scss/components/buttons/_audio-tracks-settings-panel-toggle-button.scss +12 -0
  522. package/src/scss/components/buttons/_button.scss +49 -0
  523. package/src/scss/components/buttons/_cast-toggle-button.scss +14 -0
  524. package/src/scss/components/buttons/_close-button.scss +34 -0
  525. package/src/scss/components/buttons/_eco-mode-toggle-button.scss +42 -0
  526. package/src/scss/components/buttons/_fullscreen-toggle-button.scss +20 -0
  527. package/src/scss/components/buttons/_huge-playback-toggle-button.scss +92 -0
  528. package/src/scss/components/buttons/_huge-replay-button.scss +17 -0
  529. package/src/scss/components/buttons/_picture-in-picture-toggle-button.scss +20 -0
  530. package/src/scss/components/buttons/_playback-toggle-button.scss +26 -0
  531. package/src/scss/components/buttons/_quick-seek-button.scss +22 -0
  532. package/src/scss/components/buttons/_replay-button.scss +14 -0
  533. package/src/scss/components/buttons/_small-centered-playback-toggle-button.scss +44 -0
  534. package/src/scss/components/buttons/_subtitle-list-box-toggle-button.scss +15 -0
  535. package/src/scss/components/buttons/_volume-control-button.scss +30 -0
  536. package/src/scss/components/buttons/_volume-toggle-button.scss +44 -0
  537. package/src/scss/components/buttons/_vr-toggle-button.scss +15 -0
  538. package/src/scss/components/labels/_label.scss +28 -0
  539. package/src/scss/components/labels/_playback-time-label.scss +24 -0
  540. package/src/scss/components/overlays/_buffering-overlay.scss +80 -0
  541. package/src/scss/components/overlays/_cast-status-overlay.scss +27 -0
  542. package/src/scss/components/overlays/_click-overlay.scss +7 -0
  543. package/src/scss/components/overlays/_click-to-dismiss-overlay.scss +7 -0
  544. package/src/scss/components/overlays/_error-message-overlay.scss +44 -0
  545. package/src/scss/components/overlays/_playback-toggle-overlay.scss +10 -0
  546. package/src/scss/components/overlays/_recommendation-overlay.scss +110 -0
  547. package/src/scss/components/overlays/_subtitle-overlay-cea608.scss +45 -0
  548. package/src/scss/components/overlays/_subtitle-overlay.scss +77 -0
  549. package/src/scss/components/overlays/_touch-control-overlay.scss +77 -0
  550. package/src/scss/components/seekbar/_seek-bar-label.scss +68 -0
  551. package/src/scss/components/seekbar/_seek-bar.scss +164 -0
  552. package/src/scss/components/seekbar/_volume-slider.scss +21 -0
  553. package/src/scss/components/settings/_select-box.scss +22 -0
  554. package/src/scss/components/settings/_settings-panel-item.scss +80 -0
  555. package/src/scss/components/settings/_settings-panel-navigation-text-button.scss +21 -0
  556. package/src/scss/components/settings/_settings-panel-page-back-button.scss +31 -0
  557. package/src/scss/components/settings/_settings-panel-page-open-button.scss +25 -0
  558. package/src/scss/components/settings/_settings-panel-page.scss +13 -0
  559. package/src/scss/components/settings/_settings-panel.scss +50 -0
  560. package/src/scss/components/settings/_settings-toggle-button.scss +25 -0
  561. package/src/scss/components/settings/subtitlesettings/_subtitle-overlay-settings.scss +155 -0
  562. package/src/scss/components/settings/subtitlesettings/_subtitle-settings.scss +2 -0
  563. package/src/scss/demo.scss +9 -0
  564. package/src/ts/DOM.ts +623 -0
  565. package/src/ts/EventDispatcher.ts +270 -0
  566. package/src/ts/UIConfig.ts +172 -0
  567. package/src/ts/UIFactory.ts +764 -0
  568. package/src/ts/UIManager.ts +1067 -0
  569. package/src/ts/components/CastUIContainer.ts +80 -0
  570. package/src/ts/components/Component.ts +621 -0
  571. package/src/ts/components/Container.ts +201 -0
  572. package/src/ts/components/ControlBar.ts +99 -0
  573. package/src/ts/components/DummyComponent.ts +24 -0
  574. package/src/ts/components/EcoModeContainer.ts +134 -0
  575. package/src/ts/components/Icon.ts +35 -0
  576. package/src/ts/components/RecommendationItem.ts +129 -0
  577. package/src/ts/components/Spacer.ts +32 -0
  578. package/src/ts/components/TitleBar.ts +121 -0
  579. package/src/ts/components/TvNoiseCanvas.ts +108 -0
  580. package/src/ts/components/UIContainer.ts +495 -0
  581. package/src/ts/components/Watermark.ts +34 -0
  582. package/src/ts/components/ads/AdClickOverlay.ts +52 -0
  583. package/src/ts/components/ads/AdControlBar.ts +116 -0
  584. package/src/ts/components/ads/AdCounterLabel.ts +38 -0
  585. package/src/ts/components/ads/AdMessageLabel.ts +46 -0
  586. package/src/ts/components/ads/AdSkipButton.ts +97 -0
  587. package/src/ts/components/ads/AdStatusOverlay.ts +33 -0
  588. package/src/ts/components/buttons/AirPlayToggleButton.ts +67 -0
  589. package/src/ts/components/buttons/Button.ts +175 -0
  590. package/src/ts/components/buttons/CastToggleButton.ts +70 -0
  591. package/src/ts/components/buttons/CloseButton.ts +47 -0
  592. package/src/ts/components/buttons/EcoModeToggleButton.ts +92 -0
  593. package/src/ts/components/buttons/FullscreenToggleButton.ts +69 -0
  594. package/src/ts/components/buttons/HugePlaybackToggleButton.ts +177 -0
  595. package/src/ts/components/buttons/HugeReplayButton.ts +33 -0
  596. package/src/ts/components/buttons/PictureInPictureToggleButton.ts +72 -0
  597. package/src/ts/components/buttons/PlaybackToggleButton.ts +153 -0
  598. package/src/ts/components/buttons/QuickSeekButton.ts +139 -0
  599. package/src/ts/components/buttons/ReplayButton.ts +54 -0
  600. package/src/ts/components/buttons/SmallCenteredPlaybackToggleButton.ts +103 -0
  601. package/src/ts/components/buttons/ToggleButton.ts +217 -0
  602. package/src/ts/components/buttons/VRToggleButton.ts +94 -0
  603. package/src/ts/components/buttons/VolumeControlButton.ts +133 -0
  604. package/src/ts/components/buttons/VolumeToggleButton.ts +49 -0
  605. package/src/ts/components/labels/Label.ts +195 -0
  606. package/src/ts/components/labels/MetadataLabel.ts +77 -0
  607. package/src/ts/components/labels/PlaybackTimeLabel.ts +212 -0
  608. package/src/ts/components/lists/AudioTrackListBox.ts +25 -0
  609. package/src/ts/components/lists/ItemSelectionList.ts +116 -0
  610. package/src/ts/components/lists/ListBox.ts +96 -0
  611. package/src/ts/components/lists/ListSelector.ts +279 -0
  612. package/src/ts/components/lists/SubtitleListBox.ts +26 -0
  613. package/src/ts/components/overlays/BufferingOverlay.ts +93 -0
  614. package/src/ts/components/overlays/CastStatusOverlay.ts +53 -0
  615. package/src/ts/components/overlays/ClickOverlay.ts +60 -0
  616. package/src/ts/components/overlays/DismissClickOverlay.ts +40 -0
  617. package/src/ts/components/overlays/ErrorMessageOverlay.ts +192 -0
  618. package/src/ts/components/overlays/PlaybackToggleOverlay.ts +40 -0
  619. package/src/ts/components/overlays/RecommendationOverlay.ts +91 -0
  620. package/src/ts/components/overlays/SubtitleOverlay.ts +851 -0
  621. package/src/ts/components/overlays/TouchControlOverlay.ts +262 -0
  622. package/src/ts/components/seekbar/SeekBar.ts +1241 -0
  623. package/src/ts/components/seekbar/SeekBarLabel.ts +255 -0
  624. package/src/ts/components/seekbar/VolumeSlider.ts +149 -0
  625. package/src/ts/components/settings/AudioQualitySelectBox.ts +70 -0
  626. package/src/ts/components/settings/AudioTrackSelectBox.ts +30 -0
  627. package/src/ts/components/settings/DynamicSettingsPanelItem.ts +171 -0
  628. package/src/ts/components/settings/InteractiveSettingsPanelItem.ts +65 -0
  629. package/src/ts/components/settings/PlaybackSpeedSelectBox.ts +72 -0
  630. package/src/ts/components/settings/SelectBox.ts +218 -0
  631. package/src/ts/components/settings/SettingsPanel.ts +462 -0
  632. package/src/ts/components/settings/SettingsPanelItem.ts +162 -0
  633. package/src/ts/components/settings/SettingsPanelPage.ts +138 -0
  634. package/src/ts/components/settings/SettingsPanelPageBackButton.ts +32 -0
  635. package/src/ts/components/settings/SettingsPanelPageNavigatorButton.ts +73 -0
  636. package/src/ts/components/settings/SettingsPanelPageOpenButton.ts +34 -0
  637. package/src/ts/components/settings/SettingsPanelSelectOption.ts +70 -0
  638. package/src/ts/components/settings/SettingsToggleButton.ts +119 -0
  639. package/src/ts/components/settings/SubtitleSelectBox.ts +32 -0
  640. package/src/ts/components/settings/VideoQualitySelectBox.ts +84 -0
  641. package/src/ts/components/settings/subtitlesettings/BackgroundColorSelectBox.ts +73 -0
  642. package/src/ts/components/settings/subtitlesettings/BackgroundOpacitySelectBox.ts +57 -0
  643. package/src/ts/components/settings/subtitlesettings/CharacterEdgeColorSelectBox.ts +60 -0
  644. package/src/ts/components/settings/subtitlesettings/CharacterEdgeSelectBox.ts +72 -0
  645. package/src/ts/components/settings/subtitlesettings/FontColorSelectBox.ts +73 -0
  646. package/src/ts/components/settings/subtitlesettings/FontFamilySelectBox.ts +56 -0
  647. package/src/ts/components/settings/subtitlesettings/FontOpacitySelectBox.ts +56 -0
  648. package/src/ts/components/settings/subtitlesettings/FontSizeSelectBox.ts +79 -0
  649. package/src/ts/components/settings/subtitlesettings/FontStyleSelectBox.ts +53 -0
  650. package/src/ts/components/settings/subtitlesettings/SubtitleSettingSelectBox.ts +52 -0
  651. package/src/ts/components/settings/subtitlesettings/SubtitleSettingsPanelPage.ts +195 -0
  652. package/src/ts/components/settings/subtitlesettings/SubtitleSettingsResetButton.ts +37 -0
  653. package/src/ts/components/settings/subtitlesettings/WindowColorSelectBox.ts +73 -0
  654. package/src/ts/components/settings/subtitlesettings/WindowOpacitySelectBox.ts +57 -0
  655. package/src/ts/localization/i18n.ts +46 -48
  656. package/src/ts/localization/languages/de.json +2 -1
  657. package/src/ts/localization/languages/en.json +15 -14
  658. package/src/ts/localization/languages/es.json +15 -14
  659. package/src/ts/localization/languages/nl.json +2 -1
  660. package/src/ts/main.ts +132 -86
  661. package/src/ts/spatialnavigation/FocusableContainer.ts +38 -0
  662. package/src/ts/spatialnavigation/NavigationAlgorithm.ts +174 -0
  663. package/src/ts/spatialnavigation/NavigationGroup.ts +322 -0
  664. package/src/ts/spatialnavigation/NodeEventSubscriber.ts +76 -0
  665. package/src/ts/spatialnavigation/RecommendationOverlayNavigationGroup.ts +29 -0
  666. package/src/ts/spatialnavigation/RootNavigationGroup.ts +41 -0
  667. package/src/ts/spatialnavigation/SeekBarHandler.ts +165 -0
  668. package/src/ts/spatialnavigation/SettingsPanelNavigationGroup.ts +91 -0
  669. package/src/ts/spatialnavigation/SpatialNavigation.ts +158 -0
  670. package/src/ts/spatialnavigation/TypeGuards.ts +32 -0
  671. package/src/ts/spatialnavigation/getKeyMapForPlatform.ts +143 -0
  672. package/src/ts/spatialnavigation/helper/resolveAllComponents.ts +21 -0
  673. package/src/ts/spatialnavigation/helper/toHtmlElement.ts +10 -0
  674. package/src/ts/spatialnavigation/types.ts +8 -1
  675. package/src/ts/utils/AudioTrackUtils.ts +79 -0
  676. package/src/ts/utils/BrowserUtils.ts +141 -0
  677. package/src/ts/utils/ErrorUtils.ts +88 -0
  678. package/src/ts/utils/FocusVisibilityTracker.ts +69 -0
  679. package/src/ts/utils/GroupPlaybackAPI.ts +92 -0
  680. package/src/ts/utils/Guid.ts +7 -0
  681. package/src/ts/utils/ImageLoader.ts +73 -0
  682. package/src/ts/utils/MobileV3PlayerAPI.ts +37 -0
  683. package/src/ts/utils/PlayerUtils.ts +204 -0
  684. package/src/ts/utils/SeekBarController.ts +124 -0
  685. package/src/ts/utils/StorageUtils.ts +88 -0
  686. package/src/ts/utils/StringUtils.ts +212 -0
  687. package/src/ts/utils/SubtitleSettingsManager.ts +177 -0
  688. package/src/ts/utils/SubtitleUtils.ts +111 -0
  689. package/src/ts/utils/TimelineMarkersHandler.ts +288 -0
  690. package/src/ts/utils/Timeout.ts +109 -0
  691. package/src/ts/utils/UIUtils.ts +38 -0
  692. package/src/ts/utils/VolumeController.ts +131 -0
  693. package/src/ts/utils/VttUtils.ts +243 -0
  694. package/src/ts/utils/getMinBufferLevel.ts +21 -0
  695. package/tsconfig.json +4 -6
  696. package/typedoc.json +2 -13
  697. package/webpack.config.js +167 -0
  698. package/.github/ISSUE_TEMPLATE/config.yml +0 -11
  699. package/.github/PULL_REQUEST_TEMPLATE.md +0 -7
  700. package/.github/actions/setup-dependencies/action.yml +0 -15
  701. package/.github/scripts/calculateVersionNumber.js +0 -61
  702. package/.github/scripts/defineVersion.js +0 -29
  703. package/.github/scripts/detectReleaseLevel.js +0 -46
  704. package/.github/scripts/notifySlackTeam.js +0 -106
  705. package/.github/scripts/updateChangelog.js +0 -24
  706. package/.github/workflows/ci.yml +0 -55
  707. package/.github/workflows/release.yml +0 -238
  708. package/.github/workflows/tag-release-version.yml +0 -100
  709. package/.husky/pre-commit +0 -2
  710. package/assets/skin-modern/images/airplay.svg +0 -21
  711. package/assets/skin-modern/images/airplayX.svg +0 -27
  712. package/assets/skin-modern/images/audio-tracks.svg +0 -1
  713. package/assets/skin-modern/images/audio-tracksX.svg +0 -1
  714. package/assets/skin-modern/images/chromecast.svg +0 -20
  715. package/assets/skin-modern/images/chromecastX.svg +0 -23
  716. package/assets/skin-modern/images/close.svg +0 -20
  717. package/assets/skin-modern/images/closeX.svg +0 -20
  718. package/assets/skin-modern/images/dot-play.svg +0 -20
  719. package/assets/skin-modern/images/dot-volume.svg +0 -17
  720. package/assets/skin-modern/images/fullscreen.svg +0 -28
  721. package/assets/skin-modern/images/fullscreenX.svg +0 -34
  722. package/assets/skin-modern/images/glasses.svg +0 -31
  723. package/assets/skin-modern/images/glassesX.svg +0 -23
  724. package/assets/skin-modern/images/leaf.svg +0 -3
  725. package/assets/skin-modern/images/loader.svg +0 -19
  726. package/assets/skin-modern/images/logo.svg +0 -15
  727. package/assets/skin-modern/images/music-low.svg +0 -25
  728. package/assets/skin-modern/images/music-lowX.svg +0 -27
  729. package/assets/skin-modern/images/music-off.svg +0 -33
  730. package/assets/skin-modern/images/music-offX.svg +0 -35
  731. package/assets/skin-modern/images/music-on.svg +0 -30
  732. package/assets/skin-modern/images/music-onX.svg +0 -32
  733. package/assets/skin-modern/images/next.svg +0 -21
  734. package/assets/skin-modern/images/nextX.svg +0 -24
  735. package/assets/skin-modern/images/pause.svg +0 -20
  736. package/assets/skin-modern/images/pauseX.svg +0 -23
  737. package/assets/skin-modern/images/picinpic1.svg +0 -21
  738. package/assets/skin-modern/images/picinpic1X.svg +0 -27
  739. package/assets/skin-modern/images/picinpic2.svg +0 -21
  740. package/assets/skin-modern/images/picinpic2X.svg +0 -27
  741. package/assets/skin-modern/images/play.svg +0 -15
  742. package/assets/skin-modern/images/playX.svg +0 -17
  743. package/assets/skin-modern/images/play_big.svg +0 -18
  744. package/assets/skin-modern/images/play_bigX.svg +0 -19
  745. package/assets/skin-modern/images/playlist.svg +0 -20
  746. package/assets/skin-modern/images/playlistX.svg +0 -27
  747. package/assets/skin-modern/images/prev.svg +0 -21
  748. package/assets/skin-modern/images/prevX.svg +0 -24
  749. package/assets/skin-modern/images/quickseek-fastforward.svg +0 -2
  750. package/assets/skin-modern/images/quickseek-rewind.svg +0 -2
  751. package/assets/skin-modern/images/replay-nocircle.svg +0 -12
  752. package/assets/skin-modern/images/replay.svg +0 -23
  753. package/assets/skin-modern/images/replayX.svg +0 -24
  754. package/assets/skin-modern/images/settings.svg +0 -30
  755. package/assets/skin-modern/images/settingsX.svg +0 -40
  756. package/assets/skin-modern/images/stop.svg +0 -14
  757. package/assets/skin-modern/images/stopX.svg +0 -16
  758. package/assets/skin-modern/images/subtitles.svg +0 -1
  759. package/assets/skin-modern/images/subtitlesX.svg +0 -1
  760. package/assets/skin-modern/images/toggleOff.svg +0 -17
  761. package/assets/skin-modern/images/toggleOn.svg +0 -17
  762. package/dist/css/bitmovinplayer-ui.min.css +0 -2
  763. package/dist/css/demo.min.css +0 -1
  764. package/dist/js/bitmovinplayer-ui.min.js +0 -2
  765. package/dist/js/bitmovinplayer-ui.min.js.map +0 -1
  766. package/dist/js/framework/arrayutils.js +0 -25
  767. package/dist/js/framework/audiotrackutils.d.ts +0 -22
  768. package/dist/js/framework/audiotrackutils.js +0 -69
  769. package/dist/js/framework/browserutils.d.ts +0 -21
  770. package/dist/js/framework/browserutils.js +0 -122
  771. package/dist/js/framework/components/adclickoverlay.d.ts +0 -12
  772. package/dist/js/framework/components/adclickoverlay.js +0 -61
  773. package/dist/js/framework/components/admessagelabel.d.ts +0 -12
  774. package/dist/js/framework/components/admessagelabel.js +0 -62
  775. package/dist/js/framework/components/adskipbutton.d.ts +0 -29
  776. package/dist/js/framework/components/adskipbutton.js +0 -87
  777. package/dist/js/framework/components/airplaytogglebutton.d.ts +0 -12
  778. package/dist/js/framework/components/airplaytogglebutton.js +0 -79
  779. package/dist/js/framework/components/audioqualityselectbox.d.ts +0 -13
  780. package/dist/js/framework/components/audioqualityselectbox.js +0 -76
  781. package/dist/js/framework/components/audiotracklistbox.d.ts +0 -11
  782. package/dist/js/framework/components/audiotracklistbox.js +0 -37
  783. package/dist/js/framework/components/audiotrackselectbox.d.ts +0 -13
  784. package/dist/js/framework/components/audiotrackselectbox.js +0 -42
  785. package/dist/js/framework/components/bufferingoverlay.d.ts +0 -26
  786. package/dist/js/framework/components/bufferingoverlay.js +0 -76
  787. package/dist/js/framework/components/button.d.ts +0 -46
  788. package/dist/js/framework/components/button.js +0 -88
  789. package/dist/js/framework/components/caststatusoverlay.d.ts +0 -13
  790. package/dist/js/framework/components/caststatusoverlay.js +0 -64
  791. package/dist/js/framework/components/casttogglebutton.d.ts +0 -12
  792. package/dist/js/framework/components/casttogglebutton.js +0 -83
  793. package/dist/js/framework/components/castuicontainer.d.ts +0 -15
  794. package/dist/js/framework/components/castuicontainer.js +0 -85
  795. package/dist/js/framework/components/clickoverlay.d.ts +0 -27
  796. package/dist/js/framework/components/clickoverlay.js +0 -61
  797. package/dist/js/framework/components/closebutton.d.ts +0 -24
  798. package/dist/js/framework/components/closebutton.js +0 -45
  799. package/dist/js/framework/components/component.d.ts +0 -371
  800. package/dist/js/framework/components/component.js +0 -463
  801. package/dist/js/framework/components/container.d.ts +0 -72
  802. package/dist/js/framework/components/container.js +0 -158
  803. package/dist/js/framework/components/controlbar.d.ts +0 -20
  804. package/dist/js/framework/components/controlbar.js +0 -96
  805. package/dist/js/framework/components/ecomodecontainer.d.ts +0 -23
  806. package/dist/js/framework/components/ecomodecontainer.js +0 -112
  807. package/dist/js/framework/components/ecomodetogglebutton.d.ts +0 -14
  808. package/dist/js/framework/components/ecomodetogglebutton.js +0 -96
  809. package/dist/js/framework/components/errormessageoverlay.d.ts +0 -86
  810. package/dist/js/framework/components/errormessageoverlay.js +0 -107
  811. package/dist/js/framework/components/fullscreentogglebutton.d.ts +0 -12
  812. package/dist/js/framework/components/fullscreentogglebutton.js +0 -73
  813. package/dist/js/framework/components/hugeplaybacktogglebutton.d.ts +0 -20
  814. package/dist/js/framework/components/hugeplaybacktogglebutton.js +0 -186
  815. package/dist/js/framework/components/hugereplaybutton.d.ts +0 -14
  816. package/dist/js/framework/components/hugereplaybutton.js +0 -57
  817. package/dist/js/framework/components/itemselectionlist.d.ts +0 -16
  818. package/dist/js/framework/components/itemselectionlist.js +0 -114
  819. package/dist/js/framework/components/label.d.ts +0 -76
  820. package/dist/js/framework/components/label.js +0 -135
  821. package/dist/js/framework/components/listbox.d.ts +0 -31
  822. package/dist/js/framework/components/listbox.js +0 -149
  823. package/dist/js/framework/components/listselector.d.ts +0 -134
  824. package/dist/js/framework/components/listselector.js +0 -240
  825. package/dist/js/framework/components/metadatalabel.d.ts +0 -36
  826. package/dist/js/framework/components/metadatalabel.js +0 -74
  827. package/dist/js/framework/components/pictureinpicturetogglebutton.d.ts +0 -12
  828. package/dist/js/framework/components/pictureinpicturetogglebutton.js +0 -73
  829. package/dist/js/framework/components/playbackspeedselectbox.d.ts +0 -17
  830. package/dist/js/framework/components/playbackspeedselectbox.js +0 -79
  831. package/dist/js/framework/components/playbacktimelabel.d.ts +0 -58
  832. package/dist/js/framework/components/playbacktimelabel.js +0 -191
  833. package/dist/js/framework/components/playbacktogglebutton.d.ts +0 -25
  834. package/dist/js/framework/components/playbacktogglebutton.js +0 -139
  835. package/dist/js/framework/components/playbacktoggleoverlay.d.ts +0 -21
  836. package/dist/js/framework/components/playbacktoggleoverlay.js +0 -42
  837. package/dist/js/framework/components/quickseekbutton.d.ts +0 -27
  838. package/dist/js/framework/components/quickseekbutton.js +0 -120
  839. package/dist/js/framework/components/recommendationoverlay.d.ts +0 -13
  840. package/dist/js/framework/components/recommendationoverlay.js +0 -130
  841. package/dist/js/framework/components/replaybutton.d.ts +0 -12
  842. package/dist/js/framework/components/replaybutton.js +0 -67
  843. package/dist/js/framework/components/seekbar.d.ts +0 -242
  844. package/dist/js/framework/components/seekbar.js +0 -930
  845. package/dist/js/framework/components/seekbarbufferlevel.js +0 -18
  846. package/dist/js/framework/components/seekbarcontroller.d.ts +0 -43
  847. package/dist/js/framework/components/seekbarcontroller.js +0 -102
  848. package/dist/js/framework/components/seekbarlabel.d.ts +0 -54
  849. package/dist/js/framework/components/seekbarlabel.js +0 -225
  850. package/dist/js/framework/components/selectbox.d.ts +0 -40
  851. package/dist/js/framework/components/selectbox.js +0 -202
  852. package/dist/js/framework/components/settingspanel.d.ts +0 -124
  853. package/dist/js/framework/components/settingspanel.js +0 -339
  854. package/dist/js/framework/components/settingspanelitem.d.ts +0 -32
  855. package/dist/js/framework/components/settingspanelitem.js +0 -123
  856. package/dist/js/framework/components/settingspanelpage.d.ts +0 -24
  857. package/dist/js/framework/components/settingspanelpage.js +0 -116
  858. package/dist/js/framework/components/settingspanelpagebackbutton.d.ts +0 -10
  859. package/dist/js/framework/components/settingspanelpagebackbutton.js +0 -42
  860. package/dist/js/framework/components/settingspanelpagenavigatorbutton.d.ts +0 -51
  861. package/dist/js/framework/components/settingspanelpagenavigatorbutton.js +0 -58
  862. package/dist/js/framework/components/settingspanelpageopenbutton.d.ts +0 -10
  863. package/dist/js/framework/components/settingspanelpageopenbutton.js +0 -46
  864. package/dist/js/framework/components/settingstogglebutton.d.ts +0 -30
  865. package/dist/js/framework/components/settingstogglebutton.js +0 -107
  866. package/dist/js/framework/components/spacer.d.ts +0 -12
  867. package/dist/js/framework/components/spacer.js +0 -46
  868. package/dist/js/framework/components/subtitlelistbox.d.ts +0 -11
  869. package/dist/js/framework/components/subtitlelistbox.js +0 -37
  870. package/dist/js/framework/components/subtitleoverlay.d.ts +0 -92
  871. package/dist/js/framework/components/subtitleoverlay.js +0 -734
  872. package/dist/js/framework/components/subtitleselectbox.d.ts +0 -13
  873. package/dist/js/framework/components/subtitleselectbox.js +0 -44
  874. package/dist/js/framework/components/subtitlesettings/backgroundcolorselectbox.d.ts +0 -12
  875. package/dist/js/framework/components/subtitlesettings/backgroundcolorselectbox.js +0 -81
  876. package/dist/js/framework/components/subtitlesettings/backgroundopacityselectbox.d.ts +0 -12
  877. package/dist/js/framework/components/subtitlesettings/backgroundopacityselectbox.js +0 -67
  878. package/dist/js/framework/components/subtitlesettings/characteredgecolorselectbox.d.ts +0 -12
  879. package/dist/js/framework/components/subtitlesettings/characteredgecolorselectbox.js +0 -70
  880. package/dist/js/framework/components/subtitlesettings/characteredgeselectbox.d.ts +0 -12
  881. package/dist/js/framework/components/subtitlesettings/characteredgeselectbox.js +0 -77
  882. package/dist/js/framework/components/subtitlesettings/fontcolorselectbox.d.ts +0 -12
  883. package/dist/js/framework/components/subtitlesettings/fontcolorselectbox.js +0 -81
  884. package/dist/js/framework/components/subtitlesettings/fontfamilyselectbox.d.ts +0 -12
  885. package/dist/js/framework/components/subtitlesettings/fontfamilyselectbox.js +0 -66
  886. package/dist/js/framework/components/subtitlesettings/fontopacityselectbox.d.ts +0 -12
  887. package/dist/js/framework/components/subtitlesettings/fontopacityselectbox.js +0 -66
  888. package/dist/js/framework/components/subtitlesettings/fontsizeselectbox.d.ts +0 -15
  889. package/dist/js/framework/components/subtitlesettings/fontsizeselectbox.js +0 -85
  890. package/dist/js/framework/components/subtitlesettings/fontstyleselectbox.d.ts +0 -12
  891. package/dist/js/framework/components/subtitlesettings/fontstyleselectbox.js +0 -64
  892. package/dist/js/framework/components/subtitlesettings/subtitlesettingselectbox.d.ts +0 -29
  893. package/dist/js/framework/components/subtitlesettings/subtitlesettingselectbox.js +0 -53
  894. package/dist/js/framework/components/subtitlesettings/subtitlesettingslabel.d.ts +0 -20
  895. package/dist/js/framework/components/subtitlesettings/subtitlesettingslabel.js +0 -50
  896. package/dist/js/framework/components/subtitlesettings/subtitlesettingsmanager.d.ts +0 -43
  897. package/dist/js/framework/components/subtitlesettings/subtitlesettingsmanager.js +0 -225
  898. package/dist/js/framework/components/subtitlesettings/subtitlesettingspanelpage.d.ts +0 -22
  899. package/dist/js/framework/components/subtitlesettings/subtitlesettingspanelpage.js +0 -111
  900. package/dist/js/framework/components/subtitlesettings/subtitlesettingsresetbutton.d.ts +0 -13
  901. package/dist/js/framework/components/subtitlesettings/subtitlesettingsresetbutton.js +0 -46
  902. package/dist/js/framework/components/subtitlesettings/windowcolorselectbox.d.ts +0 -12
  903. package/dist/js/framework/components/subtitlesettings/windowcolorselectbox.js +0 -81
  904. package/dist/js/framework/components/subtitlesettings/windowopacityselectbox.d.ts +0 -12
  905. package/dist/js/framework/components/subtitlesettings/windowopacityselectbox.js +0 -67
  906. package/dist/js/framework/components/timelinemarkershandler.d.ts +0 -38
  907. package/dist/js/framework/components/timelinemarkershandler.js +0 -207
  908. package/dist/js/framework/components/titlebar.d.ts +0 -25
  909. package/dist/js/framework/components/titlebar.js +0 -93
  910. package/dist/js/framework/components/togglebutton.d.ts +0 -98
  911. package/dist/js/framework/components/togglebutton.js +0 -180
  912. package/dist/js/framework/components/tvnoisecanvas.d.ts +0 -26
  913. package/dist/js/framework/components/tvnoisecanvas.js +0 -106
  914. package/dist/js/framework/components/uicontainer.d.ts +0 -65
  915. package/dist/js/framework/components/uicontainer.js +0 -372
  916. package/dist/js/framework/components/videoqualityselectbox.d.ts +0 -19
  917. package/dist/js/framework/components/videoqualityselectbox.js +0 -85
  918. package/dist/js/framework/components/volumecontrolbutton.d.ts +0 -49
  919. package/dist/js/framework/components/volumecontrolbutton.js +0 -116
  920. package/dist/js/framework/components/volumeslider.d.ts +0 -30
  921. package/dist/js/framework/components/volumeslider.js +0 -118
  922. package/dist/js/framework/components/volumetogglebutton.d.ts +0 -12
  923. package/dist/js/framework/components/volumetogglebutton.js +0 -63
  924. package/dist/js/framework/components/vrtogglebutton.d.ts +0 -12
  925. package/dist/js/framework/components/vrtogglebutton.js +0 -103
  926. package/dist/js/framework/components/watermark.d.ts +0 -16
  927. package/dist/js/framework/components/watermark.js +0 -42
  928. package/dist/js/framework/demofactory.d.ts +0 -6
  929. package/dist/js/framework/demofactory.js +0 -156
  930. package/dist/js/framework/dom.d.ts +0 -245
  931. package/dist/js/framework/dom.js +0 -453
  932. package/dist/js/framework/errorutils.d.ts +0 -10
  933. package/dist/js/framework/errorutils.js +0 -86
  934. package/dist/js/framework/eventdispatcher.js +0 -206
  935. package/dist/js/framework/focusvisibilitytracker.js +0 -63
  936. package/dist/js/framework/groupplaybackapi.js +0 -18
  937. package/dist/js/framework/guid.js +0 -11
  938. package/dist/js/framework/imageloader.js +0 -61
  939. package/dist/js/framework/mobilev3playerapi.d.ts +0 -23
  940. package/dist/js/framework/mobilev3playerapi.js +0 -18
  941. package/dist/js/framework/playerutils.d.ts +0 -83
  942. package/dist/js/framework/playerutils.js +0 -193
  943. package/dist/js/framework/spatialnavigation/ListNavigationGroup.d.ts +0 -17
  944. package/dist/js/framework/spatialnavigation/ListNavigationGroup.js +0 -73
  945. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.d.ts +0 -9
  946. package/dist/js/framework/spatialnavigation/gethtmlelementsfromcomponents.js +0 -55
  947. package/dist/js/framework/spatialnavigation/keymap.js +0 -124
  948. package/dist/js/framework/spatialnavigation/navigationalgorithm.d.ts +0 -18
  949. package/dist/js/framework/spatialnavigation/navigationalgorithm.js +0 -132
  950. package/dist/js/framework/spatialnavigation/navigationgroup.d.ts +0 -84
  951. package/dist/js/framework/spatialnavigation/navigationgroup.js +0 -162
  952. package/dist/js/framework/spatialnavigation/rootnavigationgroup.d.ts +0 -17
  953. package/dist/js/framework/spatialnavigation/rootnavigationgroup.js +0 -67
  954. package/dist/js/framework/spatialnavigation/seekbarhandler.d.ts +0 -31
  955. package/dist/js/framework/spatialnavigation/seekbarhandler.js +0 -134
  956. package/dist/js/framework/spatialnavigation/spatialnavigation.d.ts +0 -53
  957. package/dist/js/framework/spatialnavigation/spatialnavigation.js +0 -147
  958. package/dist/js/framework/spatialnavigation/typeguards.d.ts +0 -11
  959. package/dist/js/framework/spatialnavigation/typeguards.js +0 -32
  960. package/dist/js/framework/storageutils.d.ts +0 -37
  961. package/dist/js/framework/storageutils.js +0 -88
  962. package/dist/js/framework/stringutils.js +0 -191
  963. package/dist/js/framework/subtitleutils.d.ts +0 -24
  964. package/dist/js/framework/subtitleutils.js +0 -100
  965. package/dist/js/framework/uiconfig.d.ts +0 -129
  966. package/dist/js/framework/uifactory.d.ts +0 -29
  967. package/dist/js/framework/uifactory.js +0 -578
  968. package/dist/js/framework/uimanager.d.ts +0 -304
  969. package/dist/js/framework/uimanager.js +0 -849
  970. package/dist/js/framework/uiutils.d.ts +0 -19
  971. package/dist/js/framework/uiutils.js +0 -36
  972. package/dist/js/framework/volumecontroller.d.ts +0 -41
  973. package/dist/js/framework/volumecontroller.js +0 -118
  974. package/dist/js/framework/vttutils.d.ts +0 -13
  975. package/dist/js/framework/vttutils.js +0 -205
  976. package/eslint.config.mjs +0 -49
  977. package/gulpfile.js +0 -250
  978. package/jest.config.js +0 -21
  979. package/publish.sh +0 -164
  980. package/setup-jest.ts +0 -1
  981. package/spec/audioutils.spec.ts +0 -119
  982. package/spec/browserutils.spec.ts +0 -26
  983. package/spec/components/errormessageoverlay.spec.ts +0 -68
  984. package/spec/components/fullscreentogglebutton.spec.ts +0 -85
  985. package/spec/components/listselector.spec.ts +0 -262
  986. package/spec/components/pictureinpicturetogglebutton.spec.ts +0 -85
  987. package/spec/components/playbacktimelabel.spec.ts +0 -151
  988. package/spec/components/seekbar.spec.ts +0 -186
  989. package/spec/components/seekbarlabel.spec.ts +0 -191
  990. package/spec/components/selectbox.spec.ts +0 -325
  991. package/spec/components/settingspanel.spec.ts +0 -236
  992. package/spec/components/subtitleoverlay.spec.ts +0 -107
  993. package/spec/components/timelinemarkershandler.spec.ts +0 -88
  994. package/spec/components/togglebutton.spec.ts +0 -142
  995. package/spec/components/uicontainer.spec.ts +0 -101
  996. package/spec/errorutils.spec.ts +0 -35
  997. package/spec/focusvisibilitytracker.spec.ts +0 -88
  998. package/spec/helper/MockHelper.ts +0 -133
  999. package/spec/helper/PlayerEventEmitter.ts +0 -409
  1000. package/spec/helper/mockClass.ts +0 -48
  1001. package/spec/helper/mockComponent.ts +0 -24
  1002. package/spec/localization.spec.ts +0 -63
  1003. package/spec/mobilev3playerapi.spec.ts +0 -26
  1004. package/spec/playerutils.spec.ts +0 -43
  1005. package/spec/release/calculateVersionNumber.spec.ts +0 -90
  1006. package/spec/release/defineVersion.spec.ts +0 -27
  1007. package/spec/release/detectReleaseLevel.spec.ts +0 -106
  1008. package/spec/spatialnavigation/gethtmlelementsfromcomponents.spec.ts +0 -91
  1009. package/spec/spatialnavigation/keymap.spec.ts +0 -35
  1010. package/spec/spatialnavigation/listnavigationgroup.spec.ts +0 -55
  1011. package/spec/spatialnavigation/navigationalgorithm.spec.ts +0 -91
  1012. package/spec/spatialnavigation/navigationgroup.spec.ts +0 -167
  1013. package/spec/spatialnavigation/nodeeventsubscriber.spec.ts +0 -41
  1014. package/spec/spatialnavigation/rootnavigationgroup.spec.ts +0 -54
  1015. package/spec/spatialnavigation/seekbarhandler.spec.ts +0 -212
  1016. package/spec/spatialnavigation/spatialnavigation.spec.ts +0 -103
  1017. package/spec/subtitleutils.spec.ts +0 -160
  1018. package/spec/uimanager.spec.ts +0 -210
  1019. package/spec/volumecontroller.spec.ts +0 -29
  1020. package/spec/vttutils.spec.ts +0 -702
  1021. package/src/scss/skin-modern/_mixins.scss +0 -161
  1022. package/src/scss/skin-modern/_skin-ads.scss +0 -61
  1023. package/src/scss/skin-modern/_skin-cast-receiver.scss +0 -91
  1024. package/src/scss/skin-modern/_skin-smallscreen.scss +0 -146
  1025. package/src/scss/skin-modern/_skin-tv.scss +0 -104
  1026. package/src/scss/skin-modern/_skin.scss +0 -97
  1027. package/src/scss/skin-modern/_variables.scss +0 -25
  1028. package/src/scss/skin-modern/components/_airplaytogglebutton.scss +0 -16
  1029. package/src/scss/skin-modern/components/_audiotracksettingspaneltogglebutton.scss +0 -12
  1030. package/src/scss/skin-modern/components/_bufferingoverlay.scss +0 -85
  1031. package/src/scss/skin-modern/components/_button.scss +0 -45
  1032. package/src/scss/skin-modern/components/_caststatusoverlay.scss +0 -28
  1033. package/src/scss/skin-modern/components/_casttogglebutton.scss +0 -16
  1034. package/src/scss/skin-modern/components/_clickoverlay.scss +0 -11
  1035. package/src/scss/skin-modern/components/_closebutton.scss +0 -32
  1036. package/src/scss/skin-modern/components/_container.scss +0 -11
  1037. package/src/scss/skin-modern/components/_controlbar.scss +0 -69
  1038. package/src/scss/skin-modern/components/_ecomodetogglebutton.scss +0 -35
  1039. package/src/scss/skin-modern/components/_errormessageoverlay.scss +0 -47
  1040. package/src/scss/skin-modern/components/_fullscreentogglebutton.scss +0 -16
  1041. package/src/scss/skin-modern/components/_hugeplaybacktogglebutton.scss +0 -84
  1042. package/src/scss/skin-modern/components/_hugereplaybutton.scss +0 -33
  1043. package/src/scss/skin-modern/components/_label.scss +0 -21
  1044. package/src/scss/skin-modern/components/_listbox.scss +0 -38
  1045. package/src/scss/skin-modern/components/_pictureinpicturetogglebutton.scss +0 -16
  1046. package/src/scss/skin-modern/components/_playbacktimelabel.scss +0 -23
  1047. package/src/scss/skin-modern/components/_playbacktogglebutton.scss +0 -20
  1048. package/src/scss/skin-modern/components/_playbacktoggleoverlay.scss +0 -10
  1049. package/src/scss/skin-modern/components/_quickseekbutton.scss +0 -18
  1050. package/src/scss/skin-modern/components/_recommendationoverlay.scss +0 -91
  1051. package/src/scss/skin-modern/components/_replaybutton.scss +0 -12
  1052. package/src/scss/skin-modern/components/_seekbar.scss +0 -164
  1053. package/src/scss/skin-modern/components/_seekbarlabel.scss +0 -75
  1054. package/src/scss/skin-modern/components/_selectbox.scss +0 -23
  1055. package/src/scss/skin-modern/components/_settingspanel.scss +0 -40
  1056. package/src/scss/skin-modern/components/_settingspanelpage.scss +0 -43
  1057. package/src/scss/skin-modern/components/_settingspanelpagebackbutton.scss +0 -29
  1058. package/src/scss/skin-modern/components/_settingspanelpageopenbutton.scss +0 -23
  1059. package/src/scss/skin-modern/components/_settingstogglebutton.scss +0 -26
  1060. package/src/scss/skin-modern/components/_subtitleoverlay-cea608.scss +0 -46
  1061. package/src/scss/skin-modern/components/_subtitleoverlay.scss +0 -73
  1062. package/src/scss/skin-modern/components/_subtitlesettingspaneltogglebutton.scss +0 -12
  1063. package/src/scss/skin-modern/components/_titlebar.scss +0 -39
  1064. package/src/scss/skin-modern/components/_uicontainer.scss +0 -57
  1065. package/src/scss/skin-modern/components/_volumecontrolbutton.scss +0 -30
  1066. package/src/scss/skin-modern/components/_volumeslider.scss +0 -19
  1067. package/src/scss/skin-modern/components/_volumetogglebutton.scss +0 -36
  1068. package/src/scss/skin-modern/components/_vrtogglebutton.scss +0 -17
  1069. package/src/scss/skin-modern/components/_watermark.scss +0 -21
  1070. package/src/scss/skin-modern/components/subtitlesettings/_subtitleoverlay-settings.scss +0 -150
  1071. package/src/scss/skin-modern/components/subtitlesettings/_subtitlesettings.scss +0 -2
  1072. package/src/scss/skin-modern/components/subtitlesettings/_subtitlesettingsresetbutton.scss +0 -12
  1073. package/src/ts/audiotrackutils.ts +0 -80
  1074. package/src/ts/browserutils.ts +0 -93
  1075. package/src/ts/components/adclickoverlay.ts +0 -48
  1076. package/src/ts/components/admessagelabel.ts +0 -51
  1077. package/src/ts/components/adskipbutton.ts +0 -93
  1078. package/src/ts/components/airplaytogglebutton.ts +0 -64
  1079. package/src/ts/components/audioqualityselectbox.ts +0 -67
  1080. package/src/ts/components/audiotracklistbox.ts +0 -17
  1081. package/src/ts/components/audiotrackselectbox.ts +0 -27
  1082. package/src/ts/components/bufferingoverlay.ts +0 -81
  1083. package/src/ts/components/button.ts +0 -96
  1084. package/src/ts/components/caststatusoverlay.ts +0 -51
  1085. package/src/ts/components/casttogglebutton.ts +0 -67
  1086. package/src/ts/components/castuicontainer.ts +0 -81
  1087. package/src/ts/components/clickoverlay.ts +0 -57
  1088. package/src/ts/components/closebutton.ts +0 -44
  1089. package/src/ts/components/component.ts +0 -585
  1090. package/src/ts/components/container.ts +0 -171
  1091. package/src/ts/components/controlbar.ts +0 -96
  1092. package/src/ts/components/ecomodecontainer.ts +0 -129
  1093. package/src/ts/components/ecomodetogglebutton.ts +0 -89
  1094. package/src/ts/components/errormessageoverlay.ts +0 -186
  1095. package/src/ts/components/fullscreentogglebutton.ts +0 -69
  1096. package/src/ts/components/hugeplaybacktogglebutton.ts +0 -188
  1097. package/src/ts/components/hugereplaybutton.ts +0 -44
  1098. package/src/ts/components/itemselectionlist.ts +0 -108
  1099. package/src/ts/components/label.ts +0 -139
  1100. package/src/ts/components/listbox.ts +0 -149
  1101. package/src/ts/components/listselector.ts +0 -276
  1102. package/src/ts/components/metadatalabel.ts +0 -74
  1103. package/src/ts/components/pictureinpicturetogglebutton.ts +0 -69
  1104. package/src/ts/components/playbackspeedselectbox.ts +0 -68
  1105. package/src/ts/components/playbacktimelabel.ts +0 -209
  1106. package/src/ts/components/playbacktogglebutton.ts +0 -150
  1107. package/src/ts/components/playbacktoggleoverlay.ts +0 -37
  1108. package/src/ts/components/quickseekbutton.ts +0 -139
  1109. package/src/ts/components/recommendationoverlay.ts +0 -134
  1110. package/src/ts/components/replaybutton.ts +0 -51
  1111. package/src/ts/components/seekbar.ts +0 -1143
  1112. package/src/ts/components/seekbarbufferlevel.ts +0 -21
  1113. package/src/ts/components/seekbarcontroller.ts +0 -126
  1114. package/src/ts/components/seekbarlabel.ts +0 -259
  1115. package/src/ts/components/selectbox.ts +0 -213
  1116. package/src/ts/components/settingspanel.ts +0 -402
  1117. package/src/ts/components/settingspanelitem.ts +0 -114
  1118. package/src/ts/components/settingspanelpage.ts +0 -99
  1119. package/src/ts/components/settingspanelpagebackbutton.ts +0 -26
  1120. package/src/ts/components/settingspanelpagenavigatorbutton.ts +0 -69
  1121. package/src/ts/components/settingspanelpageopenbutton.ts +0 -30
  1122. package/src/ts/components/settingstogglebutton.ts +0 -117
  1123. package/src/ts/components/spacer.ts +0 -30
  1124. package/src/ts/components/subtitlelistbox.ts +0 -18
  1125. package/src/ts/components/subtitleoverlay.ts +0 -851
  1126. package/src/ts/components/subtitleselectbox.ts +0 -29
  1127. package/src/ts/components/subtitlesettings/backgroundcolorselectbox.ts +0 -69
  1128. package/src/ts/components/subtitlesettings/backgroundopacityselectbox.ts +0 -54
  1129. package/src/ts/components/subtitlesettings/characteredgecolorselectbox.ts +0 -57
  1130. package/src/ts/components/subtitlesettings/characteredgeselectbox.ts +0 -64
  1131. package/src/ts/components/subtitlesettings/fontcolorselectbox.ts +0 -69
  1132. package/src/ts/components/subtitlesettings/fontfamilyselectbox.ts +0 -53
  1133. package/src/ts/components/subtitlesettings/fontopacityselectbox.ts +0 -53
  1134. package/src/ts/components/subtitlesettings/fontsizeselectbox.ts +0 -76
  1135. package/src/ts/components/subtitlesettings/fontstyleselectbox.ts +0 -50
  1136. package/src/ts/components/subtitlesettings/subtitlesettingselectbox.ts +0 -53
  1137. package/src/ts/components/subtitlesettings/subtitlesettingslabel.ts +0 -52
  1138. package/src/ts/components/subtitlesettings/subtitlesettingsmanager.ts +0 -207
  1139. package/src/ts/components/subtitlesettings/subtitlesettingspanelpage.ts +0 -115
  1140. package/src/ts/components/subtitlesettings/subtitlesettingsresetbutton.ts +0 -33
  1141. package/src/ts/components/subtitlesettings/windowcolorselectbox.ts +0 -71
  1142. package/src/ts/components/subtitlesettings/windowopacityselectbox.ts +0 -54
  1143. package/src/ts/components/timelinemarkershandler.ts +0 -269
  1144. package/src/ts/components/titlebar.ts +0 -93
  1145. package/src/ts/components/togglebutton.ts +0 -218
  1146. package/src/ts/components/tvnoisecanvas.ts +0 -105
  1147. package/src/ts/components/uicontainer.ts +0 -422
  1148. package/src/ts/components/videoqualityselectbox.ts +0 -81
  1149. package/src/ts/components/volumecontrolbutton.ts +0 -130
  1150. package/src/ts/components/volumeslider.ts +0 -132
  1151. package/src/ts/components/volumetogglebutton.ts +0 -50
  1152. package/src/ts/components/vrtogglebutton.ts +0 -89
  1153. package/src/ts/components/watermark.ts +0 -31
  1154. package/src/ts/demofactory.ts +0 -161
  1155. package/src/ts/dom.ts +0 -614
  1156. package/src/ts/errorutils.ts +0 -89
  1157. package/src/ts/eventdispatcher.ts +0 -276
  1158. package/src/ts/focusvisibilitytracker.ts +0 -71
  1159. package/src/ts/groupplaybackapi.ts +0 -93
  1160. package/src/ts/guid.ts +0 -8
  1161. package/src/ts/imageloader.ts +0 -74
  1162. package/src/ts/mobilev3playerapi.ts +0 -35
  1163. package/src/ts/playerutils.ts +0 -207
  1164. package/src/ts/spatialnavigation/ListNavigationGroup.ts +0 -49
  1165. package/src/ts/spatialnavigation/gethtmlelementsfromcomponents.ts +0 -58
  1166. package/src/ts/spatialnavigation/keymap.ts +0 -127
  1167. package/src/ts/spatialnavigation/navigationalgorithm.ts +0 -146
  1168. package/src/ts/spatialnavigation/navigationgroup.ts +0 -202
  1169. package/src/ts/spatialnavigation/nodeeventsubscriber.ts +0 -76
  1170. package/src/ts/spatialnavigation/rootnavigationgroup.ts +0 -39
  1171. package/src/ts/spatialnavigation/seekbarhandler.ts +0 -162
  1172. package/src/ts/spatialnavigation/spatialnavigation.ts +0 -158
  1173. package/src/ts/spatialnavigation/typeguards.ts +0 -29
  1174. package/src/ts/storageutils.ts +0 -88
  1175. package/src/ts/stringutils.ts +0 -207
  1176. package/src/ts/subtitleutils.ts +0 -106
  1177. package/src/ts/timeout.ts +0 -110
  1178. package/src/ts/uiconfig.ts +0 -134
  1179. package/src/ts/uifactory.ts +0 -631
  1180. package/src/ts/uimanager.ts +0 -1010
  1181. package/src/ts/uiutils.ts +0 -38
  1182. package/src/ts/volumecontroller.ts +0 -133
  1183. package/src/ts/vttutils.ts +0 -261
  1184. /package/dist/js/framework/{eventdispatcher.d.ts → EventDispatcher.d.ts} +0 -0
  1185. /package/dist/js/framework/{uiconfig.js → UIConfig.js} +0 -0
  1186. /package/dist/js/framework/spatialnavigation/{nodeeventsubscriber.d.ts → NodeEventSubscriber.d.ts} +0 -0
  1187. /package/dist/js/framework/spatialnavigation/{nodeeventsubscriber.js → NodeEventSubscriber.js} +0 -0
  1188. /package/dist/js/framework/spatialnavigation/{keymap.d.ts → getKeyMapForPlatform.d.ts} +0 -0
  1189. /package/dist/js/framework/{arrayutils.d.ts → utils/ArrayUtils.d.ts} +0 -0
  1190. /package/dist/js/framework/{focusvisibilitytracker.d.ts → utils/FocusVisibilityTracker.d.ts} +0 -0
  1191. /package/dist/js/framework/{groupplaybackapi.d.ts → utils/GroupPlaybackAPI.d.ts} +0 -0
  1192. /package/dist/js/framework/{guid.d.ts → utils/Guid.d.ts} +0 -0
  1193. /package/dist/js/framework/{imageloader.d.ts → utils/ImageLoader.d.ts} +0 -0
  1194. /package/dist/js/framework/{stringutils.d.ts → utils/StringUtils.d.ts} +0 -0
  1195. /package/dist/js/framework/{timeout.d.ts → utils/Timeout.d.ts} +0 -0
  1196. /package/dist/js/framework/{timeout.js → utils/Timeout.js} +0 -0
  1197. /package/dist/js/framework/{components/seekbarbufferlevel.d.ts → utils/getMinBufferLevel.d.ts} +0 -0
  1198. /package/src/scss/{skin-modern/components → components}/_component.scss +0 -0
  1199. /package/src/scss/{skin-modern/components → components}/_spacer.scss +0 -0
  1200. /package/src/ts/{arrayutils.ts → utils/ArrayUtils.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,20 +1,167 @@
1
1
  # Change Log
2
+
2
3
  All notable changes to this project will be documented in this file.
3
4
 
4
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
7
 
7
- ## [Unreleased]
8
+ ## [3.103.0] - 2025-10-07
9
+
10
+ ### Fixed
11
+
12
+ - `npm start` not working anymore
13
+
14
+ ## [4.1.0] - 2025-10-06
15
+
16
+ ### Added
17
+
18
+ - `UIFactory.buildSubtitleUI` to create a subtitle-only UI, without visible UI elements
19
+
20
+ ### Fixed
21
+
22
+ - Missing exports in `main.ts`
23
+ - CSS prefix not correctly replaced in JS files during the build process
24
+
25
+ ## [4.0.0] - 2025-09-26
26
+
27
+ ### Added
28
+
29
+ - `Icon` component for generic icon rendering
30
+ - Dedicated `Icon` component to `Button` to allow separate styling for icons, text and backgrounds
31
+ - `ButtonStyle` to have general button appearance customization
32
+ - `ButtonStyle.Icon` to have an icon-only button
33
+ - `ButtonStyle.Text` to have a text-only button
34
+ - `ButtonStyle.TextWithLeadingIcon` to have a button with icon on the left side of the text
35
+ - `ButtonStyle.TextWithTrailingIcon` to have a button with icon on the right side of the text
36
+ - Dedicated `Icon` component to `Label` to allow separate styling for icons, text and backgrounds
37
+ - `LabelStyle` to have general label appearance customization
38
+ - `LabelStyle.Text` to have a regular text-only label
39
+ - `LabelStyle.TextWithLeadingIcon` to have a label with icon on the left side of the text
40
+ - `LabelStyle.TextWithTrailingIcon` to have a label with icon on the right side of the text
41
+ - New touch interactions for touch input devices
42
+ - The UI node hides/shows on single tap anywhere on empty space
43
+ - Double-tap to skip forward/backward functionality
44
+ - Out-of-the box safe-area support to put the UI controls into the view port without risking them being cut off by the shape of a non‑rectangular display
45
+ - When navigating the UI either via the Keyboard or via Spatial Navigation, the `SettingsPanel` automatically focuses the first settings option
46
+ - `UIConditionContext.isTv` to include the TV UI variant by default
47
+ - A dedicated UIVariant when no Source is loaded to avoid showing UI elements with undefined values
48
+ - Prettier for automatic code formatting
8
49
 
9
50
  ### Changed
51
+
52
+ - Existing UI layouts and designs were updated to better fit modern Player UI experiences
53
+ - The TV UI layout got a complete rework and now provides a cleaner and more modern look and feel
54
+ - The design on TVs was updated to better feedback of the currently focused element and provides the same experience as on web browsers
55
+ - The Small Screen UI layout was updated to better distribute the UI elements and provide a more balanced layout
56
+ - The Ad UI was updated to take away less space on the screen
57
+ - The seek bar is now always visible during ad playback indicating the ad progress
58
+ - A new `AdCounterLabel` was added to indicate the current, and remaining, ad position within an ad break
59
+ - Default font size to `18px`
60
+ - Change the default font size by overriding the `$font-size` SCSS variable in `_variables.scss`. All other sizes are calculated based on this variable to ensure a consistent sizing across the entire UI.
61
+ - Icon design system to have a modern and consistent look and feel
62
+ - Icon size to `24x24px`
63
+ - Change the default icon size by overriding the `$icon-size` SCSS variable in `_variables.scss`
64
+ - Updated `RecommendationOverlay` design and API
65
+ - Reworked recommendation overlay design allowing displaying unlimited recommendations in a scrollable list
66
+ - Updated the recommendation overlay API to provide more flexibility
67
+ - Added support for `ExternalRecommendationLink` to point to external websites
68
+ Example:
69
+ ```javascript
70
+ {
71
+ // Can be part of the SourceConfig or UIConfig
72
+ recommendations: [
73
+ {
74
+ title: 'Recommendation 2: The second best video',
75
+ resource: {
76
+ url: 'http://bitmovin.com',
77
+ thumbnail: 'https://placehold.co/300x300/222/222',
78
+ },
79
+ duration: 64,
80
+ },
81
+ ];
82
+ }
83
+ ```
84
+ - Added support for `SourceConfig` to directly load new content in the current player instance
85
+ Example:
86
+ ```javascript
87
+ {
88
+ // Can be part of the SourceConfig or UIConfig
89
+ recommendations: [
90
+ {
91
+ title: 'Recommendation 2: The second best video',
92
+ resource: {
93
+ dash: 'YOUR_DASH_MANIFEST',
94
+ // .. additional SourceConfig properties
95
+ poster: 'YOUR_POSTER_URL',
96
+ },
97
+ duration: 64,
98
+ },
99
+ ];
100
+ }
101
+ ```
102
+ - Updated `SettingsPanel` design for better navigation and extend functionality
103
+ - The settings panel, per default, no longer uses system provided select boxes but custom design selection items.
104
+ To enable this, we added:
105
+ - `InteractiveSettingsPanelItem` which acts as a selection option within the `SettingsPanel`
106
+ - `DynamicSettingsPanelItem` which allows dynamically navigating within the `SettingsPanel` to a new `SettingsPanelPage` without the need to predefine the page and its content
107
+ - The previously used `SelectBox` components are still available and can be used by directly using them in combination with a `SettingsPanelItem` instead of the new `DynamicSettingsPanelItem` or `InteractiveSettingsPanelItem`
108
+ - Added `SettingsPanelNavigationGroup` for spatial navigation support
109
+ - A `ListBox` now extends from `SettingsPanel` to inherit all the new features and design improvements from the `SettingsPanel`
110
+ - The Bitmovin Watermark is no longer visible by default
111
+ - If you want to include your own watermark, you can replace the `logo.svg` file in the `src/assets` folder and enable the watermark in your `UIConfig` by setting `includeWatermark: true`
112
+ - Improved spatial navigation
113
+ - Added `FocusableContainer` for grouping elements together to an either vertical or horizontal section
114
+ - Navigating will prioritize elements within the same `FocusableContainer`
115
+ - `FocusableContainer` can specify a priority element, which gets focused first when navigating into the container
116
+ - Increased cutoff angle from 45° to 89° for improved out-of-the-box support for more layouts
117
+ - Elements directly in the navigation direction are prioritized over diagonal elements even if they are closer
118
+ - The `RecommendationOverlay` and the `SettingsPanel` now support spatial navigation
119
+ - Color Scheme Update
120
+ - The UI now uses white elements as the accent color instead of our Bitmovin blue
121
+ - To change the accent color, modify the `$color-highlight` variable in `_variables.scss`
122
+ - The UI Controls now immediately hide on mouse leave on web browsers by default
123
+ - Updated buffering indicator with updated design, animation and color
124
+ - The Small Screen UI is now used on web browsers when the document width is less than `800px`
125
+ - Renamed `$color-background-bars` to `$color-background-gradient-start`
126
+ - Folder Structure rework
127
+ - The entire codebase has been reorganized from a flat structure to a hierarchical folder structure
128
+ - Components are now grouped into folders based on their functionality or grouped by bigger features
129
+ - File Naming changes
130
+ - All TypeScript files now use PascalCase instead of all lowercased
131
+ - All SCSS files now use kebab-case instead of all lowercased
132
+ - This includes the css-classes used as well
133
+ - Use `webpack` instead of `gulp` now as build tool
134
+
135
+ ### Removed
136
+
137
+ - The terms `modern`, `skin` and `default` across the codebase
138
+ - Our UI is now simply referred as the UI and not as `modernUI` or `defaultUI` anymore
139
+ - The `UIFactory` still provides all the same builder methods, but without the `modern` or `default` prefix anymore
140
+ - Affected APIs:
141
+ - `UIFactory.buildModernUI`, `UIFactory.buildDefaultUI` -> `UIFactory.buildUI`
142
+ - `UIFactory.buildModernSmallScreenUI`, `UIFactory.buildDefaultSmallScreenUI` -> `UIFactory.buildSmallScreenUI`
143
+ - `UIFactory.buildModernTvUI`, `UIFactory.buildDefaultTvUI` -> `UIFactory.buildTvUI`
144
+ - `UIFactory.buildModernCastReceiverUI`, `UIFactory.buildDefaultCastReceiverUI` -> `UIFactory.buildCastReceiverUI`
145
+ - Affected CSS classes:
146
+ - `ui-skin-ads` -> `ui-ads`
147
+ - `ui-skin-smallscreen` -> `ui-smallscreen`
148
+ - `ui-skin-cast-receiver` -> `ui-cast-receiver`
149
+ - `ui-skin-tv` -> `ui-tv`
150
+
151
+ ## [4.0.0] - 2025-09-26
152
+
153
+ ### Changed
154
+
10
155
  - Update our release automation to prepare for the upcoming v4 release
11
156
 
12
157
  ## [3.102.0] - 2025-08-14
13
158
 
14
159
  ### Changed
160
+
15
161
  - Default font size for CEA captions is lowered, effectively making the previous 75% the new 100%.
16
162
 
17
163
  ### Fixed
164
+
18
165
  - Long CEA captions are cut off when font size changed to greater than 100% via settings panel
19
166
  - CEA caption font size is not changing when font size set to 75% via settings panel
20
167
  - CEA caption positioning breaks when font size is changed via settings panel
@@ -22,6 +169,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
22
169
  ## [3.101.0] - 2025-08-12
23
170
 
24
171
  ### Fixed
172
+
25
173
  - Font size change in subtitle rendering options menu has no effect for CEA captions
26
174
  - Subtitle font size changes for VTT/TTML subtitles when the subtitle rendering options menu is opened
27
175
  - Subtitle font size preference from local storage is not restored upon UI initialization
@@ -29,75 +177,90 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
29
177
  ## [3.100.0] - 2025-08-12
30
178
 
31
179
  ### Fixed
180
+
32
181
  - CEA captions can overlap with player's control bar
33
182
 
34
183
  ## [3.99.0] - 2025-08-11
35
184
 
36
185
  ### Fixed
186
+
37
187
  - Immediately update the playback position when seeking using a click
38
188
 
39
189
  ## [3.98.0] - 2025-06-13
40
190
 
41
191
  ### Fixed
192
+
42
193
  - The `PlaybackTimeLabel`s time format was incorrectly displayed as `mm:ss` instead of `hh:mm:ss` when the duration is higher than 1 hour when transitioning from Live to VOD
43
194
 
44
195
  ## [3.97.0] - 2025-06-12
45
196
 
46
197
  ### Fixed
198
+
47
199
  - The `PlaybackTimeLabel`s now immediately display the time instead of flickering `LIVE` for a short time when transitioning from Live to VOD
48
200
 
49
201
  ## [3.96.0] - 2025-05-16
50
202
 
51
203
  ### Changed
204
+
52
205
  - Background of CEA captions now does not cover the subtitle window fully
53
206
 
54
207
  ## [3.95.0] - 2025-05-16
55
208
 
56
209
  ### Fixed
210
+
57
211
  - Seeking with active CEA captions left an empty window behind
58
212
 
59
213
  ## [3.94.0] - 2025-05-15
60
214
 
61
215
  ### Fixed
62
- - WebVTT doesn't render when region styles are present
216
+
217
+ - WebVTT doesn't render when region styles are present
63
218
 
64
219
  ## [3.93.0] - 2025-05-09
65
220
 
66
221
  ### Fixed
222
+
67
223
  - CEA caption rendering broken if no user preference is present for subtitle font size
68
224
 
69
225
  ## [3.92.0] - 2025-04-23
70
226
 
71
227
  ### Added
228
+
72
229
  - Ads UI variant to default TV UI
73
230
 
74
231
  ## [3.91.0] - 2025-04-10
75
232
 
76
233
  ### Added
234
+
77
235
  - `aria-label` to `ErrorMessageOverlay`
78
236
  - New `ariaFallbackMode` configuration option to `SeekBarConfig`, which updates the current playback position also in the `aria-label`. This can be used for devices which don't support the `aria-valuetext` attribute for `slider`s.
79
237
 
80
238
  ### Changed
239
+
81
240
  - The `aria-pressed` attribute is only set on `ToggleButton`s instead of all buttons
82
241
  - The `aria-pressed` attribute is not set if both, `onAriaLabel` and `offAriaLabel`, configuration properties are set for a specific component
83
242
  - The `aria-label` for Quickseek buttons contain now also the number of seconds the button seeks
84
243
 
85
244
  ### Fixed
245
+
86
246
  - Error message in `ErrorMessageOverlay` not read by Text-To-Speech engine on Tizen
87
247
 
88
248
  ## [3.90.0] - 2025-04-03
89
249
 
90
250
  ### Fixed
251
+
91
252
  - Setting larger font size while using CEA-608 captions can shift some cues outside of visible area.
92
253
 
93
254
  ## [3.89.0] - 2025-03-24
94
255
 
95
256
  ### Added
257
+
96
258
  - Changing font size now also takes an effect in CEA-608 captions with cap from 50% to 200%. Larger than default font size also disables the grid view.
97
259
 
98
260
  ## [3.88.0] - 2025-02-25
99
261
 
100
262
  ### Changed
263
+
101
264
  - Chore: Skip releasing a new version when no changelog entry was added
102
265
  - Chore: Fix release workflow
103
266
  - Chore: Fix release workflow again
@@ -106,222 +269,268 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
106
269
  ## [3.87.0] - 2025-02-20
107
270
 
108
271
  ### Fixed
272
+
109
273
  - Setting font color in subtitle customization settings not working on Comcast X1 Set-Top Boxes and other older WebKit-based platforms
110
274
 
111
275
  ## [3.86.0] - 2025-02-20
112
276
 
113
277
  ### Changed
278
+
114
279
  - Chore: Update github actions to v4
115
280
 
116
281
  ## [3.85.0] - 2025-01-16
117
282
 
118
283
  ### Changed
284
+
119
285
  - Chore: Update assets to use Bitmovin CDN
120
286
 
121
287
  ## [3.84.0] - 2025-01-15
122
288
 
123
289
  ### Added
290
+
124
291
  - Support for changing the font style of subtitles and closed captions
125
292
  - Support for changing the edge color of characters of subtitles and closed captions
126
293
 
127
294
  ## [3.83.0] - 2025-01-14
128
295
 
129
296
  ## Fixed
297
+
130
298
  - Exception when disabling smooth playback position updating by setting `SeekbarConfig.smoothPlaybackPositionUpdateIntervalMs` to `-1`
131
299
 
132
300
  ## [3.82.0] - 2025-01-13
133
301
 
134
302
  ### Added
303
+
135
304
  - Chore: Pre-commit hook for linting TypeScript file changes
136
305
 
137
306
  ## [3.81.0] - 2025-01-10
138
307
 
139
308
  ### Fixed
309
+
140
310
  - Positioning of CEA-608 caption cues when multiple cues are displayed on the same line
141
311
 
142
312
  ## [3.80.0] - 2025-01-08
143
313
 
144
314
  ### Fixed
315
+
145
316
  - Unexpected styling for the initially displayed cue when enabling CEA-608 captions
146
317
  - Vertical alignment of CEA-608 captions on small player sizes
147
318
 
148
319
  ## [3.79.0] - 2025-01-08
149
320
 
150
321
  ### Fixed
322
+
151
323
  - CEA-608 caption window covering almost the entire video area
152
324
 
153
325
  ### Changed
326
+
154
327
  - Create separate region components for each CEA-608 row
155
328
 
156
329
  ## [3.78.0] - 2025-01-08
157
330
 
158
331
  ### Changed
332
+
159
333
  - Chore: Switch from `tslint` to `eslint` for linting
160
334
 
161
335
  ## [3.77.0] - 2025-01-03
162
336
 
163
337
  ### Changed
338
+
164
339
  - Chore: Update to Node v22
165
340
 
166
341
  ## [3.76.0] - 2024-12-20
167
342
 
168
343
  ### Fixed
344
+
169
345
  - Seek preview thumbnails exceeding the UI dimensions when default size is increased
170
346
 
171
347
  ## [3.75.0] - 2024-11-19
172
348
 
173
349
  ### Fixed
350
+
174
351
  - Potential performance impact caused by forced layout reflows
175
352
 
176
353
  ## [3.74.0] - 2024-10-24
177
354
 
178
355
  ### Changed
356
+
179
357
  - Dpad keymap for Android devices
180
358
 
181
359
  ## [3.73.0] - 2024-09-06
182
360
 
183
361
  ### Added
362
+
184
363
  - `Component` now has a `ViewMode` that can either be `Persistent` or `Temporary`
185
364
 
186
365
  ### Fixed
366
+
187
367
  - `selectbox` dropdown not closing in Safari when the UI is hidden
188
368
 
189
369
  ### Changed
370
+
190
371
  - `selectbox` now sets its `ViewMode` to `Persistent` whenever and as long as the select-dropdown is shown
191
372
  - `uicontainer` and `settingspanel` will no longer auto-hide if there are any components that are in the `Persistent` view mode
192
373
 
193
374
  ## [3.72.0] - 2024-08-30
194
375
 
195
376
  ### Added
377
+
196
378
  - Dutch (nl) subtitles
197
379
 
198
380
  ## [3.71.0] - 2024-08-28
199
381
 
200
382
  ### Added
383
+
201
384
  - Link to API docs in README
202
385
 
203
386
  ## [3.70.0] - 2024-08-21
204
387
 
205
388
  ### Added
389
+
206
390
  - Support for a new placeholder `{adBreakRemainingTime}` in [AdMessageLabel](https://cdn.bitmovin.com/player/ui/3/docs/classes/AdMessageLabel.html) that displays the remaining time in an ad break. [Documentation](https://cdn.bitmovin.com/player/ui/3/docs/functions/StringUtils.replaceAdMessagePlaceholders.html) on usage.
207
391
 
208
392
  ## [3.69.0] - 2024-08-14
209
393
 
210
394
  ### Added
395
+
211
396
  - API doc generation and publishing. The API doc from the UI can be found [here](https://cdn.bitmovin.com/player/ui/3/docs/index.html)
212
397
 
213
398
  ## [3.67.0] - 2024-07-03
214
399
 
215
400
  ### Added
401
+
216
402
  - Missing changelog entries of `3.65.0` and `3.66.0` release versions
217
403
 
218
404
  ## [3.66.0] - 2024-07-01
219
405
 
220
406
  ### Changed
407
+
221
408
  - Playground demo page to include checkbox to enable/disbale ads
222
409
  - Store basic configuration of playground demo page in localStorage
223
410
 
224
411
  ## [3.65.0] - 2024-06-24
225
412
 
226
413
  ### Added
414
+
227
415
  - Eco Mode toggle button
228
416
 
229
417
  ## [3.64.0] - 2024-05-28
230
418
 
231
419
  ### Added
420
+
232
421
  - `Component` instances are now assigned to their `HTMLElements` for easier accessing
233
422
 
234
423
  ### Fixed
424
+
235
425
  - Two touch interactions needed to skip an ad or open the click through link
236
426
 
237
427
  ## [3.63.0] - 2024-05-17
238
428
 
239
429
  ### Added
430
+
240
431
  - `QuickSeekButton` control bar component for jumping +/- a configurable number of seconds (10 second default)
241
432
 
242
433
  ## [3.62.0] - 2024-05-06
243
434
 
244
435
  ### Fixed
436
+
245
437
  - No subtitle is shown when switching between different tracks
246
438
 
247
439
  ## [3.61.0] - 2024-04-23
248
440
 
249
441
  ### Fixed
442
+
250
443
  - `ControlBar` not auto-hiding when `UIConfig.disableAutoHideWhenHovered` is set to `true` on some touch screen devices
251
444
 
252
445
  ## [3.60.0] - 2024-04-16
253
446
 
254
447
  ### Added
448
+
255
449
  - Type export for `UIVariant` interface
256
450
 
257
451
  ## [3.59.0] - 2024-04-12
258
452
 
259
453
  ### Added
454
+
260
455
  - `UIContainerConfig.hideImmediatelyOnMouseLeave` to immediately hide the UI when mouse leaves it
261
456
 
262
457
  ### Fixed
458
+
263
459
  - Triggering UI release after merging a PR from a fork
264
460
 
265
461
  ## [3.58.0] - 2024-04-08
266
462
 
267
463
  ### Added
464
+
268
465
  - `UIConfig#seekbarSnappingEnabled` config option to enable/disable the play head snapping to markers on the seek bar when seeking near them. Default is `true`.
269
466
 
270
467
  ## [3.57.0] - 2024-03-28
271
468
 
272
469
  ### Added
470
+
273
471
  - `disableStorageApi` config option
274
472
 
275
473
  ### Fixed
474
+
276
475
  - Subtitle settings not being retained when the UI variant switches
277
476
 
278
477
  ## [3.56.0] - 2024-03-26
279
478
 
280
479
  ### Changed
480
+
281
481
  - `localStorage` availability check to not create a test-entry anymore
282
482
 
283
483
  ## [3.55.0] - 2024-03-21
284
484
 
285
485
  ### Added
486
+
286
487
  - Automatically add compare link in changelog file in relase workflow
287
488
 
288
489
  ### Fixed
490
+
289
491
  - Missing compare link in the changelog file
290
492
 
291
493
  ## [3.54.0] - 2024-02-01
292
494
 
293
495
  ### Fixed
496
+
294
497
  - FCC subtitle settings menu showing two options with the same value
295
498
  - Invalid release workflow file
296
499
 
297
500
  ## [3.53.0] - 2024-01-03
298
501
 
299
502
  ### Added
503
+
300
504
  - Automate release on every PR merge to develop
301
505
 
302
506
  ## [3.52.2] - 2023-11-23
303
507
 
304
508
  ### Fixed
509
+
305
510
  - Potential name clashing in CSS animations due to missing `bmpui` prefix
306
511
 
307
512
  ## [3.52.1] - 2023-11-13
308
513
 
309
514
  ### Fixed
515
+
310
516
  - Crash when receiving a `SourceLoaded` event during scrubbing
311
517
 
312
518
  ## [3.52.0] - 2023-09-25
313
519
 
314
520
  ### Fixed
521
+
315
522
  - When having a spatial navigation and using a mouselike device, components will lose focus when the mouse leaves the hovered component. Spatial navigation will continue at the last active component when using arrow keys again.
316
523
 
317
524
  ## [3.51.0] - 2023-09-18
318
525
 
319
526
  ### Changed
527
+
320
528
  - On seek/timeshift operations the UI will only remove subtitle cues which do not enclose the seek target instead of removing all.
321
529
 
322
530
  ## [3.50.0] - 2023-07-24
323
531
 
324
532
  ### Fixed
533
+
325
534
  - Settings panel does not close on single tap on mobile devices
326
535
  - Restoring volume on unmute not working when volume was changed through the player API
327
536
  - Gulp `watch` task not working
@@ -329,76 +538,91 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
329
538
  ## [3.49.0] - 2023-07-17
330
539
 
331
540
  ### Added
541
+
332
542
  - `onActiveUiChanged` event on the `UIManager` that is dispatched when the UI manager switches to a different UI variant
333
543
  - Readonly `currentUi` field on the `UIManager` that exposes the active `UIInstanceManager`
334
544
 
335
545
  ## [3.48.0] - 2023-07-03
336
546
 
337
547
  ### Fixed
548
+
338
549
  - When more than one UI with spatial navigation is managed by the UI manager, all UIs would handle key events, instead of only the active one.
339
550
 
340
551
  ## [3.47.0] - 2023-05-17
341
552
 
342
553
  ### Changed
554
+
343
555
  - Updated package dependencies.
344
556
 
345
557
  ## [3.46.0] - 2023-03-22
346
558
 
347
559
  ### Added
560
+
348
561
  - Config option `forceSubtitlesIntoViewContainer` to handle overflowing subtitle labels
349
562
 
350
563
  ## [3.45.0] - 2023-03-06
351
564
 
352
565
  ### Added
566
+
353
567
  - Scrubbing during a FaceTime call automatically creates a SharePlay suspension to not synchronize scrubbing to other participants.
354
568
 
355
569
  ## [3.44.0] - 2023-02-13
356
570
 
357
571
  ### Fixed
572
+
358
573
  - Circular dependency in the import of `AudioTrackListBox` between `main.ts` and `uifactory.ts`
359
574
 
360
575
  ## [3.43.0] - 2023-02-06
361
576
 
362
577
  ### Added
578
+
363
579
  - `UIConfig.enterFullscreenOnInitialPlayback` to enter fullscreen when clicking `PlaybackToggleButton` or `HugePlaybackToggleButton` to initiate the initial playback
364
580
 
365
581
  ## [3.42.0] - 2023-01-30
366
582
 
367
583
  ### Added
584
+
368
585
  - Language localization for Spanish
369
586
 
370
587
  ## [3.41.0] - 2023-01-12
371
588
 
372
589
  ### Added
590
+
373
591
  - Export Localization and SpatialNavigation to use in external UI configuration
374
592
 
375
593
  ## [3.40.0] - 2022-12-20
376
594
 
377
595
  ### Added
596
+
378
597
  - Support for spatial navigation
379
598
  - SmartTV UI via `UIFactory.buildDefaultTvUI`
380
599
 
381
600
  ### Changed
601
+
382
602
  - Node.js from 10 to 16
383
603
  - Typescript from ^3.9.6 to 4.3
384
604
 
385
605
  ## [3.39.0] - 2022-12-01
386
606
 
387
607
  ### Added
608
+
388
609
  - `display` method on `ErrorMessageOverlay` to enable usage for application errors without a player error
389
610
  - Replay button which can be used within the controlbar and works also during playback
390
611
 
391
612
  ### Fixed
613
+
392
614
  - Unnecessary DOM element creation on release
393
615
 
394
616
  ## [3.38.0] - 2022-08-30
395
617
 
396
618
  ### Fixed
619
+
397
620
  - Duration format not getting updated from `mm:ss` to `hh:mm:ss`
398
621
 
399
622
  ## [3.37.0] - 2022-04-12
400
623
 
401
624
  ### Fixed
625
+
402
626
  - Incorrect line alignment for subtitle cues from WebVTT tracks.
403
627
  - Incorrect edges of reference for vertical writing cues in block positioning from WebVTT tracks.
404
628
  - An empty line is added in vertical subtitle cues.
@@ -406,144 +630,175 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
406
630
  ## [3.36.0] - 2022-03-15
407
631
 
408
632
  ### Added
633
+
409
634
  - Seek preview is now configurable via `UIConfig.enableSeekPreview` or `SeekBarConfig.enableSeekPreview`
410
635
 
411
636
  ## [3.35.0] - 2022-03-01
412
637
 
413
638
  ### Fixed
639
+
414
640
  - npm install failure on node 16
415
641
 
416
642
  ## [3.34.0] - 2022-02-16
417
643
 
418
644
  ### Fixed
645
+
419
646
  - Incorrect aria-label on playbackbutton toggle
420
647
 
421
648
  ## [3.33.0] - 2022-02-01
422
649
 
423
650
  ### Added
651
+
424
652
  - Support for providing custom `aria-label` when `ListBox` is used.
425
653
 
426
654
  ### Fixed
655
+
427
656
  - Updating the markers on live streams causing unhandled exception after player is destroyed.
428
657
 
429
658
  ## [3.32.0] - 2021-12-21
430
659
 
431
660
  ### Fixed
661
+
432
662
  - The scrubber could jump to an old position during a seek operation when it was dragged.
433
663
  - The Seekbar scrubber could jump to an old position on touch devices when the buffer updates during a seek operation.
434
664
 
435
665
  ## [3.31.0] - 2021-10-12
436
666
 
437
667
  ### Added
668
+
438
669
  - Style reset for subtitle overlay element to prevent undesired CSS rules collisions.
439
670
 
440
671
  ## [3.30.0] - 2021-09-14
441
672
 
442
673
  ### Added
674
+
443
675
  - Sort `AudioTracks` inside the `AudioTrackSelectBox` and the `AudioTrackListBox` by their identifier.
444
676
 
445
677
  ## [3.29.0] - 2021-08-19
446
678
 
447
679
  ### Fixed
680
+
448
681
  - An empty line being added to subtitle boxes when VTT positioning attributes are present.
449
682
 
450
683
  ## [3.28.1] - 2021-06-25
451
684
 
452
685
  ### Fixed
686
+
453
687
  - Broken build for previous release `3.28.0`
454
688
 
455
689
  ## [3.28.0] - 2021-06-22 [YANKED]
456
690
 
457
691
  ### Fixed
692
+
458
693
  - VTT cue positioning when position alignment is `end` or `right`
459
694
 
460
695
  ## [3.27.0] - 2021-04-11
461
696
 
462
697
  ### Added
698
+
463
699
  - Support for `CueUpdate` events that were introduced in player v8.60.0
464
700
 
465
701
  ### Fixed
702
+
466
703
  - Ad times (`remainingTime`, `playedTime` and `adDuration`) are not correctly rounded
467
704
 
468
705
  ## [3.26.0] - 2021-03-30
469
706
 
470
707
  ### Fixed
708
+
471
709
  - `TouchEvent` error in seekbar controls when using the mouse on a touchscreen Windows device and IE/UWP
472
710
 
473
711
  ## [3.25.0] - 2021-03-16
474
712
 
475
713
  ### Added
714
+
476
715
  - Build step to publish releases to npm via CI
477
716
  - Support for Mobile V3 `PlayerError` and `SourceError` events
478
717
 
479
718
  ### Fixed
719
+
480
720
  - Controls' focus highlighting is shown in case of non-keyboard interaction on some browsers/platforms
481
721
 
482
722
  ## [3.24.0] - 2021-02-16
483
723
 
484
724
  ### Added
725
+
485
726
  - Support for `PlaylistTransition` event which is only present on Mobile V3
486
727
 
487
728
  ## [3.23.0] - 2021-01-14
488
729
 
489
730
  ### Changed
731
+
490
732
  - Default error message for code `1105` now uses the term "allowlist"
491
733
 
492
734
  ## [3.22.0] - 2020-12-22
493
735
 
494
736
  ### Added
737
+
495
738
  - `UIConfig#disableAutoHideWhenHovered` config property to disable auto hiding of UI when an element in `ControlBar` is currently hovered
496
739
 
497
740
  ### Changed
741
+
498
742
  - Exported builder method for `modernUI`
499
743
 
500
744
  ## [3.21.0] - 2020-12-03
501
745
 
502
746
  ### Added
747
+
503
748
  - `'type' : 'button'` to buttons to prevent submitting forms
504
749
 
505
750
  ## [3.20.0] - 2020-11-25
506
751
 
507
752
  ### Fixed
753
+
508
754
  - Wrapping possibly not enumerable properties of player object, like getters and setters
509
755
 
510
756
  ## [3.19.0] - 2020-11-10
511
757
 
512
758
  ### Fixed
759
+
513
760
  - Subtitles not displayed in IE/tizen 2016 when no regions are present
514
761
 
515
762
  ## [3.18.0] - 2020-10-27
516
763
 
517
764
  ### Fixed
765
+
518
766
  - Live-indicator stays active after stalling in live streams
519
767
 
520
768
  ## [3.17.0] - 2020-08-18
521
769
 
522
770
  ### Fixed
771
+
523
772
  - Subtitle positioning when small screen UI is used and vtt properties are present
524
773
  - `SettingsPanel` goes blank sometimes when switching browser tab/window
525
774
 
526
775
  ## [3.16.0] - 2020-07-30
527
776
 
528
777
  ### Added
778
+
529
779
  - Support for `images` on `TimelineMarkers`
530
780
 
531
781
  ### Changed
782
+
532
783
  - Changed `TimelineMarkers` rendering from using no `offset` and `css-border` to `width` and `translateX` properties.
533
784
 
534
785
  ### Fixed
786
+
535
787
  - Inconsistent `PlaybackToggleButton` state after transitioning between multiple `AdBreak`s for the same position using `BitmovinAdvertisingModule`
536
788
 
537
789
  ## [3.15.0] - 2020-07-23
538
790
 
539
791
  ### Added
792
+
540
793
  - Listen to `ViewModeAvailabilityChanged` event and toggle visibility of `FullscreenToggleButton` and `PictureInPictureToggleButton` accordingly
541
794
  - Support `TimelineMarkers` in live streams
542
795
 
543
796
  ### Changed
797
+
544
798
  - TypeScript update to 3.9.6
545
799
 
546
800
  ### Fixed
801
+
547
802
  - Dead documentation link in README.md
548
803
  - `FullscreenToggleButton` being visible although `ViewMode.Fullscreen` is not available
549
804
  - Vertical text alignment in the `MetadataLabel` for the `MetadataLabelContent.Title` in the `SmallScreenUI`
@@ -551,24 +806,29 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
551
806
  ## [3.14.0]
552
807
 
553
808
  ### Added
809
+
554
810
  - Seekbar snapping range is now configurable
555
811
 
556
812
  ## [3.13.0]
557
813
 
558
814
  ### Fixed
815
+
559
816
  - Subtitles partially hidden by player controls
560
817
 
561
818
  ## [3.12.0]
562
819
 
563
820
  ### Added
821
+
564
822
  - TTML `displayAlign = after` styling case
565
823
 
566
824
  ### Fixed
825
+
567
826
  - TTML subtitles region alignment
568
827
 
569
828
  ## [3.11.0]
570
829
 
571
830
  ### Fixed
831
+
572
832
  - Position alignment for VTT subtitles
573
833
  - Default selection not highlighted in AudioTrackListBox and SubtitleListBox
574
834
  - Clear subtitles list when source is unloaded
@@ -576,25 +836,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
576
836
  ## [3.10.0]
577
837
 
578
838
  ### Added
839
+
579
840
  - Support for regions in VTT subtitles
580
841
 
581
842
  ### Fixed
843
+
582
844
  - UI hiding when actively using seek or volume slider
583
845
  - Empty background boxes with TTML subtitles on Chromecast
584
846
 
585
847
  ## [3.9.2]
586
848
 
587
849
  ### Added
850
+
588
851
  - Web Content Accessibility (WCAG) 2.0
589
852
  - Keyboard controls for sliders when focused
590
853
 
591
854
  ### Fixed
855
+
592
856
  - `onActive` and `onInactive` not fired for root `SettingsPanelPage` when `SettingsPanel` was configured with `hideDelay` of `-1`
593
857
  - Automatic opening of the first select box when the `SettingsPanel` becomes visible on iOS devices
594
858
 
595
859
  ## [3.9.1]
596
860
 
597
861
  ### Fixed
862
+
598
863
  - UI flickering back and forth on live streams after ads
599
864
  - Build errors when using the npm package
600
865
  - Outdated live asset sample
@@ -602,122 +867,149 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
602
867
  ## [3.9.0]
603
868
 
604
869
  ### Added
870
+
605
871
  - Localization
606
872
  - `DurationChanged` event support
607
873
 
608
874
  ## [3.8.1]
609
875
 
610
876
  ### Changed
877
+
611
878
  - Hide UI even a element in `ControlBar` is currently hovered
612
879
 
613
880
  ### Fixed
881
+
614
882
  - Do not hide `SettingsPanel` in `modernSmallScreenUI` automatically
615
883
 
616
884
  ## [3.8.0]
617
885
 
618
886
  ### Added
887
+
619
888
  - Support for regions in TTML subtitles
620
889
 
621
890
  ## [3.7.0]
622
891
 
623
892
  ### Added
893
+
624
894
  - Thumbnail preview support for live streams
625
895
 
626
896
  ### Changed
897
+
627
898
  - UI no longer hides in `Prepared`, `Paused` or `Finished` state
628
899
 
629
900
  ## [3.6.1]
630
901
 
631
902
  ### Fixed
903
+
632
904
  - Ads UI not being hidden when the Player is unloaded during ad playback
633
905
 
634
906
  ## [3.6.0]
635
907
 
636
908
  ### Added
909
+
637
910
  - `PlaybackTimeLabelMode.RemainingTime` to display the remaining time of the content
638
911
 
639
912
  ### Changed
913
+
640
914
  - Improved documentation about time / number formats which can be used in `AdMessageLabel` placeholders
641
915
  - TypeScript update to 3.4.5
642
916
  - Improved generic type inheritance of `Component` `Config`s ([#74](https://github.com/bitmovin/bitmovin-player-ui/issues/74))
643
917
 
644
918
  ### Fixed
919
+
645
920
  - Incorrect calculation of `SettingsPanelPage` dimensions in transition animation
646
921
  - Navigation for more than two `SettingsPanelPage`s
647
922
 
648
923
  ## [3.5.0]
649
924
 
650
925
  ### Added
926
+
651
927
  - Support for player instances which inherits from the `BitmovinPlayer`
652
928
 
653
929
  ### Changed
930
+
654
931
  - `ListBox` no longer recreates itself after the list was updated
655
932
 
656
933
  ### Fixed
934
+
657
935
  - UI not hiding after selecting an item within a `ListBox`
658
936
 
659
937
  ## [3.4.6]
660
938
 
661
939
  ### Fixed
940
+
662
941
  - Allow npm package to be imported in server side app without `navigator` error
663
942
 
664
943
  ## [3.4.5]
665
944
 
666
945
  ### Fixed
946
+
667
947
  - Wrong state for live indicator when a `startTime` value is provided within the `SourceConfig` of the player
668
948
 
669
949
  ## [3.4.4]
670
950
 
671
951
  ### Fixed
952
+
672
953
  - Crash of `UIContainer.release` when initialized with `hideDelay: -1`
673
954
 
674
955
  ## [3.4.3]
675
956
 
676
957
  ### Fixed
958
+
677
959
  - AirPlay icon does not change into active state
678
960
 
679
961
  ## [3.4.2]
680
962
 
681
963
  ### Changed
964
+
682
965
  - Dispatch last event of a rate-limited event sequence to `Event.subscribeRateLimited` listeners
683
966
 
684
967
  ### Fixed
968
+
685
969
  - Inaccurate time within `SeekBarLabel` on seek preview
686
970
 
687
971
  ## [3.4.1]
688
972
 
689
973
  ### Added
974
+
690
975
  - `simple.html` to test plain UI CSS without Bootstrap
691
976
 
692
977
  ### Fixed
978
+
693
979
  - Stopping timeshift offset updater of `SeekBar` when player is destroyed
694
980
  - `box-sizing` style of `SeekBar` and `SeekBarLabel`
695
981
 
696
982
  ## [3.4.0]
697
983
 
698
984
  ### Added
985
+
699
986
  - `UIContainerConfig.userInteractionEventSource` to allow tracking of user interaction events (which toggle the visibility of certain components like the `ControlBar`) on a custom element
700
987
 
701
988
  ### Changed
989
+
702
990
  - Avoid unnecessary updating of hidden `AdSkipButton`
703
991
  - Upgrade to Gulp 4 ([#208](https://github.com/bitmovin/bitmovin-player-ui/issues/208))
704
992
 
705
993
  ## [3.3.1]
706
994
 
707
995
  ### Changed
996
+
708
997
  - Default UI does not show any UI variant during an ad without UI requirement
709
998
 
710
999
  ## [3.3.0]
711
1000
 
712
1001
  ### Added
1002
+
713
1003
  - Support for `VideoQualityAdded`, `VideoQualityRemoved`, `AudioQualityAdded`, `AudioQualityRemoved` events in `AudioQualitySelectBox` / `VideoQualitySelectBox`
714
1004
 
715
1005
  ### Changed
1006
+
716
1007
  - Updated advertising UI support for player 8.1
717
1008
 
718
1009
  ## [3.2.0]
719
1010
 
720
1011
  ### Added
1012
+
721
1013
  - CSS selectors for all `SelectBox` components
722
1014
  - `VolumeController` to control and manage volume and mute state by multiple `Component`s in a single place
723
1015
  - `disable()` / `enable()` functionality to `Component`s
@@ -726,12 +1018,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
726
1018
  - `UIConditionContext.adRequiresUi` to distinguish if the current ad requires an external UI
727
1019
 
728
1020
  ### Changed
1021
+
729
1022
  - `UIConfig.playbackSpeedSelectionEnabled` is now `true` by default (as it was before v2.17.0)
730
1023
 
731
1024
  ### Removed
1025
+
732
1026
  - Deprecated `UIConditionContext#adClientType` as it's no longer supported by player v8
733
1027
 
734
1028
  ### Fixed
1029
+
735
1030
  - Handling of `null` keys in `SelectBox` (fixes subtitle deselection in IE11)
736
1031
  - Unintended start of playback while scrubbing on seekbar
737
1032
  - `VolumeToggleButton` interfered player API `setVolume`/`mute`/`unmute` calls
@@ -739,14 +1034,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
739
1034
  ## [3.1.0]
740
1035
 
741
1036
  ### Added
1037
+
742
1038
  - Customization of output naming via CLI parameters (see `outputnames` in `gulpfile.js`)
743
1039
 
744
1040
  ### Changed
1041
+
745
1042
  - Improved `Button` hit-boxes by changing margins to paddings
746
1043
  - `Seekbar`/`VolumeSlider` position markers changed from SVG to pure CSS to improve vertical alignment with bar
747
1044
  - `Timeout` rewritten for better efficiency
748
1045
 
749
1046
  ### Fixed
1047
+
750
1048
  - Uncaught `PlayerAPINotAvailableError` in `SeekBar` position updater when player is destroyed
751
1049
  - Unresponsive UI when a user canceled connection establishment to a Cast receiver
752
1050
  - Avoid unnecessary animation when `BufferingOverlay` is hidden
@@ -757,6 +1055,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
757
1055
  ## [3.0.1]
758
1056
 
759
1057
  ### Fixed
1058
+
760
1059
  - Positioning of `SeekBar`/`VolumeSlider` markers improved
761
1060
  - Crash of `UIManager.release` when player instance was already destroyed
762
1061
 
@@ -765,18 +1064,21 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
765
1064
  Major release for Bitmovin Player 8, mainly adjusted to the changed player API. For player 7, please use UI v2.x.
766
1065
 
767
1066
  ### Added
1067
+
768
1068
  - Support for image subtitles
769
1069
  - Paging support for `SettingsPanel` via `SettingsPanelPage` to enable navigation to sub-settings ([#119](https://github.com/bitmovin/bitmovin-player-ui/issues/119))
770
1070
  - Default `ErrorMessageTranslator` with english error messages for the `ErrorMessageOverlay`
771
1071
  - `UIConfig.errorMessages` to allow customization of error messages via custom `ErrorMessageTranslator` | `ErrorMessageMap`
772
1072
 
773
1073
  ### Changed
1074
+
774
1075
  - `play` and `pause` calls during seeking now have the issuer `ui-seek` instead of `ui`
775
1076
  - Extracted/renamed `UIManager.Factory` to `UIFactory`
776
1077
  - Moved `UIConfig`, `TimelineMarker`, and `UIRecommendationConfig` from `uimanager.ts` to `uiconfig.ts`
777
1078
  - Replaced local player type definitions with type definitions from the [bitmovin-player NPM package](https://www.npmjs.com/package/bitmovin-player)
778
1079
 
779
1080
  ### Removed
1081
+
780
1082
  - Everything deprecated in 2.x
781
1083
  - Player v7 feature detections and compatibility fallbacks
782
1084
  - `SubtitleSettingsPanel` in favour of `SubtitleSettingsPanelPage` to use with the new navigation feature of `SettingsPanel`
@@ -784,6 +1086,7 @@ Major release for Bitmovin Player 8, mainly adjusted to the changed player API.
784
1086
  - Disabled the ads UI variants because there is no ads module in player v8 yet that requires a UI (ads UI will be reintroduced with an upcoming release)
785
1087
 
786
1088
  ### Fixed
1089
+
787
1090
  - Type definitions are now generated correctly and referenced from `package.json`
788
1091
  - Update timeline markers when loading a new source
789
1092
  - Flickering playback position indicator when switching to a live-stream
@@ -791,6 +1094,7 @@ Major release for Bitmovin Player 8, mainly adjusted to the changed player API.
791
1094
  ## [2.18.0] (2018-08-08)
792
1095
 
793
1096
  ### Added
1097
+
794
1098
  - UI element `ListBox` to display multiple selectable items ([#121](https://github.com/bitmovin/bitmovin-player-ui/issues/121))
795
1099
  - Icon for subtitles
796
1100
  - Icon for audio tracks
@@ -799,31 +1103,37 @@ Major release for Bitmovin Player 8, mainly adjusted to the changed player API.
799
1103
  - `UIContainerConfig.hidePlayerStateExceptions` option to configure player states in which the controls will not be hidden
800
1104
 
801
1105
  ### Changed
1106
+
802
1107
  - SmallScreenUI: Move `RecommendationOverlay` behind `TitleBar` to avoid hidden `FullscreenToggleButton` in replay screen and prevent smartphone users from exiting fullscreen
803
1108
  - SmallScreenUI: Do not hide controls in replay screen
804
1109
 
805
1110
  ## [2.17.1] (2018-08-01)
806
1111
 
807
1112
  ### Fixed
1113
+
808
1114
  - Rendering of single-image thumbnails
809
1115
  - Local storage detection in Firefox
810
1116
 
811
1117
  ## [2.17.0] (2018-07-10)
812
1118
 
813
1119
  ### Added
1120
+
814
1121
  - `AirPlayToggleButton` to `modernSmallScreenUI` for MacOS devices
815
1122
  - `PictureInPictureToggleButton` to `modernSmallScreenUI` for MacOS devices
816
1123
  - `UIConfig.playbackSpeedSelectionEnabled` option to show/hide `PlaybackSpeedSelectBox` within the `SettingsPanel`
817
1124
 
818
1125
  ### Changed
1126
+
819
1127
  - `PlaybackSpeedSelectBox` is no longer visible within the `SettingsPanel` by default
820
1128
 
821
1129
  ### Fixed
1130
+
822
1131
  - Apply the IE/Firefox workaround of v2.16.0 to hide the hovered dropdown panel of a `SelectBox` also when the UI hides
823
1132
 
824
1133
  ## [2.16.0] (2018-06-27)
825
1134
 
826
1135
  ### Added
1136
+
827
1137
  - Revert state of `PlaybackToggleButton` to paused if a play attempt is rejected (`ON_WARNING 5008`; e.g. in case of autoplay)
828
1138
  - `UIManager` API to dynamically manage `SeekBar` markers: `getTimelineMarkers`, `addTimelineMarker`, `removeTimelineMarker` ([#103](https://github.com/bitmovin/bitmovin-player-ui/issues/103))
829
1139
  - Interval marking with added property `TimelineMarker.duration` ([#103](https://github.com/bitmovin/bitmovin-player-ui/issues/103))
@@ -832,17 +1142,20 @@ Major release for Bitmovin Player 8, mainly adjusted to the changed player API.
832
1142
  - `ListSelectorConfig.translator` to translate item labels of auto-populated `SelectBox` implementations, e.g. `SubtitleSelectBox` ([#117](https://github.com/bitmovin/bitmovin-player-ui/pull/117))
833
1143
 
834
1144
  ### Changed
1145
+
835
1146
  - Animate `HugePlaybackToggleButton` only on state changes (not when UI is initially loaded)
836
1147
  - Hide `HugePlaybackToggleButton` play animation when `config.playback.autoplay` is enabled or the player is already playing
837
1148
  - Consolidated configuration management of `UIConfig` from components into `UIManager`
838
1149
  - Configuration from the player source now takes precedence over the configuration passed into the `UIManager`
839
1150
 
840
1151
  ### Fixed
1152
+
841
1153
  - IE & Firefox could leave the dropdown panel of an active/hovered `SelectBox` floating after the parent container (e.g. `SettingsPanel`) was hidden
842
1154
 
843
1155
  ## [2.15.0] (2018-06-08)
844
1156
 
845
1157
  ### Added
1158
+
846
1159
  - `UIManager` API to switch UI variants: `UIConfig.autoUiVariantResolve`, `onUiVariantResolve` event, `getUiVariants`, `resolveUiVariant`, `switchToUiVariant` ([#102](https://github.com/bitmovin/bitmovin-player-ui/pull/102))
847
1160
 
848
1161
  ## [2.14.0] (2018-05-02)
@@ -850,12 +1163,14 @@ Major release for Bitmovin Player 8, mainly adjusted to the changed player API.
850
1163
  License change from LGPLv3 to MIT.
851
1164
 
852
1165
  ### Added
1166
+
853
1167
  - Subscribe to the `ON_PLAYBACK_SPEED_CHANGED` event to display the correct speed in the `PlaybackSpeedSelectBox`
854
1168
  - Prefer `on`/`off` over `addEventHandler`/`removeEventHandler` with player version 7.8+ to avoid deprecation log messages
855
1169
  - `data-bmpui-volume-level-tens` attribute on `VolumeToggleButton` for more granular styling of the volume icon
856
1170
  - `onClass`/`offClass` configuration properties in `ToggleButtonConfig` to allow customizing the state marker CSS class names
857
1171
 
858
1172
  ### Changed
1173
+
859
1174
  - Removed `bmpui-low` marker class from `VolumeToggleButton` (replaced by `data-bmpui-volume-level-tens` attribute)
860
1175
  - Renamed `VolumeToggleButton` mute state marker CSS class names from `off`/`on` to `unmuted`/`muted`
861
1176
  - Change `VolumeToggleButton` into mute state when the player volume is set to `0` (avoids transitions from zero volume to muted)
@@ -863,6 +1178,7 @@ License change from LGPLv3 to MIT.
863
1178
  - Removed volume level animation from `VolumeSlider`
864
1179
 
865
1180
  ### Fixed
1181
+
866
1182
  - Initialize `ToggleButton` state at UI configuration
867
1183
  - `SettingsPanel` attempted to check `isActive` on non-`SettingsPanelItem` components (e.g. `CloseButton`)
868
1184
  - User interaction passthrough from `HugePlaybackToggleButton` to player when autoplay is blocked
@@ -871,71 +1187,86 @@ License change from LGPLv3 to MIT.
871
1187
  ## [2.13.0] (2018-03-15)
872
1188
 
873
1189
  ### Changed
1190
+
874
1191
  - Consistent UI's prepared state detection by only looking at the player's ready state
875
1192
 
876
1193
  ## [2.12.1] (2018-02-21)
877
1194
 
878
1195
  ### Fixed
1196
+
879
1197
  - Flickering heights of `SeekBar` and `VolumeSlider` bar indicators
880
1198
  - "Concurrent" modification of event handlers in `EventDispatcher` when a handler is unsubscribed by a handler
881
1199
 
882
1200
  ## [2.12.0] (2018-01-22)
883
1201
 
884
1202
  ### Changed
1203
+
885
1204
  - Execute volume control availability test on dummy media element to prevent unexpected interference with muted autoplay
886
1205
 
887
1206
  ### Fixed
1207
+
888
1208
  - Positioning of `SeekBar` markers was broken due to style changes in 2.11.0
889
1209
 
890
1210
  ## [2.11.0] (2017-12-22)
891
1211
 
892
1212
  ### Added
1213
+
893
1214
  - Update `SeekBar` playback position of live streams with DVR window while playback is paused
894
1215
 
895
1216
  ### Changed
1217
+
896
1218
  - Switch off live edge indicator in `PlaybackTimeLabel` when a live stream is paused
897
1219
 
898
1220
  ### Fixed
1221
+
899
1222
  - Stop `SeekBar` smooth playback position updates on `ON_PLAYBACK_FINISHED`
900
1223
  - Centered `SeekBar` and `VolumeSlider` drag handles and make sure that all layers of the underlying bar have the same height
901
1224
 
902
1225
  ## [2.10.5] (2017-11-20)
903
1226
 
904
1227
  ### Changed
1228
+
905
1229
  - `PlaybackToggleButton` now also listens to `ON_SOURCE_LOADED` and `ON_SOURCE_UNLOADED` to properly update the playback state when the source changes
906
1230
  - Update package dependencies
907
1231
  - Apply CEA-608 style to subtitles before they are added to the DOM to avoid "style flickering"
908
1232
 
909
1233
  ### Fixed
1234
+
910
1235
  - Unnecessary line breaks in CEA-608 texts
911
1236
 
912
1237
  ## [2.10.4] (2017-10-30)
913
1238
 
914
1239
  ### Changed
1240
+
915
1241
  - Remove `nowrap` from CEA-608 style to correctly render multiline cues
916
1242
  - `PlaybackToggleButton` now also listens to `ON_PLAYING` in addition to `ON_PLAY`
917
1243
 
918
1244
  ## [2.10.3] (2017-10-20)
919
1245
 
920
1246
  ### Fixed
1247
+
921
1248
  - Handling of whitespaces in CEA-608 texts
922
1249
 
923
1250
  ## [2.10.2] (2017-10-19)
924
1251
 
925
1252
  ### Changed
1253
+
926
1254
  - Rewritten CEA-608 text layouting
927
1255
  - Greatly simplified CEA-608 CSS style (`.{prefix}-ui-subtitle-overlay.{prefix}-cea608`)
928
1256
  - Calculate CEA-608 font size only with active CEA-608 cues
929
1257
 
930
1258
  ### Fixed
1259
+
931
1260
  - Overlapping CEA-608 texts with large player aspect ratios
932
1261
 
933
1262
  ## [2.10.1] (2017-10-13)
934
1263
 
935
1264
  ### Changed
1265
+
936
1266
  - Removed `VolumeControlButton`'s `VolumeSlider` slide-in animation in the legacy skin to fix the slider knob at 100% bug
937
1267
 
938
1268
  ### Fixed
1269
+
939
1270
  - Vertical `VolumeSlider` knob in legacy skin was not visible when set to a low volume
940
1271
  - Legacy skin's `VolumeSlider` knob was always rendered at 100% when appearing after being hidden
941
1272
  - Avoid `ItemSelectionList` DOM recreation on item selection to avoid unexpected events (e.g. `mouseenter`)
@@ -943,30 +1274,37 @@ License change from LGPLv3 to MIT.
943
1274
  ## [2.10.0] (2017-09-14)
944
1275
 
945
1276
  ### Added
1277
+
946
1278
  - Update `AudioQualitySelectBox`/`VideoQualitySelectBox` entries when the period of a source changes
947
1279
 
948
1280
  ### Changed
1281
+
949
1282
  - Export bundled UI (`bitmovinplayer-ui.js`) as UMD module (instead of global module)
950
1283
 
951
1284
  ### Fixed
1285
+
952
1286
  - Fix `Uncaught TypeError` when `require`ing UI before player
953
1287
  - Don't write UI into global namespace (`bitmovin.playerui`) when loaded as module with `require`
954
1288
 
955
1289
  ## [2.9.0] (2017-08-24)
956
1290
 
957
1291
  ### Added
1292
+
958
1293
  - Support CEA-608 subtitle positioning
959
1294
  - Added `ui` issuer parameter to all applicable player API calls (seek, timeshift, mute, unmute, setVolume)
960
1295
 
961
1296
  ### Changed
1297
+
962
1298
  - Unified player API issuer parameter to always be `ui` instead of `ui-{componentName}`
963
1299
 
964
1300
  ### Fixed
1301
+
965
1302
  - Select correct audio track after updating the items in `AudioTrackSelectBox`
966
1303
 
967
1304
  ## [2.8.3] (2017-08-01)
968
1305
 
969
1306
  ### Changed
1307
+
970
1308
  - Use new quality change API in `AudioQualitySelectBox` and `VideoQualitySelectBox` for player >= 7.3.1 (selection is now synced with player-API `set[Audio|Video]Quality` calls)
971
1309
 
972
1310
  ## [2.8.2] (2017-08-01)
@@ -974,23 +1312,28 @@ License change from LGPLv3 to MIT.
974
1312
  Release of this version went wrong and it was unpublished from NPM.
975
1313
 
976
1314
  ### Fixed
1315
+
977
1316
  - Fix `animate-slide-in-from-bottom` SCSS mixin (fixes missing `VolumeSlider` slide-in animation of `VolumeControlButton` in the legacy skin)
978
1317
  - Fire `ON_READY` event if UI is loaded after player is ready to initialize all components correctly
979
1318
 
980
1319
  ## [2.8.1] (2017-07-26)
981
1320
 
982
1321
  ### Fixed
1322
+
983
1323
  - Early quality selection in `AudioQualitySelectBox`/`VideoQualitySelectBox` before `ON_READY` broke players <= 7.2.5
984
1324
 
985
1325
  ## [2.8.0] (2017-07-25)
986
1326
 
987
1327
  ### Added
1328
+
988
1329
  - Adds a `VolumeToggleButton` to the small screen UI
989
1330
 
990
1331
  ### Changed
1332
+
991
1333
  - Moved all subtitle styling to CSS (default subtitle style is not overwritten any longer)
992
1334
 
993
1335
  ### Fixed
1336
+
994
1337
  - Fix clearing of container components with `Container#removeComponents` (fixes sticky/duplicate subtitle issue)
995
1338
  - Fix updating container components with `Container#updateComponents` (fixes empty subtitles in IE11)
996
1339
  - Fix handling of duplicate subtitle cues (same text at same time) in `SubtitleOverlay` (fixes another sticky subtitle issue)
@@ -1002,11 +1345,13 @@ Release of this version went wrong and it was unpublished from NPM.
1002
1345
  ## [2.7.1] (2017-07-06)
1003
1346
 
1004
1347
  ### Changed
1348
+
1005
1349
  - Throttled high-frequency API calls to the player from the `VolumeSlider` and `SeekBarLabel`
1006
1350
 
1007
1351
  ## [2.7.0] (2017-06-28)
1008
1352
 
1009
1353
  ### Added
1354
+
1010
1355
  - Add support for FCC compliant closed captions. Adds options on how captions are displayed, and a SubtitleSettingsPanel with the possibility to update the settings while playing the video.
1011
1356
  - Add UI version property to global namespace (`bitmovin.playerui.version`)
1012
1357
  - Add `UIConfig#container` config property to specify a custom place in the DOM where the UI will be put into. Can be used to place it somewhere else beside the default player figure.
@@ -1014,9 +1359,11 @@ Release of this version went wrong and it was unpublished from NPM.
1014
1359
  ## [2.6.0] (2017-06-27)
1015
1360
 
1016
1361
  ### Added
1362
+
1017
1363
  - Add an option to keep the UI always visible by setting the `UIContainerConfig#hideTimeout` to -1
1018
1364
 
1019
1365
  ### Changed
1366
+
1020
1367
  - Thumbnail size is no longer determined by the physical image size and can now be arbitrarily set by CSS
1021
1368
 
1022
1369
  ## [2.5.1] (2017-06-26)
@@ -1026,24 +1373,29 @@ No functional changes. Improves player API declarations, code linting configurat
1026
1373
  ## [2.5.0] (2017-06-13)
1027
1374
 
1028
1375
  ### Added
1376
+
1029
1377
  - Add `UIConditionContext#adClientType` to be able to switch to different UI variants for different ad types
1030
1378
  - Add `UIConditionContext#isPlaying` and resolve UI variants on `ON_PLAY` and `ON_PAUSED` to be able to switch between different UI variants for playing and paused states
1031
1379
 
1032
1380
  ### Changed
1381
+
1033
1382
  - NPM entry point changed from browserified standalone distributable file to CommonJS module (NPM package can now be used with Node and Browserify out-of-the-box)
1034
1383
  - Deprecated `UIConditionContext#isAdWithUI`, use `adClientType` instead (`isAdWithUI` equals `context.adClientType === 'vast'`)
1035
1384
 
1036
1385
  ### Fixed
1386
+
1037
1387
  - Stop rendering loop of the `ErrorMessageOverlay` background canvas when UI is released
1038
1388
  - Fix wrapped control bar in modern skin on iOS 8.2
1039
1389
 
1040
1390
  ## [2.4.0] (2017-06-08)
1041
1391
 
1042
1392
  ### Changed
1393
+
1043
1394
  - Resolve UI variants on `ON_READY`
1044
1395
  - Improved UI variant switching by detecting the end of an ad when loading a new source during ad playback
1045
1396
 
1046
1397
  ### Fixed
1398
+
1047
1399
  - Fix subtitle line breaking
1048
1400
 
1049
1401
  ## [2.3.0] (2017-06-01)
@@ -1051,14 +1403,17 @@ No functional changes. Improves player API declarations, code linting configurat
1051
1403
  UI does not crash any more when used with player 7.0, all other restrictions explained in [2.0.0](#200) still apply.
1052
1404
 
1053
1405
  ### Added
1406
+
1054
1407
  - Display subtitles in `SubtitleOverlay` with HTML markup if available instead of the plain text
1055
1408
  - Update `AudioTrackSelectionBox` on new `ON_AUDIO_ADDED`/`ON_AUDIO_REMOVED` events in player 7.1.4 / 7.2.0
1056
1409
 
1057
1410
  ### Changed
1411
+
1058
1412
  - Detect live streams and time shift availability when configuring dependent components (`PlaybackTimeLabel`, `PlaybackToggleButton`, `SeekBar`) to adjust their mode independently from the player state changes
1059
1413
  - Skip configuration of `PictureInPictureToggleButton` and `AirPlayToggleButton` and hide the components if functionality is not supported (when used with player 7.0)
1060
1414
 
1061
1415
  ### Fixed
1416
+
1062
1417
  - Fix settings panel closing when an option select box is open
1063
1418
  - Fix crash of Gulp `serve` task on HTML file changes
1064
1419
  - Fix `SeekBar` in legacy skin did not hide on `hide()`
@@ -1068,38 +1423,46 @@ UI does not crash any more when used with player 7.0, all other restrictions exp
1068
1423
  ## [2.2.0] (2017-05-05)
1069
1424
 
1070
1425
  ### Added
1426
+
1071
1427
  - Add `Container#removeComponents()` to remove all child components of a container
1072
1428
  - Display multiple subtitle cues in parallel in `SubtitleOverlay`
1073
1429
  - Add `getText()` method, `isEmpty()` method, and `onTextChanged` event to `Label`
1074
1430
  - Add `TitleBarConfig#keepHiddenWithoutMetadata` to keep `TitleBar` hidden if metadata labels are empty
1075
1431
 
1076
1432
  ### Changed
1433
+
1077
1434
  - Do not display `TitleBar` in Cast UI when it does not contain any metadata (title/description)
1078
1435
 
1079
1436
  ### Fixed
1437
+
1080
1438
  - Clear `SubtitleOverlay` when playback is finished
1081
1439
 
1082
1440
  ## [2.1.1] (2017-05-03)
1083
1441
 
1084
1442
  ### Fixed
1443
+
1085
1444
  - Update playback position / volume indicator position in `SeekBar`/`VolumeSlider` when component is shown
1086
1445
 
1087
1446
  ## [2.1.0] (2017-05-02)
1088
1447
 
1089
1448
  ### Added
1449
+
1090
1450
  - Add `remote-control` marker class to `UIContainer` that is applied during an active remote control session (e.g. Cast session)
1091
1451
  - Display play/pause button in smallscreen UI during an active remote control session (e.g. Cast session)
1092
1452
 
1093
1453
  ### Changed
1454
+
1094
1455
  - Adjust `CastStatusOverlay` font size and remove Cast icon (makes place for the playback toggle) in smallscreen UI
1095
1456
  - Move `PlaybackToggleOverlay` over `CastStatusOverlay` in smallscreen UI to enable playback toggling
1096
1457
 
1097
1458
  ### Fixed
1459
+
1098
1460
  - Fix hiding of `HugePlaybackToggleButton` during Cast session initialization
1099
1461
 
1100
1462
  ## [2.0.4] (2017-04-28)
1101
1463
 
1102
1464
  ### Added
1465
+
1103
1466
  - Add `ErrorMessageOverlayConfig#messages` to translate and customize error messages in the `ErrorMessageOverlay`
1104
1467
 
1105
1468
  ## [2.0.3] (2017-04-25)
@@ -1119,6 +1482,7 @@ No functional changes. Fixes an incomplete NPM package published for `2.0.0`, wh
1119
1482
  Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary, it can still be used with player 7.0, but certain restriction apply: Casting will not work correctly due to API improvements and a removed workaround, new components based on added API calls will fail (`AirPlayToggleButton`, `PictureInPictureToggleButton`) and need to be removed from the default UI, seeking before playback won't work due to a removed workaround, and audio/video quality changes through the API won't be picked up by the select boxes due to misnamed events.
1120
1483
 
1121
1484
  ### Added
1485
+
1122
1486
  - Add `AirPlayToggleButton` for AirPlay support on MacOS and iOS (player 7.1+)
1123
1487
  - Add `PictureInPictureToggleButton` for picture-in-picture support on MacOS and iOS (player 7.1+)
1124
1488
  - Add dynamic switching between different UIs based on various context properties (screen size, ads, mobile, fullscreen)
@@ -1144,6 +1508,7 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
1144
1508
  - Delay displaying of the `BufferingOverlay` by 1 second to bypass short stalls without the distraction of the overlay (configurable with `BufferingOverlayConfig#showDelayMs`)
1145
1509
 
1146
1510
  ### Changed
1511
+
1147
1512
  - Update Cast support for new Cast implementation in player 7.1
1148
1513
  - Permanently display UI during a Cast session
1149
1514
  - No more use of the player's global namespace
@@ -1158,6 +1523,7 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
1158
1523
  - Listen to `ON_[AUDIO|VIDEO]_DOWNLOAD_QUALITY_CHANGE` events instead of `*_CHANGED` in `AudioQualitySelectBox`/`VideoQualitySelectBox` (download events were broken/misnamed in player 7.0)
1159
1524
 
1160
1525
  ### Removed
1526
+
1161
1527
  - Remove all transitions and animations from Cast receiver UI due to low rendering performance on Chromecast devices
1162
1528
  - Remove Cast workarounds/hacks required for old Cast implementation in player 7.0
1163
1529
  - Remove seek-before-play workaround (now directly supported by player 7.1)
@@ -1165,6 +1531,7 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
1165
1531
  - Disable smooth seekbar update in Cast receiver UI for increased Chromecast performance
1166
1532
 
1167
1533
  ### Fixed
1534
+
1168
1535
  - Fix seekbar position indicator when seeking before playback
1169
1536
  - Fix unloading/releasing of UI
1170
1537
  - Fix wrong volume slider / seekbar positioning on UI startup and after loading a source
@@ -1176,10 +1543,13 @@ Version 2.0 of the UI framework is built for player 7.1. If absolutely necessary
1176
1543
  - Correctly initialize `VolumeToggleButton` low/high volume icon state
1177
1544
 
1178
1545
  ## [1.0.1] (2017-02-10)
1546
+
1179
1547
  ### Fixed
1548
+
1180
1549
  - Fix thumbnail preview on the seekbar label
1181
1550
 
1182
1551
  ## 1.0.0 (2017-02-03)
1552
+
1183
1553
  - First release
1184
1554
 
1185
1555
  [3.102.0]: https://github.com/bitmovin/bitmovin-player-ui/compare/v3.101.0...v3.102.0