aboutsummaryrefslogtreecommitdiffstats
path: root/demo/dist/demo.js.map
blob: 11e7b6f259dcff8835cd26b39b7c77a9759db02b (plain)
1
{"version":3,"sources":["demo/src/js/demo.js"],"names":["i","s","o","r","a","m","document","addEventListener","window","shr","setup","tabClassName","target","classList","remove","event","keyCode","setTimeout","activeElement","add","player","Plyr","buttons","querySelectorAll","types","currentType","location","hash","replace","historySupport","history","pushState","toggleClass","element","className","state","newSource","type","init","length","video","source","audio","youtube","vimeo","from","forEach","button","parentElement","querySelector","setAttribute","removeAttribute","getAttribute","replaceState","host","GoogleAnalyticsObject","q","push","arguments","l","Date","createElement","getElementsByTagName","async","src","parentNode","insertBefore","ga"],"mappings":"6BAoOcA,EAAGC,EAAGC,EAAMC,EAAGC,EAAGC,EA9NhCC,SAASC,iBAAiB,mBAAoB,WACtCC,OAAOC,YACAA,IAAIC,wBAEQ,uBAMjBC,EAAe,qBAGZJ,iBAAiB,WAAY,cAC5BK,OAAOC,UAAUC,OAAOH,cAIzBJ,iBAAiB,UAAW,YACX,IAAlBQ,EAAMC,gBAMHC,WAAW,oBACLC,cAAcL,UAAUM,IAAIR,IACtC,SAIDS,EAAS,IAAIZ,OAAOa,KAAK,kBACpB,QACA,gCACE,qCAEG,uBAGE,qBAGF,gBAGA,uDAIJ,2LAKLD,OAASA,MAGVE,EAAUhB,SAASiB,iBAAiB,iBACpCC,SACK,cACA,gBACE,gBACF,SAEPC,EAAcjB,OAAOkB,SAASC,KAAKC,QAAQ,IAAK,IAC9CC,EAAiBrB,OAAOsB,SAAWtB,OAAOsB,QAAQC,mBAG/CC,EAAYC,EAASC,EAAWC,GACjCF,KACQpB,UAAUsB,EAAQ,MAAQ,UAAUD,YAK3CE,EAAUC,EAAMC,MAEfD,KAAQb,IAAYc,GAAQD,IAASZ,KAAkBA,EAAYc,QAAUF,IAASb,EAAMgB,eAI1FH,QACCb,EAAMgB,QACAC,aACG,cACC,sCAEE,4EACC,qBAEF,qFAGM,iBACC,kBACE,SACJ,mFACI,SAGH,iBACC,iBACE,SACJ,wFAOhBjB,EAAMkB,QACAD,aACG,cACC,4EAGM,mFACC,kBAGD,mFACC,0BAOjBjB,EAAMmB,UACAF,aACG,cACC,sCAEE,mDACK,wBAMjBjB,EAAMoB,QACAH,aACG,sBAEG,sCACK,aAWZJ,QAGRQ,KAAKvB,GAASwB,QAAQ,mBAAUd,EAAYe,EAAOC,cAAe,UAAU,OAGtE1C,SAAS2C,+BAA+BZ,QAAW,UAAU,SAGnEQ,KAAKvC,SAASiB,iBAAiB,gBAAgBuB,QAAQ,cACpDI,aAAa,SAAU,eAEvBD,8BAA8BZ,GAAQc,gBAAgB,oBAI7DN,KAAKvB,GAASwB,QAAQ,cACjBvC,iBAAiB,QAAS,eACvB8B,EAAOU,EAAOK,aAAa,iBAEvBf,GAENR,UACOC,QAAQC,WAAYM,QAAQ,OAAQA,cAMhD9B,iBAAiB,WAAY,YAC5BQ,EAAMoB,OAAS,SAAUpB,EAAMoB,SACrBpB,EAAMoB,MAAME,QAK1BR,EAAgB,KACVW,GAASf,EAAYc,OAGvBC,MACchB,EAAMgB,OAIpBf,KAAeD,UACRM,QAAQuB,mBAED5B,GAEV,GACAe,EAAQ,OAASf,GAKrBA,IAAgBD,EAAMgB,SACZf,GAAa,MAQN,YAAzBjB,OAAOkB,SAAS4B,OACNtD,EAaPQ,OAbUP,EAaFK,SAbKJ,EAaK,SAbCC,EAaoD,OAZpEoD,sBAAwBpD,IAC1B,GACIH,EAAA,IACA,YACKA,EAAA,GAAKwD,EAAIxD,EAAA,GAAKwD,OAASC,KAAKC,cAErC,GAAKC,EAAI,EAAI,IAAIC,OACb3D,EAAE4D,cAAc3D,KAChBD,EAAE6D,qBAAqB5D,GAAG,KAC5B6D,MAAQ,IACRC,IAEyB,4CADzBC,WAAWC,aAAa9D,EAAGC,UAE1B8D,GAAG,SAAU,iBAAkB,eAC/BA,GAAG,OAAQ","file":"demo.js","sourcesContent":["// ==========================================================================\n// Plyr.io demo\n// This code is purely for the https://plyr.io website\n// Please see readme.md in the root or github.com/sampotts/plyr\n// ==========================================================================\n\ndocument.addEventListener('DOMContentLoaded', () => {\n    if (window.shr) {\n        window.shr.setup({\n            count: {\n                classname: 'button__count',\n            },\n        });\n    }\n\n    // Setup tab focus\n    const tabClassName = 'tab-focus';\n\n    // Remove class on blur\n    document.addEventListener('focusout', event => {\n        event.target.classList.remove(tabClassName);\n    });\n\n    // Add classname to tabbed elements\n    document.addEventListener('keydown', event => {\n        if (event.keyCode !== 9) {\n            return;\n        }\n\n        // Delay the adding of classname until the focus has changed\n        // This event fires before the focusin event\n        window.setTimeout(() => {\n            document.activeElement.classList.add(tabClassName);\n        }, 0);\n    });\n\n    // Setup the player\n    const player = new window.Plyr('#player', {\n        debug: true,\n        title: 'View From A Blue Moon',\n        iconUrl: '../dist/plyr.svg',\n        keyboard: {\n            global: true,\n        },\n        tooltips: {\n            controls: true,\n        },\n        captions: {\n            active: true,\n        },\n        keys: {\n            google: 'AIzaSyDrNwtN3nLH_8rjCmu5Wq3ZCm4MNAVdc0c',\n        },\n        ads: {\n            tagUrl:\n                'https://go.aniview.com/api/adserver6/vast/?AV_PUBLISHERID=58c25bb0073ef448b1087ad6&AV_CHANNELID=5a0458dc28a06145e4519d21&AV_URL=127.0.0.1:3000&cb=1&AV_WIDTH=640&AV_HEIGHT=480',\n        },\n    });\n\n    // Expose for testing\n    window.player = player;\n\n    // Setup type toggle\n    const buttons = document.querySelectorAll('[data-source]');\n    const types = {\n        video: 'video',\n        audio: 'audio',\n        youtube: 'youtube',\n        vimeo: 'vimeo',\n    };\n    let currentType = window.location.hash.replace('#', '');\n    const historySupport = window.history && window.history.pushState;\n\n    // Toggle class on an element\n    function toggleClass(element, className, state) {\n        if (element) {\n            element.classList[state ? 'add' : 'remove'](className);\n        }\n    }\n\n    // Set a new source\n    function newSource(type, init) {\n        // Bail if new type isn't known, it's the current type, or current type is empty (video is default) and new type is video\n        if (!(type in types) || (!init && type === currentType) || (!currentType.length && type === types.video)) {\n            return;\n        }\n\n        switch (type) {\n            case types.video:\n                player.source = {\n                    type: 'video',\n                    title: 'View From A Blue Moon',\n                    sources: [{\n                        src: 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.mp4',\n                        type: 'video/mp4',\n                    }],\n                    poster: 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.jpg',\n                    tracks: [\n                        {\n                            kind: 'captions',\n                            label: 'English',\n                            srclang: 'en',\n                            src: 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.en.vtt',\n                            default: true,\n                        },\n                        {\n                            kind: 'captions',\n                            label: 'French',\n                            srclang: 'fr',\n                            src: 'https://cdn.plyr.io/static/demo/View_From_A_Blue_Moon_Trailer-HD.fr.vtt',\n                        },\n                    ],\n                };\n\n                break;\n\n            case types.audio:\n                player.source = {\n                    type: 'audio',\n                    title: 'Kishi Bashi – “It All Began With A Burst”',\n                    sources: [\n                        {\n                            src: 'https://cdn.plyr.io/static/demo/Kishi_Bashi_-_It_All_Began_With_a_Burst.mp3',\n                            type: 'audio/mp3',\n                        },\n                        {\n                            src: 'https://cdn.plyr.io/static/demo/Kishi_Bashi_-_It_All_Began_With_a_Burst.ogg',\n                            type: 'audio/ogg',\n                        },\n                    ],\n                };\n\n                break;\n\n            case types.youtube:\n                player.source = {\n                    type: 'video',\n                    title: 'View From A Blue Moon',\n                    sources: [{\n                        src: 'https://youtube.com/watch?v=bTqVqk7FSmY',\n                        provider: 'youtube',\n                    }],\n                };\n\n                break;\n\n            case types.vimeo:\n                player.source = {\n                    type: 'video',\n                    sources: [{\n                        src: 'https://vimeo.com/76979871',\n                        provider: 'vimeo',\n                    }],\n                };\n\n                break;\n\n            default:\n                break;\n        }\n\n        // Set the current type for next time\n        currentType = type;\n\n        // Remove active classes\n        Array.from(buttons).forEach(button => toggleClass(button.parentElement, 'active', false));\n\n        // Set active on parent\n        toggleClass(document.querySelector(`[data-source=\"${type}\"]`), 'active', true);\n\n        // Show cite\n        Array.from(document.querySelectorAll('.plyr__cite')).forEach(cite => {\n            cite.setAttribute('hidden', '');\n        });\n        document.querySelector(`.plyr__cite--${type}`).removeAttribute('hidden');\n    }\n\n    // Bind to each button\n    Array.from(buttons).forEach(button => {\n        button.addEventListener('click', () => {\n            const type = button.getAttribute('data-source');\n\n            newSource(type);\n\n            if (historySupport) {\n                window.history.pushState({ type }, '', `#${type}`);\n            }\n        });\n    });\n\n    // List for backwards/forwards\n    window.addEventListener('popstate', event => {\n        if (event.state && 'type' in event.state) {\n            newSource(event.state.type);\n        }\n    });\n\n    // On load\n    if (historySupport) {\n        const video = !currentType.length;\n\n        // If there's no current type set, assume video\n        if (video) {\n            currentType = types.video;\n        }\n\n        // Replace current history state\n        if (currentType in types) {\n            window.history.replaceState(\n                {\n                    type: currentType,\n                },\n                '',\n                video ? '' : `#${currentType}`,\n            );\n        }\n\n        // If it's not video, load the source\n        if (currentType !== types.video) {\n            newSource(currentType, true);\n        }\n    }\n});\n\n// Google analytics\n// For demo site (https://plyr.io) only\n/* eslint-disable */\nif (window.location.host === 'plyr.io') {\n    (function(i, s, o, g, r, a, m) {\n        i.GoogleAnalyticsObject = r;\n        i[r] =\n            i[r] ||\n            function() {\n                (i[r].q = i[r].q || []).push(arguments);\n            };\n        i[r].l = 1 * new Date();\n        a = s.createElement(o);\n        m = s.getElementsByTagName(o)[0];\n        a.async = 1;\n        a.src = g;\n        m.parentNode.insertBefore(a, m);\n    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');\n    window.ga('create', 'UA-40881672-11', 'auto');\n    window.ga('send', 'pageview');\n}\n/* eslint-enable */\n"]}