bitmovin-player-ui 4.8.1 → 4.9.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 (275) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/dist/index.html +7 -3
  4. package/dist/js/bitmovinplayer-ui.js +1 -1
  5. package/dist/js/bitmovinplayer-ui.js.map +1 -1
  6. package/dist/js/framework/UIConfig.d.ts +5 -0
  7. package/dist/js/framework/UIManager.d.ts +15 -1
  8. package/dist/js/framework/UIManager.js +3 -0
  9. package/dist/js/framework/components/Component.d.ts +14 -0
  10. package/dist/js/framework/components/Component.js +19 -1
  11. package/dist/js/framework/components/Icon.js +1 -1
  12. package/dist/js/framework/components/ads/AdCounterLabel.d.ts +13 -2
  13. package/dist/js/framework/components/ads/AdCounterLabel.js +17 -4
  14. package/dist/js/framework/components/ads/AdMessageLabel.js +1 -1
  15. package/dist/js/framework/components/ads/AdSkipButton.d.ts +10 -2
  16. package/dist/js/framework/components/ads/AdSkipButton.js +32 -16
  17. package/dist/js/framework/components/buttons/Button.d.ts +1 -0
  18. package/dist/js/framework/components/buttons/Button.js +5 -0
  19. package/dist/js/framework/components/labels/Label.d.ts +1 -0
  20. package/dist/js/framework/components/labels/Label.js +8 -1
  21. package/dist/js/framework/components/lists/ListSelector.js +1 -2
  22. package/dist/js/framework/components/settings/DynamicSettingsPanelItem.d.ts +2 -0
  23. package/dist/js/framework/components/settings/DynamicSettingsPanelItem.js +19 -16
  24. package/dist/js/framework/components/settings/SettingsPanelItem.d.ts +1 -0
  25. package/dist/js/framework/components/settings/SettingsPanelItem.js +5 -0
  26. package/dist/js/framework/localization/i18n.d.ts +21 -0
  27. package/dist/js/framework/localization/i18n.js +44 -5
  28. package/dist/js/framework/localization/languages/de.json +21 -1
  29. package/dist/js/framework/localization/languages/en.json +3 -0
  30. package/dist/js/framework/localization/languages/es.json +3 -0
  31. package/dist/js/framework/localization/languages/fr.json +3 -0
  32. package/dist/js/framework/localization/languages/nl.json +7 -0
  33. package/dist/js/framework/localization/languages/pt.json +84 -0
  34. package/dist/js/framework/utils/StringUtils.d.ts +11 -5
  35. package/dist/js/framework/utils/StringUtils.js +27 -8
  36. package/dist/js/framework/utils/SubtitleUtils.d.ts +1 -0
  37. package/dist/js/framework/utils/SubtitleUtils.js +12 -1
  38. package/dist/js/framework/utils/TimelineMarkersHandler.js +2 -1
  39. package/dist/simple.html +1 -1
  40. package/docs/assets/hierarchy.js +1 -1
  41. package/docs/assets/search.js +1 -1
  42. package/docs/classes/AdClickOverlay.html +28 -28
  43. package/docs/classes/AdControlBar.html +31 -31
  44. package/docs/classes/AdCounterLabel.html +31 -31
  45. package/docs/classes/AdMessageLabel.html +31 -31
  46. package/docs/classes/AdSkipButton.html +28 -28
  47. package/docs/classes/AdStatusOverlay.html +31 -31
  48. package/docs/classes/AirPlayToggleButton.html +35 -35
  49. package/docs/classes/AudioQualitySelectBox.html +40 -40
  50. package/docs/classes/AudioTrackListBox.html +39 -39
  51. package/docs/classes/AudioTrackSelectBox.html +40 -40
  52. package/docs/classes/BackgroundColorSelectBox.html +40 -40
  53. package/docs/classes/BackgroundOpacitySelectBox.html +40 -40
  54. package/docs/classes/BrowserUtils.html +2 -2
  55. package/docs/classes/BufferingOverlay.html +31 -31
  56. package/docs/classes/Button.html +27 -27
  57. package/docs/classes/CastStatusOverlay.html +31 -31
  58. package/docs/classes/CastToggleButton.html +35 -35
  59. package/docs/classes/CastUIContainer.html +31 -31
  60. package/docs/classes/CharacterEdgeColorSelectBox.html +40 -40
  61. package/docs/classes/CharacterEdgeSelectBox.html +40 -40
  62. package/docs/classes/ClickOverlay.html +28 -28
  63. package/docs/classes/CloseButton.html +27 -27
  64. package/docs/classes/Component.html +25 -25
  65. package/docs/classes/Container.html +31 -31
  66. package/docs/classes/ControlBar.html +31 -31
  67. package/docs/classes/DismissClickOverlay.html +31 -31
  68. package/docs/classes/DynamicSettingsPanelItem.html +34 -34
  69. package/docs/classes/EcoModeContainer.html +32 -32
  70. package/docs/classes/EcoModeToggleButton.html +35 -35
  71. package/docs/classes/ErrorMessageOverlay.html +31 -31
  72. package/docs/classes/FontColorSelectBox.html +40 -40
  73. package/docs/classes/FontFamilySelectBox.html +40 -40
  74. package/docs/classes/FontOpacitySelectBox.html +40 -40
  75. package/docs/classes/FontSizeSelectBox.html +40 -40
  76. package/docs/classes/FontStyleSelectBox.html +40 -40
  77. package/docs/classes/FullscreenToggleButton.html +35 -35
  78. package/docs/classes/HugePlaybackToggleButton.html +35 -35
  79. package/docs/classes/HugeReplayButton.html +27 -27
  80. package/docs/classes/I18n.html +5 -3
  81. package/docs/classes/Icon.html +25 -25
  82. package/docs/classes/InteractiveSettingsPanelItem.html +34 -34
  83. package/docs/classes/ItemSelectionList.html +40 -40
  84. package/docs/classes/Label.html +31 -31
  85. package/docs/classes/ListBox.html +39 -39
  86. package/docs/classes/ListSelector.html +40 -40
  87. package/docs/classes/MetadataLabel.html +31 -31
  88. package/docs/classes/NavigationGroup.html +10 -10
  89. package/docs/classes/PictureInPictureToggleButton.html +35 -35
  90. package/docs/classes/PlaybackSpeedSelectBox.html +40 -40
  91. package/docs/classes/PlaybackTimeLabel.html +32 -32
  92. package/docs/classes/PlaybackToggleButton.html +35 -35
  93. package/docs/classes/PlaybackToggleOverlay.html +31 -31
  94. package/docs/classes/PlayerUtils.LiveStreamDetector.html +2 -2
  95. package/docs/classes/PlayerUtils.TimeShiftAvailabilityDetector.html +2 -2
  96. package/docs/classes/PlayerWrapper.html +4 -4
  97. package/docs/classes/QuickSeekButton.html +27 -27
  98. package/docs/classes/RecommendationItem.html +25 -25
  99. package/docs/classes/RecommendationOverlay.html +31 -31
  100. package/docs/classes/ReplayButton.html +27 -27
  101. package/docs/classes/RootNavigationGroup.html +10 -10
  102. package/docs/classes/SeekBar.html +36 -36
  103. package/docs/classes/SeekBarLabel.html +35 -35
  104. package/docs/classes/SelectBox.html +40 -40
  105. package/docs/classes/SettingsPanel.html +39 -39
  106. package/docs/classes/SettingsPanelItem.html +33 -33
  107. package/docs/classes/SettingsPanelNavigationGroup.html +10 -10
  108. package/docs/classes/SettingsPanelNavigationGroupConfig.html +2 -2
  109. package/docs/classes/SettingsPanelPage.html +33 -33
  110. package/docs/classes/SettingsPanelPageBackButton.html +29 -29
  111. package/docs/classes/SettingsPanelPageNavigatorButton.html +29 -29
  112. package/docs/classes/SettingsPanelPageOpenButton.html +29 -29
  113. package/docs/classes/SettingsPanelSelectOption.html +34 -34
  114. package/docs/classes/SettingsToggleButton.html +35 -35
  115. package/docs/classes/ShadowDomManager.html +2 -2
  116. package/docs/classes/SmallCenteredPlaybackToggleButton.html +35 -35
  117. package/docs/classes/Spacer.html +25 -25
  118. package/docs/classes/SpatialNavigation.html +4 -4
  119. package/docs/classes/SubtitleListBox.html +39 -39
  120. package/docs/classes/SubtitleOverlay.html +31 -31
  121. package/docs/classes/SubtitleSelectBox.html +40 -40
  122. package/docs/classes/SubtitleSettingSelectBox.html +40 -40
  123. package/docs/classes/SubtitleSettingsPanelPage.html +33 -33
  124. package/docs/classes/SubtitleSettingsResetButton.html +27 -27
  125. package/docs/classes/TitleBar.html +31 -31
  126. package/docs/classes/ToggleButton.html +35 -35
  127. package/docs/classes/TouchControlOverlay.html +31 -31
  128. package/docs/classes/TvNoiseCanvas.html +25 -25
  129. package/docs/classes/UIContainer.html +31 -31
  130. package/docs/classes/UIInstanceManager.html +14 -14
  131. package/docs/classes/UIManager.html +15 -15
  132. package/docs/classes/VRToggleButton.html +35 -35
  133. package/docs/classes/VideoQualitySelectBox.html +41 -41
  134. package/docs/classes/VolumeControlButton.html +33 -33
  135. package/docs/classes/VolumeSlider.html +36 -36
  136. package/docs/classes/VolumeToggleButton.html +35 -35
  137. package/docs/classes/Watermark.html +28 -28
  138. package/docs/classes/WindowColorSelectBox.html +40 -40
  139. package/docs/classes/WindowOpacitySelectBox.html +40 -40
  140. package/docs/enums/ButtonStyle.html +5 -5
  141. package/docs/enums/LabelStyle.html +4 -4
  142. package/docs/enums/MetadataLabelContent.html +3 -3
  143. package/docs/enums/NavigationDirection.html +2 -2
  144. package/docs/enums/PlaybackTimeLabelMode.html +5 -5
  145. package/docs/enums/PlayerUtils.PlayerState.html +2 -2
  146. package/docs/enums/UIUtils.KeyCode.html +2 -2
  147. package/docs/enums/ViewMode.html +3 -3
  148. package/docs/functions/ArrayUtils.remove.html +1 -1
  149. package/docs/functions/ErrorUtils.defaultMobileV3ErrorMessageTranslator.html +1 -1
  150. package/docs/functions/PlayerUtils.clampValueToRange.html +1 -1
  151. package/docs/functions/PlayerUtils.getCurrentTimeRelativeToSeekableRange.html +1 -1
  152. package/docs/functions/PlayerUtils.getSeekableRangeRespectingLive.html +1 -1
  153. package/docs/functions/PlayerUtils.getSeekableRangeStart.html +1 -1
  154. package/docs/functions/PlayerUtils.getState.html +1 -1
  155. package/docs/functions/PlayerUtils.isTimeShiftAvailable.html +1 -1
  156. package/docs/functions/StorageUtils.getItem.html +1 -1
  157. package/docs/functions/StorageUtils.getObject.html +1 -1
  158. package/docs/functions/StorageUtils.setItem.html +1 -1
  159. package/docs/functions/StorageUtils.setObject.html +1 -1
  160. package/docs/functions/StorageUtils.setStorageApiDisabled.html +1 -1
  161. package/docs/functions/StringUtils.replaceAdMessagePlaceholders.html +13 -6
  162. package/docs/functions/StringUtils.secondsToText.html +1 -1
  163. package/docs/functions/StringUtils.secondsToTime.html +1 -1
  164. package/docs/functions/UIFactory.buildCastReceiverUI.html +1 -1
  165. package/docs/functions/UIFactory.buildSmallScreenUI.html +1 -1
  166. package/docs/functions/UIFactory.buildSubtitleUI.html +1 -1
  167. package/docs/functions/UIFactory.buildTvUI.html +1 -1
  168. package/docs/functions/UIFactory.buildUI.html +1 -1
  169. package/docs/functions/UIUtils.traverseTree.html +1 -1
  170. package/docs/hierarchy.html +1 -1
  171. package/docs/index.html +1 -1
  172. package/docs/interfaces/ActiveUiChangedArgs.html +3 -3
  173. package/docs/interfaces/AdControlBarConfig.html +12 -12
  174. package/docs/interfaces/AdSkipButtonConfig.html +16 -16
  175. package/docs/interfaces/BufferingOverlayConfig.html +13 -13
  176. package/docs/interfaces/ButtonConfig.html +14 -14
  177. package/docs/interfaces/ClickOverlayConfig.html +15 -15
  178. package/docs/interfaces/CloseButtonConfig.html +15 -15
  179. package/docs/interfaces/ComponentConfig.html +11 -11
  180. package/docs/interfaces/ComponentFocusChangedEventArgs.html +2 -2
  181. package/docs/interfaces/ComponentHoverChangedEventArgs.html +2 -2
  182. package/docs/interfaces/ContainerConfig.html +12 -12
  183. package/docs/interfaces/ControlBarConfig.html +12 -12
  184. package/docs/interfaces/DismissClickOverlayConfig.html +14 -14
  185. package/docs/interfaces/DynamicSettingsPanelItemConfig.html +19 -19
  186. package/docs/interfaces/ErrorMessageMap.html +1 -1
  187. package/docs/interfaces/ErrorMessageOverlayConfig.html +13 -13
  188. package/docs/interfaces/ErrorMessageTranslator.html +1 -1
  189. package/docs/interfaces/ExternalRecommendationLink.html +3 -3
  190. package/docs/interfaces/InternalUIConfig.html +18 -16
  191. package/docs/interfaces/LabelConfig.html +14 -14
  192. package/docs/interfaces/ListBoxConfig.html +17 -17
  193. package/docs/interfaces/ListItem.html +2 -2
  194. package/docs/interfaces/ListItemFilter.html +1 -1
  195. package/docs/interfaces/ListItemLabelTranslator.html +1 -1
  196. package/docs/interfaces/ListSelectorConfig.html +11 -11
  197. package/docs/interfaces/LocalizationConfig.html +11 -4
  198. package/docs/interfaces/MetadataLabelConfig.html +15 -15
  199. package/docs/interfaces/PlaybackTimeLabelConfig.html +16 -16
  200. package/docs/interfaces/PlaybackToggleButtonConfig.html +19 -19
  201. package/docs/interfaces/PlaybackToggleOverlayConfig.html +13 -13
  202. package/docs/interfaces/PlayerUtils.LiveStreamDetectorEventArgs.html +2 -2
  203. package/docs/interfaces/PlayerUtils.TimeShiftAvailabilityChangedArgs.html +2 -2
  204. package/docs/interfaces/QuickSeekButtonConfig.html +15 -15
  205. package/docs/interfaces/RecommendationConfig.html +4 -4
  206. package/docs/interfaces/RecommendationItemConfig.html +12 -12
  207. package/docs/interfaces/SeekBarConfig.html +19 -19
  208. package/docs/interfaces/SeekBarLabelConfig.html +12 -12
  209. package/docs/interfaces/SeekBarMarker.html +2 -2
  210. package/docs/interfaces/SeekPreviewArgs.html +3 -3
  211. package/docs/interfaces/SeekPreviewEventArgs.html +4 -4
  212. package/docs/interfaces/SettingsPanelConfig.html +15 -15
  213. package/docs/interfaces/SettingsPanelItemConfig.html +17 -17
  214. package/docs/interfaces/SettingsPanelPageConfig.html +13 -13
  215. package/docs/interfaces/SettingsPanelPageNavigatorConfig.html +17 -17
  216. package/docs/interfaces/SettingsPanelSelectOptionConfig.html +18 -18
  217. package/docs/interfaces/SettingsPanelState.html +2 -2
  218. package/docs/interfaces/SettingsToggleButtonConfig.html +20 -20
  219. package/docs/interfaces/ShadowDomConfig.html +4 -4
  220. package/docs/interfaces/SubtitleSettingSelectBoxConfig.html +11 -11
  221. package/docs/interfaces/SubtitleSettingsPanelPageConfig.html +13 -13
  222. package/docs/interfaces/TimelineMarker.html +6 -6
  223. package/docs/interfaces/TitleBarConfig.html +13 -13
  224. package/docs/interfaces/ToggleButtonConfig.html +18 -18
  225. package/docs/interfaces/TouchControlOverlayConfig.html +17 -17
  226. package/docs/interfaces/UIConditionContext.html +10 -10
  227. package/docs/interfaces/UIConditionResolver.html +1 -1
  228. package/docs/interfaces/UIConfig.html +17 -15
  229. package/docs/interfaces/UIContainerConfig.html +17 -17
  230. package/docs/interfaces/UIUtils.TreeTraversalCallback.html +1 -1
  231. package/docs/interfaces/UIVariant.html +2 -2
  232. package/docs/interfaces/ViewModeChangedEventArgs.html +2 -2
  233. package/docs/interfaces/Vocabularies.html +1 -1
  234. package/docs/interfaces/Vocabulary.html +13 -2
  235. package/docs/interfaces/VolumeControlButtonConfig.html +14 -14
  236. package/docs/interfaces/VolumeSliderConfig.html +21 -21
  237. package/docs/interfaces/WatermarkConfig.html +15 -15
  238. package/docs/interfaces/WrappedPlayer.html +2 -2
  239. package/docs/media/CHANGELOG.md +21 -0
  240. package/docs/types/CustomVocabulary.html +1 -1
  241. package/docs/types/LocalizableText.html +1 -1
  242. package/docs/types/Localizer.html +1 -1
  243. package/docs/variables/ErrorUtils.defaultErrorMessages.html +1 -1
  244. package/docs/variables/ErrorUtils.defaultWebErrorMessageTranslator.html +1 -1
  245. package/docs/variables/StringUtils.FORMAT_HHMMSS.html +1 -1
  246. package/docs/variables/StringUtils.FORMAT_MMSS.html +1 -1
  247. package/docs/variables/i18n.html +1 -1
  248. package/docs/variables/version.html +1 -1
  249. package/package.json +1 -1
  250. package/src/html/index.html +7 -3
  251. package/src/html/simple.html +1 -1
  252. package/src/html/tts-testing.html +2 -2
  253. package/src/ts/UIConfig.ts +5 -0
  254. package/src/ts/UIManager.ts +19 -1
  255. package/src/ts/components/Component.ts +21 -1
  256. package/src/ts/components/Icon.ts +1 -1
  257. package/src/ts/components/ads/AdCounterLabel.ts +32 -5
  258. package/src/ts/components/ads/AdMessageLabel.ts +1 -1
  259. package/src/ts/components/ads/AdSkipButton.ts +47 -18
  260. package/src/ts/components/buttons/Button.ts +6 -0
  261. package/src/ts/components/labels/Label.ts +9 -1
  262. package/src/ts/components/lists/ListSelector.ts +2 -2
  263. package/src/ts/components/settings/DynamicSettingsPanelItem.ts +23 -19
  264. package/src/ts/components/settings/SettingsPanelItem.ts +6 -0
  265. package/src/ts/components/settings/subtitlesettings/SubtitleSettingsPanelPage.ts +0 -1
  266. package/src/ts/localization/i18n.ts +69 -5
  267. package/src/ts/localization/languages/de.json +21 -1
  268. package/src/ts/localization/languages/en.json +3 -0
  269. package/src/ts/localization/languages/es.json +3 -0
  270. package/src/ts/localization/languages/fr.json +3 -0
  271. package/src/ts/localization/languages/nl.json +7 -0
  272. package/src/ts/localization/languages/pt.json +84 -0
  273. package/src/ts/utils/StringUtils.ts +30 -7
  274. package/src/ts/utils/SubtitleUtils.ts +13 -1
  275. package/src/ts/utils/TimelineMarkersHandler.ts +4 -3
