From 7f624ebbb7f32bc54bb57d77a8408446e819f43a Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sat, 14 May 2016 00:48:21 +1000 Subject: [PATCH 01/12] Icon tweaks, IE button fix --- changelog.md | 7 +++++++ dist/plyr.css | 2 +- dist/sprite.svg | 2 +- package.json | 2 +- readme.md | 14 +++++++------- src/js/plyr.js | 2 +- src/less/plyr.less | 22 ++++++++-------------- src/less/variables.less | 12 +++++------- src/scss/plyr.scss | 18 ++++++------------ src/scss/variables.scss | 12 +++++------- src/sprite/icon-captions-off.svg | 9 +++++---- src/sprite/icon-captions-on.svg | 12 +++++------- src/sprite/icon-enter-fullscreen.svg | 10 ++++++---- src/sprite/icon-exit-fullscreen.svg | 8 ++++---- src/sprite/icon-fast-forward.svg | 13 ++++++------- src/sprite/icon-muted.svg | 11 +++++------ src/sprite/icon-pause.svg | 15 +++++++-------- src/sprite/icon-play.svg | 13 ++++++------- src/sprite/icon-restart.svg | 12 ++++++------ src/sprite/icon-rewind.svg | 13 ++++++------- src/sprite/icon-volume.svg | 13 ++++++++----- 21 files changed, 106 insertions(+), 116 deletions(-) diff --git a/changelog.md b/changelog.md index 767fce38..fcae73ee 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # Changelog +## v1.6.6 +- Icons cleaned up +- IE11 button fix for tooltips (fixes #210) + +## v1.6.5 +- IE UI bug fixes + ## v1.6.4 - Bug fix for undefined progress bar diff --git a/dist/plyr.css b/dist/plyr.css index 916d3ddb..6422f1d7 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-60px);transform:translateY(-60px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:20px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-20px);transform:translateY(-20px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;vertical-align:middle;padding:5px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}.plyr__controls button{padding:5px 10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}@media (min-width:480px){.plyr--video .plyr__controls{padding-left:15px;padding-right:15px}}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr__progress{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:#000;box-shadow:0 0 5px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.1);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid #000;border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr .plyr__volume{display:none;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file +.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr__progress{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr .plyr__volume{display:none;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file diff --git a/dist/sprite.svg b/dist/sprite.svg index 56364d4b..12133f66 100644 --- a/dist/sprite.svg +++ b/dist/sprite.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/package.json b/package.json index b2aa214d..84ef91cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plyr", - "version": "1.6.5", + "version": "1.6.6", "description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player", "homepage": "http://plyr.io", "main": "src/js/plyr.js", diff --git a/readme.md b/readme.md index b80fbbcb..0a6b240b 100644 --- a/readme.md +++ b/readme.md @@ -40,7 +40,7 @@ If you have any cool ideas or features, please let me know by [creating an issue ## Implementation 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.6.5/plyr.js` to `https://cdn.plyr.io/1.6.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.6.6/plyr.js` to `https://cdn.plyr.io/1.6.6/plyr.js` ### Node Package Manager (NPM) @@ -71,11 +71,11 @@ More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub] If you want to use our CDN, you can use the following: ```html - - + + ``` -You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.5/sprite.svg`. +You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.6/sprite.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.5/sprite.svg'); +})(document, 'https://cdn.plyr.io/1.6.6/sprite.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` @@ -248,7 +248,7 @@ Options must be passed as an object to the `setup()` method as above or as JSON controls Array - ["restart", "rewind", "play", "fast-forward", "current-time", "duration", "mute", "volume", "captions", "fullscreen"] + ['play-large', 'play', 'progress', 'current-time', 'mute', 'volume', 'captions', 'fullscreen'] Toggle which control elements you would like to display when using the default controls html. If you specify a html option, this is redundant. The default value is to display everything. diff --git a/src/js/plyr.js b/src/js/plyr.js index 832df4af..db9f8a77 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.5 +// plyr.js v1.6.6 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== diff --git a/src/less/plyr.less b/src/less/plyr.less index 69846a10..ee07ed47 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -199,9 +199,9 @@ left: 0; width: 100%; padding: (@plyr-control-spacing * 2); - transform: translateY(-(@plyr-control-spacing * 6)); + transform: translateY(-(@plyr-control-spacing * 4)); transition: transform .3s ease; - color: #fff; + color: @plyr-captions-color; font-size: @plyr-font-size-captions-base; text-align: center; font-weight: 400; @@ -209,7 +209,7 @@ span { border-radius: 2px; padding: floor(@plyr-control-spacing / 3) @plyr-control-spacing; - background: fade(#000, 85%); + background: @plyr-captions-bg; } span:empty { display: none; @@ -226,7 +226,7 @@ font-size: @plyr-font-size-captions-large; } .plyr--hide-controls .plyr__captions { - transform: translateY(-(@plyr-control-spacing * 2)); + transform: translateY(-(@plyr-control-spacing * 1.5)); } // Controls @@ -263,8 +263,9 @@ position: relative; display: inline-block; flex-shrink: 0; + overflow: visible; // IE11 vertical-align: middle; - padding: (@plyr-control-spacing / 2); + padding: (@plyr-control-spacing * .7); border: 0; background: transparent; border-radius: 3px; @@ -298,9 +299,6 @@ .plyr__time { margin-left: @plyr-control-spacing; } - button { - padding: (@plyr-control-spacing / 2) @plyr-control-spacing; - } } } // Hide controls @@ -328,11 +326,6 @@ color: @plyr-video-control-color-hover; } } - - @media (min-width: @plyr-bp-screen-sm) { - padding-left: (@plyr-control-spacing * 1.5); - padding-right: (@plyr-control-spacing * 1.5); - } } // Audio controls @@ -431,7 +424,6 @@ opacity: 0; background: @plyr-tooltip-bg; - box-shadow: @plyr-tooltip-shadow; border-radius: @plyr-tooltip-radius; color: @plyr-tooltip-color; @@ -542,12 +534,14 @@ max-width: 99%; border-top-right-radius: 0; border-bottom-right-radius: 0; + transition: none; } &::-moz-progress-bar { min-width: @plyr-range-track-height; max-width: 99%; border-top-right-radius: 0; border-bottom-right-radius: 0; + transition: none; } &::-ms-fill { display: none; diff --git a/src/less/variables.less b/src/less/variables.less index ea5c6b8e..ef3b4e45 100644 --- a/src/less/variables.less +++ b/src/less/variables.less @@ -11,7 +11,9 @@ @plyr-font-size-base: 16px; // Captions -@plyr-font-size-captions-base: ceil(@plyr-font-size-base * 1.25); +@plyr-captions-bg: fade(#000, 70%); +@plyr-captions-color: #fff; +@plyr-font-size-captions-base: @plyr-font-size-base; @plyr-font-size-captions-medium: ceil(@plyr-font-size-base * 1.5); @plyr-font-size-captions-large: (@plyr-font-size-base * 2); @@ -29,12 +31,8 @@ @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-bg: fade(#000, 70%); +@plyr-tooltip-color: #fff; @plyr-tooltip-padding: (@plyr-control-spacing / 2); @plyr-tooltip-arrow-size: 4px; @plyr-tooltip-radius: 3px; diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss index 0cb8968d..0d6f28a7 100644 --- a/src/scss/plyr.scss +++ b/src/scss/plyr.scss @@ -201,7 +201,7 @@ padding: ($plyr-control-spacing * 2); transform: translateY(-($plyr-control-spacing * 6)); transition: transform .3s ease; - color: #fff; + color: $plyr-captions-color; font-size: $plyr-font-size-captions-base; text-align: center; font-weight: 400; @@ -209,7 +209,7 @@ span { border-radius: 2px; padding: floor($plyr-control-spacing / 3) $plyr-control-spacing; - background: transparentize(#000, .15); + background: $plyr-captions-bg; } span:empty { display: none; @@ -263,8 +263,9 @@ position: relative; display: inline-block; flex-shrink: 0; + overflow: visible; // IE11 vertical-align: middle; - padding: ($plyr-control-spacing / 2); + padding: ($plyr-control-spacing * .7); border: 0; background: transparent; border-radius: 3px; @@ -298,9 +299,6 @@ .plyr__time { margin-left: $plyr-control-spacing; } - button { - padding: ($plyr-control-spacing / 2) $plyr-control-spacing; - } } } // Hide controls @@ -328,11 +326,6 @@ color: $plyr-video-control-color-hover; } } - - @media (min-width: $plyr-bp-screen-sm) { - padding-left: ($plyr-control-spacing * 1.5); - padding-right: ($plyr-control-spacing * 1.5); - } } // Audio controls @@ -431,7 +424,6 @@ opacity: 0; background: $plyr-tooltip-bg; - box-shadow: $plyr-tooltip-shadow; border-radius: $plyr-tooltip-radius; color: $plyr-tooltip-color; @@ -542,12 +534,14 @@ max-width: 99%; border-top-right-radius: 0; border-bottom-right-radius: 0; + transition: none; } &::-moz-progress-bar { min-width: $plyr-range-track-height; max-width: 99%; border-top-right-radius: 0; border-bottom-right-radius: 0; + transition: none; } &::-ms-fill { display: none; diff --git a/src/scss/variables.scss b/src/scss/variables.scss index baf47e25..ad63423a 100644 --- a/src/scss/variables.scss +++ b/src/scss/variables.scss @@ -12,7 +12,9 @@ $plyr-font-size-small: 14px !default; $plyr-font-size-base: 16px !default; // Captions -$plyr-font-size-captions-base: ceil($plyr-font-size-base * 1.25) !default; +$plyr-captions-bg: transparentize(#000, .3) !default; +$plyr-captions-color: #fff !default; +$plyr-font-size-captions-base: $plyr-font-size-base !default; $plyr-font-size-captions-medium: ceil($plyr-font-size-base * 1.5) !default; $plyr-font-size-captions-large: ($plyr-font-size-base * 2) !default; @@ -30,12 +32,8 @@ $plyr-audio-control-color-hover: #fff !default; $plyr-audio-control-bg-hover: $plyr-color-main; // Tooltips -$plyr-tooltip-bg: $plyr-video-controls-bg !default; -$plyr-tooltip-border-color: transparentize(darken($plyr-video-controls-bg, 75%), .9) !default; -$plyr-tooltip-arrow-border-color: transparentize(darken($plyr-video-controls-bg, 75%), .8) !default; -$plyr-tooltip-border-width: 1px !default; -$plyr-tooltip-shadow: 0 0 5px $plyr-tooltip-border-color, 0 0 0 $plyr-tooltip-border-width $plyr-tooltip-border-color !default; -$plyr-tooltip-color: $plyr-video-control-color !default; +$plyr-tooltip-bg: transparentize(#000, .3) !default; +$plyr-tooltip-color: #fff !default; $plyr-tooltip-padding: ($plyr-control-spacing / 2) !default; $plyr-tooltip-arrow-size: 4px !default; $plyr-tooltip-radius: 3px !default; diff --git a/src/sprite/icon-captions-off.svg b/src/sprite/icon-captions-off.svg index 788e4de4..48503285 100644 --- a/src/sprite/icon-captions-off.svg +++ b/src/sprite/icon-captions-off.svg @@ -1,6 +1,7 @@ - - - + + + + - + \ No newline at end of file diff --git a/src/sprite/icon-captions-on.svg b/src/sprite/icon-captions-on.svg index c02dfcb1..b524abcb 100644 --- a/src/sprite/icon-captions-on.svg +++ b/src/sprite/icon-captions-on.svg @@ -1,9 +1,7 @@ - - - - - - + + + + - + \ No newline at end of file diff --git a/src/sprite/icon-enter-fullscreen.svg b/src/sprite/icon-enter-fullscreen.svg index e8d1ab1a..2bc7036c 100644 --- a/src/sprite/icon-enter-fullscreen.svg +++ b/src/sprite/icon-enter-fullscreen.svg @@ -1,7 +1,9 @@ - - - + + + + + - + \ No newline at end of file diff --git a/src/sprite/icon-exit-fullscreen.svg b/src/sprite/icon-exit-fullscreen.svg index 0fdd6b45..d02726ab 100644 --- a/src/sprite/icon-exit-fullscreen.svg +++ b/src/sprite/icon-exit-fullscreen.svg @@ -1,7 +1,7 @@ - - - + + + - + \ No newline at end of file diff --git a/src/sprite/icon-fast-forward.svg b/src/sprite/icon-fast-forward.svg index 3ae96af6..a441bd27 100644 --- a/src/sprite/icon-fast-forward.svg +++ b/src/sprite/icon-fast-forward.svg @@ -1,7 +1,6 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/src/sprite/icon-muted.svg b/src/sprite/icon-muted.svg index 8a0014f1..41c66821 100644 --- a/src/sprite/icon-muted.svg +++ b/src/sprite/icon-muted.svg @@ -1,8 +1,7 @@ - - - - - + + + + - + \ No newline at end of file diff --git a/src/sprite/icon-pause.svg b/src/sprite/icon-pause.svg index db51a807..a4dae883 100644 --- a/src/sprite/icon-pause.svg +++ b/src/sprite/icon-pause.svg @@ -1,8 +1,7 @@ - - - - - - - + + + + + + + \ No newline at end of file diff --git a/src/sprite/icon-play.svg b/src/sprite/icon-play.svg index 069af73c..cc551902 100644 --- a/src/sprite/icon-play.svg +++ b/src/sprite/icon-play.svg @@ -1,7 +1,6 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/src/sprite/icon-restart.svg b/src/sprite/icon-restart.svg index 2a889021..efb99cce 100755 --- a/src/sprite/icon-restart.svg +++ b/src/sprite/icon-restart.svg @@ -1,6 +1,6 @@ - - - - + + + + + + \ No newline at end of file diff --git a/src/sprite/icon-rewind.svg b/src/sprite/icon-rewind.svg index fbc252d2..dec85456 100644 --- a/src/sprite/icon-rewind.svg +++ b/src/sprite/icon-rewind.svg @@ -1,7 +1,6 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/src/sprite/icon-volume.svg b/src/sprite/icon-volume.svg index 9de20690..bc533f40 100755 --- a/src/sprite/icon-volume.svg +++ b/src/sprite/icon-volume.svg @@ -1,5 +1,8 @@ - - - - - + + + + + + + + \ No newline at end of file From c8cd051a002d6c983e7f4455fec647bde2a906db Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sat, 14 May 2016 01:09:20 +1000 Subject: [PATCH 02/12] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 0a6b240b..f5b1ecf5 100644 --- a/readme.md +++ b/readme.md @@ -3,7 +3,7 @@ A simple, accessible and customizable HTML5, YouTube and Vimeo media player. [Checkout the demo](https://plyr.io) -[![Image of Plyr](https://cdn.plyr.io/static/plyr_v1.6.0.png)](https://plyr.io) +[![Image of Plyr](https://cdn.selz.com/plyr/1.5/plyr_v1.6.6.png)](https://plyr.io) ## Why? We wanted a lightweight, accessible and customizable media player that supports [*modern*](#browser-support) browsers. Sure, there are many other players out there but we wanted to keep things simple, using the right elements for the job. From d2e9c61fd7aacdc8f91ceec800d9cdf1e7e49e74 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sat, 14 May 2016 08:56:59 +1000 Subject: [PATCH 03/12] iOS bug fixes (fixes #213) --- changelog.md | 3 +++ dist/plyr.css | 2 +- dist/plyr.js | 2 +- package.json | 2 +- readme.md | 12 ++++++------ src/js/plyr.js | 17 +++++++++++++++-- src/less/plyr.less | 13 +++++++++++-- src/scss/plyr.scss | 13 +++++++++++-- 8 files changed, 49 insertions(+), 15 deletions(-) diff --git a/changelog.md b/changelog.md index fcae73ee..439cf24c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # Changelog +## v1.6.7 +- Fixes for using `source` API method on iOS + ## v1.6.6 - Icons cleaned up - IE11 button fix for tooltips (fixes #210) diff --git a/dist/plyr.css b/dist/plyr.css index ee615094..826aba8c 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr__progress{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr .plyr__volume{display:none;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file +.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;display:none;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file diff --git a/dist/plyr.js b/dist/plyr.js index cdb7443b..83737eea 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -1,2 +1,2 @@ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define(null,function(){t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10);return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(s="IE",o="11;"):-1!==(n=r.indexOf("MSIE"))?(s="IE",o=r.substring(n+5)):-1!==(n=r.indexOf("Chrome"))?(s="Chrome",o=r.substring(n+7)):-1!==(n=r.indexOf("Safari"))?(s="Safari",o=r.substring(n+7),-1!==(n=r.indexOf("Version"))&&(o=r.substring(n+8))):-1!==(n=r.indexOf("Firefox"))?(s="Firefox",o=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),o=r.substring(n+1),s.toLowerCase()==s.toUpperCase()&&(s=navigator.appName)),-1!==(a=o.indexOf(";"))&&(o=o.substring(0,a)),-1!==(a=o.indexOf(" "))&&(o=o.substring(0,a)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,ios:/(iPad|iPhone|iPod)/g.test(navigator.platform),touch:"ontouchstart"in t.documentElement}}function a(e,t){var n=e.media;if("video"==e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"==e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function r(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function s(e,t){return Array.prototype.indexOf&&-1!=e.indexOf(t)}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a)}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,"boolean"==typeof t[n]&&t[n]?"":t[n])}function d(e,n,a){var r=t.createElement(e);p(r,a),c(n,r)}function A(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function f(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function y(e,t,n,a){e&&g(e,t,n,!0,a)}function b(e,t,n,a){e&&g(e,t,n,!1,a)}function v(e,t,n,a,r){y(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function g(e,t,n,a,r){var s=t.split(" ");if("boolean"!=typeof r&&(r=!1),e instanceof NodeList)for(var o=0;oa;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},T(t[s],r[s])):t[s]=r[s]}return t}}function x(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)e.supportsFullScreen=!0;else for(var a=0,r=n.length;r>a;a++){if(e.prefix=n[a],"undefined"!=typeof t[e.prefix+"CancelFullScreen"]){e.supportsFullScreen=!0;break}if("undefined"!=typeof t.msExitFullscreen&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch("undefined"==typeof e&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return"undefined"==typeof e&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function _(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(g,T){function E(t,n){T.debug&&e.console&&console[n?"warn":"log"](t)}function S(){var e=[],t=T.iconUrl+"#"+T.iconPrefix;return s(T.controls,"play-large")&&e.push('"),e.push('
'),s(T.controls,"restart")&&e.push('"),s(T.controls,"rewind")&&e.push('"),s(T.controls,"play")&&e.push('",'"),s(T.controls,"fast-forward")&&e.push('"),s(T.controls,"progress")&&(e.push('','','','','',"0% "+T.i18n.buffered,""),T.tooltips.seek&&e.push('00:00'),e.push("")),s(T.controls,"current-time")&&e.push('',''+T.i18n.currentTime+"",'00:00',""),s(T.controls,"duration")&&e.push('',''+T.i18n.duration+"",'00:00',""),s(T.controls,"mute")&&e.push('"),s(T.controls,"volume")&&e.push('','",'','',""),s(T.controls,"captions")&&e.push('"),s(T.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function I(){if(Se.supported.full&&("audio"!=Se.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=C.supportsFullScreen;e||T.fullscreen.fallback&&!V()?(E((e?"Native":"Fallback")+" fullscreen enabled"),m(Se.container,T.classes.fullscreen.enabled,!0)):E("Fullscreen not supported and fallback disabled"),k(Se.buttons.fullscreen,!1),H()}}function N(){if("video"===Se.type){L(T.selectors.captions)||Se.videoContainer.insertAdjacentHTML("afterbegin",'
'),Se.usingTextTracks=!1,Se.media.textTracks&&(Se.usingTextTracks=!0);for(var e,t="",n=Se.media.childNodes,a=0;a=10||"Firefox"===Se.browser.name&&Se.browser.version>=31)&&(E("Detected browser with known TextTrack issues - using manual fallback"),Se.usingTextTracks=!1),Se.usingTextTracks){E("TextTracks supported");for(var o=0;o ");for(var a=0;aSe.captions.length-1){Se.subcount=Se.captions.length-1;break}Se.media.currentTime.toFixed(1)>=n(Se.captions[Se.subcount][0])&&Se.media.currentTime.toFixed(1)<=a(Se.captions[Se.subcount][0])?(Se.currentCaption=Se.captions[Se.subcount][1],P(Se.currentCaption)):P()}}function R(){Se.buttons.captions&&(m(Se.container,T.classes.captions.enabled,!0),T.captions.defaultActive&&(m(Se.container,T.classes.captions.active,!0),k(Se.buttons.captions,!0)))}function B(e){return Se.container.querySelectorAll(e)}function L(e){return B(e)[0]}function V(){try{return e.self!==e.top}catch(t){return!0}}function H(){function e(e){9===e.which&&Se.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];y(Se.container,"keydown",e)}function O(e,t){if("string"==typeof t)d(e,Se.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Se.media,t[n])}function W(){var e=T.html;E("Injecting custom controls"),e||(e=S()),e=o(e,"{seektime}",T.seekTime),e=o(e,"{id}",Math.floor(1e4*Math.random()));var n;if(null!==T.selectors.controls.container&&(n=T.selectors.controls.container,"string"==typeof selector&&(n=t.querySelector(n))),n instanceof HTMLElement||(n=Se.container),n.insertAdjacentHTML("beforeend",e),T.tooltips.controls)for(var a=B([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),r=a.length-1;r>=0;r--){var s=a[r];m(s,T.classes.hidden,!1),m(s,T.classes.tooltip,!0)}}function G(){try{return Se.controls=L(T.selectors.controls.wrapper),Se.buttons={},Se.buttons.seek=L(T.selectors.buttons.seek),Se.buttons.play=B(T.selectors.buttons.play),Se.buttons.pause=L(T.selectors.buttons.pause),Se.buttons.restart=L(T.selectors.buttons.restart),Se.buttons.rewind=L(T.selectors.buttons.rewind),Se.buttons.forward=L(T.selectors.buttons.forward),Se.buttons.fullscreen=L(T.selectors.buttons.fullscreen),Se.buttons.mute=L(T.selectors.buttons.mute),Se.buttons.captions=L(T.selectors.buttons.captions),Se.progress={},Se.progress.container=L(T.selectors.progress.container),Se.progress.buffer={},Se.progress.buffer.bar=L(T.selectors.progress.buffer),Se.progress.buffer.text=Se.progress.buffer.bar&&Se.progress.buffer.bar.getElementsByTagName("span")[0],Se.progress.played=L(T.selectors.progress.played),Se.progress.tooltip=Se.progress.container&&Se.progress.container.querySelector("."+T.classes.tooltip),Se.volume={},Se.volume.input=L(T.selectors.volume.input),Se.volume.display=L(T.selectors.volume.display),Se.duration=L(T.selectors.duration),Se.currentTime=L(T.selectors.currentTime),Se.seekTime=B(T.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls html",!0),q(!0),!1}}function Y(){m(Se.container,T.selectors.container.replace(".",""),Se.supported.full)}function q(e){e?Se.media.setAttribute("controls",""):Se.media.removeAttribute("controls")}function z(e){var t=T.i18n.play;if("undefined"!=typeof T.title&&T.title.length&&(t+=", "+T.title),Se.supported.full&&Se.buttons.play)for(var n=Se.buttons.play.length-1;n>=0;n--)Se.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function Q(){if(!Se.media)return E("No audio or video element found",!0),!1;if(Se.supported.full&&(m(Se.container,T.classes.type.replace("{0}",Se.type),!0),s(T.types.embed,Se.type)&&m(Se.container,T.classes.type.replace("{0}","video"),!0),m(Se.container,T.classes.stopped,T.autoplay),m(Se.container,T.classes.isIos,Se.browser.ios),m(Se.container,T.classes.isTouch,Se.browser.touch),"video"===Se.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),i(Se.media,e),Se.videoContainer=e}s(T.types.embed,Se.type)&&(j(),Se.embedId=null)}function j(){for(var n=t.createElement("div"),a=Se.embedId,s=Se.type+"-"+Math.floor(1e4*Math.random()),o=B('[id^="'+Se.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(m(Se.media,T.classes.videoWrapper,!0),m(Se.media,T.classes.embedWrapper,!0),"youtube"===Se.type)Se.media.appendChild(n),n.setAttribute("id",s),"object"==typeof YT?U(a,n):(r(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){U(a,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Se.type){var l=t.createElement("iframe");l.loaded=!1,y(l,"load",function(){l.loaded=!0}),p(l,{src:"https://player.vimeo.com/video/"+a+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",frameborder:0}),Se.supported.full?(n.appendChild(l),Se.media.appendChild(n)):Se.media.appendChild(l),"$f"in e||r(T.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),X.call(l))},50)}else if("soundcloud"===Se.type){var d=t.createElement("iframe");d.loaded=!1,y(d,"load",function(){d.loaded=!0}),p(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+a,id:s}),n.appendChild(d),Se.media.appendChild(n),e.SC||r(T.urls.soundcloud.api);var A=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(A),Z.call(d))},50)}}function D(){Se.container.plyr.embed=Se.embed,Fe(),z(L("iframe"))}function U(t,n){"timer"in Se||(Se.timer={}),Se.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Se.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){h(Se.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Se.media.play=function(){n.playVideo(),Se.media.paused=!1},Se.media.pause=function(){n.pauseVideo(),Se.media.paused=!0},Se.media.stop=function(){n.stopVideo(),Se.media.paused=!0},Se.media.duration=n.getDuration(),Se.media.paused=!0,Se.media.currentTime=n.getCurrentTime(),Se.media.muted=n.isMuted(),T.title=n.getVideoData().title,h(Se.media,"timeupdate"),e.clearInterval(Se.timer.buffering),Se.timer.buffering=e.setInterval(function(){Se.media.buffered=n.getVideoLoadedFraction(),h(Se.media,"progress"),1===Se.media.buffered&&(e.clearInterval(Se.timer.buffering),h(Se.media,"canplaythrough"))},200),D(),fe()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Se.timer.playing),t.data){case 0:Se.media.paused=!0,h(Se.media,"ended");break;case 1:Se.media.paused=!1,Se.media.seeking=!1,h(Se.media,"play"),h(Se.media,"playing"),Se.timer.playing=e.setInterval(function(){Se.media.currentTime=n.getCurrentTime(),h(Se.media,"timeupdate")},100);break;case 2:Se.media.paused=!0,h(Se.media,"pause")}}}})}function X(){Se.embed=$f(this),Se.embed.addEvent("ready",function(){Se.media.play=function(){Se.embed.api("play"),Se.media.paused=!1},Se.media.pause=function(){Se.embed.api("pause"),Se.media.paused=!0},Se.media.stop=function(){Se.embed.api("stop"),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.api("getCurrentTime",function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.api("getDuration",function(e){Se.media.duration=e,fe()}),Se.embed.addEvent("play",function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.addEvent("pause",function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.addEvent("playProgress",function(e){Se.media.seeking=!1,Se.media.currentTime=e.seconds,h(Se.media,"timeupdate")}),Se.embed.addEvent("loadProgress",function(e){Se.media.buffered=e.percent,h(Se.media,"progress"),1===parseInt(e.percent)&&h(Se.media,"canplaythrough")}),Se.embed.addEvent("finish",function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.api("play")})}function Z(){Se.embed=e.SC.Widget(this),Se.embed.bind(e.SC.Widget.Events.READY,function(){Se.media.play=function(){Se.embed.play(),Se.media.paused=!1},Se.media.pause=function(){Se.embed.pause(),Se.media.paused=!0},Se.media.stop=function(){Se.embed.seekTo(0),Se.embed.pause(),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.getPosition(function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.getDuration(function(e){Se.media.duration=e/1e3,fe()}),Se.embed.bind(e.SC.Widget.Events.PLAY,function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.bind(e.SC.Widget.Events.PAUSE,function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Se.media.seeking=!1,Se.media.currentTime=e.currentPosition/1e3,h(Se.media,"timeupdate")}),Se.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Se.media.buffered=e.loadProgress,h(Se.media,"progress"),1===parseInt(e.loadProgress)&&h(Se.media,"canplaythrough")}),Se.embed.bind(e.SC.Widget.Events.FINISH,function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.play()})}function $(){"play"in Se.media&&Se.media.play()}function J(){"pause"in Se.media&&Se.media.pause()}function K(e){e===!0?$():e===!1?J():Se.media[Se.media.paused?"play":"pause"]()}function ee(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime-e)}function te(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime+e)}function ne(e){var t=0,n=Se.media.paused,a=ae();"number"==typeof e?t=e:"object"!=typeof e||"input"!==e.type&&"change"!==e.type||(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),be(t);try{Se.media.currentTime=t.toFixed(1)}catch(r){}if(s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.seekTo(t);break;case"vimeo":Se.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":Se.embed.seekTo(1e3*t)}n&&J(),h(Se.media,"timeupdate"),Se.media.seeking=!0}E("Seeking to "+Se.media.currentTime+" seconds"),M(t)}function ae(){var e=parseInt(T.duration),t=0;return null===Se.media.duration||isNaN(Se.media.duration)||(t=Se.media.duration),isNaN(e)?t:e}function re(){m(Se.container,T.classes.playing,!Se.media.paused),m(Se.container,T.classes.stopped,Se.media.paused),ge(Se.media.paused)}function se(e){var n=C.supportsFullScreen;e&&e.type===C.fullScreenEventName?Se.isFullscreen=C.isFullScreen(Se.container):n?(C.isFullScreen(Se.container)?C.cancelFullScreen():C.requestFullScreen(Se.container),Se.isFullscreen=C.isFullScreen(Se.container)):(Se.isFullscreen=!Se.isFullscreen,Se.isFullscreen?(y(t,"keyup",oe),t.body.style.overflow="hidden"):(b(t,"keyup",oe),t.body.style.overflow="")),m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),Se.isFullscreen?Se.container.setAttribute("tabindex","-1"):Se.container.removeAttribute("tabindex"),H(Se.isFullscreen),k(Se.buttons.fullscreen,Se.isFullscreen),h(Se.container,Se.isFullscreen?"enterfullscreen":"exitfullscreen")}function oe(e){27===(e.which||e.charCode||e.keyCode)&&Se.isFullscreen&&se()}function ie(e){if("boolean"!=typeof e&&(e=!Se.media.muted),k(Se.buttons.mute,e),Se.media.muted=e,0===Se.media.volume&&le(T.volume),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed[Se.media.muted?"mute":"unMute"]();break;case"vimeo":Se.embed.api("setVolume",Se.media.muted?0:parseFloat(T.volume/10));break;case"soundcloud":Se.embed.setVolume(Se.media.muted?0:parseFloat(T.volume/10))}h(Se.media,"volumechange")}}function le(t){if("undefined"==typeof t&&(t=T.volume,T.storage.enabled&&_().supported&&(t=e.localStorage.getItem(T.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=T.volume),t>10&&(t=10),0>t&&(t=0),Se.media.volume=parseFloat(t/10),Se.volume.display&&(Se.volume.display.value=t),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.setVolume(100*Se.media.volume);break;case"vimeo":Se.embed.api("setVolume",Se.media.volume);break;case"soundcloud":Se.embed.setVolume(Se.media.volume)}h(Se.media,"volumechange")}Se.media.muted&&t>0&&ie()}function ue(){var t=Se.media.muted?0:10*Se.media.volume;Se.supported.full&&(Se.volume.input&&(Se.volume.input.value=t),Se.volume.display&&(Se.volume.display.value=t)),T.storage.enabled&&_().supported&&!isNaN(t)&&e.localStorage.setItem(T.storage.key,t),m(Se.container,T.classes.muted,0===t),Se.supported.full&&Se.buttons.mute&&k(Se.buttons.mute,0===t)}function ce(e){Se.supported.full&&Se.buttons.captions&&("boolean"!=typeof e&&(e=-1===Se.container.className.indexOf(T.classes.captions.active)),Se.captionsEnabled=e,k(Se.buttons.captions,Se.captionsEnabled),m(Se.container,T.classes.captions.active,Se.captionsEnabled),h(Se.container,Se.captionsEnabled?"captionsenabled":"captionsdisabled"))}function pe(e){var t="waiting"===e.type;clearTimeout(Se.timers.loading),Se.timers.loading=setTimeout(function(){m(Se.container,T.classes.loading,t)},t?250:0)}function de(e){var t=Se.progress.played,n=0,a=ae();if(e)switch(e.type){case"timeupdate":case"seeking":n=w(Se.media.currentTime,a),"timeupdate"==e.type&&Se.buttons.seek&&(Se.buttons.seek.value=n);break;case"playing":case"progress":t=Se.progress.buffer,n=function(){var e=Se.media.buffered;return e&&e.length?w(e.end(0),a):"number"==typeof e?100*e:0}()}Ae(t,n)}function Ae(e,t){"undefined"==typeof t&&(t=0),e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}function me(e,t){if(t){isNaN(e)&&(e=0),Se.secs=parseInt(e%60),Se.mins=parseInt(e/60%60),Se.hours=parseInt(e/60/60%60);var n=parseInt(ae()/60/60%60)>0;Se.secs=("0"+Se.secs).slice(-2),Se.mins=("0"+Se.mins).slice(-2),t.innerHTML=(n?Se.hours+":":"")+Se.mins+":"+Se.secs}}function fe(){if(Se.supported.full){var e=ae()||0;!Se.duration&&T.displayDuration&&Se.media.paused&&me(e,Se.currentTime),Se.duration&&me(e,Se.duration),ve()}}function ye(e){me(Se.media.currentTime,Se.currentTime),e&&"timeupdate"==e.type&&Se.media.seeking||de(e)}function be(e){"number"!=typeof e&&(e=0);var t=ae(),n=w(e,t);Se.progress&&Se.progress.played&&(Se.progress.played.value=n),Se.buttons&&Se.buttons.seek&&(Se.buttons.seek.value=n)}function ve(e){var t=ae();if(T.tooltips.seek&&Se.progress.container&&0!==t){var n=Se.progress.container.getBoundingClientRect(),a=0,r=T.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!f(Se.progress.tooltip,r))return;a=Se.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),me(t/100*a,Se.progress.tooltip),Se.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Se.progress.tooltip,r,"mouseenter"===e.type)}}function ge(t){if(T.hideControls&&"audio"!==Se.type){var n=0,a=!1,r=t;"boolean"!=typeof t&&(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","mouseenter","focus"],t.type),"mousemove"===t.type&&(n=2e3),"focus"===t.type&&(n=3e3)):r=!1),e.clearTimeout(Se.timers.hover),(r||Se.media.paused)&&(m(Se.container,T.classes.hideControls,!1),Se.media.paused)||r&&Se.media.paused||(Se.timers.hover=e.setTimeout(function(){Se.controls.active&&!a||m(Se.container,T.classes.hideControls,!0)},n))}}function he(e){if("undefined"!=typeof e)return void ke(e);var t;switch(Se.type){case"youtube":t=Se.embed.getVideoUrl();break;case"vimeo":Se.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":Se.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Se.media.currentSrc}return t||""}function ke(n){if(!("undefined"!=typeof n&&"sources"in n&&n.sources.length))return void E("Invalid source format",!0);if(J(),be(),Ae(Se.progress.buffer),_e(),"youtube"===Se.type?(Se.embed.destroy(),e.clearInterval(Se.timer.buffering),e.clearInterval(Se.timer.playing)):"video"===Se.type&&Se.videoContainer&&u(Se.videoContainer),Se.embed=null,u(Se.media),"type"in n&&(Se.type=n.type,"video"===Se.type)){var a=n.sources[0];"type"in a&&s(T.types.embed,a.type)&&(Se.type=a.type)}switch(Se.supported=F.supported(Se.type),Se.type){case"video":Se.media=t.createElement("video");break;case"audio":Se.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Se.media=t.createElement("div"),Se.embedId=n.sources[0].src}c(Se.container,Se.media),"undefined"!=typeof n.autoplay&&(T.autoplay=n.autoplay),s(T.types.html5,Se.type)&&(T.crossorigin&&Se.media.setAttribute("crossorigin",""),T.autoplay&&Se.media.setAttribute("autoplay",""),"poster"in n&&Se.media.setAttribute("poster",n.poster),T.loop&&Se.media.setAttribute("loop","")),Se.container.className=Se.originalClassName,m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),m(Se.container,T.classes.captions.active,Se.captionsEnabled),Y(),s(T.types.html5,Se.type)&&O("source",n.sources),Q(),s(T.types.html5,Se.type)&&("tracks"in n&&O("track",n.tracks),Se.media.load(),Fe(),fe()),T.title=n.title,z(),Se.container.plyr.media=Se.media}function we(e){"video"===Se.type&&Se.media.setAttribute("poster",e)}function Te(){function n(){var e=Se.media.paused;e?$():J();var t=Se.buttons[e?"play":"pause"],n=Se.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=f(t,T.classes.tabFocus);setTimeout(function(){n.focus(),a&&(m(t,T.classes.tabFocus,!1),m(n,T.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in Se.buttons){var a=Se.buttons[n];if(a instanceof NodeList)for(var r=0;r=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a)}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,"boolean"==typeof t[n]&&t[n]?"":t[n])}function d(e,n,a){var r=t.createElement(e);p(r,a),c(n,r)}function A(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function f(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function y(e,t,n,a){e&&g(e,t,n,!0,a)}function b(e,t,n,a){e&&g(e,t,n,!1,a)}function v(e,t,n,a,r){y(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function g(e,t,n,a,r){var s=t.split(" ");if("boolean"!=typeof r&&(r=!1),e instanceof NodeList)for(var o=0;oa;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},T(t[s],r[s])):t[s]=r[s]}return t}}function x(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)e.supportsFullScreen=!0;else for(var a=0,r=n.length;r>a;a++){if(e.prefix=n[a],"undefined"!=typeof t[e.prefix+"CancelFullScreen"]){e.supportsFullScreen=!0;break}if("undefined"!=typeof t.msExitFullscreen&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch("undefined"==typeof e&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return"undefined"==typeof e&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function _(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(g,T){function E(t,n){T.debug&&e.console&&console[n?"warn":"log"](t)}function S(){var e=[],t=T.iconUrl+"#"+T.iconPrefix;return s(T.controls,"play-large")&&e.push('"),e.push('
'),s(T.controls,"restart")&&e.push('"),s(T.controls,"rewind")&&e.push('"),s(T.controls,"play")&&e.push('",'"),s(T.controls,"fast-forward")&&e.push('"),s(T.controls,"progress")&&(e.push('','','','','',"0% "+T.i18n.buffered,""),T.tooltips.seek&&e.push('00:00'),e.push("")),s(T.controls,"current-time")&&e.push('',''+T.i18n.currentTime+"",'00:00',""),s(T.controls,"duration")&&e.push('',''+T.i18n.duration+"",'00:00',""),s(T.controls,"mute")&&e.push('"),s(T.controls,"volume")&&e.push('','",'','',""),s(T.controls,"captions")&&e.push('"),s(T.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function I(){if(Se.supported.full&&("audio"!=Se.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=C.supportsFullScreen;e||T.fullscreen.fallback&&!V()?(E((e?"Native":"Fallback")+" fullscreen enabled"),m(Se.container,T.classes.fullscreen.enabled,!0)):E("Fullscreen not supported and fallback disabled"),k(Se.buttons.fullscreen,!1),H()}}function N(){if("video"===Se.type){L(T.selectors.captions)||Se.videoContainer.insertAdjacentHTML("afterbegin",'
'),Se.usingTextTracks=!1,Se.media.textTracks&&(Se.usingTextTracks=!0);for(var e,t="",n=Se.media.childNodes,a=0;a=10||"Firefox"===Se.browser.name&&Se.browser.version>=31)&&(E("Detected browser with known TextTrack issues - using manual fallback"),Se.usingTextTracks=!1),Se.usingTextTracks){E("TextTracks supported");for(var o=0;o ");for(var a=0;aSe.captions.length-1){Se.subcount=Se.captions.length-1;break}Se.media.currentTime.toFixed(1)>=n(Se.captions[Se.subcount][0])&&Se.media.currentTime.toFixed(1)<=a(Se.captions[Se.subcount][0])?(Se.currentCaption=Se.captions[Se.subcount][1],P(Se.currentCaption)):P()}}function R(){Se.buttons.captions&&(m(Se.container,T.classes.captions.enabled,!0),T.captions.defaultActive&&(m(Se.container,T.classes.captions.active,!0),k(Se.buttons.captions,!0)))}function B(e){return Se.container.querySelectorAll(e)}function L(e){return B(e)[0]}function V(){try{return e.self!==e.top}catch(t){return!0}}function H(){function e(e){9===e.which&&Se.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];y(Se.container,"keydown",e)}function O(e,t){if("string"==typeof t)d(e,Se.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Se.media,t[n])}function W(){var e=T.html;E("Injecting custom controls"),e||(e=S()),e=o(e,"{seektime}",T.seekTime),e=o(e,"{id}",Math.floor(1e4*Math.random()));var n;if(null!==T.selectors.controls.container&&(n=T.selectors.controls.container,"string"==typeof selector&&(n=t.querySelector(n))),n instanceof HTMLElement||(n=Se.container),n.insertAdjacentHTML("beforeend",e),T.tooltips.controls)for(var a=B([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),r=a.length-1;r>=0;r--){var s=a[r];m(s,T.classes.hidden,!1),m(s,T.classes.tooltip,!0)}}function G(){try{return Se.controls=L(T.selectors.controls.wrapper),Se.buttons={},Se.buttons.seek=L(T.selectors.buttons.seek),Se.buttons.play=B(T.selectors.buttons.play),Se.buttons.pause=L(T.selectors.buttons.pause),Se.buttons.restart=L(T.selectors.buttons.restart),Se.buttons.rewind=L(T.selectors.buttons.rewind),Se.buttons.forward=L(T.selectors.buttons.forward),Se.buttons.fullscreen=L(T.selectors.buttons.fullscreen),Se.buttons.mute=L(T.selectors.buttons.mute),Se.buttons.captions=L(T.selectors.buttons.captions),Se.progress={},Se.progress.container=L(T.selectors.progress.container),Se.progress.buffer={},Se.progress.buffer.bar=L(T.selectors.progress.buffer),Se.progress.buffer.text=Se.progress.buffer.bar&&Se.progress.buffer.bar.getElementsByTagName("span")[0],Se.progress.played=L(T.selectors.progress.played),Se.progress.tooltip=Se.progress.container&&Se.progress.container.querySelector("."+T.classes.tooltip),Se.volume={},Se.volume.input=L(T.selectors.volume.input),Se.volume.display=L(T.selectors.volume.display),Se.duration=L(T.selectors.duration),Se.currentTime=L(T.selectors.currentTime),Se.seekTime=B(T.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls html",!0),q(!0),!1}}function Y(){m(Se.container,T.selectors.container.replace(".",""),Se.supported.full)}function q(e){e?Se.media.setAttribute("controls",""):Se.media.removeAttribute("controls")}function z(e){var t=T.i18n.play;if("undefined"!=typeof T.title&&T.title.length&&(t+=", "+T.title),Se.supported.full&&Se.buttons.play)for(var n=Se.buttons.play.length-1;n>=0;n--)Se.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function Q(){if(!Se.media)return E("No audio or video element found",!0),!1;if(Se.supported.full&&(m(Se.container,T.classes.type.replace("{0}",Se.type),!0),s(T.types.embed,Se.type)&&m(Se.container,T.classes.type.replace("{0}","video"),!0),m(Se.container,T.classes.stopped,T.autoplay),m(Se.container,T.classes.isIos,Se.browser.ios),m(Se.container,T.classes.isTouch,Se.browser.touch),"video"===Se.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),i(Se.media,e),Se.videoContainer=e}s(T.types.embed,Se.type)&&(j(),Se.embedId=null)}function j(){for(var n=t.createElement("div"),a=Se.embedId,s=Se.type+"-"+Math.floor(1e4*Math.random()),o=B('[id^="'+Se.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(m(Se.media,T.classes.videoWrapper,!0),m(Se.media,T.classes.embedWrapper,!0),"youtube"===Se.type)Se.media.appendChild(n),n.setAttribute("id",s),"object"==typeof YT?U(a,n):(r(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){U(a,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Se.type){var l=t.createElement("iframe");l.loaded=!1,y(l,"load",function(){l.loaded=!0}),p(l,{src:"https://player.vimeo.com/video/"+a+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",frameborder:0}),Se.supported.full?(n.appendChild(l),Se.media.appendChild(n)):Se.media.appendChild(l),"$f"in e||r(T.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),X.call(l))},50)}else if("soundcloud"===Se.type){var d=t.createElement("iframe");d.loaded=!1,y(d,"load",function(){d.loaded=!0}),p(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+a,id:s}),n.appendChild(d),Se.media.appendChild(n),e.SC||r(T.urls.soundcloud.api);var A=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(A),Z.call(d))},50)}}function D(){Se.container.plyr.embed=Se.embed,Fe(),z(L("iframe"))}function U(t,n){"timer"in Se||(Se.timer={}),Se.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Se.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){h(Se.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Se.media.play=function(){n.playVideo(),Se.media.paused=!1},Se.media.pause=function(){n.pauseVideo(),Se.media.paused=!0},Se.media.stop=function(){n.stopVideo(),Se.media.paused=!0},Se.media.duration=n.getDuration(),Se.media.paused=!0,Se.media.currentTime=n.getCurrentTime(),Se.media.muted=n.isMuted(),T.title=n.getVideoData().title,h(Se.media,"timeupdate"),e.clearInterval(Se.timer.buffering),Se.timer.buffering=e.setInterval(function(){Se.media.buffered=n.getVideoLoadedFraction(),h(Se.media,"progress"),1===Se.media.buffered&&(e.clearInterval(Se.timer.buffering),h(Se.media,"canplaythrough"))},200),D(),fe()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Se.timer.playing),t.data){case 0:Se.media.paused=!0,h(Se.media,"ended");break;case 1:Se.media.paused=!1,Se.media.seeking=!1,h(Se.media,"play"),h(Se.media,"playing"),Se.timer.playing=e.setInterval(function(){Se.media.currentTime=n.getCurrentTime(),h(Se.media,"timeupdate")},100);break;case 2:Se.media.paused=!0,h(Se.media,"pause")}}}})}function X(){Se.embed=$f(this),Se.embed.addEvent("ready",function(){Se.media.play=function(){Se.embed.api("play"),Se.media.paused=!1},Se.media.pause=function(){Se.embed.api("pause"),Se.media.paused=!0},Se.media.stop=function(){Se.embed.api("stop"),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.api("getCurrentTime",function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.api("getDuration",function(e){Se.media.duration=e,fe()}),Se.embed.addEvent("play",function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.addEvent("pause",function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.addEvent("playProgress",function(e){Se.media.seeking=!1,Se.media.currentTime=e.seconds,h(Se.media,"timeupdate")}),Se.embed.addEvent("loadProgress",function(e){Se.media.buffered=e.percent,h(Se.media,"progress"),1===parseInt(e.percent)&&h(Se.media,"canplaythrough")}),Se.embed.addEvent("finish",function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.api("play")})}function Z(){Se.embed=e.SC.Widget(this),Se.embed.bind(e.SC.Widget.Events.READY,function(){Se.media.play=function(){Se.embed.play(),Se.media.paused=!1},Se.media.pause=function(){Se.embed.pause(),Se.media.paused=!0},Se.media.stop=function(){Se.embed.seekTo(0),Se.embed.pause(),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.getPosition(function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.getDuration(function(e){Se.media.duration=e/1e3,fe()}),Se.embed.bind(e.SC.Widget.Events.PLAY,function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.bind(e.SC.Widget.Events.PAUSE,function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Se.media.seeking=!1,Se.media.currentTime=e.currentPosition/1e3,h(Se.media,"timeupdate")}),Se.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Se.media.buffered=e.loadProgress,h(Se.media,"progress"),1===parseInt(e.loadProgress)&&h(Se.media,"canplaythrough")}),Se.embed.bind(e.SC.Widget.Events.FINISH,function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.play()})}function $(){"play"in Se.media&&Se.media.play()}function J(){"pause"in Se.media&&Se.media.pause()}function K(e){e===!0?$():e===!1?J():Se.media[Se.media.paused?"play":"pause"]()}function ee(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime-e)}function te(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime+e)}function ne(e){var t=0,n=Se.media.paused,a=ae();"number"==typeof e?t=e:"object"!=typeof e||"input"!==e.type&&"change"!==e.type||(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),be(t);try{Se.media.currentTime=t.toFixed(1)}catch(r){}if(s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.seekTo(t);break;case"vimeo":Se.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":Se.embed.seekTo(1e3*t)}n&&J(),h(Se.media,"timeupdate"),Se.media.seeking=!0}E("Seeking to "+Se.media.currentTime+" seconds"),M(t)}function ae(){var e=parseInt(T.duration),t=0;return null===Se.media.duration||isNaN(Se.media.duration)||(t=Se.media.duration),isNaN(e)?t:e}function re(){m(Se.container,T.classes.playing,!Se.media.paused),m(Se.container,T.classes.stopped,Se.media.paused),ge(Se.media.paused)}function se(e){var n=C.supportsFullScreen;e&&e.type===C.fullScreenEventName?Se.isFullscreen=C.isFullScreen(Se.container):n?(C.isFullScreen(Se.container)?C.cancelFullScreen():C.requestFullScreen(Se.container),Se.isFullscreen=C.isFullScreen(Se.container)):(Se.isFullscreen=!Se.isFullscreen,Se.isFullscreen?(y(t,"keyup",oe),t.body.style.overflow="hidden"):(b(t,"keyup",oe),t.body.style.overflow="")),m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),Se.isFullscreen?Se.container.setAttribute("tabindex","-1"):Se.container.removeAttribute("tabindex"),H(Se.isFullscreen),k(Se.buttons.fullscreen,Se.isFullscreen),h(Se.container,Se.isFullscreen?"enterfullscreen":"exitfullscreen")}function oe(e){27===(e.which||e.charCode||e.keyCode)&&Se.isFullscreen&&se()}function ie(e){if("boolean"!=typeof e&&(e=!Se.media.muted),k(Se.buttons.mute,e),Se.media.muted=e,0===Se.media.volume&&le(T.volume),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed[Se.media.muted?"mute":"unMute"]();break;case"vimeo":Se.embed.api("setVolume",Se.media.muted?0:parseFloat(T.volume/10));break;case"soundcloud":Se.embed.setVolume(Se.media.muted?0:parseFloat(T.volume/10))}h(Se.media,"volumechange")}}function le(t){if("undefined"==typeof t&&(t=T.volume,T.storage.enabled&&_().supported&&(t=e.localStorage.getItem(T.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=T.volume),t>10&&(t=10),0>t&&(t=0),Se.media.volume=parseFloat(t/10),Se.volume.display&&(Se.volume.display.value=t),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.setVolume(100*Se.media.volume);break;case"vimeo":Se.embed.api("setVolume",Se.media.volume);break;case"soundcloud":Se.embed.setVolume(Se.media.volume)}h(Se.media,"volumechange")}Se.media.muted&&t>0&&ie()}function ue(){var t=Se.media.muted?0:10*Se.media.volume;Se.supported.full&&(Se.volume.input&&(Se.volume.input.value=t),Se.volume.display&&(Se.volume.display.value=t)),T.storage.enabled&&_().supported&&!isNaN(t)&&e.localStorage.setItem(T.storage.key,t),m(Se.container,T.classes.muted,0===t),Se.supported.full&&Se.buttons.mute&&k(Se.buttons.mute,0===t)}function ce(e){Se.supported.full&&Se.buttons.captions&&("boolean"!=typeof e&&(e=-1===Se.container.className.indexOf(T.classes.captions.active)),Se.captionsEnabled=e,k(Se.buttons.captions,Se.captionsEnabled),m(Se.container,T.classes.captions.active,Se.captionsEnabled),h(Se.container,Se.captionsEnabled?"captionsenabled":"captionsdisabled"))}function pe(e){var t="waiting"===e.type;clearTimeout(Se.timers.loading),Se.timers.loading=setTimeout(function(){m(Se.container,T.classes.loading,t)},t?250:0)}function de(e){if(Se.supported.full){var t=Se.progress.played,n=0,a=ae();if(e)switch(e.type){case"timeupdate":case"seeking":n=w(Se.media.currentTime,a),"timeupdate"==e.type&&Se.buttons.seek&&(Se.buttons.seek.value=n);break;case"playing":case"progress":t=Se.progress.buffer,n=function(){var e=Se.media.buffered;return e&&e.length?w(e.end(0),a):"number"==typeof e?100*e:0}()}Ae(t,n)}}function Ae(e,t){Se.supported.full&&("undefined"==typeof t&&(t=0),"undefined"==typeof progres&&(e=Se.progress.buffer),e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t)))}function me(e,t){if(t){isNaN(e)&&(e=0),Se.secs=parseInt(e%60),Se.mins=parseInt(e/60%60),Se.hours=parseInt(e/60/60%60);var n=parseInt(ae()/60/60%60)>0;Se.secs=("0"+Se.secs).slice(-2),Se.mins=("0"+Se.mins).slice(-2),t.innerHTML=(n?Se.hours+":":"")+Se.mins+":"+Se.secs}}function fe(){if(Se.supported.full){var e=ae()||0;!Se.duration&&T.displayDuration&&Se.media.paused&&me(e,Se.currentTime),Se.duration&&me(e,Se.duration),ve()}}function ye(e){me(Se.media.currentTime,Se.currentTime),e&&"timeupdate"==e.type&&Se.media.seeking||de(e)}function be(e){"number"!=typeof e&&(e=0);var t=ae(),n=w(e,t);Se.progress&&Se.progress.played&&(Se.progress.played.value=n),Se.buttons&&Se.buttons.seek&&(Se.buttons.seek.value=n)}function ve(e){var t=ae();if(T.tooltips.seek&&Se.progress.container&&0!==t){var n=Se.progress.container.getBoundingClientRect(),a=0,r=T.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!f(Se.progress.tooltip,r))return;a=Se.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),me(t/100*a,Se.progress.tooltip),Se.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Se.progress.tooltip,r,"mouseenter"===e.type)}}function ge(t){if(T.hideControls&&"audio"!==Se.type){var n=0,a=!1,r=t;"boolean"!=typeof t&&(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","mouseenter","focus"],t.type),"mousemove"===t.type&&(n=2e3),"focus"===t.type&&(n=3e3)):r=!1),e.clearTimeout(Se.timers.hover),(r||Se.media.paused)&&(m(Se.container,T.classes.hideControls,!1),Se.media.paused)||r&&Se.media.paused||(Se.timers.hover=e.setTimeout(function(){Se.controls.active&&!a||m(Se.container,T.classes.hideControls,!0)},n))}}function he(e){if("undefined"!=typeof e)return void ke(e);var t;switch(Se.type){case"youtube":t=Se.embed.getVideoUrl();break;case"vimeo":Se.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":Se.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Se.media.currentSrc}return t||""}function ke(n){if(!("undefined"!=typeof n&&"sources"in n&&n.sources.length))return void E("Invalid source format",!0);if(J(),be(),Ae(),_e(),"youtube"===Se.type?(Se.embed.destroy(),e.clearInterval(Se.timer.buffering),e.clearInterval(Se.timer.playing)):"video"===Se.type&&Se.videoContainer&&u(Se.videoContainer),Se.embed=null,u(Se.media),"type"in n&&(Se.type=n.type,"video"===Se.type)){var a=n.sources[0];"type"in a&&s(T.types.embed,a.type)&&(Se.type=a.type)}switch(Se.supported=F.supported(Se.type),Se.type){case"video":Se.media=t.createElement("video");break;case"audio":Se.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Se.media=t.createElement("div"),Se.embedId=n.sources[0].src}c(Se.container,Se.media),"undefined"!=typeof n.autoplay&&(T.autoplay=n.autoplay),s(T.types.html5,Se.type)&&(T.crossorigin&&Se.media.setAttribute("crossorigin",""),T.autoplay&&Se.media.setAttribute("autoplay",""),"poster"in n&&Se.media.setAttribute("poster",n.poster),T.loop&&Se.media.setAttribute("loop","")),Se.container.className=Se.originalClassName,m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),m(Se.container,T.classes.captions.active,Se.captionsEnabled),Y(),s(T.types.html5,Se.type)&&O("source",n.sources),Q(),s(T.types.html5,Se.type)&&("tracks"in n&&O("track",n.tracks),Se.media.load(),Fe(),fe()),T.title=n.title,z(),Se.container.plyr.media=Se.media}function we(e){"video"===Se.type&&Se.media.setAttribute("poster",e)}function Te(){function n(){var e=Se.media.paused;e?$():J();var t=Se.buttons[e?"play":"pause"],n=Se.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=f(t,T.classes.tabFocus);setTimeout(function(){n.focus(),a&&(m(t,T.classes.tabFocus,!1),m(n,T.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in Se.buttons){var a=Se.buttons[n];if(a instanceof NodeList)for(var r=0;r - + + ``` -You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.6/sprite.svg`. +You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.7/sprite.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.6/sprite.svg'); +})(document, 'https://cdn.plyr.io/1.6.7/sprite.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` diff --git a/src/js/plyr.js b/src/js/plyr.js index db9f8a77..d33726dc 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.6 +// plyr.js v1.6.7 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== @@ -2162,6 +2162,10 @@ // Update elements function _updateProgress(event) { + if (!plyr.supported.full) { + return; + } + var progress = plyr.progress.played, value = 0, duration = _getDuration(); @@ -2209,9 +2213,18 @@ // Set value function _setProgress(progress, value) { + if (!plyr.supported.full) { + return; + } + + // Default to 0 if (typeof value === 'undefined') { value = 0; } + // Default to buffer + if (typeof progres === 'undefined') { + progress = plyr.progress.buffer; + } // One progress element passed if (progress instanceof HTMLElement) { @@ -2471,7 +2484,7 @@ _updateSeekDisplay(); // Reset buffer progress - _setProgress(plyr.progress.buffer); + _setProgress(); // Cancel current network requests _cancelRequests(); diff --git a/src/less/plyr.less b/src/less/plyr.less index ee7d5b78..64a0eb85 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -364,6 +364,7 @@ // Large play button (video only) .plyr__play-large { + display: none; position: absolute; top: 50%; left: 50%; @@ -389,6 +390,9 @@ outline: 1px dotted fade(@plyr-video-control-color, 50%); } } +.plyr .plyr__play-large { + display: inline-block; +} .plyr--audio .plyr__play-large { display: none; } @@ -481,7 +485,7 @@ // element .plyr__progress { position: relative; - display: inline-block; + display: none; flex: 1; input[type="range"] { @@ -504,6 +508,9 @@ left: 0; } } +.plyr .plyr__progress { + display: inline-block; +} .plyr__progress--buffer, .plyr__progress--played, @@ -636,8 +643,10 @@ // Volume // -------------------------------------------------------------- -.plyr .plyr__volume { +.plyr__volume { display: none; +} +.plyr .plyr__volume { flex: 1; position: relative; diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss index 7673efee..20b73206 100644 --- a/src/scss/plyr.scss +++ b/src/scss/plyr.scss @@ -363,6 +363,7 @@ // Large play button (video only) .plyr__play-large { + display: none; position: absolute; top: 50%; left: 50%; @@ -388,6 +389,9 @@ outline: 1px dotted transparentize($plyr-video-control-color, .5); } } +.plyr .plyr__play-large { + display: inline-block; +} .plyr--audio .plyr__play-large { display: none; } @@ -479,8 +483,8 @@ // -------------------------------------------------------------- // element .plyr__progress { + display: none; position: relative; - display: inline-block; flex: 1; input[type="range"] { @@ -503,6 +507,9 @@ left: 0; } } +.plyr .plyr__progress { + display: inline-block; +} .plyr__progress--buffer, .plyr__progress--played, @@ -635,8 +642,10 @@ // Volume // -------------------------------------------------------------- -.plyr .plyr__volume { +.plyr__volume { display: none; +} +.plyr .plyr__volume { flex: 1; position: relative; From 602944ea4f41b3afa117b2645e7d5ceefe6e5ca7 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sat, 14 May 2016 09:18:04 +1000 Subject: [PATCH 04/12] Fix for bug in v1.6.7 --- changelog.md | 3 +++ dist/plyr.js | 2 +- dist/sprite.svg | 2 +- package.json | 2 +- readme.md | 12 ++++++------ src/js/plyr.js | 4 ++-- src/sprite/icon-enter-fullscreen.svg | 8 +++----- src/sprite/icon-exit-fullscreen.svg | 4 ++-- 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/changelog.md b/changelog.md index 439cf24c..f6e019ee 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # Changelog +## v1.6.8 +- Fix for bug introduced in v1.6.7 + ## v1.6.7 - Fixes for using `source` API method on iOS diff --git a/dist/plyr.js b/dist/plyr.js index 83737eea..a9389696 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -1,2 +1,2 @@ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define(null,function(){t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10);return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(s="IE",o="11;"):-1!==(n=r.indexOf("MSIE"))?(s="IE",o=r.substring(n+5)):-1!==(n=r.indexOf("Chrome"))?(s="Chrome",o=r.substring(n+7)):-1!==(n=r.indexOf("Safari"))?(s="Safari",o=r.substring(n+7),-1!==(n=r.indexOf("Version"))&&(o=r.substring(n+8))):-1!==(n=r.indexOf("Firefox"))?(s="Firefox",o=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),o=r.substring(n+1),s.toLowerCase()==s.toUpperCase()&&(s=navigator.appName)),-1!==(a=o.indexOf(";"))&&(o=o.substring(0,a)),-1!==(a=o.indexOf(" "))&&(o=o.substring(0,a)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,ios:/(iPad|iPhone|iPod)/g.test(navigator.platform),touch:"ontouchstart"in t.documentElement}}function a(e,t){var n=e.media;if("video"==e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"==e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function r(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function s(e,t){return Array.prototype.indexOf&&-1!=e.indexOf(t)}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a)}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,"boolean"==typeof t[n]&&t[n]?"":t[n])}function d(e,n,a){var r=t.createElement(e);p(r,a),c(n,r)}function A(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function f(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function y(e,t,n,a){e&&g(e,t,n,!0,a)}function b(e,t,n,a){e&&g(e,t,n,!1,a)}function v(e,t,n,a,r){y(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function g(e,t,n,a,r){var s=t.split(" ");if("boolean"!=typeof r&&(r=!1),e instanceof NodeList)for(var o=0;oa;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},T(t[s],r[s])):t[s]=r[s]}return t}}function x(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)e.supportsFullScreen=!0;else for(var a=0,r=n.length;r>a;a++){if(e.prefix=n[a],"undefined"!=typeof t[e.prefix+"CancelFullScreen"]){e.supportsFullScreen=!0;break}if("undefined"!=typeof t.msExitFullscreen&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch("undefined"==typeof e&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return"undefined"==typeof e&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function _(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(g,T){function E(t,n){T.debug&&e.console&&console[n?"warn":"log"](t)}function S(){var e=[],t=T.iconUrl+"#"+T.iconPrefix;return s(T.controls,"play-large")&&e.push('"),e.push('
'),s(T.controls,"restart")&&e.push('"),s(T.controls,"rewind")&&e.push('"),s(T.controls,"play")&&e.push('",'"),s(T.controls,"fast-forward")&&e.push('"),s(T.controls,"progress")&&(e.push('','','','','',"0% "+T.i18n.buffered,""),T.tooltips.seek&&e.push('00:00'),e.push("")),s(T.controls,"current-time")&&e.push('',''+T.i18n.currentTime+"",'00:00',""),s(T.controls,"duration")&&e.push('',''+T.i18n.duration+"",'00:00',""),s(T.controls,"mute")&&e.push('"),s(T.controls,"volume")&&e.push('','",'','',""),s(T.controls,"captions")&&e.push('"),s(T.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function I(){if(Se.supported.full&&("audio"!=Se.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=C.supportsFullScreen;e||T.fullscreen.fallback&&!V()?(E((e?"Native":"Fallback")+" fullscreen enabled"),m(Se.container,T.classes.fullscreen.enabled,!0)):E("Fullscreen not supported and fallback disabled"),k(Se.buttons.fullscreen,!1),H()}}function N(){if("video"===Se.type){L(T.selectors.captions)||Se.videoContainer.insertAdjacentHTML("afterbegin",'
'),Se.usingTextTracks=!1,Se.media.textTracks&&(Se.usingTextTracks=!0);for(var e,t="",n=Se.media.childNodes,a=0;a=10||"Firefox"===Se.browser.name&&Se.browser.version>=31)&&(E("Detected browser with known TextTrack issues - using manual fallback"),Se.usingTextTracks=!1),Se.usingTextTracks){E("TextTracks supported");for(var o=0;o ");for(var a=0;aSe.captions.length-1){Se.subcount=Se.captions.length-1;break}Se.media.currentTime.toFixed(1)>=n(Se.captions[Se.subcount][0])&&Se.media.currentTime.toFixed(1)<=a(Se.captions[Se.subcount][0])?(Se.currentCaption=Se.captions[Se.subcount][1],P(Se.currentCaption)):P()}}function R(){Se.buttons.captions&&(m(Se.container,T.classes.captions.enabled,!0),T.captions.defaultActive&&(m(Se.container,T.classes.captions.active,!0),k(Se.buttons.captions,!0)))}function B(e){return Se.container.querySelectorAll(e)}function L(e){return B(e)[0]}function V(){try{return e.self!==e.top}catch(t){return!0}}function H(){function e(e){9===e.which&&Se.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];y(Se.container,"keydown",e)}function O(e,t){if("string"==typeof t)d(e,Se.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Se.media,t[n])}function W(){var e=T.html;E("Injecting custom controls"),e||(e=S()),e=o(e,"{seektime}",T.seekTime),e=o(e,"{id}",Math.floor(1e4*Math.random()));var n;if(null!==T.selectors.controls.container&&(n=T.selectors.controls.container,"string"==typeof selector&&(n=t.querySelector(n))),n instanceof HTMLElement||(n=Se.container),n.insertAdjacentHTML("beforeend",e),T.tooltips.controls)for(var a=B([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),r=a.length-1;r>=0;r--){var s=a[r];m(s,T.classes.hidden,!1),m(s,T.classes.tooltip,!0)}}function G(){try{return Se.controls=L(T.selectors.controls.wrapper),Se.buttons={},Se.buttons.seek=L(T.selectors.buttons.seek),Se.buttons.play=B(T.selectors.buttons.play),Se.buttons.pause=L(T.selectors.buttons.pause),Se.buttons.restart=L(T.selectors.buttons.restart),Se.buttons.rewind=L(T.selectors.buttons.rewind),Se.buttons.forward=L(T.selectors.buttons.forward),Se.buttons.fullscreen=L(T.selectors.buttons.fullscreen),Se.buttons.mute=L(T.selectors.buttons.mute),Se.buttons.captions=L(T.selectors.buttons.captions),Se.progress={},Se.progress.container=L(T.selectors.progress.container),Se.progress.buffer={},Se.progress.buffer.bar=L(T.selectors.progress.buffer),Se.progress.buffer.text=Se.progress.buffer.bar&&Se.progress.buffer.bar.getElementsByTagName("span")[0],Se.progress.played=L(T.selectors.progress.played),Se.progress.tooltip=Se.progress.container&&Se.progress.container.querySelector("."+T.classes.tooltip),Se.volume={},Se.volume.input=L(T.selectors.volume.input),Se.volume.display=L(T.selectors.volume.display),Se.duration=L(T.selectors.duration),Se.currentTime=L(T.selectors.currentTime),Se.seekTime=B(T.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls html",!0),q(!0),!1}}function Y(){m(Se.container,T.selectors.container.replace(".",""),Se.supported.full)}function q(e){e?Se.media.setAttribute("controls",""):Se.media.removeAttribute("controls")}function z(e){var t=T.i18n.play;if("undefined"!=typeof T.title&&T.title.length&&(t+=", "+T.title),Se.supported.full&&Se.buttons.play)for(var n=Se.buttons.play.length-1;n>=0;n--)Se.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function Q(){if(!Se.media)return E("No audio or video element found",!0),!1;if(Se.supported.full&&(m(Se.container,T.classes.type.replace("{0}",Se.type),!0),s(T.types.embed,Se.type)&&m(Se.container,T.classes.type.replace("{0}","video"),!0),m(Se.container,T.classes.stopped,T.autoplay),m(Se.container,T.classes.isIos,Se.browser.ios),m(Se.container,T.classes.isTouch,Se.browser.touch),"video"===Se.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),i(Se.media,e),Se.videoContainer=e}s(T.types.embed,Se.type)&&(j(),Se.embedId=null)}function j(){for(var n=t.createElement("div"),a=Se.embedId,s=Se.type+"-"+Math.floor(1e4*Math.random()),o=B('[id^="'+Se.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(m(Se.media,T.classes.videoWrapper,!0),m(Se.media,T.classes.embedWrapper,!0),"youtube"===Se.type)Se.media.appendChild(n),n.setAttribute("id",s),"object"==typeof YT?U(a,n):(r(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){U(a,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Se.type){var l=t.createElement("iframe");l.loaded=!1,y(l,"load",function(){l.loaded=!0}),p(l,{src:"https://player.vimeo.com/video/"+a+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",frameborder:0}),Se.supported.full?(n.appendChild(l),Se.media.appendChild(n)):Se.media.appendChild(l),"$f"in e||r(T.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),X.call(l))},50)}else if("soundcloud"===Se.type){var d=t.createElement("iframe");d.loaded=!1,y(d,"load",function(){d.loaded=!0}),p(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+a,id:s}),n.appendChild(d),Se.media.appendChild(n),e.SC||r(T.urls.soundcloud.api);var A=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(A),Z.call(d))},50)}}function D(){Se.container.plyr.embed=Se.embed,Fe(),z(L("iframe"))}function U(t,n){"timer"in Se||(Se.timer={}),Se.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Se.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){h(Se.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Se.media.play=function(){n.playVideo(),Se.media.paused=!1},Se.media.pause=function(){n.pauseVideo(),Se.media.paused=!0},Se.media.stop=function(){n.stopVideo(),Se.media.paused=!0},Se.media.duration=n.getDuration(),Se.media.paused=!0,Se.media.currentTime=n.getCurrentTime(),Se.media.muted=n.isMuted(),T.title=n.getVideoData().title,h(Se.media,"timeupdate"),e.clearInterval(Se.timer.buffering),Se.timer.buffering=e.setInterval(function(){Se.media.buffered=n.getVideoLoadedFraction(),h(Se.media,"progress"),1===Se.media.buffered&&(e.clearInterval(Se.timer.buffering),h(Se.media,"canplaythrough"))},200),D(),fe()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Se.timer.playing),t.data){case 0:Se.media.paused=!0,h(Se.media,"ended");break;case 1:Se.media.paused=!1,Se.media.seeking=!1,h(Se.media,"play"),h(Se.media,"playing"),Se.timer.playing=e.setInterval(function(){Se.media.currentTime=n.getCurrentTime(),h(Se.media,"timeupdate")},100);break;case 2:Se.media.paused=!0,h(Se.media,"pause")}}}})}function X(){Se.embed=$f(this),Se.embed.addEvent("ready",function(){Se.media.play=function(){Se.embed.api("play"),Se.media.paused=!1},Se.media.pause=function(){Se.embed.api("pause"),Se.media.paused=!0},Se.media.stop=function(){Se.embed.api("stop"),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.api("getCurrentTime",function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.api("getDuration",function(e){Se.media.duration=e,fe()}),Se.embed.addEvent("play",function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.addEvent("pause",function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.addEvent("playProgress",function(e){Se.media.seeking=!1,Se.media.currentTime=e.seconds,h(Se.media,"timeupdate")}),Se.embed.addEvent("loadProgress",function(e){Se.media.buffered=e.percent,h(Se.media,"progress"),1===parseInt(e.percent)&&h(Se.media,"canplaythrough")}),Se.embed.addEvent("finish",function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.api("play")})}function Z(){Se.embed=e.SC.Widget(this),Se.embed.bind(e.SC.Widget.Events.READY,function(){Se.media.play=function(){Se.embed.play(),Se.media.paused=!1},Se.media.pause=function(){Se.embed.pause(),Se.media.paused=!0},Se.media.stop=function(){Se.embed.seekTo(0),Se.embed.pause(),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.getPosition(function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.getDuration(function(e){Se.media.duration=e/1e3,fe()}),Se.embed.bind(e.SC.Widget.Events.PLAY,function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.bind(e.SC.Widget.Events.PAUSE,function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Se.media.seeking=!1,Se.media.currentTime=e.currentPosition/1e3,h(Se.media,"timeupdate")}),Se.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Se.media.buffered=e.loadProgress,h(Se.media,"progress"),1===parseInt(e.loadProgress)&&h(Se.media,"canplaythrough")}),Se.embed.bind(e.SC.Widget.Events.FINISH,function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.play()})}function $(){"play"in Se.media&&Se.media.play()}function J(){"pause"in Se.media&&Se.media.pause()}function K(e){e===!0?$():e===!1?J():Se.media[Se.media.paused?"play":"pause"]()}function ee(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime-e)}function te(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime+e)}function ne(e){var t=0,n=Se.media.paused,a=ae();"number"==typeof e?t=e:"object"!=typeof e||"input"!==e.type&&"change"!==e.type||(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),be(t);try{Se.media.currentTime=t.toFixed(1)}catch(r){}if(s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.seekTo(t);break;case"vimeo":Se.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":Se.embed.seekTo(1e3*t)}n&&J(),h(Se.media,"timeupdate"),Se.media.seeking=!0}E("Seeking to "+Se.media.currentTime+" seconds"),M(t)}function ae(){var e=parseInt(T.duration),t=0;return null===Se.media.duration||isNaN(Se.media.duration)||(t=Se.media.duration),isNaN(e)?t:e}function re(){m(Se.container,T.classes.playing,!Se.media.paused),m(Se.container,T.classes.stopped,Se.media.paused),ge(Se.media.paused)}function se(e){var n=C.supportsFullScreen;e&&e.type===C.fullScreenEventName?Se.isFullscreen=C.isFullScreen(Se.container):n?(C.isFullScreen(Se.container)?C.cancelFullScreen():C.requestFullScreen(Se.container),Se.isFullscreen=C.isFullScreen(Se.container)):(Se.isFullscreen=!Se.isFullscreen,Se.isFullscreen?(y(t,"keyup",oe),t.body.style.overflow="hidden"):(b(t,"keyup",oe),t.body.style.overflow="")),m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),Se.isFullscreen?Se.container.setAttribute("tabindex","-1"):Se.container.removeAttribute("tabindex"),H(Se.isFullscreen),k(Se.buttons.fullscreen,Se.isFullscreen),h(Se.container,Se.isFullscreen?"enterfullscreen":"exitfullscreen")}function oe(e){27===(e.which||e.charCode||e.keyCode)&&Se.isFullscreen&&se()}function ie(e){if("boolean"!=typeof e&&(e=!Se.media.muted),k(Se.buttons.mute,e),Se.media.muted=e,0===Se.media.volume&&le(T.volume),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed[Se.media.muted?"mute":"unMute"]();break;case"vimeo":Se.embed.api("setVolume",Se.media.muted?0:parseFloat(T.volume/10));break;case"soundcloud":Se.embed.setVolume(Se.media.muted?0:parseFloat(T.volume/10))}h(Se.media,"volumechange")}}function le(t){if("undefined"==typeof t&&(t=T.volume,T.storage.enabled&&_().supported&&(t=e.localStorage.getItem(T.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=T.volume),t>10&&(t=10),0>t&&(t=0),Se.media.volume=parseFloat(t/10),Se.volume.display&&(Se.volume.display.value=t),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.setVolume(100*Se.media.volume);break;case"vimeo":Se.embed.api("setVolume",Se.media.volume);break;case"soundcloud":Se.embed.setVolume(Se.media.volume)}h(Se.media,"volumechange")}Se.media.muted&&t>0&&ie()}function ue(){var t=Se.media.muted?0:10*Se.media.volume;Se.supported.full&&(Se.volume.input&&(Se.volume.input.value=t),Se.volume.display&&(Se.volume.display.value=t)),T.storage.enabled&&_().supported&&!isNaN(t)&&e.localStorage.setItem(T.storage.key,t),m(Se.container,T.classes.muted,0===t),Se.supported.full&&Se.buttons.mute&&k(Se.buttons.mute,0===t)}function ce(e){Se.supported.full&&Se.buttons.captions&&("boolean"!=typeof e&&(e=-1===Se.container.className.indexOf(T.classes.captions.active)),Se.captionsEnabled=e,k(Se.buttons.captions,Se.captionsEnabled),m(Se.container,T.classes.captions.active,Se.captionsEnabled),h(Se.container,Se.captionsEnabled?"captionsenabled":"captionsdisabled"))}function pe(e){var t="waiting"===e.type;clearTimeout(Se.timers.loading),Se.timers.loading=setTimeout(function(){m(Se.container,T.classes.loading,t)},t?250:0)}function de(e){if(Se.supported.full){var t=Se.progress.played,n=0,a=ae();if(e)switch(e.type){case"timeupdate":case"seeking":n=w(Se.media.currentTime,a),"timeupdate"==e.type&&Se.buttons.seek&&(Se.buttons.seek.value=n);break;case"playing":case"progress":t=Se.progress.buffer,n=function(){var e=Se.media.buffered;return e&&e.length?w(e.end(0),a):"number"==typeof e?100*e:0}()}Ae(t,n)}}function Ae(e,t){Se.supported.full&&("undefined"==typeof t&&(t=0),"undefined"==typeof progres&&(e=Se.progress.buffer),e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t)))}function me(e,t){if(t){isNaN(e)&&(e=0),Se.secs=parseInt(e%60),Se.mins=parseInt(e/60%60),Se.hours=parseInt(e/60/60%60);var n=parseInt(ae()/60/60%60)>0;Se.secs=("0"+Se.secs).slice(-2),Se.mins=("0"+Se.mins).slice(-2),t.innerHTML=(n?Se.hours+":":"")+Se.mins+":"+Se.secs}}function fe(){if(Se.supported.full){var e=ae()||0;!Se.duration&&T.displayDuration&&Se.media.paused&&me(e,Se.currentTime),Se.duration&&me(e,Se.duration),ve()}}function ye(e){me(Se.media.currentTime,Se.currentTime),e&&"timeupdate"==e.type&&Se.media.seeking||de(e)}function be(e){"number"!=typeof e&&(e=0);var t=ae(),n=w(e,t);Se.progress&&Se.progress.played&&(Se.progress.played.value=n),Se.buttons&&Se.buttons.seek&&(Se.buttons.seek.value=n)}function ve(e){var t=ae();if(T.tooltips.seek&&Se.progress.container&&0!==t){var n=Se.progress.container.getBoundingClientRect(),a=0,r=T.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!f(Se.progress.tooltip,r))return;a=Se.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),me(t/100*a,Se.progress.tooltip),Se.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Se.progress.tooltip,r,"mouseenter"===e.type)}}function ge(t){if(T.hideControls&&"audio"!==Se.type){var n=0,a=!1,r=t;"boolean"!=typeof t&&(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","mouseenter","focus"],t.type),"mousemove"===t.type&&(n=2e3),"focus"===t.type&&(n=3e3)):r=!1),e.clearTimeout(Se.timers.hover),(r||Se.media.paused)&&(m(Se.container,T.classes.hideControls,!1),Se.media.paused)||r&&Se.media.paused||(Se.timers.hover=e.setTimeout(function(){Se.controls.active&&!a||m(Se.container,T.classes.hideControls,!0)},n))}}function he(e){if("undefined"!=typeof e)return void ke(e);var t;switch(Se.type){case"youtube":t=Se.embed.getVideoUrl();break;case"vimeo":Se.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":Se.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Se.media.currentSrc}return t||""}function ke(n){if(!("undefined"!=typeof n&&"sources"in n&&n.sources.length))return void E("Invalid source format",!0);if(J(),be(),Ae(),_e(),"youtube"===Se.type?(Se.embed.destroy(),e.clearInterval(Se.timer.buffering),e.clearInterval(Se.timer.playing)):"video"===Se.type&&Se.videoContainer&&u(Se.videoContainer),Se.embed=null,u(Se.media),"type"in n&&(Se.type=n.type,"video"===Se.type)){var a=n.sources[0];"type"in a&&s(T.types.embed,a.type)&&(Se.type=a.type)}switch(Se.supported=F.supported(Se.type),Se.type){case"video":Se.media=t.createElement("video");break;case"audio":Se.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Se.media=t.createElement("div"),Se.embedId=n.sources[0].src}c(Se.container,Se.media),"undefined"!=typeof n.autoplay&&(T.autoplay=n.autoplay),s(T.types.html5,Se.type)&&(T.crossorigin&&Se.media.setAttribute("crossorigin",""),T.autoplay&&Se.media.setAttribute("autoplay",""),"poster"in n&&Se.media.setAttribute("poster",n.poster),T.loop&&Se.media.setAttribute("loop","")),Se.container.className=Se.originalClassName,m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),m(Se.container,T.classes.captions.active,Se.captionsEnabled),Y(),s(T.types.html5,Se.type)&&O("source",n.sources),Q(),s(T.types.html5,Se.type)&&("tracks"in n&&O("track",n.tracks),Se.media.load(),Fe(),fe()),T.title=n.title,z(),Se.container.plyr.media=Se.media}function we(e){"video"===Se.type&&Se.media.setAttribute("poster",e)}function Te(){function n(){var e=Se.media.paused;e?$():J();var t=Se.buttons[e?"play":"pause"],n=Se.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=f(t,T.classes.tabFocus);setTimeout(function(){n.focus(),a&&(m(t,T.classes.tabFocus,!1),m(n,T.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in Se.buttons){var a=Se.buttons[n];if(a instanceof NodeList)for(var r=0;r=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a)}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,"boolean"==typeof t[n]&&t[n]?"":t[n])}function d(e,n,a){var r=t.createElement(e);p(r,a),c(n,r)}function A(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function f(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function y(e,t,n,a){e&&g(e,t,n,!0,a)}function b(e,t,n,a){e&&g(e,t,n,!1,a)}function v(e,t,n,a,r){y(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function g(e,t,n,a,r){var s=t.split(" ");if("boolean"!=typeof r&&(r=!1),e instanceof NodeList)for(var o=0;oa;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},T(t[s],r[s])):t[s]=r[s]}return t}}function x(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)e.supportsFullScreen=!0;else for(var a=0,r=n.length;r>a;a++){if(e.prefix=n[a],"undefined"!=typeof t[e.prefix+"CancelFullScreen"]){e.supportsFullScreen=!0;break}if("undefined"!=typeof t.msExitFullscreen&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch("undefined"==typeof e&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return"undefined"==typeof e&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function _(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(g,T){function E(t,n){T.debug&&e.console&&console[n?"warn":"log"](t)}function S(){var e=[],t=T.iconUrl+"#"+T.iconPrefix;return s(T.controls,"play-large")&&e.push('"),e.push('
'),s(T.controls,"restart")&&e.push('"),s(T.controls,"rewind")&&e.push('"),s(T.controls,"play")&&e.push('",'"),s(T.controls,"fast-forward")&&e.push('"),s(T.controls,"progress")&&(e.push('','','','','',"0% "+T.i18n.buffered,""),T.tooltips.seek&&e.push('00:00'),e.push("")),s(T.controls,"current-time")&&e.push('',''+T.i18n.currentTime+"",'00:00',""),s(T.controls,"duration")&&e.push('',''+T.i18n.duration+"",'00:00',""),s(T.controls,"mute")&&e.push('"),s(T.controls,"volume")&&e.push('','",'','',""),s(T.controls,"captions")&&e.push('"),s(T.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function I(){if(Se.supported.full&&("audio"!=Se.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=C.supportsFullScreen;e||T.fullscreen.fallback&&!V()?(E((e?"Native":"Fallback")+" fullscreen enabled"),m(Se.container,T.classes.fullscreen.enabled,!0)):E("Fullscreen not supported and fallback disabled"),k(Se.buttons.fullscreen,!1),H()}}function N(){if("video"===Se.type){L(T.selectors.captions)||Se.videoContainer.insertAdjacentHTML("afterbegin",'
'),Se.usingTextTracks=!1,Se.media.textTracks&&(Se.usingTextTracks=!0);for(var e,t="",n=Se.media.childNodes,a=0;a=10||"Firefox"===Se.browser.name&&Se.browser.version>=31)&&(E("Detected browser with known TextTrack issues - using manual fallback"),Se.usingTextTracks=!1),Se.usingTextTracks){E("TextTracks supported");for(var o=0;o ");for(var a=0;aSe.captions.length-1){Se.subcount=Se.captions.length-1;break}Se.media.currentTime.toFixed(1)>=n(Se.captions[Se.subcount][0])&&Se.media.currentTime.toFixed(1)<=a(Se.captions[Se.subcount][0])?(Se.currentCaption=Se.captions[Se.subcount][1],P(Se.currentCaption)):P()}}function R(){Se.buttons.captions&&(m(Se.container,T.classes.captions.enabled,!0),T.captions.defaultActive&&(m(Se.container,T.classes.captions.active,!0),k(Se.buttons.captions,!0)))}function B(e){return Se.container.querySelectorAll(e)}function L(e){return B(e)[0]}function V(){try{return e.self!==e.top}catch(t){return!0}}function H(){function e(e){9===e.which&&Se.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];y(Se.container,"keydown",e)}function O(e,t){if("string"==typeof t)d(e,Se.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Se.media,t[n])}function W(){var e=T.html;E("Injecting custom controls"),e||(e=S()),e=o(e,"{seektime}",T.seekTime),e=o(e,"{id}",Math.floor(1e4*Math.random()));var n;if(null!==T.selectors.controls.container&&(n=T.selectors.controls.container,"string"==typeof selector&&(n=t.querySelector(n))),n instanceof HTMLElement||(n=Se.container),n.insertAdjacentHTML("beforeend",e),T.tooltips.controls)for(var a=B([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),r=a.length-1;r>=0;r--){var s=a[r];m(s,T.classes.hidden,!1),m(s,T.classes.tooltip,!0)}}function G(){try{return Se.controls=L(T.selectors.controls.wrapper),Se.buttons={},Se.buttons.seek=L(T.selectors.buttons.seek),Se.buttons.play=B(T.selectors.buttons.play),Se.buttons.pause=L(T.selectors.buttons.pause),Se.buttons.restart=L(T.selectors.buttons.restart),Se.buttons.rewind=L(T.selectors.buttons.rewind),Se.buttons.forward=L(T.selectors.buttons.forward),Se.buttons.fullscreen=L(T.selectors.buttons.fullscreen),Se.buttons.mute=L(T.selectors.buttons.mute),Se.buttons.captions=L(T.selectors.buttons.captions),Se.progress={},Se.progress.container=L(T.selectors.progress.container),Se.progress.buffer={},Se.progress.buffer.bar=L(T.selectors.progress.buffer),Se.progress.buffer.text=Se.progress.buffer.bar&&Se.progress.buffer.bar.getElementsByTagName("span")[0],Se.progress.played=L(T.selectors.progress.played),Se.progress.tooltip=Se.progress.container&&Se.progress.container.querySelector("."+T.classes.tooltip),Se.volume={},Se.volume.input=L(T.selectors.volume.input),Se.volume.display=L(T.selectors.volume.display),Se.duration=L(T.selectors.duration),Se.currentTime=L(T.selectors.currentTime),Se.seekTime=B(T.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls html",!0),q(!0),!1}}function Y(){m(Se.container,T.selectors.container.replace(".",""),Se.supported.full)}function q(e){e?Se.media.setAttribute("controls",""):Se.media.removeAttribute("controls")}function z(e){var t=T.i18n.play;if("undefined"!=typeof T.title&&T.title.length&&(t+=", "+T.title),Se.supported.full&&Se.buttons.play)for(var n=Se.buttons.play.length-1;n>=0;n--)Se.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function Q(){if(!Se.media)return E("No audio or video element found",!0),!1;if(Se.supported.full&&(m(Se.container,T.classes.type.replace("{0}",Se.type),!0),s(T.types.embed,Se.type)&&m(Se.container,T.classes.type.replace("{0}","video"),!0),m(Se.container,T.classes.stopped,T.autoplay),m(Se.container,T.classes.isIos,Se.browser.ios),m(Se.container,T.classes.isTouch,Se.browser.touch),"video"===Se.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),i(Se.media,e),Se.videoContainer=e}s(T.types.embed,Se.type)&&(j(),Se.embedId=null)}function j(){for(var n=t.createElement("div"),a=Se.embedId,s=Se.type+"-"+Math.floor(1e4*Math.random()),o=B('[id^="'+Se.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(m(Se.media,T.classes.videoWrapper,!0),m(Se.media,T.classes.embedWrapper,!0),"youtube"===Se.type)Se.media.appendChild(n),n.setAttribute("id",s),"object"==typeof YT?U(a,n):(r(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){U(a,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Se.type){var l=t.createElement("iframe");l.loaded=!1,y(l,"load",function(){l.loaded=!0}),p(l,{src:"https://player.vimeo.com/video/"+a+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",frameborder:0}),Se.supported.full?(n.appendChild(l),Se.media.appendChild(n)):Se.media.appendChild(l),"$f"in e||r(T.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),X.call(l))},50)}else if("soundcloud"===Se.type){var d=t.createElement("iframe");d.loaded=!1,y(d,"load",function(){d.loaded=!0}),p(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+a,id:s}),n.appendChild(d),Se.media.appendChild(n),e.SC||r(T.urls.soundcloud.api);var A=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(A),Z.call(d))},50)}}function D(){Se.container.plyr.embed=Se.embed,Fe(),z(L("iframe"))}function U(t,n){"timer"in Se||(Se.timer={}),Se.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Se.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){h(Se.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Se.media.play=function(){n.playVideo(),Se.media.paused=!1},Se.media.pause=function(){n.pauseVideo(),Se.media.paused=!0},Se.media.stop=function(){n.stopVideo(),Se.media.paused=!0},Se.media.duration=n.getDuration(),Se.media.paused=!0,Se.media.currentTime=n.getCurrentTime(),Se.media.muted=n.isMuted(),T.title=n.getVideoData().title,h(Se.media,"timeupdate"),e.clearInterval(Se.timer.buffering),Se.timer.buffering=e.setInterval(function(){Se.media.buffered=n.getVideoLoadedFraction(),h(Se.media,"progress"),1===Se.media.buffered&&(e.clearInterval(Se.timer.buffering),h(Se.media,"canplaythrough"))},200),D(),fe()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Se.timer.playing),t.data){case 0:Se.media.paused=!0,h(Se.media,"ended");break;case 1:Se.media.paused=!1,Se.media.seeking=!1,h(Se.media,"play"),h(Se.media,"playing"),Se.timer.playing=e.setInterval(function(){Se.media.currentTime=n.getCurrentTime(),h(Se.media,"timeupdate")},100);break;case 2:Se.media.paused=!0,h(Se.media,"pause")}}}})}function X(){Se.embed=$f(this),Se.embed.addEvent("ready",function(){Se.media.play=function(){Se.embed.api("play"),Se.media.paused=!1},Se.media.pause=function(){Se.embed.api("pause"),Se.media.paused=!0},Se.media.stop=function(){Se.embed.api("stop"),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.api("getCurrentTime",function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.api("getDuration",function(e){Se.media.duration=e,fe()}),Se.embed.addEvent("play",function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.addEvent("pause",function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.addEvent("playProgress",function(e){Se.media.seeking=!1,Se.media.currentTime=e.seconds,h(Se.media,"timeupdate")}),Se.embed.addEvent("loadProgress",function(e){Se.media.buffered=e.percent,h(Se.media,"progress"),1===parseInt(e.percent)&&h(Se.media,"canplaythrough")}),Se.embed.addEvent("finish",function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.api("play")})}function Z(){Se.embed=e.SC.Widget(this),Se.embed.bind(e.SC.Widget.Events.READY,function(){Se.media.play=function(){Se.embed.play(),Se.media.paused=!1},Se.media.pause=function(){Se.embed.pause(),Se.media.paused=!0},Se.media.stop=function(){Se.embed.seekTo(0),Se.embed.pause(),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.getPosition(function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.getDuration(function(e){Se.media.duration=e/1e3,fe()}),Se.embed.bind(e.SC.Widget.Events.PLAY,function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.bind(e.SC.Widget.Events.PAUSE,function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Se.media.seeking=!1,Se.media.currentTime=e.currentPosition/1e3,h(Se.media,"timeupdate")}),Se.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Se.media.buffered=e.loadProgress,h(Se.media,"progress"),1===parseInt(e.loadProgress)&&h(Se.media,"canplaythrough")}),Se.embed.bind(e.SC.Widget.Events.FINISH,function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.play()})}function $(){"play"in Se.media&&Se.media.play()}function J(){"pause"in Se.media&&Se.media.pause()}function K(e){e===!0?$():e===!1?J():Se.media[Se.media.paused?"play":"pause"]()}function ee(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime-e)}function te(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime+e)}function ne(e){var t=0,n=Se.media.paused,a=ae();"number"==typeof e?t=e:"object"!=typeof e||"input"!==e.type&&"change"!==e.type||(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),be(t);try{Se.media.currentTime=t.toFixed(1)}catch(r){}if(s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.seekTo(t);break;case"vimeo":Se.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":Se.embed.seekTo(1e3*t)}n&&J(),h(Se.media,"timeupdate"),Se.media.seeking=!0}E("Seeking to "+Se.media.currentTime+" seconds"),M(t)}function ae(){var e=parseInt(T.duration),t=0;return null===Se.media.duration||isNaN(Se.media.duration)||(t=Se.media.duration),isNaN(e)?t:e}function re(){m(Se.container,T.classes.playing,!Se.media.paused),m(Se.container,T.classes.stopped,Se.media.paused),ge(Se.media.paused)}function se(e){var n=C.supportsFullScreen;e&&e.type===C.fullScreenEventName?Se.isFullscreen=C.isFullScreen(Se.container):n?(C.isFullScreen(Se.container)?C.cancelFullScreen():C.requestFullScreen(Se.container),Se.isFullscreen=C.isFullScreen(Se.container)):(Se.isFullscreen=!Se.isFullscreen,Se.isFullscreen?(y(t,"keyup",oe),t.body.style.overflow="hidden"):(b(t,"keyup",oe),t.body.style.overflow="")),m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),Se.isFullscreen?Se.container.setAttribute("tabindex","-1"):Se.container.removeAttribute("tabindex"),H(Se.isFullscreen),k(Se.buttons.fullscreen,Se.isFullscreen),h(Se.container,Se.isFullscreen?"enterfullscreen":"exitfullscreen")}function oe(e){27===(e.which||e.charCode||e.keyCode)&&Se.isFullscreen&&se()}function ie(e){if("boolean"!=typeof e&&(e=!Se.media.muted),k(Se.buttons.mute,e),Se.media.muted=e,0===Se.media.volume&&le(T.volume),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed[Se.media.muted?"mute":"unMute"]();break;case"vimeo":Se.embed.api("setVolume",Se.media.muted?0:parseFloat(T.volume/10));break;case"soundcloud":Se.embed.setVolume(Se.media.muted?0:parseFloat(T.volume/10))}h(Se.media,"volumechange")}}function le(t){if("undefined"==typeof t&&(t=T.volume,T.storage.enabled&&_().supported&&(t=e.localStorage.getItem(T.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=T.volume),t>10&&(t=10),0>t&&(t=0),Se.media.volume=parseFloat(t/10),Se.volume.display&&(Se.volume.display.value=t),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.setVolume(100*Se.media.volume);break;case"vimeo":Se.embed.api("setVolume",Se.media.volume);break;case"soundcloud":Se.embed.setVolume(Se.media.volume)}h(Se.media,"volumechange")}Se.media.muted&&t>0&&ie()}function ue(){var t=Se.media.muted?0:10*Se.media.volume;Se.supported.full&&(Se.volume.input&&(Se.volume.input.value=t),Se.volume.display&&(Se.volume.display.value=t)),T.storage.enabled&&_().supported&&!isNaN(t)&&e.localStorage.setItem(T.storage.key,t),m(Se.container,T.classes.muted,0===t),Se.supported.full&&Se.buttons.mute&&k(Se.buttons.mute,0===t)}function ce(e){Se.supported.full&&Se.buttons.captions&&("boolean"!=typeof e&&(e=-1===Se.container.className.indexOf(T.classes.captions.active)),Se.captionsEnabled=e,k(Se.buttons.captions,Se.captionsEnabled),m(Se.container,T.classes.captions.active,Se.captionsEnabled),h(Se.container,Se.captionsEnabled?"captionsenabled":"captionsdisabled"))}function pe(e){var t="waiting"===e.type;clearTimeout(Se.timers.loading),Se.timers.loading=setTimeout(function(){m(Se.container,T.classes.loading,t)},t?250:0)}function de(e){if(Se.supported.full){var t=Se.progress.played,n=0,a=ae();if(e)switch(e.type){case"timeupdate":case"seeking":n=w(Se.media.currentTime,a),"timeupdate"==e.type&&Se.buttons.seek&&(Se.buttons.seek.value=n);break;case"playing":case"progress":t=Se.progress.buffer,n=function(){var e=Se.media.buffered;return e&&e.length?w(e.end(0),a):"number"==typeof e?100*e:0}()}Ae(t,n)}}function Ae(e,t){Se.supported.full&&("undefined"==typeof t&&(t=0),"undefined"==typeof e&&(e=Se.progress.buffer),e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t)))}function me(e,t){if(t){isNaN(e)&&(e=0),Se.secs=parseInt(e%60),Se.mins=parseInt(e/60%60),Se.hours=parseInt(e/60/60%60);var n=parseInt(ae()/60/60%60)>0;Se.secs=("0"+Se.secs).slice(-2),Se.mins=("0"+Se.mins).slice(-2),t.innerHTML=(n?Se.hours+":":"")+Se.mins+":"+Se.secs}}function fe(){if(Se.supported.full){var e=ae()||0;!Se.duration&&T.displayDuration&&Se.media.paused&&me(e,Se.currentTime),Se.duration&&me(e,Se.duration),ve()}}function ye(e){me(Se.media.currentTime,Se.currentTime),e&&"timeupdate"==e.type&&Se.media.seeking||de(e)}function be(e){"number"!=typeof e&&(e=0);var t=ae(),n=w(e,t);Se.progress&&Se.progress.played&&(Se.progress.played.value=n),Se.buttons&&Se.buttons.seek&&(Se.buttons.seek.value=n)}function ve(e){var t=ae();if(T.tooltips.seek&&Se.progress.container&&0!==t){var n=Se.progress.container.getBoundingClientRect(),a=0,r=T.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!f(Se.progress.tooltip,r))return;a=Se.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),me(t/100*a,Se.progress.tooltip),Se.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Se.progress.tooltip,r,"mouseenter"===e.type)}}function ge(t){if(T.hideControls&&"audio"!==Se.type){var n=0,a=!1,r=t;"boolean"!=typeof t&&(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","mouseenter","focus"],t.type),"mousemove"===t.type&&(n=2e3),"focus"===t.type&&(n=3e3)):r=!1),e.clearTimeout(Se.timers.hover),(r||Se.media.paused)&&(m(Se.container,T.classes.hideControls,!1),Se.media.paused)||r&&Se.media.paused||(Se.timers.hover=e.setTimeout(function(){Se.controls.active&&!a||m(Se.container,T.classes.hideControls,!0)},n))}}function he(e){if("undefined"!=typeof e)return void ke(e);var t;switch(Se.type){case"youtube":t=Se.embed.getVideoUrl();break;case"vimeo":Se.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":Se.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Se.media.currentSrc}return t||""}function ke(n){if(!("undefined"!=typeof n&&"sources"in n&&n.sources.length))return void E("Invalid source format",!0);if(J(),be(),Ae(),_e(),"youtube"===Se.type?(Se.embed.destroy(),e.clearInterval(Se.timer.buffering),e.clearInterval(Se.timer.playing)):"video"===Se.type&&Se.videoContainer&&u(Se.videoContainer),Se.embed=null,u(Se.media),"type"in n&&(Se.type=n.type,"video"===Se.type)){var a=n.sources[0];"type"in a&&s(T.types.embed,a.type)&&(Se.type=a.type)}switch(Se.supported=F.supported(Se.type),Se.type){case"video":Se.media=t.createElement("video");break;case"audio":Se.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Se.media=t.createElement("div"),Se.embedId=n.sources[0].src}c(Se.container,Se.media),"undefined"!=typeof n.autoplay&&(T.autoplay=n.autoplay),s(T.types.html5,Se.type)&&(T.crossorigin&&Se.media.setAttribute("crossorigin",""),T.autoplay&&Se.media.setAttribute("autoplay",""),"poster"in n&&Se.media.setAttribute("poster",n.poster),T.loop&&Se.media.setAttribute("loop","")),Se.container.className=Se.originalClassName,m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),m(Se.container,T.classes.captions.active,Se.captionsEnabled),Y(),s(T.types.html5,Se.type)&&O("source",n.sources),Q(),s(T.types.html5,Se.type)&&("tracks"in n&&O("track",n.tracks),Se.media.load(),Fe(),fe()),T.title=n.title,z(),Se.container.plyr.media=Se.media}function we(e){"video"===Se.type&&Se.media.setAttribute("poster",e)}function Te(){function n(){var e=Se.media.paused;e?$():J();var t=Se.buttons[e?"play":"pause"],n=Se.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=f(t,T.classes.tabFocus);setTimeout(function(){n.focus(),a&&(m(t,T.classes.tabFocus,!1),m(n,T.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in Se.buttons){var a=Se.buttons[n];if(a instanceof NodeList)for(var r=0;r \ No newline at end of file + \ No newline at end of file diff --git a/package.json b/package.json index 49b71002..13c1a6f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plyr", - "version": "1.6.7", + "version": "1.6.8", "description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player", "homepage": "http://plyr.io", "main": "src/js/plyr.js", diff --git a/readme.md b/readme.md index aa5c2447..e9be76dd 100644 --- a/readme.md +++ b/readme.md @@ -40,7 +40,7 @@ If you have any cool ideas or features, please let me know by [creating an issue ## Implementation 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.6.7/plyr.js` to `https://cdn.plyr.io/1.6.7/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.6.8/plyr.js` to `https://cdn.plyr.io/1.6.8/plyr.js` ### Node Package Manager (NPM) @@ -71,11 +71,11 @@ More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub] If you want to use our CDN, you can use the following: ```html - - + + ``` -You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.7/sprite.svg`. +You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.8/sprite.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.7/sprite.svg'); +})(document, 'https://cdn.plyr.io/1.6.8/sprite.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` diff --git a/src/js/plyr.js b/src/js/plyr.js index d33726dc..110dafbc 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.7 +// plyr.js v1.6.8 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== @@ -2222,7 +2222,7 @@ value = 0; } // Default to buffer - if (typeof progres === 'undefined') { + if (typeof progress === 'undefined') { progress = plyr.progress.buffer; } diff --git a/src/sprite/icon-enter-fullscreen.svg b/src/sprite/icon-enter-fullscreen.svg index 2bc7036c..4c4aba9b 100644 --- a/src/sprite/icon-enter-fullscreen.svg +++ b/src/sprite/icon-enter-fullscreen.svg @@ -1,9 +1,7 @@ - - - - - + + + \ No newline at end of file diff --git a/src/sprite/icon-exit-fullscreen.svg b/src/sprite/icon-exit-fullscreen.svg index d02726ab..bd08d775 100644 --- a/src/sprite/icon-exit-fullscreen.svg +++ b/src/sprite/icon-exit-fullscreen.svg @@ -1,7 +1,7 @@ - - + + \ No newline at end of file From 21c22763595c9deb4e6dea2a25778defdfca8c85 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sun, 15 May 2016 18:57:21 +1000 Subject: [PATCH 05/12] Build changes, sprite.svg => plyr.svg --- changelog.md | 4 ++ dist/{sprite.svg => plyr.svg} | 0 docs/index.html | 2 +- gulpfile.js | 92 +++++++++++++++++++++++++++-------- package.json | 10 ++-- readme.md | 14 +++--- src/js/plyr.js | 2 +- 7 files changed, 89 insertions(+), 35 deletions(-) rename dist/{sprite.svg => plyr.svg} (100%) diff --git a/changelog.md b/changelog.md index f6e019ee..4e46f8e8 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +## v1.6.9 +- Added 'latest' CDN option +- Renamed `sprite.svg` to `plyr.svg` to be inline with the other package files + ## v1.6.8 - Fix for bug introduced in v1.6.7 diff --git a/dist/sprite.svg b/dist/plyr.svg similarity index 100% rename from dist/sprite.svg rename to dist/plyr.svg diff --git a/docs/index.html b/docs/index.html index 801a63fa..24e0a4cc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -79,7 +79,7 @@ + + ``` -You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.6.8/sprite.svg`. +The SVG sprite/defs file can be found here: `https://cdn.plyr.io/1.6.9/plyr.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -94,7 +94,7 @@ The SVG sprite for the controls icons can be loaded two ways: #### Using the `iconUrl` option This method requires the SVG sprite to be hosted on the *same domain* as your page hosting the player. Currently no browser supports cross origin SVG sprites due to XSS issues. Fingers crossed this will come soon though. An example value for this option would be: ``` -/path/to/sprite.svg +/path/to/plyr.svg ``` #### Using AJAX @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.8/sprite.svg'); +})(document, 'https://cdn.plyr.io/1.6.9/plyr.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` diff --git a/src/js/plyr.js b/src/js/plyr.js index 110dafbc..90fc8888 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.8 +// plyr.js v1.6.9 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== From c86b824a04df35b73c4ee418dca1b73f775e1965 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sun, 15 May 2016 18:59:13 +1000 Subject: [PATCH 06/12] Comment --- gulpfile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/gulpfile.js b/gulpfile.js index 228f2345..2138af7a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -234,6 +234,7 @@ options = { symlinks: function(version, filename) { return { headers: { + // http://stackoverflow.com/questions/2272835/amazon-s3-object-redirect "X-Amz-Website-Redirect-Location": "/" + version + "/" + filename, "Cache-Control": "no-cache, no-store, must-revalidate, max-age=0" } From 5a433f2fc8824046f9937fdc6e63db5e7b0ef87d Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 15 May 2016 19:52:55 +1000 Subject: [PATCH 07/12] Remove unused styles --- dist/plyr.css | 2 +- src/less/plyr.less | 1 - src/less/variables.less | 6 ++---- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/dist/plyr.css b/dist/plyr.css index f6306704..ba710f1a 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-60px);transform:translateY(-60px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:20px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-20px);transform:translateY(-20px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;vertical-align:middle;padding:5px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}.plyr__controls button{padding:5px 10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}@media (min-width:480px){.plyr--video .plyr__controls{padding-left:15px;padding-right:15px}}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr__progress{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:#000;box-shadow:0 0 5px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.1);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid #000;border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr .plyr__volume{display:none;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file +.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-60px);transform:translateY(-60px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:20px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.85)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-20px);transform:translateY(-20px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;vertical-align:middle;padding:5px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}.plyr__controls button{padding:5px 10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}@media (min-width:480px){.plyr--video .plyr__controls{padding-left:15px;padding-right:15px}}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr__progress{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.6);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.6);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr .plyr__volume{display:none;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file diff --git a/src/less/plyr.less b/src/less/plyr.less index 1b5c7eb2..1c04d589 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -446,7 +446,6 @@ opacity: 0; background: @plyr-tooltip-bg; - box-shadow: @plyr-tooltip-shadow; border-radius: @plyr-tooltip-radius; color: @plyr-tooltip-color; diff --git a/src/less/variables.less b/src/less/variables.less index fa0f83e9..5cca0c13 100644 --- a/src/less/variables.less +++ b/src/less/variables.less @@ -34,12 +34,10 @@ @plyr-audio-control-bg-hover: @plyr-color-main; // Tooltips -@plyr-tooltip-bg: @plyr-video-controls-bg; +@plyr-tooltip-bg: fade(#000, 60%); @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-color: #fff; @plyr-tooltip-padding: (@plyr-control-spacing / 2); @plyr-tooltip-arrow-size: 4px; @plyr-tooltip-radius: 3px; From a989e87a2dd84221aa8cae8e033acdc0bf5b4922 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Mon, 16 May 2016 12:15:09 +1000 Subject: [PATCH 08/12] Changed icon prefix default to avoid clashes --- changelog.md | 3 +++ controls.md | 22 +++++++++---------- dist/plyr.js | 2 +- dist/plyr.svg | 2 +- gulpfile.js | 10 ++++----- package.json | 2 +- readme.md | 17 +++++++------- src/js/plyr.js | 4 ++-- ...captions-off.svg => plyr-captions-off.svg} | 0 ...n-captions-on.svg => plyr-captions-on.svg} | 0 ...llscreen.svg => plyr-enter-fullscreen.svg} | 0 ...ullscreen.svg => plyr-exit-fullscreen.svg} | 0 ...fast-forward.svg => plyr-fast-forward.svg} | 0 src/sprite/{icon-muted.svg => plyr-muted.svg} | 0 src/sprite/{icon-pause.svg => plyr-pause.svg} | 0 src/sprite/{icon-play.svg => plyr-play.svg} | 0 .../{icon-restart.svg => plyr-restart.svg} | 0 .../{icon-rewind.svg => plyr-rewind.svg} | 0 .../{icon-volume.svg => plyr-volume.svg} | 0 19 files changed, 33 insertions(+), 29 deletions(-) rename src/sprite/{icon-captions-off.svg => plyr-captions-off.svg} (100%) rename src/sprite/{icon-captions-on.svg => plyr-captions-on.svg} (100%) rename src/sprite/{icon-enter-fullscreen.svg => plyr-enter-fullscreen.svg} (100%) rename src/sprite/{icon-exit-fullscreen.svg => plyr-exit-fullscreen.svg} (100%) rename src/sprite/{icon-fast-forward.svg => plyr-fast-forward.svg} (100%) rename src/sprite/{icon-muted.svg => plyr-muted.svg} (100%) rename src/sprite/{icon-pause.svg => plyr-pause.svg} (100%) rename src/sprite/{icon-play.svg => plyr-play.svg} (100%) rename src/sprite/{icon-restart.svg => plyr-restart.svg} (100%) rename src/sprite/{icon-rewind.svg => plyr-rewind.svg} (100%) rename src/sprite/{icon-volume.svg => plyr-volume.svg} (100%) diff --git a/changelog.md b/changelog.md index 4e46f8e8..49b223f2 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # Changelog +## v1.6.10 +- Changed default icon prefix from 'icon' to 'plyr' to avoid clashes + ## v1.6.9 - Added 'latest' CDN option - Renamed `sprite.svg` to `plyr.svg` to be inline with the other package files diff --git a/controls.md b/controls.md index a74bdcf8..36267156 100644 --- a/controls.md +++ b/controls.md @@ -47,23 +47,23 @@ This is an example `html` option with all controls. ```javascript var controls = ["
", "", "", "", "", "", "", @@ -84,8 +84,8 @@ var controls = ["
", "00:00", "", "", "", @@ -94,13 +94,13 @@ var controls = ["
", "", "", "", "", "
"].join(""); diff --git a/dist/plyr.js b/dist/plyr.js index a9389696..5b5ece34 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -1,2 +1,2 @@ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=t(e,document):"function"==typeof define&&define.amd?define(null,function(){t(e,document)}):e.plyr=t(e,document)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,a,r=navigator.userAgent,s=navigator.appName,o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10);return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(s="IE",o="11;"):-1!==(n=r.indexOf("MSIE"))?(s="IE",o=r.substring(n+5)):-1!==(n=r.indexOf("Chrome"))?(s="Chrome",o=r.substring(n+7)):-1!==(n=r.indexOf("Safari"))?(s="Safari",o=r.substring(n+7),-1!==(n=r.indexOf("Version"))&&(o=r.substring(n+8))):-1!==(n=r.indexOf("Firefox"))?(s="Firefox",o=r.substring(n+8)):(e=r.lastIndexOf(" ")+1)<(n=r.lastIndexOf("/"))&&(s=r.substring(e,n),o=r.substring(n+1),s.toLowerCase()==s.toUpperCase()&&(s=navigator.appName)),-1!==(a=o.indexOf(";"))&&(o=o.substring(0,a)),-1!==(a=o.indexOf(" "))&&(o=o.substring(0,a)),i=parseInt(""+o,10),isNaN(i)&&(o=""+parseFloat(navigator.appVersion),i=parseInt(navigator.appVersion,10)),{name:s,version:i,ios:/(iPad|iPhone|iPod)/g.test(navigator.platform),touch:"ontouchstart"in t.documentElement}}function a(e,t){var n=e.media;if("video"==e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"==e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function r(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var a=t.getElementsByTagName("script")[0];a.parentNode.insertBefore(n,a)}}function s(e,t){return Array.prototype.indexOf&&-1!=e.indexOf(t)}function o(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function i(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a)}}function l(e){for(var t=e.parentNode;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}function u(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function p(e,t){for(var n in t)e.setAttribute(n,"boolean"==typeof t[n]&&t[n]?"":t[n])}function d(e,n,a){var r=t.createElement(e);p(r,a),c(n,r)}function A(e){return e.replace(".","")}function m(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var a=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=a+(n?" "+t:"")}}function f(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function y(e,t,n,a){e&&g(e,t,n,!0,a)}function b(e,t,n,a){e&&g(e,t,n,!1,a)}function v(e,t,n,a,r){y(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function g(e,t,n,a,r){var s=t.split(" ");if("boolean"!=typeof r&&(r=!1),e instanceof NodeList)for(var o=0;oa;a++){var r=e[a];for(var s in r)r[s]&&r[s].constructor&&r[s].constructor===Object?(t[s]=t[s]||{},T(t[s],r[s])):t[s]=r[s]}return t}}function x(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)e.supportsFullScreen=!0;else for(var a=0,r=n.length;r>a;a++){if(e.prefix=n[a],"undefined"!=typeof t[e.prefix+"CancelFullScreen"]){e.supportsFullScreen=!0;break}if("undefined"!=typeof t.msExitFullscreen&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}return e.supportsFullScreen&&(e.fullScreenEventName="ms"==e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch("undefined"==typeof e&&(e=t.body),this.prefix){case"":return t.fullscreenElement==e;case"moz":return t.mozFullScreenElement==e;default:return t[this.prefix+"FullscreenElement"]==e}},e.requestFullScreen=function(e){return"undefined"==typeof e&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"==this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"==this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function _(){var t={supported:function(){if(!("localStorage"in e))return!1;try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(n){return!1}return!1}()};return t}function E(g,T){function E(t,n){T.debug&&e.console&&console[n?"warn":"log"](t)}function S(){var e=[],t=T.iconUrl+"#"+T.iconPrefix;return s(T.controls,"play-large")&&e.push('"),e.push('
'),s(T.controls,"restart")&&e.push('"),s(T.controls,"rewind")&&e.push('"),s(T.controls,"play")&&e.push('",'"),s(T.controls,"fast-forward")&&e.push('"),s(T.controls,"progress")&&(e.push('','','','','',"0% "+T.i18n.buffered,""),T.tooltips.seek&&e.push('00:00'),e.push("")),s(T.controls,"current-time")&&e.push('',''+T.i18n.currentTime+"",'00:00',""),s(T.controls,"duration")&&e.push('',''+T.i18n.duration+"",'00:00',""),s(T.controls,"mute")&&e.push('"),s(T.controls,"volume")&&e.push('','",'','',""),s(T.controls,"captions")&&e.push('"),s(T.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function I(){if(Se.supported.full&&("audio"!=Se.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=C.supportsFullScreen;e||T.fullscreen.fallback&&!V()?(E((e?"Native":"Fallback")+" fullscreen enabled"),m(Se.container,T.classes.fullscreen.enabled,!0)):E("Fullscreen not supported and fallback disabled"),k(Se.buttons.fullscreen,!1),H()}}function N(){if("video"===Se.type){L(T.selectors.captions)||Se.videoContainer.insertAdjacentHTML("afterbegin",'
'),Se.usingTextTracks=!1,Se.media.textTracks&&(Se.usingTextTracks=!0);for(var e,t="",n=Se.media.childNodes,a=0;a=10||"Firefox"===Se.browser.name&&Se.browser.version>=31)&&(E("Detected browser with known TextTrack issues - using manual fallback"),Se.usingTextTracks=!1),Se.usingTextTracks){E("TextTracks supported");for(var o=0;o ");for(var a=0;aSe.captions.length-1){Se.subcount=Se.captions.length-1;break}Se.media.currentTime.toFixed(1)>=n(Se.captions[Se.subcount][0])&&Se.media.currentTime.toFixed(1)<=a(Se.captions[Se.subcount][0])?(Se.currentCaption=Se.captions[Se.subcount][1],P(Se.currentCaption)):P()}}function R(){Se.buttons.captions&&(m(Se.container,T.classes.captions.enabled,!0),T.captions.defaultActive&&(m(Se.container,T.classes.captions.active,!0),k(Se.buttons.captions,!0)))}function B(e){return Se.container.querySelectorAll(e)}function L(e){return B(e)[0]}function V(){try{return e.self!==e.top}catch(t){return!0}}function H(){function e(e){9===e.which&&Se.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=B("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];y(Se.container,"keydown",e)}function O(e,t){if("string"==typeof t)d(e,Se.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Se.media,t[n])}function W(){var e=T.html;E("Injecting custom controls"),e||(e=S()),e=o(e,"{seektime}",T.seekTime),e=o(e,"{id}",Math.floor(1e4*Math.random()));var n;if(null!==T.selectors.controls.container&&(n=T.selectors.controls.container,"string"==typeof selector&&(n=t.querySelector(n))),n instanceof HTMLElement||(n=Se.container),n.insertAdjacentHTML("beforeend",e),T.tooltips.controls)for(var a=B([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),r=a.length-1;r>=0;r--){var s=a[r];m(s,T.classes.hidden,!1),m(s,T.classes.tooltip,!0)}}function G(){try{return Se.controls=L(T.selectors.controls.wrapper),Se.buttons={},Se.buttons.seek=L(T.selectors.buttons.seek),Se.buttons.play=B(T.selectors.buttons.play),Se.buttons.pause=L(T.selectors.buttons.pause),Se.buttons.restart=L(T.selectors.buttons.restart),Se.buttons.rewind=L(T.selectors.buttons.rewind),Se.buttons.forward=L(T.selectors.buttons.forward),Se.buttons.fullscreen=L(T.selectors.buttons.fullscreen),Se.buttons.mute=L(T.selectors.buttons.mute),Se.buttons.captions=L(T.selectors.buttons.captions),Se.progress={},Se.progress.container=L(T.selectors.progress.container),Se.progress.buffer={},Se.progress.buffer.bar=L(T.selectors.progress.buffer),Se.progress.buffer.text=Se.progress.buffer.bar&&Se.progress.buffer.bar.getElementsByTagName("span")[0],Se.progress.played=L(T.selectors.progress.played),Se.progress.tooltip=Se.progress.container&&Se.progress.container.querySelector("."+T.classes.tooltip),Se.volume={},Se.volume.input=L(T.selectors.volume.input),Se.volume.display=L(T.selectors.volume.display),Se.duration=L(T.selectors.duration),Se.currentTime=L(T.selectors.currentTime),Se.seekTime=B(T.selectors.seekTime),!0}catch(e){return E("It looks like there is a problem with your controls html",!0),q(!0),!1}}function Y(){m(Se.container,T.selectors.container.replace(".",""),Se.supported.full)}function q(e){e?Se.media.setAttribute("controls",""):Se.media.removeAttribute("controls")}function z(e){var t=T.i18n.play;if("undefined"!=typeof T.title&&T.title.length&&(t+=", "+T.title),Se.supported.full&&Se.buttons.play)for(var n=Se.buttons.play.length-1;n>=0;n--)Se.buttons.play[n].setAttribute("aria-label",t);e instanceof HTMLElement&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function Q(){if(!Se.media)return E("No audio or video element found",!0),!1;if(Se.supported.full&&(m(Se.container,T.classes.type.replace("{0}",Se.type),!0),s(T.types.embed,Se.type)&&m(Se.container,T.classes.type.replace("{0}","video"),!0),m(Se.container,T.classes.stopped,T.autoplay),m(Se.container,T.classes.isIos,Se.browser.ios),m(Se.container,T.classes.isTouch,Se.browser.touch),"video"===Se.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),i(Se.media,e),Se.videoContainer=e}s(T.types.embed,Se.type)&&(j(),Se.embedId=null)}function j(){for(var n=t.createElement("div"),a=Se.embedId,s=Se.type+"-"+Math.floor(1e4*Math.random()),o=B('[id^="'+Se.type+'-"]'),i=o.length-1;i>=0;i--)u(o[i]);if(m(Se.media,T.classes.videoWrapper,!0),m(Se.media,T.classes.embedWrapper,!0),"youtube"===Se.type)Se.media.appendChild(n),n.setAttribute("id",s),"object"==typeof YT?U(a,n):(r(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){U(a,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Se.type){var l=t.createElement("iframe");l.loaded=!1,y(l,"load",function(){l.loaded=!0}),p(l,{src:"https://player.vimeo.com/video/"+a+"?player_id="+s+"&api=1&badge=0&byline=0&portrait=0&title=0",id:s,webkitallowfullscreen:"",mozallowfullscreen:"",allowfullscreen:"",frameborder:0}),Se.supported.full?(n.appendChild(l),Se.media.appendChild(n)):Se.media.appendChild(l),"$f"in e||r(T.urls.vimeo.api);var c=e.setInterval(function(){"$f"in e&&l.loaded&&(e.clearInterval(c),X.call(l))},50)}else if("soundcloud"===Se.type){var d=t.createElement("iframe");d.loaded=!1,y(d,"load",function(){d.loaded=!0}),p(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+a,id:s}),n.appendChild(d),Se.media.appendChild(n),e.SC||r(T.urls.soundcloud.api);var A=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(A),Z.call(d))},50)}}function D(){Se.container.plyr.embed=Se.embed,Fe(),z(L("iframe"))}function U(t,n){"timer"in Se||(Se.timer={}),Se.embed=new YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Se.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){h(Se.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Se.media.play=function(){n.playVideo(),Se.media.paused=!1},Se.media.pause=function(){n.pauseVideo(),Se.media.paused=!0},Se.media.stop=function(){n.stopVideo(),Se.media.paused=!0},Se.media.duration=n.getDuration(),Se.media.paused=!0,Se.media.currentTime=n.getCurrentTime(),Se.media.muted=n.isMuted(),T.title=n.getVideoData().title,h(Se.media,"timeupdate"),e.clearInterval(Se.timer.buffering),Se.timer.buffering=e.setInterval(function(){Se.media.buffered=n.getVideoLoadedFraction(),h(Se.media,"progress"),1===Se.media.buffered&&(e.clearInterval(Se.timer.buffering),h(Se.media,"canplaythrough"))},200),D(),fe()},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Se.timer.playing),t.data){case 0:Se.media.paused=!0,h(Se.media,"ended");break;case 1:Se.media.paused=!1,Se.media.seeking=!1,h(Se.media,"play"),h(Se.media,"playing"),Se.timer.playing=e.setInterval(function(){Se.media.currentTime=n.getCurrentTime(),h(Se.media,"timeupdate")},100);break;case 2:Se.media.paused=!0,h(Se.media,"pause")}}}})}function X(){Se.embed=$f(this),Se.embed.addEvent("ready",function(){Se.media.play=function(){Se.embed.api("play"),Se.media.paused=!1},Se.media.pause=function(){Se.embed.api("pause"),Se.media.paused=!0},Se.media.stop=function(){Se.embed.api("stop"),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.api("getCurrentTime",function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.api("getDuration",function(e){Se.media.duration=e,fe()}),Se.embed.addEvent("play",function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.addEvent("pause",function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.addEvent("playProgress",function(e){Se.media.seeking=!1,Se.media.currentTime=e.seconds,h(Se.media,"timeupdate")}),Se.embed.addEvent("loadProgress",function(e){Se.media.buffered=e.percent,h(Se.media,"progress"),1===parseInt(e.percent)&&h(Se.media,"canplaythrough")}),Se.embed.addEvent("finish",function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.api("play")})}function Z(){Se.embed=e.SC.Widget(this),Se.embed.bind(e.SC.Widget.Events.READY,function(){Se.media.play=function(){Se.embed.play(),Se.media.paused=!1},Se.media.pause=function(){Se.embed.pause(),Se.media.paused=!0},Se.media.stop=function(){Se.embed.seekTo(0),Se.embed.pause(),Se.media.paused=!0},Se.media.paused=!0,Se.media.currentTime=0,D(),Se.embed.getPosition(function(e){Se.media.currentTime=e,h(Se.media,"timeupdate")}),Se.embed.getDuration(function(e){Se.media.duration=e/1e3,fe()}),Se.embed.bind(e.SC.Widget.Events.PLAY,function(){Se.media.paused=!1,h(Se.media,"play"),h(Se.media,"playing")}),Se.embed.bind(e.SC.Widget.Events.PAUSE,function(){Se.media.paused=!0,h(Se.media,"pause")}),Se.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Se.media.seeking=!1,Se.media.currentTime=e.currentPosition/1e3,h(Se.media,"timeupdate")}),Se.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Se.media.buffered=e.loadProgress,h(Se.media,"progress"),1===parseInt(e.loadProgress)&&h(Se.media,"canplaythrough")}),Se.embed.bind(e.SC.Widget.Events.FINISH,function(){Se.media.paused=!0,h(Se.media,"ended")}),T.autoplay&&Se.embed.play()})}function $(){"play"in Se.media&&Se.media.play()}function J(){"pause"in Se.media&&Se.media.pause()}function K(e){e===!0?$():e===!1?J():Se.media[Se.media.paused?"play":"pause"]()}function ee(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime-e)}function te(e){"number"!=typeof e&&(e=T.seekTime),ne(Se.media.currentTime+e)}function ne(e){var t=0,n=Se.media.paused,a=ae();"number"==typeof e?t=e:"object"!=typeof e||"input"!==e.type&&"change"!==e.type||(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),be(t);try{Se.media.currentTime=t.toFixed(1)}catch(r){}if(s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.seekTo(t);break;case"vimeo":Se.embed.api("seekTo",t.toFixed(0));break;case"soundcloud":Se.embed.seekTo(1e3*t)}n&&J(),h(Se.media,"timeupdate"),Se.media.seeking=!0}E("Seeking to "+Se.media.currentTime+" seconds"),M(t)}function ae(){var e=parseInt(T.duration),t=0;return null===Se.media.duration||isNaN(Se.media.duration)||(t=Se.media.duration),isNaN(e)?t:e}function re(){m(Se.container,T.classes.playing,!Se.media.paused),m(Se.container,T.classes.stopped,Se.media.paused),ge(Se.media.paused)}function se(e){var n=C.supportsFullScreen;e&&e.type===C.fullScreenEventName?Se.isFullscreen=C.isFullScreen(Se.container):n?(C.isFullScreen(Se.container)?C.cancelFullScreen():C.requestFullScreen(Se.container),Se.isFullscreen=C.isFullScreen(Se.container)):(Se.isFullscreen=!Se.isFullscreen,Se.isFullscreen?(y(t,"keyup",oe),t.body.style.overflow="hidden"):(b(t,"keyup",oe),t.body.style.overflow="")),m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),Se.isFullscreen?Se.container.setAttribute("tabindex","-1"):Se.container.removeAttribute("tabindex"),H(Se.isFullscreen),k(Se.buttons.fullscreen,Se.isFullscreen),h(Se.container,Se.isFullscreen?"enterfullscreen":"exitfullscreen")}function oe(e){27===(e.which||e.charCode||e.keyCode)&&Se.isFullscreen&&se()}function ie(e){if("boolean"!=typeof e&&(e=!Se.media.muted),k(Se.buttons.mute,e),Se.media.muted=e,0===Se.media.volume&&le(T.volume),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed[Se.media.muted?"mute":"unMute"]();break;case"vimeo":Se.embed.api("setVolume",Se.media.muted?0:parseFloat(T.volume/10));break;case"soundcloud":Se.embed.setVolume(Se.media.muted?0:parseFloat(T.volume/10))}h(Se.media,"volumechange")}}function le(t){if("undefined"==typeof t&&(t=T.volume,T.storage.enabled&&_().supported&&(t=e.localStorage.getItem(T.storage.key),e.localStorage.removeItem("plyr-volume"))),(null===t||isNaN(t))&&(t=T.volume),t>10&&(t=10),0>t&&(t=0),Se.media.volume=parseFloat(t/10),Se.volume.display&&(Se.volume.display.value=t),s(T.types.embed,Se.type)){switch(Se.type){case"youtube":Se.embed.setVolume(100*Se.media.volume);break;case"vimeo":Se.embed.api("setVolume",Se.media.volume);break;case"soundcloud":Se.embed.setVolume(Se.media.volume)}h(Se.media,"volumechange")}Se.media.muted&&t>0&&ie()}function ue(){var t=Se.media.muted?0:10*Se.media.volume;Se.supported.full&&(Se.volume.input&&(Se.volume.input.value=t),Se.volume.display&&(Se.volume.display.value=t)),T.storage.enabled&&_().supported&&!isNaN(t)&&e.localStorage.setItem(T.storage.key,t),m(Se.container,T.classes.muted,0===t),Se.supported.full&&Se.buttons.mute&&k(Se.buttons.mute,0===t)}function ce(e){Se.supported.full&&Se.buttons.captions&&("boolean"!=typeof e&&(e=-1===Se.container.className.indexOf(T.classes.captions.active)),Se.captionsEnabled=e,k(Se.buttons.captions,Se.captionsEnabled),m(Se.container,T.classes.captions.active,Se.captionsEnabled),h(Se.container,Se.captionsEnabled?"captionsenabled":"captionsdisabled"))}function pe(e){var t="waiting"===e.type;clearTimeout(Se.timers.loading),Se.timers.loading=setTimeout(function(){m(Se.container,T.classes.loading,t)},t?250:0)}function de(e){if(Se.supported.full){var t=Se.progress.played,n=0,a=ae();if(e)switch(e.type){case"timeupdate":case"seeking":n=w(Se.media.currentTime,a),"timeupdate"==e.type&&Se.buttons.seek&&(Se.buttons.seek.value=n);break;case"playing":case"progress":t=Se.progress.buffer,n=function(){var e=Se.media.buffered;return e&&e.length?w(e.end(0),a):"number"==typeof e?100*e:0}()}Ae(t,n)}}function Ae(e,t){Se.supported.full&&("undefined"==typeof t&&(t=0),"undefined"==typeof e&&(e=Se.progress.buffer),e instanceof HTMLElement?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t)))}function me(e,t){if(t){isNaN(e)&&(e=0),Se.secs=parseInt(e%60),Se.mins=parseInt(e/60%60),Se.hours=parseInt(e/60/60%60);var n=parseInt(ae()/60/60%60)>0;Se.secs=("0"+Se.secs).slice(-2),Se.mins=("0"+Se.mins).slice(-2),t.innerHTML=(n?Se.hours+":":"")+Se.mins+":"+Se.secs}}function fe(){if(Se.supported.full){var e=ae()||0;!Se.duration&&T.displayDuration&&Se.media.paused&&me(e,Se.currentTime),Se.duration&&me(e,Se.duration),ve()}}function ye(e){me(Se.media.currentTime,Se.currentTime),e&&"timeupdate"==e.type&&Se.media.seeking||de(e)}function be(e){"number"!=typeof e&&(e=0);var t=ae(),n=w(e,t);Se.progress&&Se.progress.played&&(Se.progress.played.value=n),Se.buttons&&Se.buttons.seek&&(Se.buttons.seek.value=n)}function ve(e){var t=ae();if(T.tooltips.seek&&Se.progress.container&&0!==t){var n=Se.progress.container.getBoundingClientRect(),a=0,r=T.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!f(Se.progress.tooltip,r))return;a=Se.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),me(t/100*a,Se.progress.tooltip),Se.progress.tooltip.style.left=a+"%",e&&s(["mouseenter","mouseleave"],e.type)&&m(Se.progress.tooltip,r,"mouseenter"===e.type)}}function ge(t){if(T.hideControls&&"audio"!==Se.type){var n=0,a=!1,r=t;"boolean"!=typeof t&&(t&&t.type?(a="enterfullscreen"===t.type,r=s(["mousemove","mouseenter","focus"],t.type),"mousemove"===t.type&&(n=2e3),"focus"===t.type&&(n=3e3)):r=!1),e.clearTimeout(Se.timers.hover),(r||Se.media.paused)&&(m(Se.container,T.classes.hideControls,!1),Se.media.paused)||r&&Se.media.paused||(Se.timers.hover=e.setTimeout(function(){Se.controls.active&&!a||m(Se.container,T.classes.hideControls,!0)},n))}}function he(e){if("undefined"!=typeof e)return void ke(e);var t;switch(Se.type){case"youtube":t=Se.embed.getVideoUrl();break;case"vimeo":Se.embed.api("getVideoUrl",function(e){t=e});break;case"soundcloud":Se.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Se.media.currentSrc}return t||""}function ke(n){if(!("undefined"!=typeof n&&"sources"in n&&n.sources.length))return void E("Invalid source format",!0);if(J(),be(),Ae(),_e(),"youtube"===Se.type?(Se.embed.destroy(),e.clearInterval(Se.timer.buffering),e.clearInterval(Se.timer.playing)):"video"===Se.type&&Se.videoContainer&&u(Se.videoContainer),Se.embed=null,u(Se.media),"type"in n&&(Se.type=n.type,"video"===Se.type)){var a=n.sources[0];"type"in a&&s(T.types.embed,a.type)&&(Se.type=a.type)}switch(Se.supported=F.supported(Se.type),Se.type){case"video":Se.media=t.createElement("video");break;case"audio":Se.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Se.media=t.createElement("div"),Se.embedId=n.sources[0].src}c(Se.container,Se.media),"undefined"!=typeof n.autoplay&&(T.autoplay=n.autoplay),s(T.types.html5,Se.type)&&(T.crossorigin&&Se.media.setAttribute("crossorigin",""),T.autoplay&&Se.media.setAttribute("autoplay",""),"poster"in n&&Se.media.setAttribute("poster",n.poster),T.loop&&Se.media.setAttribute("loop","")),Se.container.className=Se.originalClassName,m(Se.container,T.classes.fullscreen.active,Se.isFullscreen),m(Se.container,T.classes.captions.active,Se.captionsEnabled),Y(),s(T.types.html5,Se.type)&&O("source",n.sources),Q(),s(T.types.html5,Se.type)&&("tracks"in n&&O("track",n.tracks),Se.media.load(),Fe(),fe()),T.title=n.title,z(),Se.container.plyr.media=Se.media}function we(e){"video"===Se.type&&Se.media.setAttribute("poster",e)}function Te(){function n(){var e=Se.media.paused;e?$():J();var t=Se.buttons[e?"play":"pause"],n=Se.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=f(t,T.classes.tabFocus);setTimeout(function(){n.focus(),a&&(m(t,T.classes.tabFocus,!1),m(n,T.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;e&&e!=t.body?t.querySelector&&(e=t.querySelector(":focus")):e=null;for(var n in Se.buttons){var a=Se.buttons[n];if(a instanceof NodeList)for(var r=0;r \ No newline at end of file + \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index 2138af7a..364012c4 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -235,7 +235,7 @@ options = { return { headers: { // http://stackoverflow.com/questions/2272835/amazon-s3-object-redirect - "X-Amz-Website-Redirect-Location": "/" + version + "/" + filename, + "x-amz-website-redirect-location": "/" + version + "/" + filename, "Cache-Control": "no-cache, no-store, must-revalidate, max-age=0" } } @@ -247,8 +247,8 @@ if("cdn" in aws) { var regex = "(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[\\da-z\\-]+(?:\.[\\da-z\\-]+)*)?(?:\\+[\\da-z\\-]+(?:\.[\\da-z\\-]+)*)?", cdnpath = new RegExp(aws.cdn.bucket + "\/" + regex, "gi"), semver = new RegExp("v" + regex, "gi"), - localpath = new RegExp("(\.\.\/)?dist", "gi"), - latest = "https://" + aws.cdn.bucket + "/latest"; + localPath = new RegExp("(\.\.\/)?dist", "gi"), + versionPath = "https://" + aws.cdn.bucket + "/" + version; } // Publish version to CDN bucket @@ -284,12 +284,12 @@ gulp.task("docs", function () { // Replace local file paths with remote paths in docs // e.g. "../dist/plyr.js" to "https://cdn.plyr.io/x.x.x/plyr.js" gulp.src([paths.docs.root + "*.html"]) - .pipe(replace(localpath, latest)) + .pipe(replace(localPath, versionPath)) .pipe(s3(aws.docs, options.docs)); // Upload error.html to cdn (as well as docs site) return gulp.src([paths.docs.root + "error.html"]) - .pipe(replace(localpath, latest)) + .pipe(replace(localPath, versionPath)) .pipe(s3(aws.cdn, options.docs)); }); diff --git a/package.json b/package.json index aefab051..2b5703f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plyr", - "version": "1.6.9", + "version": "1.6.10", "description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player", "homepage": "http://plyr.io", "main": "src/js/plyr.js", diff --git a/readme.md b/readme.md index ea9ade34..ed597d92 100644 --- a/readme.md +++ b/readme.md @@ -40,7 +40,7 @@ If you have any cool ideas or features, please let me know by [creating an issue ## Implementation 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.6.9/plyr.js` to `https://cdn.plyr.io/1.6.9/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.6.10/plyr.js` to `https://cdn.plyr.io/1.6.10/plyr.js` ### Node Package Manager (NPM) @@ -71,11 +71,11 @@ More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub] If you want to use our CDN, you can use the following: ```html - - + + ``` -The SVG sprite/defs file can be found here: `https://cdn.plyr.io/1.6.9/plyr.svg`. +The SVG sprite/defs file can be found here: `https://cdn.plyr.io/1.6.10/plyr.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.9/plyr.svg'); +})(document, 'https://cdn.plyr.io/1.6.10/plyr.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` @@ -260,8 +260,8 @@ Options must be passed as an object to the `setup()` method as above or as JSON iconPrefix String - icon - Specify the id prefix for the icons used in the default controls (e.g. "icon-play" would be "icon"). This is to prevent clashes if you're using your own SVG defs file but with the default controls. Most people can ignore this option. + plyr + Specify the id prefix for the icons used in the default controls (e.g. "plyr-play" would be "plyr"). This is to prevent clashes if you're using your own SVG defs file but with the default controls. Most people can ignore this option. iconUrl @@ -873,6 +873,7 @@ If you find anything weird with Plyr, please let us know using the GitHub issues 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 +- [ProductHunt](https://www.producthunt.com/tech/plyr) - [The Changelog](http://thechangelog.com/plyr-simple-html5-media-player-custom-controls-webvtt-captions/) - [HTML5 Weekly #177](http://html5weekly.com/issues/177) - [Responsive Design #149](http://us4.campaign-archive2.com/?u=559bc631fe5294fc66f5f7f89&id=451a61490f) diff --git a/src/js/plyr.js b/src/js/plyr.js index 90fc8888..4748231c 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.9 +// plyr.js v1.6.10 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== @@ -38,7 +38,7 @@ volume: 5, duration: null, displayDuration: true, - iconPrefix: 'icon', + iconPrefix: 'plyr', iconUrl: '', clickToPlay: true, hideControls: true, diff --git a/src/sprite/icon-captions-off.svg b/src/sprite/plyr-captions-off.svg similarity index 100% rename from src/sprite/icon-captions-off.svg rename to src/sprite/plyr-captions-off.svg diff --git a/src/sprite/icon-captions-on.svg b/src/sprite/plyr-captions-on.svg similarity index 100% rename from src/sprite/icon-captions-on.svg rename to src/sprite/plyr-captions-on.svg diff --git a/src/sprite/icon-enter-fullscreen.svg b/src/sprite/plyr-enter-fullscreen.svg similarity index 100% rename from src/sprite/icon-enter-fullscreen.svg rename to src/sprite/plyr-enter-fullscreen.svg diff --git a/src/sprite/icon-exit-fullscreen.svg b/src/sprite/plyr-exit-fullscreen.svg similarity index 100% rename from src/sprite/icon-exit-fullscreen.svg rename to src/sprite/plyr-exit-fullscreen.svg diff --git a/src/sprite/icon-fast-forward.svg b/src/sprite/plyr-fast-forward.svg similarity index 100% rename from src/sprite/icon-fast-forward.svg rename to src/sprite/plyr-fast-forward.svg diff --git a/src/sprite/icon-muted.svg b/src/sprite/plyr-muted.svg similarity index 100% rename from src/sprite/icon-muted.svg rename to src/sprite/plyr-muted.svg diff --git a/src/sprite/icon-pause.svg b/src/sprite/plyr-pause.svg similarity index 100% rename from src/sprite/icon-pause.svg rename to src/sprite/plyr-pause.svg diff --git a/src/sprite/icon-play.svg b/src/sprite/plyr-play.svg similarity index 100% rename from src/sprite/icon-play.svg rename to src/sprite/plyr-play.svg diff --git a/src/sprite/icon-restart.svg b/src/sprite/plyr-restart.svg similarity index 100% rename from src/sprite/icon-restart.svg rename to src/sprite/plyr-restart.svg diff --git a/src/sprite/icon-rewind.svg b/src/sprite/plyr-rewind.svg similarity index 100% rename from src/sprite/icon-rewind.svg rename to src/sprite/plyr-rewind.svg diff --git a/src/sprite/icon-volume.svg b/src/sprite/plyr-volume.svg similarity index 100% rename from src/sprite/icon-volume.svg rename to src/sprite/plyr-volume.svg From 99960c0dc554d9a299350e706991b1b10babb730 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Mon, 16 May 2016 12:28:28 +1000 Subject: [PATCH 09/12] Fix for Vimeo fullscreen (fixes #214) --- changelog.md | 3 +++ dist/plyr.css | 2 +- package.json | 2 +- readme.md | 12 ++++++------ src/js/plyr.js | 2 +- src/less/plyr.less | 7 +++++++ src/scss/plyr.scss | 7 +++++++ 7 files changed, 26 insertions(+), 9 deletions(-) diff --git a/changelog.md b/changelog.md index 49b223f2..b043db48 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,8 @@ # Changelog +## v1.6.11 +- Fix for Vimeo fullscreen (fixes #214) + ## v1.6.10 - Changed default icon prefix from 'icon' to 'plyr' to avoid clashes diff --git a/dist/plyr.css b/dist/plyr.css index 826aba8c..74f38058 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;display:none;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0} \ No newline at end of file +.plyr .plyr__video-embed iframe,.plyr__tooltip{pointer-events:none}@-webkit-keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-progress{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,"Avenir Next","Helvetica Neue","Segoe UI",Helvetica,Arial,sans-serif}.plyr,.plyr *,.plyr ::after,.plyr ::before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{-ms-touch-action:manipulation;touch-action:manipulation}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:0 0}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:0 0;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:0 0;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:0 0;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:0 0;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#3498db}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,-webkit-transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease;transition:background .2s ease,border .2s ease,transform .2s ease,-webkit-transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#3498db;border-color:#fff;-webkit-transform:scale(1.25);transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#3498db;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr--audio input[type=range].tab-focus:focus{outline:rgba(86,93,100,.5) dotted 1px}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit;-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC)}.plyr__video-embed{padding-bottom:56.25%;height:0;overflow:hidden;border-radius:inherit}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;-webkit-transform:translateY(-35.95%);transform:translateY(-35.95%)}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;-webkit-transform:translateY(-40px);transform:translateY(-40px);transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7)}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--fullscreen-active .plyr__captions{font-size:32px}.plyr--hide-controls .plyr__captions{-webkit-transform:translateY(-15px);transform:translateY(-15px)}.plyr__controls{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;line-height:1;text-align:center;transition:opacity .3s ease}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:0 0;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;box-shadow:0 1px 1px rgba(0,0,0,.05);color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:opacity .3s ease,visibility .3s ease}.plyr__play-large svg{position:relative;left:2px;width:20px;height:20px;display:block;fill:currentColor}.plyr__play-large:focus{outline:rgba(255,255,255,.5) dotted 1px}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large,.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;-webkit-transform:translate(-50%,10px) scale(.8);transform:translate(-50%,10px) scale(.8);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;transition:opacity .2s .1s ease,-webkit-transform .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease;transition:transform .2s .1s ease,opacity .2s .1s ease,-webkit-transform .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;-webkit-transform:translate(-50%,0) scale(1);transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__progress{position:relative;display:none;-webkit-flex:1;-ms-flex:1;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:0 0}.plyr__progress input[type=range]::-moz-range-track{background:0 0}.plyr__progress input[type=range]::-ms-fill-upper{background:0 0}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:0 0}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#3498db;background:0 0;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:rgba(255,255,255,.25)}.plyr--video .plyr__progress--buffer{color:rgba(255,255,255,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.66)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.66)}.plyr--loading .plyr__progress--buffer{-webkit-animation:plyr-progress 1s linear infinite;animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.15) 75%,transparent 75%,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:rgba(255,255,255,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.66)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px;line-height:.95}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time::before{content:'\2044';margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen,.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0}.plyr--fullscreen video,.plyr--fullscreen-active video{height:100%}.plyr--fullscreen .plyr__video-wrapper,.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen .plyr__controls,.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper,.plyr--fullscreen.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)} \ No newline at end of file diff --git a/package.json b/package.json index 2b5703f2..54b8c50e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "plyr", - "version": "1.6.10", + "version": "1.6.11", "description": "A simple, accessible and customizable HTML5, YouTube and Vimeo media player", "homepage": "http://plyr.io", "main": "src/js/plyr.js", diff --git a/readme.md b/readme.md index ed597d92..00be212b 100644 --- a/readme.md +++ b/readme.md @@ -40,7 +40,7 @@ If you have any cool ideas or features, please let me know by [creating an issue ## Implementation 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.6.10/plyr.js` to `https://cdn.plyr.io/1.6.10/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.6.11/plyr.js` to `https://cdn.plyr.io/1.6.11/plyr.js` ### Node Package Manager (NPM) @@ -71,11 +71,11 @@ More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub] If you want to use our CDN, you can use the following: ```html - - + + ``` -The SVG sprite/defs file can be found here: `https://cdn.plyr.io/1.6.10/plyr.svg`. +The SVG sprite/defs file can be found here: `https://cdn.plyr.io/1.6.11/plyr.svg`. ### CSS & Styling 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.scss` file included in `/src` in your build to save a request. @@ -113,7 +113,7 @@ Using AJAX means you can load the sprite from a different origin. Avoiding the i c.innerHTML = a.responseText; b.insertBefore(c, b.childNodes[0]); }; -})(document, 'https://cdn.plyr.io/1.6.10/plyr.svg'); +})(document, 'https://cdn.plyr.io/1.6.11/plyr.svg'); ``` @@ -188,7 +188,7 @@ Be sure to [validate your caption files](https://quuz.org/webvtt/) Here's an example of a default setup: ```html - + ``` diff --git a/src/js/plyr.js b/src/js/plyr.js index 4748231c..e6980b6b 100644 --- a/src/js/plyr.js +++ b/src/js/plyr.js @@ -1,6 +1,6 @@ // ========================================================================== // Plyr -// plyr.js v1.6.10 +// plyr.js v1.6.11 // https://github.com/selz/plyr // License: The MIT License (MIT) // ========================================================================== diff --git a/src/less/plyr.less b/src/less/plyr.less index 64a0eb85..467175a1 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -699,4 +699,11 @@ left: 0; right: 0; } + + // Vimeo requires some different styling + &.plyr--vimeo .plyr__video-wrapper { + height: 0; + top: 50%; + transform: translateY(-50%); + } } diff --git a/src/scss/plyr.scss b/src/scss/plyr.scss index 20b73206..d527a40e 100644 --- a/src/scss/plyr.scss +++ b/src/scss/plyr.scss @@ -698,4 +698,11 @@ left: 0; right: 0; } + + // Vimeo requires some different styling + &.plyr--vimeo .plyr__video-wrapper { + height: 0; + top: 50%; + transform: translateY(-50%); + } } From 1f6f841fcb189d7dd0a7058b40e8dbb2b0262069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ionic=C4=83=20Biz=C4=83u?= Date: Mon, 16 May 2016 17:59:37 +0300 Subject: [PATCH 10/12] Removed "Node Package Manager" in readme.md `npm` does not stand for "Node Package Manager" because `npm` is not an acronym. It is a bacronymic abbreviation for "npm is not an acronym". https://www.quora.com/I-keep-hearing-NPM-doesnt-stand-for-Node-Package-Manager-what-does-it-stand-for --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 00be212b..4f929033 100644 --- a/readme.md +++ b/readme.md @@ -42,9 +42,9 @@ 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.6.11/plyr.js` to `https://cdn.plyr.io/1.6.11/plyr.js` -### Node Package Manager (NPM) +### `npm` -Using NPM, you can grab Plyr: +Using `npm`, you can grab Plyr: ``` npm install plyr ``` From a461500ab918bc62628725d86fed696061d8f011 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Tue, 17 May 2016 12:38:52 +1000 Subject: [PATCH 11/12] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 4f929033..f772c62d 100644 --- a/readme.md +++ b/readme.md @@ -42,7 +42,7 @@ 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.6.11/plyr.js` to `https://cdn.plyr.io/1.6.11/plyr.js` -### `npm` +### npm Using `npm`, you can grab Plyr: ``` From 72187a89ddabf3fcb72517c700be8bab7e9181cd Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Thu, 19 May 2016 08:47:42 +1000 Subject: [PATCH 12/12] Update readme.md --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index f772c62d..f20bcd60 100644 --- a/readme.md +++ b/readme.md @@ -788,7 +788,7 @@ Details borrowed from: [https://developer.mozilla.org/en-US/docs/Web/Guide/Event Here's an example of binding an event listener: ```javascript -document.querySelector('.js-plyr').addEventListener('ready', function() { +document.querySelector('.js-plyr').addEventListener('ready', function(event) { var player = event.target.plyr; }); ``` @@ -802,7 +802,7 @@ Plyr references a custom version of the Vimeo Froogaloop API as Vimeo have negle The native API's can be accessed through the `embed` property of the plyr object. For example: ```javascript -document.querySelector('.js-plyr').addEventListener('ready', function() { +document.querySelector('.js-plyr').addEventListener('ready', function(event) { var player = event.target.plyr; // YouTube