{"version":3,"sources":["webpack:///youtube-fefb9b3c81d7e49dc37b.js","webpack:///./app/javascript/components/application/Youtube.jsx?2282","webpack:///./app/javascript/packs/youtube.js"],"names":["webpackJsonp","149","module","__webpack_exports__","__webpack_require__","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","n","_createClass","defineProperties","target","props","i","length","descriptor","defineProperty","key","protoProps","staticProps","Youtube","_React$Component","_ref","_temp","_this","_ret","this","_len","arguments","args","Array","_key","getPrototypeOf","apply","concat","loaded","e","preventDefault","setState","urlParser","document","createElement","href","videoEmbedURL","pathname","replace","search","controls","notLoaded","a","className","style","backgroundImage","thumbnailURL","title","alt","onClick","handleClick","frameBorder","src","embedURL","allowFullScreen","state","Component","PropTypes","string","isRequired","bool","447","__WEBPACK_IMPORTED_MODULE_1_react_dom__","__WEBPACK_IMPORTED_MODULE_1_react_dom___default","__WEBPACK_IMPORTED_MODULE_2_components_application_Youtube__","addEventListener","elements","querySelectorAll","forEach","el","render","getAttribute"],"mappings":"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","file":"youtube-fefb9b3c81d7e49dc37b.js","sourcesContent":["webpackJsonp([8],{\n\n/***/ 149:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nvar Youtube = function (_React$Component) {\n _inherits(Youtube, _React$Component);\n\n function Youtube() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Youtube);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Youtube.__proto__ || Object.getPrototypeOf(Youtube)).call.apply(_ref, [this].concat(args))), _this), Object.defineProperty(_this, \"state\", {\n enumerable: true,\n writable: true,\n value: {\n loaded: false\n }\n }), Object.defineProperty(_this, \"handleClick\", {\n enumerable: true,\n writable: true,\n value: function value(e) {\n e.preventDefault();\n\n _this.setState({ loaded: true });\n }\n }), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Youtube, [{\n key: \"thumbnailURL\",\n value: function thumbnailURL() {\n var urlParser = document.createElement(\"a\");\n urlParser.href = this.props.videoEmbedURL;\n var videoID = urlParser.pathname.replace(\"/embed/\", \"\");\n\n return \"https://i.ytimg.com/vi/\" + videoID + \"/hqdefault.jpg\";\n }\n }, {\n key: \"embedURL\",\n value: function embedURL() {\n var urlParser = document.createElement(\"a\");\n urlParser.href = this.props.videoEmbedURL;\n urlParser.search = \"?autoplay=1&autohide=1&rel=0&showinfo=0\"; // for embedding\n urlParser.search += this.props.controls ? \"&controls=1\" : \"&controls=0\";\n return urlParser.href;\n }\n }, {\n key: \"render\",\n value: function render() {\n var notLoaded = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n \"div\",\n { className: \"video-placeholder embed-responsive-item\",\n style: { backgroundImage: \"url(\" + this.thumbnailURL() + \")\" },\n title: this.props.alt,\n onClick: this.handleClick },\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", { className: \"play\" })\n );\n var loaded = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"iframe\", { frameBorder: \"0\", src: this.embedURL(), allowFullScreen: this.props.allowFullScreen });\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n \"div\",\n { className: \"embed-responsive embed-responsive-16by9\" },\n this.state.loaded ? loaded : notLoaded\n );\n }\n }]);\n\n return Youtube;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nObject.defineProperty(Youtube, \"propTypes\", {\n enumerable: true,\n writable: true,\n value: {\n videoEmbedURL: __WEBPACK_IMPORTED_MODULE_0_react___default.a.PropTypes.string.isRequired,\n alt: __WEBPACK_IMPORTED_MODULE_0_react___default.a.PropTypes.string,\n controls: __WEBPACK_IMPORTED_MODULE_0_react___default.a.PropTypes.bool,\n allowFullScreen: __WEBPACK_IMPORTED_MODULE_0_react___default.a.PropTypes.bool\n }\n});\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Youtube);\n\n/***/ }),\n\n/***/ 447:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_components_application_Youtube__ = __webpack_require__(149);\n\n\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var elements = document.querySelectorAll('.youtube');\n Array.prototype.forEach.call(elements, function (el, i) {\n // hack for old browsers\n __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_components_application_Youtube__[\"a\" /* default */], {\n videoEmbedURL: el.getAttribute('data-url'),\n alt: el.getAttribute('data-alt')\n }), el);\n });\n});\n\n/***/ })\n\n},[447]);\n\n\n// WEBPACK FOOTER //\n// youtube-fefb9b3c81d7e49dc37b.js","import React from 'react';\n\nclass Youtube extends React.Component {\n static propTypes = {\n videoEmbedURL: React.PropTypes.string.isRequired,\n alt: React.PropTypes.string,\n controls: React.PropTypes.bool,\n allowFullScreen: React.PropTypes.bool,\n }\n\n state = {\n loaded: false,\n }\n\n handleClick = (e) => {\n e.preventDefault();\n\n this.setState({ loaded: true });\n }\n\n thumbnailURL() {\n const urlParser = document.createElement(\"a\");\n urlParser.href = this.props.videoEmbedURL;\n const videoID = urlParser.pathname.replace(\"/embed/\", \"\");\n\n return `https://i.ytimg.com/vi/${videoID}/hqdefault.jpg`;\n }\n\n embedURL() {\n const urlParser = document.createElement(\"a\");\n urlParser.href = this.props.videoEmbedURL;\n urlParser.search = \"?autoplay=1&autohide=1&rel=0&showinfo=0\"; // for embedding\n urlParser.search += this.props.controls ? \"&controls=1\" : \"&controls=0\";\n return urlParser.href;\n }\n\n render() {\n const notLoaded = (\n