| Index: ui/file_manager/audio_player/elements/control_panel.css
|
| diff --git a/ui/file_manager/audio_player/elements/control_panel.css b/ui/file_manager/audio_player/elements/control_panel.css
|
| index 78624e42e4dca8a8a60f739ea2a8fe162ffe7acb..4e5b533de9ab34d7428c97fdf9e4a3d99636b9d0 100644
|
| --- a/ui/file_manager/audio_player/elements/control_panel.css
|
| +++ b/ui/file_manager/audio_player/elements/control_panel.css
|
| @@ -8,17 +8,19 @@
|
| background-color: white;
|
| display: flex;
|
| flex-direction: column;
|
| - height: 96px;
|
| + height: 64px;
|
| justify-content: center;
|
| padding: 0;
|
| }
|
|
|
| -.controls .upper-controls,
|
| +.controls .upper-controls {
|
| + height: 32px;
|
| + width: 100%
|
| +}
|
| +
|
| .controls .lower-controls {
|
| - box-sizing: border-box;
|
| - height: 48px;
|
| - padding: 8px;
|
| - width: 100%;
|
| + height: 32px;
|
| + width: 100%
|
| }
|
|
|
| .audio-controls {
|
| @@ -80,38 +82,171 @@
|
| justify-content: center;
|
| }
|
|
|
| -.time-controls > .time-container {
|
| - color: rgb(51, 51, 51);
|
| +.custom-slider.progress {
|
| + display: flex;
|
| + flex: 1 1 auto;
|
| + height: 100%;
|
| + position: relative;
|
| + z-index: 0; /* Make a layer which includes the thumb on slider. */
|
| +}
|
| +
|
| +.custom-slider.progress > input[type='range']::-webkit-slider-thumb {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_handler.png) 1x,
|
| + url(../assets/200/player_timeline_handler.png) 2x);
|
| + width: 28px;
|
| +}
|
| +
|
| +.custom-slider.progress > input[type='range']::-webkit-slider-thumb:hover {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_handler.png) 1x,
|
| + url(../assets/200/player_timeline_handler.png) 2x);
|
| +}
|
| +
|
| +.custom-slider.progress > input[type='range']::-webkit-slider-thumb:active {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_handler_pressed.png) 1x,
|
| + url(../assets/200/player_timeline_handler_pressed.png) 2x);
|
| +}
|
| +
|
| +.custom-slider.progress.disabled > input[type='range']::-webkit-slider-thumb {
|
| + background-image: none;
|
| +}
|
| +
|
| +.time-controls > .time {
|
| cursor: default;
|
| - flex: none;
|
| + height: 100%;
|
| + position: relative;
|
| + width: 53px;
|
| +}
|
| +
|
| +.time-controls > .time.disabled {
|
| + opacity: 0;
|
| +}
|
| +
|
| +.custom-slider > input[type='range'] {
|
| + -webkit-appearance: none !important; /* Hide the default thumb icon. */
|
| + background: transparent; /* Hide the standard slider bar */
|
| + height: 100%;
|
| + left: -2px; /* Required to align the input element with the parent. */
|
| + outline: none;
|
| + position: absolute;
|
| + top: -2px;
|
| + width: 100%;
|
| +}
|
| +
|
| +/* Custom thumb icon. */
|
| +.custom-slider > input[type='range']::-webkit-slider-thumb {
|
| + -webkit-appearance: none;
|
| + background-position: center center;
|
| + background-repeat: no-repeat;
|
| + height: 24px;
|
| + position: relative;
|
| + z-index: 2;
|
| +}
|
| +
|
| +/* Custom slider bar (we hide the standard one). */
|
| +.custom-slider > .bar {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_base_center.png) 1x,
|
| + url(../assets/200/player_timeline_base_center.png) 2x);
|
| + /* In order to match the horizontal position of the standard slider bar
|
| + left and right must be equal to 1/2 of the thumb icon width. */
|
| + bottom: 15px;
|
| + left: 14px; /* Exactly 1/2 of the thumb width */
|
| + pointer-events: none; /* Mouse events pass through to the standard input. */
|
| + position: absolute;
|
| + right: 14px;
|
| + top: 15px;
|
| +}
|
| +
|
| +.custom-slider > .bar > .filled,
|
| +.custom-slider > .bar > .cap {
|
| + bottom: 0;
|
| + position: absolute;
|
| + top: 0;
|
| +}
|
| +
|
| +/* The filled portion of the slider bar to the left of the thumb. */
|
| +.custom-slider > .bar > .filled {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_played_center.png) 1x,
|
| + url(../assets/200/player_timeline_played_center.png) 2x);
|
| + border-left-style: none;
|
| + border-right-style: none;
|
| + left: 0;
|
| + width: 0; /* The element style.width is manipulated from the code. */
|
| +}
|
| +
|
| +/* Rounded caps to the left and right of the slider bar. */
|
| +.custom-slider > .bar > .cap {
|
| + width: 1px;
|
| +}
|
| +
|
| +/* Left cap is always filled, should be the same color as .filled. */
|
| +.custom-slider > .bar > .cap.left {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_played_left.png) 1x,
|
| + url(../assets/200/player_timeline_played_left.png) 2x);
|
| + right: 100%;
|
| +}
|
| +
|
| +/* Right cap is always not filled. */
|
| +.custom-slider > .bar > .cap.right {
|
| + background-image: -webkit-image-set(
|
| + url(../assets/100/player_timeline_base_right.png) 1x,
|
| + url(../assets/200/player_timeline_base_right.png) 2x);
|
| + left: 100%;
|
| +}
|
| +
|
| +.media-button.disabled,
|
| +.custom-slider.disabled,
|
| +.custom-slider.readonly {
|
| + pointer-events: none;
|
| +}
|
| +
|
| +/* Progress seek marker (precise time shown on mouse hover. */
|
| +
|
| +/* Thin vertical line across the slider bar */
|
| +.custom-slider > .bar > .seek-mark {
|
| + background-color: #202020;
|
| + bottom: -1px;
|
| + left: 0;
|
| + position: absolute;
|
| + top: -1px;
|
| + width: 0;
|
| +}
|
| +
|
| +.custom-slider > .bar > .seek-mark.visible {
|
| + width: 1px;
|
| +}
|
| +
|
| +.custom-slider > .bar > .seek-mark.inverted {
|
| + background-color: #808080;
|
| +}
|
| +
|
| +/* Text label giving the precise time corresponding to the hover position. */
|
| +.custom-slider > .bar > .seek-mark > .seek-label {
|
| + align-items: center;
|
| + background: #202020;
|
| + border-top-left-radius: 2px;
|
| + border-top-right-radius: 2px;
|
| + bottom: 19px;
|
| + color: white;
|
| + display: flex;
|
| + flex-direction: row;
|
| font-size: 12px;
|
| - padding: 8px;
|
| - position: relative;
|
| -}
|
| -
|
| -.time-container > .time {
|
| - position: absolute;
|
| - right: 8px; /* Should be same as time-container's right padding. */
|
| - top: 8px; /* Should be same as time-container's top padding. */
|
| -}
|
| -
|
| -.time-container > .time.disabled {
|
| + height: 15px;
|
| + justify-content: center;
|
| + left: 0;
|
| opacity: 0;
|
| -}
|
| -
|
| -.time-container > .time-spacer {
|
| - opacity: 0; /* This class is intended to be used as invisible spacer. */
|
| -}
|
| -
|
| -.time-controls > paper-slider {
|
| - --paper-slider-active-color: rgb(66, 133, 244);
|
| - --paper-slider-knob-color: rgb(64, 138, 241);
|
| - flex: auto;
|
| -}
|
| -
|
| -.media-button.disabled,
|
| -paper-slider.disabled {
|
| - pointer-events: none;
|
| + overflow: hidden;
|
| + position: absolute;
|
| + transition: opacity 150ms ease;
|
| +}
|
| +
|
| +.custom-slider > .bar > .seek-mark.visible > .seek-label {
|
| + opacity: 1;
|
| }
|
|
|
| /* Media controls in order of appearance. */
|
| @@ -228,14 +363,25 @@
|
| }
|
|
|
| /* Invisible div used to compute the width required for the elapsed time. */
|
| +.time-controls > .time > .duration,
|
| .time-controls > .time > .current {
|
| align-items: center;
|
| + color: rgb(51, 51, 51);
|
| display: flex;
|
| flex-direction: row;
|
| + font-size: 12px;
|
| height: 100%;
|
| justify-content: flex-end;
|
| position: absolute;
|
| top: -1px;
|
| +}
|
| +
|
| +.time-controls > .time > .duration {
|
| + left: 0;
|
| +}
|
| +
|
| +.time-controls > .time > .current {
|
| + right: 0;
|
| }
|
|
|
| /* Volume controls: sound button and volume slider */
|
|
|