(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("jquery")); else if(typeof define === 'function' && define.amd) define(["jquery"], factory); else if(typeof exports === 'object') exports["shutterbug"] = factory(require("jquery")); else root["Shutterbug"] = factory(root["jQuery"]); })(self, (__WEBPACK_EXTERNAL_MODULE_jquery__) => { return /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./js/default-server.js": /*!******************************!*\ !*** ./js/default-server.js ***! \******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); // Production: var DEFAULT_SERVER = 'https://api.concord.org/shutterbug-production'; // Staging: // const DEFAULT_SERVER = 'https://api.concord.org/shutterbug-staging' // Local: // const DEFAULT_SERVER = 'http://localhost:4000' /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DEFAULT_SERVER); /***/ }), /***/ "./js/html-tools.js": /*!**************************!*\ !*** ./js/html-tools.js ***! \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "cloneDomItem": () => (/* binding */ cloneDomItem), /* harmony export */ "generateFullHtmlFromFragment": () => (/* binding */ generateFullHtmlFromFragment), /* harmony export */ "getDataURL": () => (/* binding */ getDataURL) /* harmony export */ }); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); function cloneDomItem($elem, elemTag) { var $returnElm = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elemTag); $returnElm.addClass($elem.attr('class')); $returnElm.attr('id', $elem.attr('id')); $returnElm.attr('style', $elem.attr('style')); $returnElm.css('background', $elem.css('background')); $returnElm.attr('width', $elem.width()); $returnElm.attr('height', $elem.height()); return $returnElm; } // element should be an instance of Canvas or Video element (element supported as an input to Canvas.drawImage method). // In some cases dataURL should be rescaled down to real size of the element (high DPI displays). // It doesn't make sense to send original data, as it might be really large and cause issues while rendering page on // AWS Lambda. function getDataURL(element) { // Always use png to support transparent background. var format = 'image/png'; var realWidth = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).width(); var realHeight = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).height(); // When element hasn't been added to DOM, realWidth and realHeight will be equal to 0. var realDimensionsAvailable = realWidth > 0 && realHeight > 0; var widthAttr = Number(jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).attr('width')) || realWidth; var heightAttr = Number(jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).attr('height')) || realHeight; if (!realDimensionsAvailable || realWidth === widthAttr && realHeight === heightAttr) { return element.toDataURL(format); } // Scale down image to its real size. var canvas = document.createElement('canvas'); canvas.width = realWidth; canvas.height = realHeight; var ctx = canvas.getContext('2d'); // Other canvas or video element can be used as a source in .drawImage. ctx.drawImage(element, 0, 0, realWidth, realHeight); return canvas.toDataURL(format); } function generateFullHtmlFromFragment(fragment) { return "\n \n \n