aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sass/base.scss1
-rw-r--r--src/sass/components/audio.scss7
-rw-r--r--src/sass/components/control.scss56
-rw-r--r--src/sass/components/controls.scss34
-rw-r--r--src/sass/components/sliders.scss72
-rw-r--r--src/sass/components/times.scss4
-rw-r--r--src/sass/components/video.scss51
-rw-r--r--src/sass/plyr.scss5
-rw-r--r--src/sass/types/audio.scss56
-rw-r--r--src/sass/types/video.scss157
10 files changed, 218 insertions, 225 deletions
diff --git a/src/sass/base.scss b/src/sass/base.scss
index 811c762d..05e77bb1 100644
--- a/src/sass/base.scss
+++ b/src/sass/base.scss
@@ -8,6 +8,7 @@
align-items: center;
direction: ltr;
display: flex;
+ flex-direction: column;
font-family: $plyr-font-family;
font-variant-numeric: tabular-nums; // Force monosace-esque number widths
font-weight: $plyr-font-weight-regular;
diff --git a/src/sass/components/audio.scss b/src/sass/components/audio.scss
deleted file mode 100644
index 285d34f9..00000000
--- a/src/sass/components/audio.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-// --------------------------------------------------------------
-// Audio styles
-// --------------------------------------------------------------
-
-.plyr--audio {
- display: block;
-}
diff --git a/src/sass/components/control.scss b/src/sass/components/control.scss
index 0022d17b..64390dbd 100644
--- a/src/sass/components/control.scss
+++ b/src/sass/components/control.scss
@@ -50,59 +50,3 @@ a.plyr__control {
.plyr__control.plyr__control--pressed .label--not-pressed {
display: none;
}
-
-// Audio control
-.plyr--audio .plyr__control {
- &.plyr__tab-focus,
- &:hover,
- &[aria-expanded='true'] {
- background: $plyr-audio-control-bg-hover;
- color: $plyr-audio-control-color-hover;
- }
-}
-
-// Video control
-.plyr--video .plyr__control {
- // Hover and tab focus
- &.plyr__tab-focus,
- &:hover,
- &[aria-expanded='true'] {
- background: $plyr-video-control-bg-hover;
- color: $plyr-video-control-color-hover;
- }
-}
-
-// Large play button (video only)
-.plyr__control--overlaid {
- background: rgba($plyr-video-control-bg-hover, 0.8);
- border: 0;
- border-radius: 100%;
- color: $plyr-video-control-color;
- display: none;
- left: 50%;
- padding: ceil($plyr-control-spacing * 1.5);
- position: absolute;
- top: 50%;
- transform: translate(-50%, -50%);
- z-index: 2;
-
- // Offset icon to make the play button look right
- svg {
- left: 2px;
- position: relative;
- }
-
- &:hover,
- &:focus {
- background: $plyr-video-control-bg-hover;
- }
-}
-
-.plyr--playing .plyr__control--overlaid {
- opacity: 0;
- visibility: hidden;
-}
-
-.plyr--full-ui.plyr--video .plyr__control--overlaid {
- display: block;
-}
diff --git a/src/sass/components/controls.scss b/src/sass/components/controls.scss
index cc07ef7f..50333701 100644
--- a/src/sass/components/controls.scss
+++ b/src/sass/components/controls.scss
@@ -49,40 +49,6 @@
}
}
-// Audio controls
-.plyr--audio .plyr__controls {
- background: $plyr-audio-controls-bg;
- border-radius: inherit;
- color: $plyr-audio-control-color;
- padding: $plyr-control-spacing;
-}
-
-// Video controls
-.plyr--video .plyr__controls {
- background: linear-gradient(rgba($plyr-video-controls-bg, 0), rgba($plyr-video-controls-bg, 0.7));
- border-bottom-left-radius: inherit;
- border-bottom-right-radius: inherit;
- bottom: 0;
- color: $plyr-video-control-color;
- left: 0;
- padding: ($plyr-control-spacing * 2) ($plyr-control-spacing / 2) ($plyr-control-spacing / 2);
- position: absolute;
- right: 0;
- transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
- z-index: 3;
-
- @media (min-width: $plyr-bp-sm) {
- padding: ($plyr-control-spacing * 3.5) $plyr-control-spacing $plyr-control-spacing;
- }
-}
-
-// Hide video controls
-.plyr--video.plyr--hide-controls .plyr__controls {
- opacity: 0;
- pointer-events: none;
- transform: translateY(100%);
-}
-
// Some options are hidden by default
.plyr [data-plyr='captions'],
.plyr [data-plyr='pip'],
diff --git a/src/sass/components/sliders.scss b/src/sass/components/sliders.scss
index ee64271b..7b519fc6 100644
--- a/src/sass/components/sliders.scss
+++ b/src/sass/components/sliders.scss
@@ -19,11 +19,7 @@
&::-webkit-slider-runnable-track {
@include plyr-range-track();
- background-image: linear-gradient(
- to right,
- currentColor var(--value, 0%),
- transparent var(--value, 0%)
- );
+ background-image: linear-gradient(to right, currentColor var(--value, 0%), transparent var(--value, 0%));
}
&::-webkit-slider-thumb {
@@ -96,69 +92,3 @@
}
}
}
-
-// Video range inputs
-.plyr--full-ui.plyr--video input[type='range'] {
- &::-webkit-slider-runnable-track {
- background-color: $plyr-video-range-track-bg;
- }
-
- &::-moz-range-track {
- background-color: $plyr-video-range-track-bg;
- }
-
- &::-ms-track {
- background-color: $plyr-video-range-track-bg;
- }
-
- // Pressed styles
- &:active {
- &::-webkit-slider-thumb {
- @include plyr-range-thumb-active();
- }
-
- &::-moz-range-thumb {
- @include plyr-range-thumb-active();
- }
-
- &::-ms-thumb {
- @include plyr-range-thumb-active();
- }
- }
-}
-
-// Audio range inputs
-.plyr--full-ui.plyr--audio input[type='range'] {
- &::-webkit-slider-runnable-track {
- background-color: $plyr-audio-range-track-bg;
- }
-
- &::-moz-range-track {
- background-color: $plyr-audio-range-track-bg;
- }
-
- &::-ms-track {
- background-color: $plyr-audio-range-track-bg;
- }
-
- // Pressed styles
- &:active {
- &::-webkit-slider-thumb {
- @include plyr-range-thumb-active(
- $plyr-audio-range-thumb-shadow-color
- );
- }
-
- &::-moz-range-thumb {
- @include plyr-range-thumb-active(
- $plyr-audio-range-thumb-shadow-color
- );
- }
-
- &::-ms-thumb {
- @include plyr-range-thumb-active(
- $plyr-audio-range-thumb-shadow-color
- );
- }
- }
-}
diff --git a/src/sass/components/times.scss b/src/sass/components/times.scss
index 240d3528..7d7a50f1 100644
--- a/src/sass/components/times.scss
+++ b/src/sass/components/times.scss
@@ -18,7 +18,3 @@
display: none;
}
}
-
-.plyr--video .plyr__time {
- text-shadow: 0 1px 1px rgba(#000, 0.15);
-}
diff --git a/src/sass/components/video.scss b/src/sass/components/video.scss
deleted file mode 100644
index e5f6fe87..00000000
--- a/src/sass/components/video.scss
+++ /dev/null
@@ -1,51 +0,0 @@
-// --------------------------------------------------------------
-// Video styles
-// --------------------------------------------------------------
-
-.plyr--video {
- background: #000;
- overflow: hidden;
-
- // Menu open
- &.plyr--menu-open {
- overflow: visible;
- }
-}
-
-.plyr__video-wrapper {
- background: #000;
- height: 100%;
- margin: auto;
- overflow: hidden;
- width: 100%;
-}
-
-// Default to 16:9 ratio but this is set by JavaScript based on config
-$embed-padding: ((100 / 16) * 9);
-
-.plyr__video-embed,
-.plyr__video-wrapper--fixed-ratio {
- height: 0;
- padding-bottom: to-percentage($embed-padding);
-}
-
-.plyr__video-embed iframe,
-.plyr__video-wrapper--fixed-ratio video {
- border: 0;
- left: 0;
- position: absolute;
- top: 0;
-}
-
-// If the full custom UI is supported
-.plyr--full-ui .plyr__video-embed {
- $height: 240;
- $offset: to-percentage(($height - $embed-padding) / ($height / 50));
-
- // Only used for Vimeo
- > .plyr__video-embed__container {
- padding-bottom: to-percentage($height);
- position: relative;
- transform: translateY(-$offset);
- }
-}
diff --git a/src/sass/plyr.scss b/src/sass/plyr.scss
index 445ca1ea..cb8a3921 100644
--- a/src/sass/plyr.scss
+++ b/src/sass/plyr.scss
@@ -25,7 +25,6 @@
@import 'base';
-@import 'components/audio';
@import 'components/badges';
@import 'components/captions';
@import 'components/control';
@@ -35,10 +34,12 @@
@import 'components/poster';
@import 'components/times';
@import 'components/tooltips';
-@import 'components/video';
@import 'components/progress';
@import 'components/volume';
+@import 'types/audio';
+@import 'types/video';
+
@import 'states/fullscreen';
@import 'plugins/ads';
diff --git a/src/sass/types/audio.scss b/src/sass/types/audio.scss
new file mode 100644
index 00000000..5d779a61
--- /dev/null
+++ b/src/sass/types/audio.scss
@@ -0,0 +1,56 @@
+// --------------------------------------------------------------
+// Audio styles
+// --------------------------------------------------------------
+
+// Container
+.plyr--audio {
+ display: block;
+}
+
+// Controls container
+.plyr--audio .plyr__controls {
+ background: $plyr-audio-controls-bg;
+ border-radius: inherit;
+ color: $plyr-audio-control-color;
+ padding: $plyr-control-spacing;
+}
+
+// Control elements
+.plyr--audio .plyr__control {
+ &.plyr__tab-focus,
+ &:hover,
+ &[aria-expanded='true'] {
+ background: $plyr-audio-control-bg-hover;
+ color: $plyr-audio-control-color-hover;
+ }
+}
+
+// Range inputs
+.plyr--full-ui.plyr--audio input[type='range'] {
+ &::-webkit-slider-runnable-track {
+ background-color: $plyr-audio-range-track-bg;
+ }
+
+ &::-moz-range-track {
+ background-color: $plyr-audio-range-track-bg;
+ }
+
+ &::-ms-track {
+ background-color: $plyr-audio-range-track-bg;
+ }
+
+ // Pressed styles
+ &:active {
+ &::-webkit-slider-thumb {
+ @include plyr-range-thumb-active($plyr-audio-range-thumb-shadow-color);
+ }
+
+ &::-moz-range-thumb {
+ @include plyr-range-thumb-active($plyr-audio-range-thumb-shadow-color);
+ }
+
+ &::-ms-thumb {
+ @include plyr-range-thumb-active($plyr-audio-range-thumb-shadow-color);
+ }
+ }
+}
diff --git a/src/sass/types/video.scss b/src/sass/types/video.scss
new file mode 100644
index 00000000..cf3ee9c8
--- /dev/null
+++ b/src/sass/types/video.scss
@@ -0,0 +1,157 @@
+// --------------------------------------------------------------
+// Video styles
+// --------------------------------------------------------------
+
+// Container
+.plyr--video {
+ background: #000;
+ overflow: hidden;
+
+ &.plyr--menu-open {
+ overflow: visible;
+ }
+}
+
+.plyr__video-wrapper {
+ background: #000;
+ height: 100%;
+ margin: auto;
+ overflow: hidden;
+ width: 100%;
+}
+
+// Default to 16:9 ratio but this is set by JavaScript based on config
+$embed-padding: ((100 / 16) * 9);
+
+.plyr__video-embed,
+.plyr__video-wrapper--fixed-ratio {
+ height: 0;
+ padding-bottom: to-percentage($embed-padding);
+}
+
+.plyr__video-embed iframe,
+.plyr__video-wrapper--fixed-ratio video {
+ border: 0;
+ left: 0;
+ position: absolute;
+ top: 0;
+}
+
+// If the full custom UI is supported
+.plyr--full-ui .plyr__video-embed {
+ $height: 240;
+ $offset: to-percentage(($height - $embed-padding) / ($height / 50));
+
+ // Only used for Vimeo
+ > .plyr__video-embed__container {
+ padding-bottom: to-percentage($height);
+ position: relative;
+ transform: translateY(-$offset);
+ }
+}
+
+// Controls container
+.plyr--video .plyr__controls {
+ background: linear-gradient(rgba($plyr-video-controls-bg, 0), rgba($plyr-video-controls-bg, 0.7));
+ border-bottom-left-radius: inherit;
+ border-bottom-right-radius: inherit;
+ bottom: 0;
+ color: $plyr-video-control-color;
+ left: 0;
+ padding: ($plyr-control-spacing * 2) ($plyr-control-spacing / 2) ($plyr-control-spacing / 2);
+ position: absolute;
+ right: 0;
+ transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
+ z-index: 3;
+
+ @media (min-width: $plyr-bp-sm) {
+ padding: ($plyr-control-spacing * 3.5) $plyr-control-spacing $plyr-control-spacing;
+ }
+}
+
+// Hide controls
+.plyr--video.plyr--hide-controls .plyr__controls {
+ opacity: 0;
+ pointer-events: none;
+ transform: translateY(100%);
+}
+
+// Control elements
+.plyr--video .plyr__control {
+ // Hover and tab focus
+ &.plyr__tab-focus,
+ &:hover,
+ &[aria-expanded='true'] {
+ background: $plyr-video-control-bg-hover;
+ color: $plyr-video-control-color-hover;
+ }
+}
+
+// Large play button (video only)
+.plyr__control--overlaid {
+ background: rgba($plyr-video-control-bg-hover, 0.8);
+ border: 0;
+ border-radius: 100%;
+ color: $plyr-video-control-color;
+ display: none;
+ left: 50%;
+ padding: ceil($plyr-control-spacing * 1.5);
+ position: absolute;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 2;
+
+ // Offset icon to make the play button look right
+ svg {
+ left: 2px;
+ position: relative;
+ }
+
+ &:hover,
+ &:focus {
+ background: $plyr-video-control-bg-hover;
+ }
+}
+
+.plyr--playing .plyr__control--overlaid {
+ opacity: 0;
+ visibility: hidden;
+}
+
+.plyr--full-ui.plyr--video .plyr__control--overlaid {
+ display: block;
+}
+
+// Video range inputs
+.plyr--full-ui.plyr--video input[type='range'] {
+ &::-webkit-slider-runnable-track {
+ background-color: $plyr-video-range-track-bg;
+ }
+
+ &::-moz-range-track {
+ background-color: $plyr-video-range-track-bg;
+ }
+
+ &::-ms-track {
+ background-color: $plyr-video-range-track-bg;
+ }
+
+ // Pressed styles
+ &:active {
+ &::-webkit-slider-thumb {
+ @include plyr-range-thumb-active();
+ }
+
+ &::-moz-range-thumb {
+ @include plyr-range-thumb-active();
+ }
+
+ &::-ms-thumb {
+ @include plyr-range-thumb-active();
+ }
+ }
+}
+
+.plyr--video .plyr__time {
+ text-shadow: 0 1px 1px rgba(#000, 0.15);
+}