package/CHANGELOG.md CHANGED
@@ -5,8 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/).
7
7
 
8
+ ## [4.9.0] - 2026-02-20
9
+
10
+ ### Added
11
+
12
+ - Language localization for Portuguese
13
+
14
+ ### Fixed
15
+
16
+ - Missing localization keys in the `Vocabulary` interface
17
+ - Missing translations for certain localization keys in `de.json` and `nl.json` to ensure all language files are complete
18
+ - TimelineMarkersHandler not releasing properly
19
+
8
20
  ## [4.8.1] - 2026-02-09
9
21
 
22
+ ### Added
23
+
24
+ - New `LocalizationConfig.adaptLocalizationToSubtitleLanguage` option to enable dynamically changing the UI language based on the user's selected subtitle language.
25
+ - New `UIConfig.localization` config option to pass a `LocalizationConfig` within the `UIConfig` to the UI.
26
+
27
+ ### Changed
28
+
29
+ - `ListItem.label` is now a `LocalizableText` instead of a `string`. It is strongly recommended to check behavior for any `ListSelectorConfig.filter` and `ListSelectorConfig.translator` implementations that might be in place.
30
+
10
31
  ### Fixed
11
32
 
12
33
  - Time-related labels not properly updating the time format if the duration changes from below 1 hour to greater than 1 hour.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  This repository contains the Bitmovin Player UI framework.
