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