Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
7ccbfad6ad | |||
91f8a158d2 | |||
8925dcde01 | |||
530abac3a7 | |||
e702d9a881 | |||
b0aeccb793 | |||
43d8d748ce | |||
b43ea5c7d3 | |||
f56759222d | |||
c8b7bb570c | |||
d536b29550 |
2
dist/plyr.js
vendored
2
dist/plyr.js
vendored
File diff suppressed because one or more lines are too long
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<!-- Docs styles -->
|
<!-- Docs styles -->
|
||||||
<link rel="stylesheet" href="//cdn.plyr.io/1.1.5/docs.css">
|
<link rel="stylesheet" href="//cdn.plyr.io/1.1.6/docs.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<main>
|
<main>
|
||||||
|
@ -8,10 +8,10 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
<!-- Styles -->
|
<!-- Styles -->
|
||||||
<link rel="stylesheet" href="//cdn.plyr.io/1.1.5/plyr.css">
|
<link rel="stylesheet" href="https://cdn.plyr.io/1.1.6/plyr.css">
|
||||||
|
|
||||||
<!-- Docs styles -->
|
<!-- Docs styles -->
|
||||||
<link rel="stylesheet" href="//cdn.plyr.io/1.1.5/docs.css">
|
<link rel="stylesheet" href="https://cdn.plyr.io/1.1.6/docs.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
@ -23,18 +23,16 @@
|
|||||||
<main>
|
<main>
|
||||||
<section class="example-video">
|
<section class="example-video">
|
||||||
<div class="player">
|
<div class="player">
|
||||||
<video poster="//cdn.selz.com/plyr/1.0/poster.jpg" controls crossorigin>
|
<video poster="https://cdn.selz.com/plyr/1.0/poster.jpg" controls crossorigin>
|
||||||
<!-- Video files -->
|
<!-- Video files -->
|
||||||
<source src="//cdn.selz.com/plyr/1.0/movie.mp4" type="video/mp4">
|
<source src="https://cdn.selz.com/plyr/1.0/movie.mp4" type="video/mp4">
|
||||||
<source src="//cdn.selz.com/plyr/1.0/movie.webm" type="video/webm">
|
<source src="https://cdn.selz.com/plyr/1.0/movie.webm" type="video/webm">
|
||||||
|
|
||||||
<!-- Text track file -->
|
<!-- Text track file -->
|
||||||
<track kind="captions" label="English" srclang="en" src="//cdn.selz.com/plyr/1.0/en.vtt" default>
|
<track kind="captions" label="English" srclang="en" src="https://cdn.selz.com/plyr/1.0/en.vtt" default>
|
||||||
|
|
||||||
<!-- Fallback for browsers that don't support the <video> element -->
|
<!-- Fallback for browsers that don't support the <video> element -->
|
||||||
<div>
|
<a href="https://cdn.selz.com/plyr/1.0/movie.mp4">Download</a>
|
||||||
<a href="//cdn.selz.com/plyr/1.0/movie.mp4">Download</a>
|
|
||||||
</div>
|
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
<small>Big Buck Bunny. More info can be found at <a href="https://peach.blender.org" target="_blank">peach.blender.org</a>.</small>
|
<small>Big Buck Bunny. More info can be found at <a href="https://peach.blender.org" target="_blank">peach.blender.org</a>.</small>
|
||||||
@ -44,13 +42,11 @@
|
|||||||
<div class="player">
|
<div class="player">
|
||||||
<audio controls>
|
<audio controls>
|
||||||
<!-- Audio files -->
|
<!-- Audio files -->
|
||||||
<source src="//cdn.selz.com/plyr/1.0/logistics-96-sample.mp3" type="audio/mp3">
|
<source src="https://cdn.selz.com/plyr/1.0/logistics-96-sample.mp3" type="audio/mp3">
|
||||||
<source src="//cdn.selz.com/plyr/1.0/logistics-96-sample.ogg" type="audio/ogg">
|
<source src="https://cdn.selz.com/plyr/1.0/logistics-96-sample.ogg" type="audio/ogg">
|
||||||
|
|
||||||
<!-- Fallback for browsers that don't support the <audio> element -->
|
<!-- Fallback for browsers that don't support the <audio> element -->
|
||||||
<div>
|
<a href="https://cdn.selz.com/plyr/1.0/logistics-96-sample.mp3">Download</a>
|
||||||
<a href="//cdn.selz.com/plyr/1.0/logistics-96-sample.mp3">Download</a>
|
|
||||||
</div>
|
|
||||||
</audio>
|
</audio>
|
||||||
</div>
|
</div>
|
||||||
<small>"96" by Logistics, which can be purchased from <a href="https://www.hospitalrecords.com/shop/artist/logistics" target="_blank">Hospital Records</a>.</small>
|
<small>"96" by Logistics, which can be purchased from <a href="https://www.hospitalrecords.com/shop/artist/logistics" target="_blank">Hospital Records</a>.</small>
|
||||||
@ -83,13 +79,13 @@
|
|||||||
b.insertBefore(c, b.childNodes[0]);
|
b.insertBefore(c, b.childNodes[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})(document, "https://cdn.plyr.io/1.1.5/sprite.svg");
|
})(document, "https://cdn.plyr.io/1.1.6/sprite.svg");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Plyr core script -->
|
<!-- Plyr core script -->
|
||||||
<script src="//cdn.plyr.io/1.1.5/plyr.js"></script>
|
<script src="https://cdn.plyr.io/1.1.6/plyr.js"></script>
|
||||||
|
|
||||||
<!-- Docs script -->
|
<!-- Docs script -->
|
||||||
<script src="//cdn.plyr.io/1.1.5/docs.js"></script>
|
<script src="https://cdn.plyr.io/1.1.6/docs.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "plyr",
|
"name": "plyr",
|
||||||
"version": "1.1.5",
|
"version": "1.1.6",
|
||||||
"description": "A simple HTML5 media player using custom controls",
|
"description": "A simple HTML5 media player using custom controls",
|
||||||
"homepage": "http://plyr.io",
|
"homepage": "http://plyr.io",
|
||||||
"main": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
|
61
readme.md
61
readme.md
@ -25,11 +25,10 @@ Oh and yes, it works with Bootstrap.
|
|||||||
Check out [the changelog](changelog.md)
|
Check out [the changelog](changelog.md)
|
||||||
|
|
||||||
## Planned development
|
## Planned development
|
||||||
- Accept a string selector, a node, or a nodelist for the `container` property of `selectors`.
|
|
||||||
- Multiple language captions (with selection)
|
|
||||||
- Playlists (audio and video)
|
- Playlists (audio and video)
|
||||||
- Set source by API
|
- YouTube and Vimeo support
|
||||||
- Tooltip option (for seeking and controls)
|
- Playback speed
|
||||||
|
- Multiple language captions (with selection)
|
||||||
... and whatever else has been raised in [issues](https://github.com/Selz/plyr/issues)
|
... and whatever else has been raised in [issues](https://github.com/Selz/plyr/issues)
|
||||||
|
|
||||||
If you have any cool ideas or features, please let me know by [creating an issue](https://github.com/Selz/plyr/issues/new) or of course, forking and sending a pull request.
|
If you have any cool ideas or features, please let me know by [creating an issue](https://github.com/Selz/plyr/issues/new) or of course, forking and sending a pull request.
|
||||||
@ -38,7 +37,7 @@ If you have any cool ideas or features, please let me know by [creating an issue
|
|||||||
|
|
||||||
Check `docs/index.html` and `docs/dist/docs.js` for an example setup.
|
Check `docs/index.html` and `docs/dist/docs.js` for an example setup.
|
||||||
|
|
||||||
**Heads up**, the example `index.html` file needs to be served from a webserver (such as Apache, Nginx, IIS or similar) unless you change the file sources to include http or https. e.g. change `//cdn.plyr.io/1.1.5/plyr.js` to `https://cdn.plyr.io/1.1.5/plyr.js`
|
**Heads up**, the example `index.html` file needs to be served from a webserver (such as Apache, Nginx, IIS or similar) unless you change the file sources to include http or https. e.g. change `//cdn.plyr.io/1.1.6/plyr.js` to `https://cdn.plyr.io/1.1.6/plyr.js`
|
||||||
|
|
||||||
### Bower
|
### Bower
|
||||||
If bower is your thang, you can grab Plyr using:
|
If bower is your thang, you can grab Plyr using:
|
||||||
@ -55,14 +54,14 @@ ember addon:install ember-cli-plyr
|
|||||||
More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub](https://github.com/louisrudner/ember-cli-plyr)
|
More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub](https://github.com/louisrudner/ember-cli-plyr)
|
||||||
|
|
||||||
### CDN
|
### CDN
|
||||||
If you want to use our CDN, you can use the following. HTTPS (SSL) is supported.
|
If you want to use our CDN, you can use the following:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<link rel="stylesheet" href="//cdn.plyr.io/1.1.5/plyr.css">
|
<link rel="stylesheet" href="https://cdn.plyr.io/1.1.6/plyr.css">
|
||||||
<script src="//cdn.plyr.io/1.1.5/plyr.js"></script>
|
<script src="https://cdn.plyr.io/1.1.6/plyr.js"></script>
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also access the `sprite.svg` file at `//cdn.plyr.io/1.1.5/sprite.svg`.
|
You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.1.6/sprite.svg`.
|
||||||
|
|
||||||
### CSS
|
### CSS
|
||||||
If you want to use the default css, add the `plyr.css` file from /dist into your head, or even better use `plyr.less` or `plyr.sass` file included in `/src` in your build to save a request.
|
If you want to use the default css, add the `plyr.css` file from /dist into your head, or even better use `plyr.less` or `plyr.sass` file included in `/src` in your build to save a request.
|
||||||
@ -99,18 +98,16 @@ and the AJAX technique here:
|
|||||||
The only extra markup that's needed to use plyr is a `<div>` wrapper. Replace the source, poster and captions with urls for your media.
|
The only extra markup that's needed to use plyr is a `<div>` wrapper. Replace the source, poster and captions with urls for your media.
|
||||||
```html
|
```html
|
||||||
<div class="player">
|
<div class="player">
|
||||||
<video poster="//cdn.selz.com/plyr/1.0/poster.jpg" controls crossorigin>
|
<video poster="https://cdn.selz.com/plyr/1.0/poster.jpg" controls crossorigin>
|
||||||
<!-- Video files -->
|
<!-- Video files -->
|
||||||
<source src="//cdn.selz.com/plyr/1.0/movie.mp4" type="video/mp4">
|
<source src="https://cdn.selz.com/plyr/1.0/movie.mp4" type="video/mp4">
|
||||||
<source src="//cdn.selz.com/plyr/1.0/movie.webm" type="video/webm">
|
<source src="https://cdn.selz.com/plyr/1.0/movie.webm" type="video/webm">
|
||||||
|
|
||||||
<!-- Text track file -->
|
<!-- Text track file -->
|
||||||
<track kind="captions" label="English captions" src="//cdn.selz.com/plyr/1.0/movie_captions_en.vtt" srclang="en" default>
|
<track kind="captions" label="English captions" src="https://cdn.selz.com/plyr/1.0/movie_captions_en.vtt" srclang="en" default>
|
||||||
|
|
||||||
<!-- Fallback for browsers that don't support the <video> element -->
|
<!-- Fallback for browsers that don't support the <video> element -->
|
||||||
<div>
|
<a href="https://cdn.selz.com/plyr/1.0/movie.mp4">Download</a>
|
||||||
<a href="//cdn.selz.com/plyr/1.0/movie.mp4">Download</a>
|
|
||||||
</div>
|
|
||||||
</video>
|
</video>
|
||||||
</div>
|
</div>
|
||||||
```
|
```
|
||||||
@ -120,13 +117,11 @@ And the same for `<audio>`
|
|||||||
<div class="player">
|
<div class="player">
|
||||||
<audio controls>
|
<audio controls>
|
||||||
<!-- Audio files -->
|
<!-- Audio files -->
|
||||||
<source src="//cdn.selz.com/plyr/1.0/logistics-96-sample.mp3" type="audio/mp3">
|
<source src="https://cdn.selz.com/plyr/1.0/logistics-96-sample.mp3" type="audio/mp3">
|
||||||
<source src="//cdn.selz.com/plyr/1.0/logistics-96-sample.ogg" type="audio/ogg">
|
<source src="https://cdn.selz.com/plyr/1.0/logistics-96-sample.ogg" type="audio/ogg">
|
||||||
|
|
||||||
<!-- Fallback for browsers that don't support the <audio> element -->
|
<!-- Fallback for browsers that don't support the <audio> element -->
|
||||||
<div>
|
<a href="https://cdn.selz.com/plyr/1.0/logistics-96-sample.mp3">Download</a>
|
||||||
<a href="//cdn.selz.com/plyr/1.0/logistics-96-sample.mp3">Download</a>
|
|
||||||
</div>
|
|
||||||
</audio>
|
</audio>
|
||||||
</div>
|
</div>
|
||||||
```
|
```
|
||||||
@ -138,20 +133,16 @@ More info on CORS here:
|
|||||||
[https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
|
[https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
|
||||||
|
|
||||||
### JavaScript
|
### JavaScript
|
||||||
Much of the behaviour of the player is configurable when initialising the library. Below is an example of a default instance.
|
Much of the behaviour of the player is configurable when initialising the library. Here's an example of a default setup:
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<script src="dist/plyr.js"></script>
|
<script src="dist/plyr.js"></script>
|
||||||
<script>
|
<script>plyr.setup();</script>
|
||||||
plyr.setup({
|
|
||||||
*options*
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Options
|
#### Options
|
||||||
|
|
||||||
You can pass the following options to the setup method.
|
You can pass the following options to the setup method using `plyr.setup({...})`.
|
||||||
|
|
||||||
<table class="table" width="100%">
|
<table class="table" width="100%">
|
||||||
<thead>
|
<thead>
|
||||||
@ -355,6 +346,16 @@ Here's a list of the methods supported:
|
|||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>Set the poster url. This is supported for the <code>video</code> element only.</td>
|
<td>Set the poster url. This is supported for the <code>video</code> element only.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>destroy()</code></td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>Destroys the plyr UI and any media event listeners, effectively restoring to the previous state before <code>setup()</code> was called.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>restore()</code></td>
|
||||||
|
<td>—</td>
|
||||||
|
<td>Reverses the effects of the <code>destroy()</code> method, restoring the UI and listeners.</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -423,7 +424,7 @@ There's an API method for checking support. You can call `plyr.supported()` and
|
|||||||
If you find anything weird with Plyr, please let us know using the GitHub issues tracker.
|
If you find anything weird with Plyr, please let us know using the GitHub issues tracker.
|
||||||
|
|
||||||
## Author
|
## Author
|
||||||
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me)
|
Plyr is developed by [@sam_potts](https://twitter.com/sam_potts) / [sampotts.me](http://sampotts.me) with help from the awesome [contributors](https://github.com/Selz/plyr/graphs/contributors)
|
||||||
|
|
||||||
## Mentions
|
## Mentions
|
||||||
- [The Changelog](http://thechangelog.com/plyr-simple-html5-media-player-custom-controls-webvtt-captions/)
|
- [The Changelog](http://thechangelog.com/plyr-simple-html5-media-player-custom-controls-webvtt-captions/)
|
||||||
@ -451,4 +452,4 @@ Also these links helped created Plyr:
|
|||||||
- [Styling the `<progress>` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
|
- [Styling the `<progress>` element - hongkiat.com](http://www.hongkiat.com/blog/html5-progress-bar/)
|
||||||
|
|
||||||
## Copyright and License
|
## Copyright and License
|
||||||
[The MIT license](license.md).
|
[The MIT license](license.md).
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
// Plyr
|
// Plyr
|
||||||
// plyr.js v1.1.5
|
// plyr.js v1.1.6
|
||||||
// https://github.com/selz/plyr
|
// https://github.com/selz/plyr
|
||||||
// License: The MIT License (MIT)
|
// License: The MIT License (MIT)
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
@ -366,12 +366,28 @@
|
|||||||
// append it to the parent.
|
// append it to the parent.
|
||||||
if (sibling) {
|
if (sibling) {
|
||||||
parent.insertBefore(child, sibling);
|
parent.insertBefore(child, sibling);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
parent.appendChild(child);
|
parent.appendChild(child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unwrap an element
|
||||||
|
// http://plainjs.com/javascript/manipulation/unwrap-a-dom-element-35/
|
||||||
|
function _unwrap(wrapper) {
|
||||||
|
// Get the element's parent node
|
||||||
|
var parent = wrapper.parentNode;
|
||||||
|
|
||||||
|
// Move all children out of the element
|
||||||
|
while (wrapper.firstChild) {
|
||||||
|
parent.insertBefore(wrapper.firstChild, wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove the empty element
|
||||||
|
parent.removeChild(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
// Remove an element
|
// Remove an element
|
||||||
function _remove(element) {
|
function _remove(element) {
|
||||||
element.parentNode.removeChild(element);
|
element.parentNode.removeChild(element);
|
||||||
@ -404,7 +420,7 @@
|
|||||||
|
|
||||||
// Toggle event
|
// Toggle event
|
||||||
function _toggleHandler(element, events, callback, toggle) {
|
function _toggleHandler(element, events, callback, toggle) {
|
||||||
events = events.split(" ");
|
var eventList = events.split(" ");
|
||||||
|
|
||||||
// If a nodelist is passed, call itself on each node
|
// If a nodelist is passed, call itself on each node
|
||||||
if(element instanceof NodeList) {
|
if(element instanceof NodeList) {
|
||||||
@ -417,8 +433,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If a single node is passed, bind the event listener
|
// If a single node is passed, bind the event listener
|
||||||
for (var i = 0; i < events.length; i++) {
|
for (var i = 0; i < eventList.length; i++) {
|
||||||
element[toggle ? "addEventListener" : "removeEventListener"](events[i], callback, false);
|
element[toggle ? "addEventListener" : "removeEventListener"](eventList[i], callback, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1512,7 +1528,47 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Destroy an instance
|
||||||
|
function _destroy() {
|
||||||
|
// Bail if the element is not initialized
|
||||||
|
if(!player.init) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event listeners are removed when elements are removed
|
||||||
|
// http://stackoverflow.com/questions/12528049/if-a-dom-element-is-removed-are-its-listeners-also-removed-from-memory
|
||||||
|
|
||||||
|
// Remove controls
|
||||||
|
_remove(_getElement(config.selectors.controls));
|
||||||
|
|
||||||
|
// If video, we need to remove some more
|
||||||
|
if(player.type === "video") {
|
||||||
|
// Remove captions
|
||||||
|
_remove(_getElement(config.selectors.captions));
|
||||||
|
|
||||||
|
// Remove video wrapper
|
||||||
|
_unwrap(player.videoContainer);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restore native video controls
|
||||||
|
player.media.setAttribute("controls", "");
|
||||||
|
|
||||||
|
// Clone the media element to remove listeners
|
||||||
|
// http://stackoverflow.com/questions/19469881/javascript-remove-all-event-listeners-of-specific-type
|
||||||
|
var clone = player.media.cloneNode(true);
|
||||||
|
player.media.parentNode.replaceChild(clone, player.media);
|
||||||
|
|
||||||
|
// Remove init flag
|
||||||
|
player.init = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup a player
|
||||||
function _init() {
|
function _init() {
|
||||||
|
// Bail if the element is initialized
|
||||||
|
if(player.init) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup the fullscreen api
|
// Setup the fullscreen api
|
||||||
fullscreen = _fullscreen();
|
fullscreen = _fullscreen();
|
||||||
|
|
||||||
@ -1571,10 +1627,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Successful setup
|
// Successful setup
|
||||||
return true;
|
player.init = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!_init()) {
|
// Initialize instance
|
||||||
|
_init();
|
||||||
|
|
||||||
|
// If init failed, return an empty object
|
||||||
|
if(!player.init) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1593,7 +1653,9 @@
|
|||||||
toggleCaptions: _toggleCaptions,
|
toggleCaptions: _toggleCaptions,
|
||||||
toggleFullscreen: _toggleFullscreen,
|
toggleFullscreen: _toggleFullscreen,
|
||||||
isFullscreen: function() { return player.isFullscreen || false; },
|
isFullscreen: function() { return player.isFullscreen || false; },
|
||||||
support: function(mimeType) { return _supportMime(player, mimeType); }
|
support: function(mimeType) { return _supportMime(player, mimeType); },
|
||||||
|
destroy: _destroy,
|
||||||
|
restore: _init
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,50 +5,50 @@
|
|||||||
// Variables
|
// Variables
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
// Colors
|
// Colors
|
||||||
$blue: #3498DB;
|
$blue: #3498DB !default;
|
||||||
$gray-dark: #343f4a;
|
$gray-dark: #343f4a !default;
|
||||||
$gray: #565d64;
|
$gray: #565d64 !default;
|
||||||
$gray-light: #cbd0d3;
|
$gray-light: #cbd0d3 !default;
|
||||||
$off-white: #d6dadd;
|
$off-white: #d6dadd !default;
|
||||||
|
|
||||||
// Font sizes
|
// Font sizes
|
||||||
$font-size-small: 14px;
|
$font-size-small: 14px !default;
|
||||||
$font-size-base: 16px;
|
$font-size-base: 16px !default;
|
||||||
$font-size-large: ceil(($font-size-base * 1.5));
|
$font-size-large: ceil(($font-size-base * 1.5)) !default;
|
||||||
|
|
||||||
// Controls
|
// Controls
|
||||||
$control-spacing: 10px;
|
$control-spacing: 10px !default;
|
||||||
$controls-bg: $gray-dark;
|
$controls-bg: $gray-dark !default;
|
||||||
$control-bg-hover: $blue;
|
$control-bg-hover: $blue !default;
|
||||||
$control-color: $gray-light;
|
$control-color: $gray-light !default;
|
||||||
$control-color-inactive: $gray;
|
$control-color-inactive: $gray !default;
|
||||||
$control-color-hover: #fff;
|
$control-color-hover: #fff !default;
|
||||||
|
|
||||||
// Tooltips
|
// Tooltips
|
||||||
$tooltip-bg: $controls-bg;
|
$tooltip-bg: $controls-bg !default;
|
||||||
$tooltip-color: #fff;
|
$tooltip-color: #fff !default;
|
||||||
$tooltip-padding: $control-spacing;
|
$tooltip-padding: $control-spacing !default;
|
||||||
$tooltip-arrow-size: 5px;
|
$tooltip-arrow-size: 5px !default;
|
||||||
$tooltip-radius: 3px;
|
$tooltip-radius: 3px !default;
|
||||||
|
|
||||||
// Progress
|
// Progress
|
||||||
$progress-bg: rgba(red($gray), green($gray), blue($gray), .2);
|
$progress-bg: rgba(red($gray), green($gray), blue($gray), .2) !default;
|
||||||
$progress-playing-bg: $blue;
|
$progress-playing-bg: $blue !default;
|
||||||
$progress-buffered-bg: rgba(red($gray), green($gray), blue($gray), .25);
|
$progress-buffered-bg: rgba(red($gray), green($gray), blue($gray), .25) !default;
|
||||||
$progress-loading-size: 40px;
|
$progress-loading-size: 40px !default;
|
||||||
$progress-loading-bg: rgba(0,0,0, .15);
|
$progress-loading-bg: rgba(0,0,0, .15) !default;
|
||||||
|
|
||||||
// Volume
|
// Volume
|
||||||
$volume-track-height: 6px;
|
$volume-track-height: 6px !default;
|
||||||
$volume-track-bg: $gray;
|
$volume-track-bg: $gray !default;
|
||||||
$volume-thumb-height: ($volume-track-height * 2);
|
$volume-thumb-height: ($volume-track-height * 2) !default;
|
||||||
$volume-thumb-width: ($volume-track-height * 2);
|
$volume-thumb-width: ($volume-track-height * 2) !default;
|
||||||
$volume-thumb-bg: $control-color;
|
$volume-thumb-bg: $control-color !default;
|
||||||
$volume-thumb-bg-focus: $control-bg-hover;
|
$volume-thumb-bg-focus: $control-bg-hover !default;
|
||||||
|
|
||||||
// Breakpoints
|
// Breakpoints
|
||||||
$bp-control-split: 560px; // When controls split into left/right
|
$bp-control-split: 560px !default; // When controls split into left/right
|
||||||
$bp-captions-large: 768px; // When captions jump to the larger font size
|
$bp-captions-large: 768px !default; // When captions jump to the larger font size
|
||||||
|
|
||||||
// Utility classes & mixins
|
// Utility classes & mixins
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
|
Reference in New Issue
Block a user