4
4
  It is designed as a flexible and modularized layer on the player API, enabling customers and users of the player to easily customize the UI to their needs in design, structure, and functionality. It makes it extremely easy and straightforward to add additional control components and we encourage our users to proactively contribute to our codebase.
5
5
 
6
- Read more about the Framework, its usage and customization possibilities in our [developer documentation](https://developer.bitmovin.com/playback/docs/bitmovin-player-ui) and the [API documentation](https://cdn.bitmovin.com/player/ui/3/docs/index.html).
6
+ Read more about the Framework, its usage and customization possibilities in our [developer documentation](https://developer.bitmovin.com/playback/docs/bitmovin-player-ui) and the [API documentation](https://cdn.bitmovin.com/player/ui/4/docs/index.html).
7
7
 
8
8
  ## Installation
9
9
 
package/dist/index.html CHANGED
@@ -112,8 +112,8 @@
112
112
  </div>
113
113
  </div>
114
114
 
115
- <script src="https://cdn.bitmovin.com/player/web/8/bitmovinplayer.js"></script>
116
- <script src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-bitmovin.js"></script>
115
+ <script src="https://cdn.jsdelivr.net/npm/bitmovin-player@8/bitmovinplayer.js"></script>
116
+ <script src="https://cdn.jsdelivr.net/npm/bitmovin-player@8/modules/bitmovinplayer-advertising-bitmovin.js"></script>
117
117
  <script src="js/bitmovinplayer-ui.js"></script>
118
118
  <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
119
119
  <script type="text/javascript">
@@ -284,7 +284,11 @@
284
284
 
285
285
  var player;
286
286
  var uiManager;
287
- bitmovin.playerui.UIManager.setLocalizationConfig({ language: 'en', browserLanguageDetection: false });
287
+ bitmovin.playerui.UIManager.setLocalizationConfig({
288
+ language: 'en',
289
+ browserLanguageDetection: false,
290
+ adaptLocalizationToSubtitleLanguage: false,
291
+ });
288
292
 
289
293
  bitmovin.player.Player.addModule(bitmovin.player['advertising-bitmovin'].default);
290
294