diff --git a/dist/videojs-download-button.css b/dist/videojs-download-button.css index 66a7754..fbcbb76 100644 --- a/dist/videojs-download-button.css +++ b/dist/videojs-download-button.css @@ -1,7 +1,7 @@ /** * videojs-download-button - * @version 0.0.1 - * @copyright 2016 Mikhail Khazov mikhail.khazov@gmail.com + * @version 0.1.0 + * @copyright 2017 Mikhail Khazov mikhail.khazov@gmail.com * @license MIT */ .video-js .vjs-download-button-control{width:14px;height:100%;margin:0 1em;background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTQgMTMiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE0IDEzOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6I2ZmZmZmZjt9PC9zdHlsZT48cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjEyLDkgMTIsMTEgMiwxMSAyLDkgMCw5IDAsMTMgMTQsMTMgMTQsOSAiLz48cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjEwLDMuNiA4LDUuNiA4LDAgNiwwIDYsNS42IDQsMy42IDIuNiw1IDcsOS40IDExLjQsNSAiLz48L3N2Zz4=) 0 50% no-repeat} diff --git a/dist/videojs-download-button.js b/dist/videojs-download-button.js index 6e18a6c..4866471 100644 --- a/dist/videojs-download-button.js +++ b/dist/videojs-download-button.js @@ -1,3 +1,9 @@ +/** + * videojs-download-button + * @version 0.1.0 + * @copyright 2017 Mikhail Khazov mikhail.khazov@gmail.com + * @license MIT + */ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.videojsDownloadButton = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o (function(window, videojs) { var player = window.player = videojs('videojs-download-button-player'); - player.downloadButton({text: 'Download me!'}); + player.downloadButton({text: 'Download me!', allDownloads: true}); }(window, window.videojs)); diff --git a/src/plugin.js b/src/plugin.js index e2cd4c6..feb3cf9 100644 --- a/src/plugin.js +++ b/src/plugin.js @@ -3,7 +3,8 @@ const ClickableComponent = videojs.getComponent('ClickableComponent'); // Default options for the plugin. const defaults = { - text: 'Download' + text: 'Download', + allDownloads: false }; /** @@ -25,20 +26,32 @@ const onPlayerReady = (player, options) => { player.addClass('vjs-download-button'); if (!player.controlBar.childNameIndex_.hasOwnProperty('DownloadButton')) { - let linkProps = { + + let label = (src) => (options.allDownloads + ? `${options.text} (type: ${src.type})` + : options.text); + + let sources = options.allDownloads + ? player.currentSources() + : [{src: player.currentSrc(), type: player.currentType()}]; + + let linkProps = src => ({ className: buildCSSClass(), - href: player.currentSrc(), - title: options.text, + href: src.src, + title: label(src), download: '' - }; - let linkAttrs = { + }); + + let linkAttrs = src => ({ 'aria-live': 'polite', - 'aria-label': options.text - }; + 'aria-label': label(src) + }); - player.controlBar.addChild(new ClickableComponent(this, { - el: ClickableComponent.prototype.createEl('a', linkProps, linkAttrs) - })); + sources.forEach(source => { + player.controlBar.addChild(new ClickableComponent(this, { + el: ClickableComponent.prototype.createEl('a', linkProps(source), linkAttrs(source)) + })); + }); } }; diff --git a/test/dist/bundle.js b/test/dist/bundle.js index d30a565..abb6b24 100644 --- a/test/dist/bundle.js +++ b/test/dist/bundle.js @@ -19,7 +19,6 @@ if (typeof document !== 'undefined') { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - },{"min-document":1}],3:[function(require,module,exports){ (function (global){ 'use strict'; @@ -38,7 +37,8 @@ var ClickableComponent = _videoJs2['default'].getComponent('ClickableComponent') // Default options for the plugin. var defaults = { - text: 'Download' + text: 'Download', + allDownloads: false }; /** @@ -60,20 +60,36 @@ var onPlayerReady = function onPlayerReady(player, options) { player.addClass('vjs-download-button'); if (!player.controlBar.childNameIndex_.hasOwnProperty('DownloadButton')) { - var linkProps = { - className: buildCSSClass(), - href: player.currentSrc(), - title: options.text, - download: '' - }; - var linkAttrs = { - 'aria-live': 'polite', - 'aria-label': options.text - }; - - player.controlBar.addChild(new ClickableComponent(undefined, { - el: ClickableComponent.prototype.createEl('a', linkProps, linkAttrs) - })); + (function () { + + var label = function label(src) { + return options.allDownloads ? options.text + ' (type: ' + src.type + ')' : options.text; + }; + + var sources = options.allDownloads ? player.currentSources() : [{ src: player.currentSrc(), type: player.currentType() }]; + + var linkProps = function linkProps(src) { + return { + className: buildCSSClass(), + href: src.src, + title: label(src), + download: '' + }; + }; + + var linkAttrs = function linkAttrs(src) { + return { + 'aria-live': 'polite', + 'aria-label': label(src) + }; + }; + + sources.forEach(function (source) { + player.controlBar.addChild(new ClickableComponent(undefined, { + el: ClickableComponent.prototype.createEl('a', linkProps(source), linkAttrs(source)) + })); + }); + })(); } }; @@ -107,7 +123,6 @@ exports['default'] = downloadButton; module.exports = exports['default']; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - },{}],4:[function(require,module,exports){ (function (global){ 'use strict'; @@ -179,6 +194,4 @@ _qunit2['default'].test('registers itself with video.js', function (assert) { }); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"../src/plugin":3,"global/document":2}]},{},[4]) -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvYnJvd3Nlci1yZXNvbHZlL2VtcHR5LmpzIiwibm9kZV9tb2R1bGVzL2dsb2JhbC9kb2N1bWVudC5qcyIsIi9Vc2Vycy9ta2hhem92L3Byb2plY3RzL3ZpZGVvanMtZG93bmxvYWQtYnV0dG9uL3NyYy9wbHVnaW4uanMiLCIvVXNlcnMvbWtoYXpvdi9wcm9qZWN0cy92aWRlb2pzLWRvd25sb2FkLWJ1dHRvbi90ZXN0L3BsdWdpbi50ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O3VCQ2ZvQixVQUFVOzs7O0FBQzlCLElBQU0sa0JBQWtCLEdBQUcscUJBQVEsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7OztBQUd0RSxJQUFNLFFBQVEsR0FBRztBQUNmLE1BQUksRUFBRSxVQUFVO0NBQ2pCLENBQUM7Ozs7OztBQU1GLElBQU0sYUFBYSxHQUFHLFNBQWhCLGFBQWEsR0FBUztBQUMxQiwwQ0FBc0Msa0JBQWtCLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFHO0NBQ3RGLENBQUM7Ozs7Ozs7OztBQVNGLElBQU0sYUFBYSxHQUFHLFNBQWhCLGFBQWEsQ0FBSSxNQUFNLEVBQUUsT0FBTyxFQUFLO0FBQ3pDLFFBQU0sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQzs7QUFFdkMsTUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO0FBQ3ZFLFFBQUksU0FBUyxHQUFHO0FBQ2QsZUFBUyxFQUFFLGFBQWEsRUFBRTtBQUMxQixVQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtBQUN6QixXQUFL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QyxFQUFFLENBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFDM0MsdUNBQXVDLENBQ3hDLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiIiwidmFyIHRvcExldmVsID0gdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOlxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDoge31cbnZhciBtaW5Eb2MgPSByZXF1aXJlKCdtaW4tZG9jdW1lbnQnKTtcblxuaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGRvY3VtZW50O1xufSBlbHNlIHtcbiAgICB2YXIgZG9jY3kgPSB0b3BMZXZlbFsnX19HTE9CQUxfRE9DVU1FTlRfQ0FDSEVANCddO1xuXG4gICAgaWYgKCFkb2NjeSkge1xuICAgICAgICBkb2NjeSA9IHRvcExldmVsWydfX0dMT0JBTF9ET0NVTUVOVF9DQUNIRUA0J10gPSBtaW5Eb2M7XG4gICAgfVxuXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBkb2NjeTtcbn1cbiIsImltcG9ydCB2aWRlb2pzIGZyb20gJ3ZpZGVvLmpzJztcbmNvbnN0IENsaWNrYWJsZUNvbXBvbmVudCA9IHZpZGVvanMuZ2V0Q29tcG9uZW50KCdDbGlja2FibGVDb21wb25lbnQnKTtcblxuLy8gRGVmYXVsdCBvcHRpb25zIGZvciB0aGUgcGx1Z2luLlxuY29uc3QgZGVmYXVsdHMgPSB7XG4gIHRleHQ6ICdEb3dubG9hZCdcbn07XG5cbi8qKlxuICogU3RhY2sgQ1NTIGNsYXNzIG5hbWVzLlxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5jb25zdCBidWlsZENTU0NsYXNzID0gKCkgPT4ge1xuICByZXR1cm4gYHZqcy1kb3dubG9hZC1idXR0b24tY29udHJvbCAke0NsaWNrYWJsZUNvbXBvbmVudC5wcm90b3R5cGUuYnVpbGRDU1NDbGFzcygpfWA7XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGludm9rZSB3aGVuIHRoZSBwbGF5ZXIgaXMgcmVhZHkuXG4gKlxuICogQGZ1bmN0aW9uIG9uUGxheWVyUmVhZHlcbiAqIEBwYXJhbSAgICB7UGxheWVyfSBwbGF5ZXJcbiAqIEBwYXJhbSAgICB7T2JqZWN0fSBbb3B0aW9ucz17fV1cbiAqL1xuY29uc3Qgb25QbGF5ZXJSZWFkeSA9IChwbGF5ZXIsIG9wdGlvbnMpID0+IHtcbiAgcGxheWVyLmFkZENsYXNzKCd2anMtZG93bmxvYWQtYnV0dG9uJyk7XG5cbiAgaWYgKCFwbGF5ZXIuY29udHJvbEJhci5jaGlsZE5hbWVJbmRleF8uaGFzT3duUHJvcGVydHkoJ0Rvd25sb2FkQnV0dG9uJykpIHtcbiAgICBsZXQgbGlua1Byb3BzID0ge1xuICAgICAgY2xhc3NOYW1lOiBidWlsZENTU0NsYXNzKCksXG4gICAgICBocmVmOiBwbGF5ZXIuY3VycmVudFNyYygpLFxuICAgICAgdGl0bGU6IG9wdGlvbnMudGV4dCxcbiAgICAgIGRvd25sb2FkOiAnJ1xuICAgIH07XG4gICAgbGV0IGxpbmtBdHRycyA9IHtcbiAgICAgICdhcmlhLWxpdmUnOiAncG9saXRlJyxcbiAgICAgICdhcmlhLWxhYmVsJzogb3B0aW9ucy50ZXh0XG4gICAgfTtcblxuICAgIHBsYXllci5jb250cm9sQmFyLmFkZENoaWxkKG5ldyBDbGlja2FibGVDb21wb25lbnQodGhpcywge1xuICAgICAgZWw6IENsaWNrYWJsZUNvbXBvbmVudC5wcm90b3R5cGUuY3JlYXRlRWwoJ2EnLCBsaW5rUHJvcHMsIGxpbmtBdHRycylcbiAgICB9KSk7XG4gIH1cbn07XG5cbi8qKlxuICogQSB2aWRlby5qcyBwbHVnaW4uXG4gKlxuICogSW4gdGhlIHBsdWdpbiBmdW5jdGlvbiwgdGhlIHZhbHVlIG9mIGB0aGlzYCBpcyBhIHZpZGVvLmpzIGBQbGF5ZXJgXG4gKiBpbnN0YW5jZS4gWW91IGNhbm5vdCByZWx5IG9uIHRoZSBwbGF5ZXIgYmVpbmcgaW4gYSBcInJlYWR5XCIgc3RhdGUgaGVyZSxcbiAqIGRlcGVuZGluZyBvbiBob3cgdGhlIHBsdWdpbiBpcyBpbnZva2VkLiBUaGlzIG1heSBvciBtYXkgbm90IGJlIGltcG9ydGFudFxuICogdG8geW91OyBpZiBub3QsIHJlbW92ZSB0aGUgd2FpdCBmb3IgXCJyZWFkeVwiIVxuICpcbiAqIEBmdW5jdGlvbiBkb3dubG9hZEJ1dHRvblxuICogQHBhcmFtICAgIHtPYmplY3R9IFtvcHRpb25zPXt9XVxuICogICAgICAgICAgIEFuIG9iamVjdCBvZiBvcHRpb25zIGxlZnQgdG8gdGhlIHBsdWdpbiBhdXRob3IgdG8gZGVmaW5lLlxuICovXG5jb25zdCBkb3dubG9hZEJ1dHRvbiA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgdGhpcy5yZWFkeSgoKSA9PiB7XG4gICAgb25QbGF5ZXJSZWFkeSh0aGlzLCB2aWRlb2pzLm1lcmdlT3B0aW9ucyhkZWZhdWx0cywgb3B0aW9ucykpO1xuICB9KTtcbn07XG5cbi8vIFJlZ2lzdGVyIHRoZSBwbHVnaW4gd2l0aCB2aWRlby5qcy5cbnZpZGVvanMucGx1Z2luKCdkb3dubG9hZEJ1dHRvbicsIGRvd25sb2FkQnV0dG9uKTtcblxuLy8gSW5jbHVkZSB0aGUgdmVyc2lvbiBudW1iZXIuXG5kb3dubG9hZEJ1dHRvbi5WRVJTSU9OID0gJ19fVkVSU0lPTl9fJztcblxuZXhwb3J0IGRlZmF1bHQgZG93bmxvYWRCdXR0b247XG4iLCJpbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcblxuaW1wb3J0IFFVbml0IGZyb20gJ3F1bml0JztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgdmlkZW9qcyBmcm9tICd2aWRlby5qcyc7XG5cbmltcG9ydCBwbHVnaW4gZnJvbSAnLi4vc3JjL3BsdWdpbic7XG5cbmNvbnN0IFBsYXllciA9IHZpZGVvanMuZ2V0Q29tcG9uZW50KCdQbGF5ZXInKTtcblxuUVVuaXQudGVzdCgndGhlIGVudmlyb25tZW50IGlzIHNhbmUnLCBmdW5jdGlvbihhc3NlcnQpIHtcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBBcnJheS5pc0FycmF5LCAnZnVuY3Rpb24nLCAnZXM1IGV4aXN0cycpO1xuICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHNpbm9uLCAnb2JqZWN0JywgJ3Npbm9uIGV4aXN0cycpO1xuICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHZpZGVvanMsICdmdW5jdGlvbicsICd2aWRlb2pzIGV4aXN0cycpO1xuICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHBsdWdpbiwgJ2Z1bmN0aW9uJywgJ3BsdWdpbiBpcyBhIGZ1bmN0aW9uJyk7XG59KTtcblxuUVVuaXQubW9kdWxlKCd2aWRlb2pzLWRvd25sb2FkLWJ1dHRvbicsIHtcblxuICBiZWZvcmVFYWNoKCkge1xuXG4gICAgLy8gTW9jayB0aGUgZW52aXJvbm1lbnQncyB0aW1lcnMgYmVjYXVzZSBjZXJ0YWluIHRoaW5ncyAtIHBhcnRpY3VsYXJseVxuICAgIC8vIHBsYXllciByZWFkaW5lc3MgLSBhcmUgYXN5bmNocm9ub3VzIGluIHZpZGVvLmpzIDUuIFRoaXMgTVVTVCBjb21lXG4gICAgLy8gYmVmb3JlIGFueSBwbGF5ZXIgaXMgY3JlYXRlZDsgb3RoZXJ3aXNlLCB0aW1lcnMgY291bGQgZ2V0IGNyZWF0ZWRcbiAgICAvLyB3aXRoIHRoZSBhY3R1YWwgdGltZXIgbWV0aG9kcyFcbiAgICB0aGlzLmNsb2NrID0gc2lub24udXNlRmFrZVRpbWVycygpO1xuXG4gICAgdGhpcy5maXh0dXJlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3F1bml0LWZpeHR1cmUnKTtcbiAgICB0aGlzLnZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICB0aGlzLmZpeHR1cmUuYXBwZW5kQ2hpbGQodGhpcy52aWRlbyk7XG4gICAgdGhpcy5wbGF5ZXIgPSB2aWRlb2pzKHRoaXMudmlkZW8pO1xuICB9LFxuXG4gIGFmdGVyRWFjaCgpIHtcbiAgICB0aGlzLnBsYXllci5kaXNwb3NlKCk7XG4gICAgdGhpcy5jbG9jay5yZXN0b3JlKCk7XG4gIH1cbn0pO1xuXG5RVW5pdC50ZXN0KCdyZWdpc3RlcnMgaXRzZWxmIHdpdGggdmlkZW8uanMnLCBmdW5jdGlvbihhc3NlcnQpIHtcbiAgYXNzZXJ0LmV4cGVjdCgyKTtcblxuICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgUGxheWVyLnByb3RvdHlwZS5kb3dubG9hZEJ1dHRvbixcbiAgICBwbHVnaW4sXG4gICAgJ3ZpZGVvanMtZG93bmxvYWQtYnV0dG9uIHBsdWdpbiB3YXMgcmVnaXN0ZXJlZCdcbiAgKTtcblxuICB0aGlzLnBsYXllci5kb3dubG9hZEJ1dHRvbigpO1xuXG4gIC8vIFRpY2sgdGhlIGNsb2NrIGZvcndhcmQgZW5vdWdoIHRvIHRyaWdnZXIgdGhlIHBsYXllciB0byBiZSBcInJlYWR5XCIuXG4gIHRoaXMuY2xvY2sudGljaygxKTtcblxuICBhc3NlcnQub2soXG4gICAgdGhpcy5wbGF5ZXIuaGFzQ2xhc3MoJ3Zqcy1kb3dubG9hZC1idXR0b24nKSxcbiAgICAndGhlIHBsdWdpbiBhZGRzIGEgY2xhc3MgdG8gdGhlIHBsYXllcidcbiAgKTtcbn0pO1xuIl19 +},{"../src/plugin":3,"global/document":2}]},{},[4]);