@viewdo/dxp-story-player-assets
Version:
## Installation
297 lines (248 loc) • 5.81 kB
text/less
.video-control-mixins() {
.genPlayerStyles(@playerStyles:{ line-height: 0; }) {
.ivx-state-video-player {
@playerStyles();
}
.ivx-video-controls {
button {
outline: none;
}
}
}
._defaultControlButtons {
padding: 0.75em;
width: 2.5rem;
height: 2.5rem;
}
._containerStyles {
position: relative;
min-height: 4rem;
}
._scrubStyle {
position: absolute;
top: 0;
left: 0;
}
._timeLapseStyle {
height: 100%;
}
._playPauseStyle {
position: absolute;
top: 1rem;
left: 5%;
._defaultControlButtons;
}
._muteStyle {
position: absolute;
top: 1rem;
right: 5%;
._defaultControlButtons;
}
._ccStyle {
position: absolute;
top: 1rem;
right: ~'~"calc(5% + 2rem + .5em)"';
._defaultControlButtons;
}
._currentTimeStyle {
position: absolute;
left: ~'~"calc(5% + 2rem + 1em)"';
top: 1.625rem;
font-size: 0.875em;
}
._durationStyle {
position: absolute;
left: ~'~"calc(5% + 1.75rem + 4.375em)"';
top: 1.625rem;
font-size: 0.875em;
}
._trackStyle {
margin: 0;
padding-top: ~'~"calc(2rem + 2.5rem)"';
padding-left: 0;
}
.createVideoControls(@controlType:default,
@containerStyles:{
._containerStyles;
},
@scrubStyle:{
._scrubStyle;
},
@timeLapseStyle:{
._timeLapseStyle;
},
@playPauseStyle:{
._playPauseStyle;
},
@muteStyle:{
._muteStyle;
},
@ccStyle:{
._ccStyle;
},
@currentTimeStyle:{
._currentTimeStyle;
},
@durationStyle:{
._durationStyle;
},
@trackStyle:{
._trackStyle;
})
when
(@controlType = default) {
.ivx-video-controls {
.ivx-video-controls-container {
@containerStyles();
.createPlayPauseButton(@playPauseStyle);
.createMuteButton(@muteStyle);
.createCCButton(@ccStyle);
.createScrubBar(@scrubStyle, @timeLapseStyle);
.createTimeStamp(@currentTimeStyle, @durationStyle);
.createTrackSelect;
.createChapterList(@trackStyle);
}
}
}
.createVideoControls(@controlType,
@containerStyles:{
._containerStyles;
},
@scrubStyle:{
._scrubStyle;
},
@timeLapseStyle:{
._timeLapseStyle;
},
@playPauseStyle:{
._playPauseStyle;
},
@muteStyle:{
._muteStyle;
},
@ccStyle:{
._ccStyle;
},
@currentTimeStyle:{
._currentTimeStyle;
},
@durationStyle:{
._durationStyle;
},
@trackStyle:{
._trackStyle;
})
when
not
(@controlType = default) {
.ivx-video-controls {
.ivx-video-controls-container.ivx-video-controls-@{controlType} {
@containerStyles();
.createPlayPauseButton(@playPauseStyle);
.createMuteButton(@muteStyle);
.createCCButton(@ccStyle);
.createScrubBar(@scrubStyle, @timeLapseStyle);
.createTimeStamp(@currentTimeStyle, @durationStyle);
.createTrackSelect;
.createChapterList(@trackStyle);
}
}
}
.createPlayPauseButton(@playPauseStyle: {}, @playIconContent: "\f04b", @pauseIconContent: "\f04c") {
.ivx-video-controls-play-pause {
._defaultButtonStyles;
.ivx-color-primary;
@playPauseStyle();
}
.ivx-video-controls-play-icon {
display: inline;
&:before {
content: @playIconContent;
}
}
.ivx-video-controls-pause-icon {
display: inline;
&:before {
content: @pauseIconContent;
}
}
}
.createMuteButton(@muteStyles: {}, @muteIconContent: "\f026", @unmuteIconContent: "\f028") {
.ivx-video-controls-mute {
._defaultButtonStyles;
.ivx-color-primary;
@muteStyles();
}
.ivx-video-controls-volume-bar {
display: none;
}
.ivx-video-controls-mute-icon {
display: inline;
&:before {
content: @muteIconContent;
}
}
.ivx-video-controls-unmute-icon {
display: inline;
&:before {
content: @unmuteIconContent;
}
}
}
.createCCButton(@ccStyle: {}, @ccIcon: "\f20a") {
.ivx-video-controls-tracks-toggle {
._defaultButtonStyles;
@ccStyle();
}
.ivx-video-controls-tracks-on {
.ivx-color-primary;
}
.ivx-video-controls-tracks-off {
.ivx-color-secondary;
}
.ivx-video-controls-tracks-toggle-icon {
display: inline;
&:before {
content: @ccIcon;
}
}
}
.createScrubBar(@scrubStyle: {}, @timeLapseStyle: {}) {
.ivx-video-controls-scrub-bar {
width: 100%;
height: 0.75rem;
.ivx-color-secondary;
@scrubStyle();
.ivx-video-controls-scrub-bar-timelapse {
.ivx-color-primary;
@timeLapseStyle();
}
}
}
.createTimeStamp(@currentTimeStyle: {}, @durationStyle: {}) {
.ivx-video-controls-timestamp-current-time {
@currentTimeStyle();
}
.ivx-video-controls-timestamp-duration {
@durationStyle();
}
}
.createTrackSelect() {
.ivx-video-controls-tracks-select {
._defaultOptionsInputStyles;
}
.ivx-video-controls-tracks-select-off {
display: none;
}
}
.createChapterList(@chapterStyle: {}) {
.ivx-video-controls-chapters {
list-style: none;
@chapterStyle();
.ivx-video-controls-chapters-item-control {
._defaultButtonStyles;
width: 100%;
}
}
}
}