diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/less/mixins.less | 29 | ||||
-rw-r--r-- | src/less/plyr.less | 122 | ||||
-rw-r--r-- | src/less/variables.less | 66 |
3 files changed, 116 insertions, 101 deletions
diff --git a/src/less/mixins.less b/src/less/mixins.less new file mode 100644 index 00000000..8e8c43f1 --- /dev/null +++ b/src/less/mixins.less @@ -0,0 +1,29 @@ +// ========================================================================== +// Plyr mixins +// https://github.com/selz/plyr +// ========================================================================== + +// <input type="range"> styling +.plyr-range-track() { + height: @plyr-range-track-height; + background: currentColor; + border: 0; + border-radius: (@plyr-range-track-height / 2); + user-select: none; +} +.plyr-range-thumb() { + position: relative; + height: @plyr-range-thumb-height; + width: @plyr-range-thumb-width; + background: @plyr-range-thumb-bg; + border: @plyr-range-thumb-border; + border-radius: 100%; + transition: background .2s ease, border .2s ease, transform .2s ease; + box-shadow: @plyr-range-thumb-shadow; + box-sizing: border-box; +} +.plyr-range-thumb-active() { + background: @plyr-range-thumb-active-bg; + border-color: @plyr-range-thumb-active-border-color; + transform: scale(@plyr-range-thumb-active-scale); +}
\ No newline at end of file diff --git a/src/less/plyr.less b/src/less/plyr.less index d76eae48..ee22f97a 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -3,69 +3,8 @@ // https://github.com/selz/plyr // ========================================================================== -// Variables -// ------------------------------- - -// Colors -@plyr-color-main: #3498DB; - -// Font sizes -@plyr-font-size-small: 14px; -@plyr-font-size-base: 16px; - -// Captions -@plyr-font-size-captions-base: ceil(@plyr-font-size-base * 1.25); -@plyr-font-size-captions-medium: ceil(@plyr-font-size-base * 1.5); -@plyr-font-size-captions-large: (@plyr-font-size-base * 2); - -// Controls -// #C6D6DB -@plyr-control-spacing: 10px; -@plyr-video-controls-bg: #000; -@plyr-video-control-color: #fff; -@plyr-video-control-color-hover: #fff; -@plyr-video-control-bg-hover: @plyr-color-main; -@plyr-audio-controls-bg: transparent; -@plyr-audio-control-color: #565D64; -@plyr-audio-control-color-hover: #fff; -@plyr-audio-control-bg-hover: @plyr-color-main; - -// Tooltips -@plyr-tooltip-bg: @plyr-video-controls-bg; -@plyr-tooltip-border-color: fade(darken(@plyr-video-controls-bg, 75%), 10%); -@plyr-tooltip-arrow-border-color: fade(darken(@plyr-video-controls-bg, 75%), 20%); -@plyr-tooltip-border-width: 1px; -@plyr-tooltip-shadow: 0 0 5px @plyr-tooltip-border-color, 0 0 0 @plyr-tooltip-border-width @plyr-tooltip-border-color; -@plyr-tooltip-color: @plyr-video-control-color; -@plyr-tooltip-padding: (@plyr-control-spacing / 2); -@plyr-tooltip-arrow-size: 4px; -@plyr-tooltip-radius: 3px; - -// Progress -@plyr-progress-playing-bg: @plyr-color-main; -@plyr-progress-loading-size: 25px; -@plyr-progress-loading-bg: fade(#000, 15%); -@plyr-video-progress-bg: fade(#fff, 25%); -@plyr-video-progress-buffered-bg: @plyr-video-progress-bg; -@plyr-audio-progress-bg: fade(#C6D6DB, 66%); -@plyr-audio-progress-buffered-bg: @plyr-audio-progress-bg; - -// Range sliders -@plyr-range-track-height: 8px; -@plyr-range-thumb-height: floor(@plyr-range-track-height * 2); -@plyr-range-thumb-width: floor(@plyr-range-track-height * 2); -@plyr-range-thumb-bg: #fff; -@plyr-range-thumb-border: 2px solid transparent; -@plyr-range-thumb-shadow: 0 1px 1px fade(@plyr-video-controls-bg, 15%), 0 0 0 1px fade(#000, 15%); -@plyr-range-thumb-active-border-color: #fff; -@plyr-range-thumb-active-bg: @plyr-video-control-bg-hover; -@plyr-range-thumb-active-scale: 1.25; -@plyr-video-range-track-bg: @plyr-video-progress-buffered-bg; -@plyr-audio-range-track-bg: @plyr-audio-progress-buffered-bg; - -// Breakpoints -@plyr-bp-screen-sm: 480px; -@plyr-bp-screen-md: 768px; +@import "variables"; +@import "mixins"; // Animation // --------------------------------------- @@ -73,33 +12,6 @@ to { background-position: @plyr-progress-loading-size 0; } } -// Mixins -// ------------------------------- -// <input type="range"> styling -.range-track() { - height: @plyr-range-track-height; - background: currentColor; - border: 0; - border-radius: (@plyr-range-track-height / 2); - user-select: none; -} -.range-thumb() { - position: relative; - height: @plyr-range-thumb-height; - width: @plyr-range-thumb-width; - background: @plyr-range-thumb-bg; - border: @plyr-range-thumb-border; - border-radius: 100%; - transition: background .2s ease, border .2s ease, transform .2s ease; - box-shadow: @plyr-range-thumb-shadow; - box-sizing: border-box; -} -.range-thumb-active() { - background: @plyr-range-thumb-active-bg; - border-color: @plyr-range-thumb-active-border-color; - transform: scale(@plyr-range-thumb-active-scale); -} - // Styles // ------------------------------- // Base @@ -149,20 +61,20 @@ // WebKit &::-webkit-slider-runnable-track { - .range-track(); + .plyr-range-track(); } &::-webkit-slider-thumb { -webkit-appearance: none; margin-top: -((@plyr-range-thumb-height - @plyr-range-track-height) / 2); - .range-thumb(); + .plyr-range-thumb(); } // Mozilla &::-moz-range-track { - .range-track(); + .plyr-range-track(); } &::-moz-range-thumb { - .range-thumb(); + .plyr-range-thumb(); } &::-moz-focus-outer { border: 0; @@ -176,14 +88,14 @@ color: transparent; } &::-ms-fill-upper { - .range-track(); + .plyr-range-track(); } &::-ms-fill-lower { - .range-track(); + .plyr-range-track(); background: @plyr-progress-playing-bg; } &::-ms-thumb { - .range-thumb(); + .plyr-range-thumb(); // For some reason, Edge uses the -webkit margin above margin-top: 0; } @@ -205,17 +117,19 @@ // Pressed styles &:active { &::-webkit-slider-thumb { - .range-thumb-active(); + .plyr-range-thumb-active(); } &::-moz-range-thumb { - .range-thumb-active(); + .plyr-range-thumb-active(); } &::-ms-thumb { - .range-thumb-active(); + .plyr-range-thumb-active(); } } } } + +// Video range inputs .plyr--video input[type='range'] { color: @plyr-video-range-track-bg; @@ -223,6 +137,8 @@ outline: 1px dotted fade(@plyr-video-control-color, 50%); } } + +// Audio range inputs .plyr--audio input[type='range'] { color: @plyr-audio-range-track-bg; @@ -425,10 +341,14 @@ padding-right: (@plyr-control-spacing * 1.5); } } + +// Audio controls .plyr--audio .plyr__controls { padding: @plyr-control-spacing; border-radius: inherit; background: @plyr-audio-controls-bg; + border: @plyr-audio-controls-border; + box-shadow: @plyr-audio-controls-box-shadow; color: @plyr-audio-control-color; button { @@ -441,7 +361,7 @@ } } -// Large play button +// Large play button (video only) .plyr__play-large { position: absolute; top: 50%; diff --git a/src/less/variables.less b/src/less/variables.less new file mode 100644 index 00000000..338e5438 --- /dev/null +++ b/src/less/variables.less @@ -0,0 +1,66 @@ +// ========================================================================== +// Plyr variables +// https://github.com/selz/plyr +// ========================================================================== + +// Colors +@plyr-color-main: #3498DB; + +// Font sizes +@plyr-font-size-small: 14px; +@plyr-font-size-base: 16px; + +// Captions +@plyr-font-size-captions-base: ceil(@plyr-font-size-base * 1.25); +@plyr-font-size-captions-medium: ceil(@plyr-font-size-base * 1.5); +@plyr-font-size-captions-large: (@plyr-font-size-base * 2); + +// Controls +@plyr-control-spacing: 10px; +@plyr-video-controls-bg: #000; +@plyr-video-control-color: #fff; +@plyr-video-control-color-hover: #fff; +@plyr-video-control-bg-hover: @plyr-color-main; +@plyr-audio-controls-bg: #fff; +@plyr-audio-controls-border: 1px solid #dbe3e8; +@plyr-audio-controls-box-shadow: 0 1px 1px fade(#000, 5%); +@plyr-audio-control-color: #565D64; +@plyr-audio-control-color-hover: #fff; +@plyr-audio-control-bg-hover: @plyr-color-main; + +// Tooltips +@plyr-tooltip-bg: @plyr-video-controls-bg; +@plyr-tooltip-border-color: fade(darken(@plyr-video-controls-bg, 75%), 10%); +@plyr-tooltip-arrow-border-color: fade(darken(@plyr-video-controls-bg, 75%), 20%); +@plyr-tooltip-border-width: 1px; +@plyr-tooltip-shadow: 0 0 5px @plyr-tooltip-border-color, 0 0 0 @plyr-tooltip-border-width @plyr-tooltip-border-color; +@plyr-tooltip-color: @plyr-video-control-color; +@plyr-tooltip-padding: (@plyr-control-spacing / 2); +@plyr-tooltip-arrow-size: 4px; +@plyr-tooltip-radius: 3px; + +// Progress +@plyr-progress-playing-bg: @plyr-color-main; +@plyr-progress-loading-size: 25px; +@plyr-progress-loading-bg: fade(#000, 15%); +@plyr-video-progress-bg: fade(#fff, 25%); +@plyr-video-progress-buffered-bg: @plyr-video-progress-bg; +@plyr-audio-progress-bg: fade(#C6D6DB, 66%); +@plyr-audio-progress-buffered-bg: @plyr-audio-progress-bg; + +// Range sliders +@plyr-range-track-height: 8px; +@plyr-range-thumb-height: floor(@plyr-range-track-height * 2); +@plyr-range-thumb-width: floor(@plyr-range-track-height * 2); +@plyr-range-thumb-bg: #fff; +@plyr-range-thumb-border: 2px solid transparent; +@plyr-range-thumb-shadow: 0 1px 1px fade(@plyr-video-controls-bg, 15%), 0 0 0 1px fade(#000, 15%); +@plyr-range-thumb-active-border-color: #fff; +@plyr-range-thumb-active-bg: @plyr-video-control-bg-hover; +@plyr-range-thumb-active-scale: 1.25; +@plyr-video-range-track-bg: @plyr-video-progress-buffered-bg; +@plyr-audio-range-track-bg: @plyr-audio-progress-buffered-bg; + +// Breakpoints +@plyr-bp-screen-sm: 480px; +@plyr-bp-screen-md: 768px;
\ No newline at end of file |