diff --git a/dist/plyr.css b/dist/plyr.css index 0ec373d0..503e711e 100644 --- a/dist/plyr.css +++ b/dist/plyr.css @@ -1 +1 @@ -.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.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 [aria-hidden=true]{display:none}.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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.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;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}.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%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(52,63,74,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.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{transform:translateY(-15px)}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__menu:first-child,.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;-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__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}.plyr__controls .plyr__menu+button,.plyr__controls>button+.plyr__menu,.plyr__controls>button+button{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(52,63,74,0),rgba(52,63,74,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover,.plyr--video .plyr__controls button[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr--audio .plyr__controls button[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .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__menu{position:relative}.plyr__menu button svg{transition:transform .3s ease}.plyr__menu button[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu button[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none}.plyr__menu__container button{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__menu__btn::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__menu__btn--forward{padding-right:28px}.plyr__menu__container .plyr__menu__btn--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__menu__btn--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container .plyr__menu__btn__badge,.plyr__menu__container .plyr__menu__btn__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none}.plyr__menu__container .plyr__menu__btn__value{font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn__badge span{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);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;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls>button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>button:first-child .plyr__tooltip::before{left:16px}.plyr__controls>button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>button:first-child .plyr__tooltip--visible,.plyr__controls>button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>button:first-child:hover .plyr__tooltip,.plyr__controls>button:last-child .plyr__tooltip--visible,.plyr__controls>button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-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{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 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}.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{-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-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file +.plyr input[type=range]:focus,.plyr:focus{outline:0}@keyframes plyr-progress{to{background-position:25px 0}}@keyframes plyr-popup{from{transform:translateY(10px);opacity:.5}to{transform:translateY(0);opacity:1}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,'Avenir Next','Helvetica Neue','Segoe UI',Helvetica,Arial,sans-serif;font-weight:500;direction:ltr}.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 [aria-hidden=true]{display:none}.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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);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,transform .2s ease;box-shadow:0 1px 1px rgba(52,63,74,.15),0 0 0 1px rgba(52,63,74,.2);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.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;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}.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%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-40px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(52,63,74,.85);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.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{transform:translateY(-15px)}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:1;text-align:center}.plyr__controls .plyr__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__menu:first-child,.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;-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__menu,.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}.plyr__controls .plyr__menu+button,.plyr__controls>button+.plyr__menu,.plyr__controls>button+button{margin-left:5px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(rgba(52,63,74,0),rgba(52,63,74,.7));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover,.plyr--video .plyr__controls button[aria-expanded=true]{background:#3498db;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565D64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr--audio .plyr__controls button[aria-expanded=true]{background:#3498db;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;background:#3498db;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);color:#fff;transition:all .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__menu{position:relative}.plyr__menu button svg{transition:transform .3s ease}.plyr__menu__container.is-resizing,.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu button[aria-expanded=true] svg{transform:rotate(45deg)}.plyr__menu button[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{position:absolute;bottom:100%;right:-5px;margin-bottom:10px;animation:plyr-popup .2s ease;background:rgba(52,63,74,.9);box-shadow:0 1px 0 rgba(0,0,0,.2);border-radius:4px;white-space:nowrap;text-align:left;color:#fff;font-size:14px}.plyr__menu__container::after{content:"";position:absolute;top:100%;right:15px;height:0;width:0;border:6px solid transparent;border-top-color:rgba(52,63,74,.9)}.plyr__menu__container ul{margin:0;padding:5px;list-style:none;overflow:hidden}.plyr__menu__container button{display:-ms-flexbox;display:flex;width:100%;padding:7px 14px;color:#fff;font-weight:600;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__menu__container .plyr__menu__btn::after{content:"";position:absolute;top:50%;transform:translateY(-50%);border:5px solid transparent}.plyr__menu__container .plyr__menu__btn--forward{padding-right:28px}.plyr__menu__container .plyr__menu__btn--forward::after{right:5px;border-left-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn--back{position:relative;padding-top:4px;padding-bottom:4px;padding-left:28px;margin-bottom:10px;font-weight:500}.plyr__menu__container .plyr__menu__btn--back::after{left:5px;border-right-color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn--back::before{content:"";position:absolute;top:100%;left:0;right:0;height:1px;overflow:hidden;margin-top:4px;background:rgba(0,0,0,.15);box-shadow:0 1px 0 rgba(255,255,255,.1)}.plyr__menu__container .plyr__menu__btn__badge,.plyr__menu__container .plyr__menu__btn__value{display:inherit;margin-left:auto;padding-left:25px;pointer-events:none;overflow:hidden}.plyr__menu__container .plyr__menu__btn__value{font-weight:500;color:rgba(255,255,255,.8)}.plyr__menu__container .plyr__menu__btn__badge span{padding:2px 4px;border-radius:2px;background:#fff;color:rgba(52,63,74,.9);font-size:10px}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(52,63,74,.9);border-radius:3px;color:#fff;font-size:14px;font-weight:500;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s .1s ease,opacity .2s .1s ease}.plyr__tooltip::before{content:'';position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(52,63,74,.9);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;transform:translate(-50%,0) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls>button:first-child .plyr__tooltip{left:0;transform:translate(0,10px) scale(.8);transform-origin:0 100%}.plyr__controls>button:first-child .plyr__tooltip::before{left:16px}.plyr__controls>button:last-child .plyr__tooltip{right:0;transform:translate(0,10px) scale(.8);transform-origin:100% 100%}.plyr__controls>button:last-child .plyr__tooltip::before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls>button:first-child .plyr__tooltip--visible,.plyr__controls>button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls>button:first-child:hover .plyr__tooltip,.plyr__controls>button:last-child .plyr__tooltip--visible,.plyr__controls>button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls>button:last-child:hover .plyr__tooltip{transform:translate(0,0) scale(1)}.plyr__progress{position:relative;display:none;-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{animation:plyr-progress 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(52,63,74,.2) 25%,transparent 25%,transparent 50%,rgba(52,63,74,.2) 50%,rgba(52,63,74,.2) 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}.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{-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-active{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__controls{position:absolute;bottom:0;left:0;right:0}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)} \ No newline at end of file diff --git a/dist/plyr.js b/dist/plyr.js index abccfeaa..f5e27a50 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([],function(){return 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),l=!1,u=!1,c=!1,d=!1;return-1!==navigator.appVersion.indexOf("Windows NT")&&-1!==navigator.appVersion.indexOf("rv:11")?(l=!0,s="IE",o="11"):-1!==(n=r.indexOf("MSIE"))?(l=!0,s="IE",o=r.substring(n+5)):-1!==(n=r.indexOf("Chrome"))?(c=!0,s="Chrome",o=r.substring(n+7)):-1!==(n=r.indexOf("Safari"))?(d=!0,s="Safari",o=r.substring(n+7),-1!==(n=r.indexOf("Version"))&&(o=r.substring(n+8))):-1!==(n=r.indexOf("Firefox"))?(u=!0,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,isIE:l,isFirefox:u,isChrome:c,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isTouch:"ontouchstart"in t.documentElement}}function a(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 r(e,t){return Array.prototype.indexOf&&-1!==e.indexOf(t)}function s(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function o(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;return a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a),a}}function i(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,I["boolean"](t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),l(n,r)}function d(e){return e.replace(".","")}function p(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 m(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function f(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return r.call(e,n)}function b(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function y(e,t,n,a,r){var s=t.split(" ");if(I["boolean"](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]||{},k(t[s],r[s])):t[s]=r[s]}return t}}function w(y,w){function E(e,t,n,a){v(e,t,n,k({},a,{plyr:We}))}function M(t,n){w.debug&&e.console&&(n=Array.prototype.slice.call(n),I.string(w.logPrefix)&&w.logPrefix.length&&n.unshift(w.logPrefix),console[t].apply(console,n))}function N(){return{url:w.iconUrl,absolute:0===w.iconUrl.indexOf("http")||Ye.browser.isIE}}function O(){var e=[],t=N(),n=(t.absolute?"":t.url)+"#"+w.iconPrefix;return r(w.controls,"play-large")&&e.push('"),e.push('
'),r(w.controls,"restart")&&e.push('"),r(w.controls,"rewind")&&e.push('"),r(w.controls,"play")&&e.push('",'"),r(w.controls,"fast-forward")&&e.push('"),r(w.controls,"progress")&&(e.push('','','','','',"0% "+w.i18n.buffered,""),w.tooltips.seek&&e.push('00:00'),e.push("")),r(w.controls,"current-time")&&e.push('',''+w.i18n.currentTime+"",'00:00',""),r(w.controls,"duration")&&e.push('',''+w.i18n.duration+"",'00:00',""),r(w.controls,"mute")&&e.push('"),r(w.controls,"volume")&&e.push('','",'','',""),r(w.controls,"captions")&&e.push('"),r(w.controls,"settings")&&e.push('
','",'","
"),r(w.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function L(){if(Ye.supported.full&&("audio"!==Ye.type||w.fullscreen.allowAudio)&&w.fullscreen.enabled){var e=P.fullscreen;e||w.fullscreen.fallback&&!W()?(Ue((e?"Native":"Fallback")+" fullscreen enabled"),p(Ye.container,w.classes.fullscreen.enabled,!0)):Ue("Fullscreen not supported and fallback disabled"),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,!1),Y()}}function q(){if("video"===Ye.type){H(w.selectors.captions)||Ye.videoContainer.insertAdjacentHTML("afterbegin",'
'),Ye.usingTextTracks=!1,Ye.media.textTracks&&(Ye.usingTextTracks=!0);for(var e,t="",n=Ye.media.childNodes,a=0;a=10||Ye.browser.isFirefox&&Ye.browser.version>=31)&&(Ue("Detected browser with known TextTrack issues - using manual fallback"),Ye.usingTextTracks=!1),Ye.usingTextTracks){Ue("TextTracks supported");for(var o=0;o ");for(var a=0;aYe.captions.length-1){Ye.subcount=Ye.captions.length-1;break}Ye.media.currentTime.toFixed(1)>=n(Ye.captions[Ye.subcount][0])&&Ye.media.currentTime.toFixed(1)<=a(Ye.captions[Ye.subcount][0])?(Ye.currentCaption=Ye.captions[Ye.subcount][1],j(Ye.currentCaption)):j()}}function R(){if(Ye.buttons.captions){p(Ye.container,w.classes.captions.enabled,!0);var e=Ye.storage.captionsEnabled;I["boolean"](e)||(e=w.captions.defaultActive),e&&(p(Ye.container,w.classes.captions.active,!0),h(Ye.buttons.captions,!0))}}function D(e){return Ye.container.querySelectorAll(e)}function H(e){return D(e)[0]}function W(){try{return e.self!==e.top}catch(t){return!0}}function Y(){function e(e){9===e.which&&Ye.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=D("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Ye.container,"keydown",e)}function B(e,t){if(I.string(t))c(e,Ye.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Ye.media,t[n])}function X(){if(w.loadSprite){var e=N();e.absolute?(Ue("AJAX loading absolute SVG sprite"+(Ye.browser.isIE?" (due to IE)":"")),x(e.url,"sprite-plyr")):Ue("Sprite will be used as external resource directly")}var n=w.html;Ue("Injecting custom controls"),n||(n=O()),n=s(n,"{seektime}",w.seekTime),n=s(n,"{speed}",w.currentSpeed.toFixed(1).toString().replace(".0","")+"×"),n=s(n,"{lang}","English"),n=s(n,"{id}",Math.floor(1e4*Math.random()));var a;if(I.string(w.selectors.controls.container)&&(a=t.querySelector(w.selectors.controls.container)),I.htmlElement(a)||(a=Ye.container),a.insertAdjacentHTML("beforeend",n),w.tooltips.controls)for(var r=D([w.selectors.controls.wrapper," ",w.selectors.labels," .",w.classes.hidden].join("")),o=r.length-1;o>=0;o--){var i=r[o];p(i,w.classes.hidden,!1),p(i,w.classes.tooltip,!0)}}function U(){try{return Ye.controls=H(w.selectors.controls.wrapper),Ye.buttons={},Ye.buttons.seek=H(w.selectors.buttons.seek),Ye.buttons.play=D(w.selectors.buttons.play),Ye.buttons.pause=H(w.selectors.buttons.pause),Ye.buttons.restart=H(w.selectors.buttons.restart),Ye.buttons.rewind=H(w.selectors.buttons.rewind),Ye.buttons.forward=H(w.selectors.buttons.forward),Ye.buttons.fullscreen=H(w.selectors.buttons.fullscreen),Ye.buttons.settings=H(w.selectors.buttons.settings),Ye.buttons.mute=H(w.selectors.buttons.mute),Ye.buttons.captions=H(w.selectors.buttons.captions),Ye.progress={},Ye.progress.container=H(w.selectors.progress.container),Ye.progress.buffer={},Ye.progress.buffer.bar=H(w.selectors.progress.buffer),Ye.progress.buffer.text=Ye.progress.buffer.bar&&Ye.progress.buffer.bar.getElementsByTagName("span")[0],Ye.progress.played=H(w.selectors.progress.played),Ye.progress.tooltip=Ye.progress.container&&Ye.progress.container.querySelector("."+w.classes.tooltip),Ye.volume={},Ye.volume.input=H(w.selectors.volume.input),Ye.volume.display=H(w.selectors.volume.display),Ye.duration=H(w.selectors.duration),Ye.currentTime=H(w.selectors.currentTime),Ye.seekTime=D(w.selectors.seekTime),!0}catch(e){return Je("It looks like there is a problem with your controls HTML"),z(!0),!1}}function J(){p(Ye.container,w.selectors.container.replace(".",""),Ye.supported.full)}function z(e){e&&r(w.types.html5,Ye.type)?Ye.media.setAttribute("controls",""):Ye.media.removeAttribute("controls")}function $(e){var t=w.i18n.play;if(I.string(w.title)&&w.title.length&&(t+=", "+w.title,Ye.container.setAttribute("aria-label",w.title)),Ye.supported.full&&Ye.buttons.play)for(var n=Ye.buttons.play.length-1;n>=0;n--)Ye.buttons.play[n].setAttribute("aria-label",t);I.htmlElement(e)&&e.setAttribute("title",w.i18n.frameTitle.replace("{title}",w.title))}function G(){var t=null;Ye.storage={},P.storage&&w.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(w.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?K({volume:parseFloat(t)}):Ye.storage=JSON.parse(t)))}function K(t){P.storage&&w.storage.enabled&&(k(Ye.storage,t),e.localStorage.setItem(w.storage.key,JSON.stringify(Ye.storage)))}function Q(){if(!Ye.media)return void Je("No media element found!");if(Ye.supported.full&&(p(Ye.container,w.classes.type.replace("{0}",Ye.type),!0),r(w.types.embed,Ye.type)&&p(Ye.container,w.classes.type.replace("{0}","video"),!0),p(Ye.container,w.classes.pip.enabled,P.pip(Ye)),p(Ye.container,w.classes.stopped,w.autoplay),p(Ye.ontainer,w.classes.isIos,Ye.browser.isIos),p(Ye.container,w.classes.isTouch,Ye.browser.isTouch),"video"===Ye.type)){var e=t.createElement("div");e.setAttribute("class",w.classes.videoWrapper),o(Ye.media,e),Ye.videoContainer=e}r(w.types.embed,Ye.type)&&Z()}function Z(){for(var n=t.createElement("div"),r=Ye.embedId,s=Ye.type+"-"+Math.floor(1e4*Math.random()),o=D('[id^="'+Ye.type+'-"]'),l=o.length-1;l>=0;l--)i(o[l]);if(p(Ye.media,w.classes.videoWrapper,!0),p(Ye.media,w.classes.embedWrapper,!0),"youtube"===Ye.type)Ye.media.appendChild(n),n.setAttribute("id",s),I.object(e.YT)?te(r,n):(a(w.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){te(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ye.type)if(Ye.supported.full?Ye.media.appendChild(n):n=Ye.media,n.setAttribute("id",s),I.object(e.Vimeo))ne(r,n);else{a(w.urls.vimeo.api);var c=e.setInterval(function(){I.object(e.Vimeo)&&(e.clearInterval(c),ne(r,n))},50)}else if("soundcloud"===Ye.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(d),Ye.media.appendChild(n),e.SC||a(w.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(m),ae.call(d))},50)}}function ee(){Ye.supported.full&&(De(),He()),$(H("iframe"))}function te(t,n){Ye.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:w.autoplay?1:0,controls:Ye.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:w.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){E(Ye.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ye.media.play=function(){n.playVideo(),Ye.media.paused=!1},Ye.media.pause=function(){n.pauseVideo(),Ye.media.paused=!0},Ye.media.stop=function(){n.stopVideo(),Ye.media.paused=!0},Ye.media.duration=n.getDuration(),Ye.media.paused=!0,Ye.media.currentTime=0,Ye.media.muted=n.isMuted(),w.title=n.getVideoData().title,Ye.supported.full&&Ye.media.querySelector("iframe").setAttribute("tabindex","-1"),ee(),E(Ye.media,"timeupdate"),E(Ye.media,"durationchange"),e.clearInterval(Be.buffering),Be.buffering=e.setInterval(function(){Ye.media.buffered=n.getVideoLoadedFraction(),(null===Ye.media.lastBuffered||Ye.media.lastBuffered=w.speeds.length&&(n=0),e=w.speeds[n]}else e=w.defaultSpeed}w.currentSpeed=e,Ye.media.playbackRate=e,K({speed:e})}function ce(e){var t=0,n=Ye.media.paused,a=de();I.number(e)?t=e:I.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),Ae(t);try{Ye.media.currentTime=t.toFixed(4)}catch(s){}if(r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.seekTo(t);break;case"vimeo":Ye.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ye.embed.seekTo(1e3*t)}n&&se(),E(Ye.media,"timeupdate"),Ye.media.seeking=!0}Ue("Seeking to "+Ye.media.currentTime+" seconds"),V(t)}function de(){var e=parseInt(w.duration),t=0;return null===Ye.media.duration||isNaN(Ye.media.duration)||(t=Ye.media.duration),isNaN(e)?t:e}function pe(){p(Ye.container,w.classes.playing,!Ye.media.paused),p(Ye.container,w.classes.stopped,Ye.media.paused),Pe(Ye.media.paused)}function me(){A={x:e.pageXOffset||0,y:e.pageYOffset||0}}function fe(){e.scrollTo(A.x,A.y)}function be(e){var n=P.fullscreen;if(n){if(!e||e.type!==C.eventType)return C.isFullScreen(Ye.container)?C.cancelFullScreen():(me(),C.requestFullScreen(Ye.container)),void(Ye.isFullscreen=C.isFullScreen(Ye.container));Ye.isFullscreen=C.isFullScreen(Ye.container)}else Ye.isFullscreen=!Ye.isFullscreen,t.body.style.overflow=Ye.isFullscreen?"hidden":"";p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),Y(Ye.isFullscreen),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,Ye.isFullscreen),E(Ye.container,Ye.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ye.isFullscreen&&n&&fe()}function ye(e){if(I["boolean"](e)||(e=!Ye.media.muted),h(Ye.buttons.mute,e),Ye.media.muted=e,0===Ye.media.volume&&ge(w.volume),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed[Ye.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.muted?0:parseFloat(w.volume/w.volumeMax))}E(Ye.media,"volumechange")}}function ge(e){var t=w.volumeMax,n=w.volumeMin;if(I.undefined(e)&&(e=Ye.storage.volume),(null===e||isNaN(e))&&(e=w.volume),e>t&&(e=t),n>e&&(e=n),Ye.media.volume=parseFloat(e/t),Ye.volume.display&&(Ye.volume.display.value=e),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.setVolume(100*Ye.media.volume);break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.volume)}E(Ye.media,"volumechange")}0===e?Ye.media.muted=!0:Ye.media.muted&&e>0&&ye()}function ve(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t+e)}function he(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t-e)}function _e(){var e=Ye.media.muted?0:Ye.media.volume*w.volumeMax;Ye.supported.full&&(Ye.volume.input&&(Ye.volume.input.value=e),Ye.volume.display&&(Ye.volume.display.value=e)),K({volume:e}),p(Ye.container,w.classes.muted,0===e),Ye.supported.full&&Ye.buttons.mute&&h(Ye.buttons.mute,0===e)}function ke(e){Ye.supported.full&&Ye.buttons.captions&&(I["boolean"](e)||(e=-1===Ye.container.className.indexOf(w.classes.captions.active)),Ye.captionsEnabled=e,h(Ye.buttons.captions,Ye.captionsEnabled),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),E(Ye.container,Ye.captionsEnabled?"captionsenabled":"captionsdisabled",!0),K({captionsEnabled:Ye.captionsEnabled}))}function we(e){var t="waiting"===e.type;clearTimeout(Be.loading),Be.loading=setTimeout(function(){p(Ye.container,w.classes.loading,t),Pe(t)},t?250:0)}function xe(e){if(Ye.supported.full){var t=Ye.progress.played,n=0,a=de();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ye.controls.pressed)return;n=_(Ye.media.currentTime,a),"timeupdate"===e.type&&Ye.buttons.seek&&(Ye.buttons.seek.value=n);break;case"playing":case"progress":t=Ye.progress.buffer,n=function(){var e=Ye.media.buffered;return e&&e.length?_(e.end(0),a):I.number(e)?100*e:0}()}Te(t,n)}}function Te(e,t){if(Ye.supported.full){if(I.undefined(t)&&(t=0),I.undefined(e)){if(!Ye.progress||!Ye.progress.buffer)return;e=Ye.progress.buffer}I.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ee(e,t){if(t){isNaN(e)&&(e=0),Ye.secs=parseInt(e%60),Ye.mins=parseInt(e/60%60),Ye.hours=parseInt(e/60/60%60);var n=parseInt(de()/60/60%60)>0;Ye.secs=("0"+Ye.secs).slice(-2),Ye.mins=("0"+Ye.mins).slice(-2),t.innerHTML=(n?Ye.hours+":":"")+Ye.mins+":"+Ye.secs}}function Se(){if(Ye.supported.full){var e=de()||0;!Ye.duration&&w.displayDuration&&Ye.media.paused&&Ee(e,Ye.currentTime),Ye.duration&&Ee(e,Ye.duration),Fe()}}function Ce(e){Ee(Ye.media.currentTime,Ye.currentTime),e&&"timeupdate"===e.type&&Ye.media.seeking||xe(e)}function Ae(e){I.number(e)||(e=0);var t=de(),n=_(e,t);Ye.progress&&Ye.progress.played&&(Ye.progress.played.value=n),Ye.buttons&&Ye.buttons.seek&&(Ye.buttons.seek.value=n)}function Fe(e){var t=de();if(w.tooltips.seek&&Ye.progress.container&&0!==t){var n=Ye.progress.container.getBoundingClientRect(),a=0,s=w.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Ye.progress.tooltip,s))return;a=Ye.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),Ee(t/100*a,Ye.progress.tooltip),Ye.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&p(Ye.progress.tooltip,s,"mouseenter"===e.type)}}function Ie(e){I.undefined(e)&&(e=Ye.storage.speed||w.defaultSpeed),ue(e)}function Pe(t){if(w.hideControls&&"audio"!==Ye.type){var n=0,a=!1,s=t,o=m(Ye.container,w.classes.loading);if(I["boolean"](t)||(t&&t.type?(a="enterfullscreen"===t.type,s=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=m(Ye.container,w.classes.hideControls)),e.clearTimeout(Be.hover),s||Ye.media.paused||o){if(p(Ye.container,w.classes.hideControls,!1),Ye.media.paused||o)return;Ye.browser.isTouch&&(n=3e3)}s&&Ye.media.paused||(Be.hover=e.setTimeout(function(){(!Ye.controls.pressed&&!Ye.controls.hover||a)&&p(Ye.container,w.classes.hideControls,!0)},n))}}function Me(e){if(!I.undefined(e))return void Ne(e);var t;switch(Ye.type){case"youtube":t=Ye.embed.getVideoUrl();break;case"vimeo":Ye.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ye.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ye.media.currentSrc}return t||""}function Ne(e){function n(){if(Ye.embed=null,i(Ye.media),"video"===Ye.type&&Ye.videoContainer&&i(Ye.videoContainer),Ye.container&&Ye.container.removeAttribute("class"),"type"in e&&(Ye.type=e.type,"video"===Ye.type)){var n=e.sources[0];"type"in n&&r(w.types.embed,n.type)&&(Ye.type=n.type)}switch(Ye.supported=T(Ye.type),Ye.type){case"video":Ye.media=t.createElement("video");break;case"audio":Ye.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ye.media=t.createElement("div"),Ye.embedId=e.sources[0].src}l(Ye.container,Ye.media),I["boolean"](e.autoplay)&&(w.autoplay=e.autoplay),r(w.types.html5,Ye.type)&&(w.crossorigin&&Ye.media.setAttribute("crossorigin",""),w.autoplay&&Ye.media.setAttribute("autoplay",""),"poster"in e&&Ye.media.setAttribute("poster",e.poster),w.loop&&Ye.media.setAttribute("loop","")),p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),J(),r(w.types.html5,Ye.type)&&B("source",e.sources),Q(),r(w.types.html5,Ye.type)&&("tracks"in e&&B("track",e.tracks),Ye.media.load()),(r(w.types.html5,Ye.type)||r(w.types.embed,Ye.type)&&!Ye.supported.full)&&(De(),He()),w.title=e.title,$()}return I.object(e)&&"sources"in e&&e.sources.length?(p(Ye.container,w.classes.ready,!1),se(),Ae(),Te(),je(),void Ve(n,!1)):void Je("Invalid source format")}function Oe(e){"video"===Ye.type&&Ye.media.setAttribute("poster",e)}function Le(){function n(){var e=oe(),t=Ye.buttons[e?"play":"pause"],n=Ye.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,w.classes.tabFocus);setTimeout(function(){n.focus(),a&&(p(t,w.classes.tabFocus,!1),p(n,w.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null; -}function s(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ye.buttons){var n=Ye.buttons[t];if(I.nodeList(n))for(var a=0;a0)&&(t?he(n):ve(n)),(e.deltaY>0||e.deltaX<0)&&(t?ve(n):he(n))})}function qe(){if(g(Ye.media,"timeupdate seeking",Ce),g(Ye.media,"timeupdate",V),g(Ye.media,"durationchange loadedmetadata",Se),g(Ye.media,"ended",function(){"video"===Ye.type&&w.showPosterOnEnd&&("video"===Ye.type&&j(),ce(),Ye.media.load())}),g(Ye.media,"progress playing",xe),g(Ye.media,"volumechange",_e),g(Ye.media,"play pause ended",pe),g(Ye.media,"waiting canplay seeked",we),w.clickToPlay&&"audio"!==Ye.type){var e=H("."+w.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){w.hideControls&&Ye.browser.isTouch&&!Ye.media.paused||(Ye.media.paused?re():Ye.media.ended?(ce(),re()):se())})}w.disableContextMenu&&g(Ye.media,"contextmenu",function(e){e.preventDefault()}),g(Ye.media,w.events.concat(["keyup","keydown"]).join(" "),function(e){E(Ye.container,e.type,!0)})}function je(){if(r(w.types.html5,Ye.type)){for(var e=Ye.media.querySelectorAll("source"),t=0;t=0;n--){var a=n>0?t.cloneNode(!0):t,r=e[n],s=r.parentNode,o=r.nextSibling;return a.appendChild(r),o?s.insertBefore(a,o):s.appendChild(a),a}}function i(e){e&&e.parentNode.removeChild(e)}function l(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,I["boolean"](t[n])&&t[n]?"":t[n])}function c(e,n,a){var r=t.createElement(e);u(r,a),l(n,r)}function d(e){return e.replace(".","")}function p(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 m(e,t){return e?e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className):!1}function f(e,n){var a=Element.prototype,r=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.msMatchesSelector||function(e){return-1!==[].indexOf.call(t.querySelectorAll(e),this)};return r.call(e,n)}function b(e,t,n,a,r){g(e,t,function(t){n&&n.apply(e,[t]),a.apply(e,[t])},r)}function y(e,t,n,a,r){var s=t.split(" ");if(I["boolean"](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]||{},k(t[s],r[s])):t[s]=r[s]}return t}}function w(y,w){function E(e,t,n,a){v(e,t,n,k({},a,{plyr:We}))}function N(t,n){w.debug&&e.console&&(n=Array.prototype.slice.call(n),I.string(w.logPrefix)&&w.logPrefix.length&&n.unshift(w.logPrefix),console[t].apply(console,n))}function M(){return{url:w.iconUrl,absolute:0===w.iconUrl.indexOf("http")||Ye.browser.isIE}}function O(){var e=[],t=M(),n=(t.absolute?"":t.url)+"#"+w.iconPrefix;return r(w.controls,"play-large")&&e.push('"),e.push('
'),r(w.controls,"restart")&&e.push('"),r(w.controls,"rewind")&&e.push('"),r(w.controls,"play")&&e.push('",'"),r(w.controls,"fast-forward")&&e.push('"),r(w.controls,"progress")&&(e.push('','','','','',"0% "+w.i18n.buffered,""),w.tooltips.seek&&e.push('00:00'),e.push("")),r(w.controls,"current-time")&&e.push('',''+w.i18n.currentTime+"",'00:00',""),r(w.controls,"duration")&&e.push('',''+w.i18n.duration+"",'00:00',""),r(w.controls,"mute")&&e.push('"),r(w.controls,"volume")&&e.push('','",'','',""),r(w.controls,"captions")&&e.push('"),r(w.controls,"settings")&&e.push('
','",'","
"),r(w.controls,"fullscreen")&&e.push('"),e.push("
"),e.join("")}function L(){if(Ye.supported.full&&("audio"!==Ye.type||w.fullscreen.allowAudio)&&w.fullscreen.enabled){var e=P.fullscreen;e||w.fullscreen.fallback&&!W()?(Ue((e?"Native":"Fallback")+" fullscreen enabled"),p(Ye.container,w.classes.fullscreen.enabled,!0)):Ue("Fullscreen not supported and fallback disabled"),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,!1),Y()}}function q(){if("video"===Ye.type){H(w.selectors.captions)||Ye.videoContainer.insertAdjacentHTML("afterbegin",'
'),Ye.usingTextTracks=!1,Ye.media.textTracks&&(Ye.usingTextTracks=!0);for(var e,t="",n=Ye.media.childNodes,a=0;a=10||Ye.browser.isFirefox&&Ye.browser.version>=31)&&(Ue("Detected browser with known TextTrack issues - using manual fallback"),Ye.usingTextTracks=!1),Ye.usingTextTracks){Ue("TextTracks supported");for(var o=0;o ");for(var a=0;aYe.captions.length-1){Ye.subcount=Ye.captions.length-1;break}Ye.media.currentTime.toFixed(1)>=n(Ye.captions[Ye.subcount][0])&&Ye.media.currentTime.toFixed(1)<=a(Ye.captions[Ye.subcount][0])?(Ye.currentCaption=Ye.captions[Ye.subcount][1],j(Ye.currentCaption)):j()}}function R(){if(Ye.buttons.captions){p(Ye.container,w.classes.captions.enabled,!0);var e=Ye.storage.captionsEnabled;I["boolean"](e)||(e=w.captions.defaultActive),e&&(p(Ye.container,w.classes.captions.active,!0),h(Ye.buttons.captions,!0))}}function D(e){return Ye.container.querySelectorAll(e)}function H(e){return D(e)[0]}function W(){try{return e.self!==e.top}catch(t){return!0}}function Y(){function e(e){9===e.which&&Ye.isFullscreen&&(e.target!==a||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),a.focus()):(e.preventDefault(),n.focus()))}var t=D("input:not([disabled]), button:not([disabled])"),n=t[0],a=t[t.length-1];g(Ye.container,"keydown",e)}function B(e,t){if(I.string(t))c(e,Ye.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)c(e,Ye.media,t[n])}function X(){if(w.loadSprite){var e=M();e.absolute?(Ue("AJAX loading absolute SVG sprite"+(Ye.browser.isIE?" (due to IE)":"")),x(e.url,"sprite-plyr")):Ue("Sprite will be used as external resource directly")}var n=w.html;Ue("Injecting custom controls"),n||(n=O()),n=s(n,"{seektime}",w.seekTime),n=s(n,"{speed}",w.currentSpeed.toFixed(1).toString().replace(".0","")+"×"),n=s(n,"{lang}","English"),n=s(n,"{id}",Math.floor(1e4*Math.random()));var a;if(I.string(w.selectors.controls.container)&&(a=t.querySelector(w.selectors.controls.container)),I.htmlElement(a)||(a=Ye.container),a.insertAdjacentHTML("beforeend",n),w.tooltips.controls)for(var r=D([w.selectors.controls.wrapper," ",w.selectors.labels," .",w.classes.hidden].join("")),o=r.length-1;o>=0;o--){var i=r[o];p(i,w.classes.hidden,!1),p(i,w.classes.tooltip,!0)}}function U(){try{return Ye.controls=H(w.selectors.controls.wrapper),Ye.buttons={},Ye.buttons.seek=H(w.selectors.buttons.seek),Ye.buttons.play=D(w.selectors.buttons.play),Ye.buttons.pause=H(w.selectors.buttons.pause),Ye.buttons.restart=H(w.selectors.buttons.restart),Ye.buttons.rewind=H(w.selectors.buttons.rewind),Ye.buttons.forward=H(w.selectors.buttons.forward),Ye.buttons.fullscreen=H(w.selectors.buttons.fullscreen),Ye.buttons.settings=H(w.selectors.buttons.settings),Ye.buttons.mute=H(w.selectors.buttons.mute),Ye.buttons.captions=H(w.selectors.buttons.captions),Ye.progress={},Ye.progress.container=H(w.selectors.progress.container),Ye.progress.buffer={},Ye.progress.buffer.bar=H(w.selectors.progress.buffer),Ye.progress.buffer.text=Ye.progress.buffer.bar&&Ye.progress.buffer.bar.getElementsByTagName("span")[0],Ye.progress.played=H(w.selectors.progress.played),Ye.progress.tooltip=Ye.progress.container&&Ye.progress.container.querySelector("."+w.classes.tooltip),Ye.volume={},Ye.volume.input=H(w.selectors.volume.input),Ye.volume.display=H(w.selectors.volume.display),Ye.duration=H(w.selectors.duration),Ye.currentTime=H(w.selectors.currentTime),Ye.seekTime=D(w.selectors.seekTime),!0}catch(e){return Je("It looks like there is a problem with your controls HTML"),z(!0),!1}}function J(){p(Ye.container,w.selectors.container.replace(".",""),Ye.supported.full)}function z(e){e&&r(w.types.html5,Ye.type)?Ye.media.setAttribute("controls",""):Ye.media.removeAttribute("controls")}function $(e){var t=w.i18n.play;if(I.string(w.title)&&w.title.length&&(t+=", "+w.title,Ye.container.setAttribute("aria-label",w.title)),Ye.supported.full&&Ye.buttons.play)for(var n=Ye.buttons.play.length-1;n>=0;n--)Ye.buttons.play[n].setAttribute("aria-label",t);I.htmlElement(e)&&e.setAttribute("title",w.i18n.frameTitle.replace("{title}",w.title))}function G(){var t=null;Ye.storage={},P.storage&&w.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(w.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?K({volume:parseFloat(t)}):Ye.storage=JSON.parse(t)))}function K(t){P.storage&&w.storage.enabled&&(k(Ye.storage,t),e.localStorage.setItem(w.storage.key,JSON.stringify(Ye.storage)))}function Q(){if(!Ye.media)return void Je("No media element found!");if(Ye.supported.full&&(p(Ye.container,w.classes.type.replace("{0}",Ye.type),!0),r(w.types.embed,Ye.type)&&p(Ye.container,w.classes.type.replace("{0}","video"),!0),p(Ye.container,w.classes.pip.enabled,P.pip(Ye)),p(Ye.container,w.classes.stopped,w.autoplay),p(Ye.ontainer,w.classes.isIos,Ye.browser.isIos),p(Ye.container,w.classes.isTouch,Ye.browser.isTouch),"video"===Ye.type)){var e=t.createElement("div");e.setAttribute("class",w.classes.videoWrapper),o(Ye.media,e),Ye.videoContainer=e}r(w.types.embed,Ye.type)&&Z()}function Z(){for(var n=t.createElement("div"),r=Ye.embedId,s=Ye.type+"-"+Math.floor(1e4*Math.random()),o=D('[id^="'+Ye.type+'-"]'),l=o.length-1;l>=0;l--)i(o[l]);if(p(Ye.media,w.classes.videoWrapper,!0),p(Ye.media,w.classes.embedWrapper,!0),"youtube"===Ye.type)Ye.media.appendChild(n),n.setAttribute("id",s),I.object(e.YT)?te(r,n):(a(w.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){te(r,n)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ye.type)if(Ye.supported.full?Ye.media.appendChild(n):n=Ye.media,n.setAttribute("id",s),I.object(e.Vimeo))ne(r,n);else{a(w.urls.vimeo.api);var c=e.setInterval(function(){I.object(e.Vimeo)&&(e.clearInterval(c),ne(r,n))},50)}else if("soundcloud"===Ye.type){var d=t.createElement("iframe");d.loaded=!1,g(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+r,id:s}),n.appendChild(d),Ye.media.appendChild(n),e.SC||a(w.urls.soundcloud.api);var m=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(m),ae.call(d))},50)}}function ee(){Ye.supported.full&&(De(),He()),$(H("iframe"))}function te(t,n){Ye.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:w.autoplay?1:0,controls:Ye.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:w.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){E(Ye.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ye.media.play=function(){n.playVideo(),Ye.media.paused=!1},Ye.media.pause=function(){n.pauseVideo(),Ye.media.paused=!0},Ye.media.stop=function(){n.stopVideo(),Ye.media.paused=!0},Ye.media.duration=n.getDuration(),Ye.media.paused=!0,Ye.media.currentTime=0,Ye.media.muted=n.isMuted(),w.title=n.getVideoData().title,Ye.supported.full&&Ye.media.querySelector("iframe").setAttribute("tabindex","-1"),ee(),E(Ye.media,"timeupdate"),E(Ye.media,"durationchange"),e.clearInterval(Be.buffering),Be.buffering=e.setInterval(function(){Ye.media.buffered=n.getVideoLoadedFraction(),(null===Ye.media.lastBuffered||Ye.media.lastBuffered=w.speeds.length&&(n=0),e=w.speeds[n]}else e=w.defaultSpeed}w.currentSpeed=e,Ye.media.playbackRate=e,K({speed:e})}function ce(e){var t=0,n=Ye.media.paused,a=de();I.number(e)?t=e:I.event(e)&&r(["input","change"],e.type)&&(t=e.target.value/e.target.max*a),0>t?t=0:t>a&&(t=a),Ae(t);try{Ye.media.currentTime=t.toFixed(4)}catch(s){}if(r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.seekTo(t);break;case"vimeo":Ye.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ye.embed.seekTo(1e3*t)}n&&se(),E(Ye.media,"timeupdate"),Ye.media.seeking=!0}Ue("Seeking to "+Ye.media.currentTime+" seconds"),V(t)}function de(){var e=parseInt(w.duration),t=0;return null===Ye.media.duration||isNaN(Ye.media.duration)||(t=Ye.media.duration),isNaN(e)?t:e}function pe(){p(Ye.container,w.classes.playing,!Ye.media.paused),p(Ye.container,w.classes.stopped,Ye.media.paused),Pe(Ye.media.paused)}function me(){A={x:e.pageXOffset||0,y:e.pageYOffset||0}}function fe(){e.scrollTo(A.x,A.y)}function be(e){var n=P.fullscreen;if(n){if(!e||e.type!==C.eventType)return C.isFullScreen(Ye.container)?C.cancelFullScreen():(me(),C.requestFullScreen(Ye.container)),void(Ye.isFullscreen=C.isFullScreen(Ye.container));Ye.isFullscreen=C.isFullScreen(Ye.container)}else Ye.isFullscreen=!Ye.isFullscreen,t.body.style.overflow=Ye.isFullscreen?"hidden":"";p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),Y(Ye.isFullscreen),Ye.buttons&&Ye.buttons.fullscreen&&h(Ye.buttons.fullscreen,Ye.isFullscreen),E(Ye.container,Ye.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ye.isFullscreen&&n&&fe()}function ye(e){if(I["boolean"](e)||(e=!Ye.media.muted),h(Ye.buttons.mute,e),Ye.media.muted=e,0===Ye.media.volume&&ge(w.volume),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed[Ye.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.muted?0:parseFloat(w.volume/w.volumeMax))}E(Ye.media,"volumechange")}}function ge(e){var t=w.volumeMax,n=w.volumeMin;if(I.undefined(e)&&(e=Ye.storage.volume),(null===e||isNaN(e))&&(e=w.volume),e>t&&(e=t),n>e&&(e=n),Ye.media.volume=parseFloat(e/t),Ye.volume.display&&(Ye.volume.display.value=e),r(w.types.embed,Ye.type)){switch(Ye.type){case"youtube":Ye.embed.setVolume(100*Ye.media.volume);break;case"vimeo":case"soundcloud":Ye.embed.setVolume(Ye.media.volume)}E(Ye.media,"volumechange")}0===e?Ye.media.muted=!0:Ye.media.muted&&e>0&&ye()}function ve(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t+e)}function he(e){var t=Ye.media.muted?0:Ye.media.volume*w.volumeMax;I.number(e)||(e=w.volumeStep),ge(t-e)}function _e(){var e=Ye.media.muted?0:Ye.media.volume*w.volumeMax;Ye.supported.full&&(Ye.volume.input&&(Ye.volume.input.value=e),Ye.volume.display&&(Ye.volume.display.value=e)),K({volume:e}),p(Ye.container,w.classes.muted,0===e),Ye.supported.full&&Ye.buttons.mute&&h(Ye.buttons.mute,0===e)}function ke(e){Ye.supported.full&&Ye.buttons.captions&&(I["boolean"](e)||(e=-1===Ye.container.className.indexOf(w.classes.captions.active)),Ye.captionsEnabled=e,h(Ye.buttons.captions,Ye.captionsEnabled),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),E(Ye.container,Ye.captionsEnabled?"captionsenabled":"captionsdisabled",!0),K({captionsEnabled:Ye.captionsEnabled}))}function we(e){var t="waiting"===e.type;clearTimeout(Be.loading),Be.loading=setTimeout(function(){p(Ye.container,w.classes.loading,t),Pe(t)},t?250:0)}function xe(e){if(Ye.supported.full){var t=Ye.progress.played,n=0,a=de();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ye.controls.pressed)return;n=_(Ye.media.currentTime,a),"timeupdate"===e.type&&Ye.buttons.seek&&(Ye.buttons.seek.value=n);break;case"playing":case"progress":t=Ye.progress.buffer,n=function(){var e=Ye.media.buffered;return e&&e.length?_(e.end(0),a):I.number(e)?100*e:0}()}Te(t,n)}}function Te(e,t){if(Ye.supported.full){if(I.undefined(t)&&(t=0),I.undefined(e)){if(!Ye.progress||!Ye.progress.buffer)return;e=Ye.progress.buffer}I.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ee(e,t){if(t){isNaN(e)&&(e=0),Ye.secs=parseInt(e%60),Ye.mins=parseInt(e/60%60),Ye.hours=parseInt(e/60/60%60);var n=parseInt(de()/60/60%60)>0;Ye.secs=("0"+Ye.secs).slice(-2),Ye.mins=("0"+Ye.mins).slice(-2),t.innerHTML=(n?Ye.hours+":":"")+Ye.mins+":"+Ye.secs}}function Se(){if(Ye.supported.full){var e=de()||0;!Ye.duration&&w.displayDuration&&Ye.media.paused&&Ee(e,Ye.currentTime),Ye.duration&&Ee(e,Ye.duration),Fe()}}function Ce(e){Ee(Ye.media.currentTime,Ye.currentTime),e&&"timeupdate"===e.type&&Ye.media.seeking||xe(e)}function Ae(e){I.number(e)||(e=0);var t=de(),n=_(e,t);Ye.progress&&Ye.progress.played&&(Ye.progress.played.value=n),Ye.buttons&&Ye.buttons.seek&&(Ye.buttons.seek.value=n)}function Fe(e){var t=de();if(w.tooltips.seek&&Ye.progress.container&&0!==t){var n=Ye.progress.container.getBoundingClientRect(),a=0,s=w.classes.tooltip+"--visible";if(e)a=100/n.width*(e.pageX-n.left);else{if(!m(Ye.progress.tooltip,s))return;a=Ye.progress.tooltip.style.left.replace("%","")}0>a?a=0:a>100&&(a=100),Ee(t/100*a,Ye.progress.tooltip),Ye.progress.tooltip.style.left=a+"%",e&&r(["mouseenter","mouseleave"],e.type)&&p(Ye.progress.tooltip,s,"mouseenter"===e.type)}}function Ie(e){I.undefined(e)&&(e=Ye.storage.speed||w.defaultSpeed),ue(e)}function Pe(t){if(w.hideControls&&"audio"!==Ye.type){var n=0,a=!1,s=t,o=m(Ye.container,w.classes.loading);if(I["boolean"](t)||(t&&t.type?(a="enterfullscreen"===t.type,s=r(["mousemove","touchstart","mouseenter","focus"],t.type),r(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):s=m(Ye.container,w.classes.hideControls)),e.clearTimeout(Be.hover),s||Ye.media.paused||o){if(p(Ye.container,w.classes.hideControls,!1),Ye.media.paused||o)return;Ye.browser.isTouch&&(n=3e3)}s&&Ye.media.paused||(Be.hover=e.setTimeout(function(){(!Ye.controls.pressed&&!Ye.controls.hover||a)&&p(Ye.container,w.classes.hideControls,!0)},n))}}function Ne(e){if(!I.undefined(e))return void Me(e);var t;switch(Ye.type){case"youtube":t=Ye.embed.getVideoUrl();break;case"vimeo":Ye.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ye.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ye.media.currentSrc}return t||""}function Me(e){function n(){if(Ye.embed=null,i(Ye.media),"video"===Ye.type&&Ye.videoContainer&&i(Ye.videoContainer),Ye.container&&Ye.container.removeAttribute("class"),"type"in e&&(Ye.type=e.type,"video"===Ye.type)){var n=e.sources[0];"type"in n&&r(w.types.embed,n.type)&&(Ye.type=n.type)}switch(Ye.supported=T(Ye.type),Ye.type){case"video":Ye.media=t.createElement("video");break;case"audio":Ye.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ye.media=t.createElement("div"),Ye.embedId=e.sources[0].src}l(Ye.container,Ye.media),I["boolean"](e.autoplay)&&(w.autoplay=e.autoplay),r(w.types.html5,Ye.type)&&(w.crossorigin&&Ye.media.setAttribute("crossorigin",""),w.autoplay&&Ye.media.setAttribute("autoplay",""),"poster"in e&&Ye.media.setAttribute("poster",e.poster),w.loop&&Ye.media.setAttribute("loop","")),p(Ye.container,w.classes.fullscreen.active,Ye.isFullscreen),p(Ye.container,w.classes.captions.active,Ye.captionsEnabled),J(),r(w.types.html5,Ye.type)&&B("source",e.sources),Q(),r(w.types.html5,Ye.type)&&("tracks"in e&&B("track",e.tracks),Ye.media.load()),(r(w.types.html5,Ye.type)||r(w.types.embed,Ye.type)&&!Ye.supported.full)&&(De(),He()),w.title=e.title,$()}return I.object(e)&&"sources"in e&&e.sources.length?(p(Ye.container,w.classes.ready,!1),se(),Ae(),Te(),je(),void Ve(n,!1)):void Je("Invalid source format")}function Oe(e){"video"===Ye.type&&Ye.media.setAttribute("poster",e)}function Le(){function n(){var e=oe(),t=Ye.buttons[e?"play":"pause"],n=Ye.buttons[e?"pause":"play"];if(n=n&&n.length>1?n[n.length-1]:n[0]){var a=m(t,w.classes.tabFocus);setTimeout(function(){n.focus(),a&&(p(t,w.classes.tabFocus,!1),p(n,w.classes.tabFocus,!0))},100)}}function a(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null; +}function s(e){return e.keyCode?e.keyCode:e.which}function o(e){for(var t in Ye.buttons){var n=Ye.buttons[t];if(I.nodeList(n))for(var a=0;a0)&&(t?he(n):ve(n)),(e.deltaY>0||e.deltaX<0)&&(t?ve(n):he(n))})}function qe(){if(g(Ye.media,"timeupdate seeking",Ce),g(Ye.media,"timeupdate",V),g(Ye.media,"durationchange loadedmetadata",Se),g(Ye.media,"ended",function(){"video"===Ye.type&&w.showPosterOnEnd&&("video"===Ye.type&&j(),ce(),Ye.media.load())}),g(Ye.media,"progress playing",xe),g(Ye.media,"volumechange",_e),g(Ye.media,"play pause ended",pe),g(Ye.media,"waiting canplay seeked",we),w.clickToPlay&&"audio"!==Ye.type){var e=H("."+w.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",g(e,"click",function(){w.hideControls&&Ye.browser.isTouch&&!Ye.media.paused||(Ye.media.paused?re():Ye.media.ended?(ce(),re()):se())})}w.disableContextMenu&&g(Ye.media,"contextmenu",function(e){e.preventDefault()}),g(Ye.media,w.events.concat(["keyup","keydown"]).join(" "),function(e){E(Ye.container,e.type,!0)})}function je(){if(r(w.types.html5,Ye.type)){for(var e=Ye.media.querySelectorAll("source"),t=0;t' + config.i18n.settings + '', '', '' @@ -3159,7 +3161,6 @@ var menu = this, toggle = event.target, target = document.getElementById(toggle.getAttribute('aria-controls')), - tabs = menu.querySelectorAll('[role="tabpanel"]'), show = (toggle.getAttribute('aria-expanded') === 'false'); // Nothing to show, bail @@ -3167,21 +3168,52 @@ return; } + // Are we targetting a tab? + var isTab = target.getAttribute('role') === 'tabpanel', + targetWidth, + targetHeight, + container; + // Hide all other tabs - if (target.getAttribute('role') === 'tabpanel') { - [].forEach.call(tabs, function(tab) { - tab.setAttribute('aria-hidden', true); - tab.setAttribute('tabindex', -1); + if (isTab) { + // Get other tabs + var current = menu.querySelector('[role="tabpanel"][aria-hidden="false"]'); + container = current.parentNode; - [].forEach.call(menu.querySelectorAll('[aria-controls="' + tab.getAttribute('id') + '"]'), function(toggle) { - toggle.setAttribute('aria-expanded', false); - }); + [].forEach.call(menu.querySelectorAll('[aria-controls="' + current.getAttribute('id') + '"]'), function(toggle) { + toggle.setAttribute('aria-expanded', false); }); - } - toggle.setAttribute('aria-expanded', show); + container.style.width = current.scrollWidth + 'px'; + container.style.height = current.scrollHeight + 'px'; + + current.setAttribute('aria-hidden', true); + current.setAttribute('tabindex', -1); + + // Get the natural element size + var clone = target.cloneNode(true); + clone.style.position = "absolute"; + clone.style.opacity = 0; + clone.setAttribute('aria-hidden', false); + container.appendChild(clone); + targetWidth = clone.scrollWidth; + targetHeight = clone.scrollHeight; + _remove(clone); + } + target.setAttribute('aria-hidden', !show); + toggle.setAttribute('aria-expanded', show); target.setAttribute('tabindex', 0); + + if (isTab) { + container.style.width = targetWidth + 'px'; + container.style.height = targetHeight + 'px'; + + window.setTimeout(function() { + container.style.width = ''; + container.style.height = ''; + }, 300); + } }); // Seek tooltip diff --git a/src/less/plyr.less b/src/less/plyr.less index 26c92b2d..5ba916cd 100644 --- a/src/less/plyr.less +++ b/src/less/plyr.less @@ -492,14 +492,21 @@ right: -5px; margin-bottom: 10px; animation: plyr-popup .2s ease; + background: @plyr-menu-bg; box-shadow: 0 1px 0 fade(#000, 20%); border-radius: 4px; + white-space: nowrap; text-align: left; color: @plyr-menu-color; font-size: @plyr-font-size-small; + > div { + overflow: hidden; + transition: height .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1); + } + // Arrow &::after { content: ""; @@ -516,6 +523,7 @@ margin: 0; padding: 5px; list-style: none; + overflow: hidden; } button { display: flex; @@ -575,6 +583,7 @@ margin-left: auto; padding-left: ceil(@plyr-control-padding * 3.5); pointer-events: none; + overflow: hidden; } // Option value @@ -591,6 +600,16 @@ color: @plyr-menu-bg; font-size: 10px; } + + // When animating between menus + &.is-resizing { + overflow: hidden; + transition: height .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1); + + ul { + //opacity: 0; + } + } } }