{"version":3,"sources":["webpack://berenedacom/../node_modules/print-js/dist/print.js"],"names":[],"mappings":"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","file":"nm.print-js.f3cf3f0a551cbc4ca85e.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"printJS\"] = factory();\n\telse\n\t\troot[\"printJS\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sass_index_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sass/index.scss */ \"./src/sass/index.scss\");\n/* harmony import */ var _sass_index_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_sass_index_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _js_init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./js/init */ \"./src/js/init.js\");\n\n\nvar printJS = _js_init__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n\nif (typeof window !== 'undefined') {\n window.printJS = printJS;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (printJS);\n\n/***/ }),\n\n/***/ \"./src/js/browser.js\":\n/*!***************************!*\\\n !*** ./src/js/browser.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar Browser = {\n // Firefox 1.0+\n isFirefox: function isFirefox() {\n return typeof InstallTrigger !== 'undefined';\n },\n // Internet Explorer 6-11\n isIE: function isIE() {\n return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode;\n },\n // Edge 20+\n isEdge: function isEdge() {\n return !Browser.isIE() && !!window.StyleMedia;\n },\n // Chrome 1+\n isChrome: function isChrome() {\n var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n return !!context.chrome;\n },\n // At least Safari 3+: \"[object HTMLElementConstructor]\"\n isSafari: function isSafari() {\n return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 || navigator.userAgent.toLowerCase().indexOf('safari') !== -1;\n },\n // IOS Chrome\n isIOSChrome: function isIOSChrome() {\n return navigator.userAgent.toLowerCase().indexOf('crios') !== -1;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browser);\n\n/***/ }),\n\n/***/ \"./src/js/functions.js\":\n/*!*****************************!*\\\n !*** ./src/js/functions.js ***!\n \\*****************************/\n/*! exports provided: addWrapper, capitalizePrint, collectStyles, addHeader, cleanUp, isRawHTML */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addWrapper\", function() { return addWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"capitalizePrint\", function() { return capitalizePrint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collectStyles\", function() { return collectStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addHeader\", function() { return addHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanUp\", function() { return cleanUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRawHTML\", function() { return isRawHTML; });\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modal */ \"./src/js/modal.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nfunction addWrapper(htmlData, params) {\n var bodyStyle = 'font-family:' + params.font + ' !important; font-size: ' + params.font_size + ' !important; width:100%;';\n return '
' + htmlData + '
';\n}\nfunction capitalizePrint(obj) {\n return obj.charAt(0).toUpperCase() + obj.slice(1);\n}\nfunction collectStyles(element, params) {\n var win = document.defaultView || window; // String variable to hold styling for each element\n\n var elementStyle = ''; // Loop over computed styles\n\n var styles = win.getComputedStyle(element, '');\n\n for (var key = 0; key < styles.length; key++) {\n // Check if style should be processed\n if (params.targetStyles.indexOf('*') !== -1 || params.targetStyle.indexOf(styles[key]) !== -1 || targetStylesMatch(params.targetStyles, styles[key])) {\n if (styles.getPropertyValue(styles[key])) elementStyle += styles[key] + ':' + styles.getPropertyValue(styles[key]) + ';';\n }\n } // Print friendly defaults (deprecated)\n\n\n elementStyle += 'max-width: ' + params.maxWidth + 'px !important; font-size: ' + params.font_size + ' !important;';\n return elementStyle;\n}\n\nfunction targetStylesMatch(styles, value) {\n for (var i = 0; i < styles.length; i++) {\n if (_typeof(value) === 'object' && value.indexOf(styles[i]) !== -1) return true;\n }\n\n return false;\n}\n\nfunction addHeader(printElement, params) {\n // Create the header container div\n var headerContainer = document.createElement('div'); // Check if the header is text or raw html\n\n if (isRawHTML(params.header)) {\n headerContainer.innerHTML = params.header;\n } else {\n // Create header element\n var headerElement = document.createElement('h1'); // Create header text node\n\n var headerNode = document.createTextNode(params.header); // Build and style\n\n headerElement.appendChild(headerNode);\n headerElement.setAttribute('style', params.headerStyle);\n headerContainer.appendChild(headerElement);\n }\n\n printElement.insertBefore(headerContainer, printElement.childNodes[0]);\n}\nfunction cleanUp(params) {\n // If we are showing a feedback message to user, remove it\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_0__[\"default\"].close(); // Check for a finished loading hook function\n\n if (params.onLoadingEnd) params.onLoadingEnd(); // If preloading pdf files, clean blob url\n\n if (params.showModal || params.onLoadingStart) window.URL.revokeObjectURL(params.printable); // Run onPrintDialogClose callback\n\n var event = 'mouseover';\n\n if (_browser__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isChrome() || _browser__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isFirefox()) {\n // Ps.: Firefox will require an extra click in the document to fire the focus event.\n event = 'focus';\n }\n\n var handler = function handler() {\n // Make sure the event only happens once.\n window.removeEventListener(event, handler);\n params.onPrintDialogClose(); // Remove iframe from the DOM\n\n var iframe = document.getElementById(params.frameId);\n\n if (iframe) {\n iframe.remove();\n }\n };\n\n window.addEventListener(event, handler);\n}\nfunction isRawHTML(raw) {\n var regexHtml = new RegExp('<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*>(.*?)');\n return regexHtml.test(raw);\n}\n\n/***/ }),\n\n/***/ \"./src/js/html.js\":\n/*!************************!*\\\n !*** ./src/js/html.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Get the DOM printable element\n var printElement = isHtmlElement(params.printable) ? params.printable : document.getElementById(params.printable); // Check if the element exists\n\n if (!printElement) {\n window.console.error('Invalid HTML element id: ' + params.printable);\n return;\n } // Clone the target element including its children (if available)\n\n\n params.printableElement = cloneElement(printElement, params); // Add header\n\n if (params.header) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params);\n } // Print html element contents\n\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\nfunction cloneElement(element, params) {\n // Clone the main node (if not already inside the recursion process)\n var clone = element.cloneNode(); // Loop over and process the children elements / nodes (including text nodes)\n\n var childNodesArray = Array.prototype.slice.call(element.childNodes);\n\n for (var i = 0; i < childNodesArray.length; i++) {\n // Check if we are skipping the current element\n if (params.ignoreElements.indexOf(childNodesArray[i].id) !== -1) {\n continue;\n } // Clone the child element\n\n\n var clonedChild = cloneElement(childNodesArray[i], params); // Attach the cloned child to the cloned parent node\n\n clone.appendChild(clonedChild);\n } // Get all styling for print element (for nodes of type element only)\n\n\n if (params.scanStyles && element.nodeType === 1) {\n clone.setAttribute('style', Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"collectStyles\"])(element, params));\n } // Check if the element needs any state processing (copy user input data)\n\n\n switch (element.tagName) {\n case 'SELECT':\n // Copy the current selection value to its clone\n clone.value = element.value;\n break;\n\n case 'CANVAS':\n // Copy the canvas content to its clone\n clone.getContext('2d').drawImage(element, 0, 0);\n break;\n }\n\n return clone;\n}\n\nfunction isHtmlElement(printable) {\n // Check if element is instance of HTMLElement or has nodeType === 1 (for elements in iframe)\n return _typeof(printable) === 'object' && printable && (printable instanceof HTMLElement || printable.nodeType === 1);\n}\n\n/***/ }),\n\n/***/ \"./src/js/image.js\":\n/*!*************************!*\\\n !*** ./src/js/image.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we are printing one image or multiple images\n if (params.printable.constructor !== Array) {\n // Create array with one image\n params.printable = [params.printable];\n } // Create printable element (container)\n\n\n params.printableElement = document.createElement('div'); // Create all image elements and append them to the printable container\n\n params.printable.forEach(function (src) {\n // Create the image element\n var img = document.createElement('img');\n img.setAttribute('style', params.imageStyle); // Set image src with the file url\n\n img.src = src; // The following block is for Firefox, which for some reason requires the image's src to be fully qualified in\n // order to print it\n\n if (_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isFirefox()) {\n var fullyQualifiedSrc = img.src;\n img.src = fullyQualifiedSrc;\n } // Create the image wrapper\n\n\n var imageWrapper = document.createElement('div'); // Append image to the wrapper element\n\n imageWrapper.appendChild(img); // Append wrapper to the printable element\n\n params.printableElement.appendChild(imageWrapper);\n }); // Check if we are adding a print header\n\n if (params.header) Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params); // Print image\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/js/init.js\":\n/*!************************!*\\\n !*** ./src/js/init.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modal */ \"./src/js/modal.js\");\n/* harmony import */ var _pdf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf */ \"./src/js/pdf.js\");\n/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./html */ \"./src/js/html.js\");\n/* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ \"./src/js/raw-html.js\");\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./image */ \"./src/js/image.js\");\n/* harmony import */ var _json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./json */ \"./src/js/json.js\");\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\nvar printTypes = ['pdf', 'html', 'image', 'json', 'raw-html'];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: function init() {\n var params = {\n printable: null,\n fallbackPrintable: null,\n type: 'pdf',\n header: null,\n headerStyle: 'font-weight: 300;',\n maxWidth: 800,\n properties: null,\n gridHeaderStyle: 'font-weight: bold; padding: 5px; border: 1px solid #dddddd;',\n gridStyle: 'border: 1px solid lightgray; margin-bottom: -1px;',\n showModal: false,\n onError: function onError(error) {\n throw error;\n },\n onLoadingStart: null,\n onLoadingEnd: null,\n onPrintDialogClose: function onPrintDialogClose() {},\n onIncompatibleBrowser: function onIncompatibleBrowser() {},\n modalMessage: 'Retrieving Document...',\n frameId: 'printJS',\n printableElement: null,\n documentTitle: 'Document',\n targetStyle: ['clear', 'display', 'width', 'min-width', 'height', 'min-height', 'max-height'],\n targetStyles: ['border', 'box', 'break', 'text-decoration'],\n ignoreElements: [],\n repeatTableHeader: true,\n css: null,\n style: null,\n scanStyles: true,\n base64: false,\n // Deprecated\n onPdfOpen: null,\n font: 'TimesNewRoman',\n font_size: '12pt',\n honorMarginPadding: true,\n honorColor: false,\n imageStyle: 'max-width: 100%;'\n }; // Check if a printable document or object was supplied\n\n var args = arguments[0];\n\n if (args === undefined) {\n throw new Error('printJS expects at least 1 attribute.');\n } // Process parameters\n\n\n switch (_typeof(args)) {\n case 'string':\n params.printable = encodeURI(args);\n params.fallbackPrintable = params.printable;\n params.type = arguments[1] || params.type;\n break;\n\n case 'object':\n params.printable = args.printable;\n params.fallbackPrintable = typeof args.fallbackPrintable !== 'undefined' ? args.fallbackPrintable : params.printable;\n params.fallbackPrintable = params.base64 ? \"data:application/pdf;base64,\".concat(params.fallbackPrintable) : params.fallbackPrintable;\n\n for (var k in params) {\n if (k === 'printable' || k === 'fallbackPrintable') continue;\n params[k] = typeof args[k] !== 'undefined' ? args[k] : params[k];\n }\n\n break;\n\n default:\n throw new Error('Unexpected argument type! Expected \"string\" or \"object\", got ' + _typeof(args));\n } // Validate printable\n\n\n if (!params.printable) throw new Error('Missing printable information.'); // Validate type\n\n if (!params.type || typeof params.type !== 'string' || printTypes.indexOf(params.type.toLowerCase()) === -1) {\n throw new Error('Invalid print type. Available types are: pdf, html, image and json.');\n } // Check if we are showing a feedback message to the user (useful for large files)\n\n\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"].show(params); // Check for a print start hook function\n\n if (params.onLoadingStart) params.onLoadingStart(); // To prevent duplication and issues, remove any used printFrame from the DOM\n\n var usedFrame = document.getElementById(params.frameId);\n if (usedFrame) usedFrame.parentNode.removeChild(usedFrame); // Create a new iframe for the print job\n\n var printFrame = document.createElement('iframe');\n\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n // Set the iframe to be is visible on the page (guaranteed by fixed position) but hidden using opacity 0, because\n // this works in Firefox. The height needs to be sufficient for some part of the document other than the PDF\n // viewer's toolbar to be visible in the page\n printFrame.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');\n } else {\n // Hide the iframe in other browsers\n printFrame.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');\n } // Set iframe element id\n\n\n printFrame.setAttribute('id', params.frameId); // For non pdf printing, pass an html document string to srcdoc (force onload callback)\n\n if (params.type !== 'pdf') {\n printFrame.srcdoc = '' + params.documentTitle + ''; // Attach css files\n\n if (params.css) {\n // Add support for single file\n if (!Array.isArray(params.css)) params.css = [params.css]; // Create link tags for each css file\n\n params.css.forEach(function (file) {\n printFrame.srcdoc += '';\n });\n }\n\n printFrame.srcdoc += '';\n } // Check printable type\n\n\n switch (params.type) {\n case 'pdf':\n // Check browser support for pdf and if not supported we will just open the pdf file instead\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isIE()) {\n try {\n console.info('Print.js doesn\\'t support PDF printing in Internet Explorer.');\n var win = window.open(params.fallbackPrintable, '_blank');\n win.focus();\n params.onIncompatibleBrowser();\n } catch (error) {\n params.onError(error);\n } finally {\n // Make sure there is no loading modal opened\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"].close();\n if (params.onLoadingEnd) params.onLoadingEnd();\n }\n } else {\n _pdf__WEBPACK_IMPORTED_MODULE_2__[\"default\"].print(params, printFrame);\n }\n\n break;\n\n case 'image':\n _image__WEBPACK_IMPORTED_MODULE_5__[\"default\"].print(params, printFrame);\n break;\n\n case 'html':\n _html__WEBPACK_IMPORTED_MODULE_3__[\"default\"].print(params, printFrame);\n break;\n\n case 'raw-html':\n _raw_html__WEBPACK_IMPORTED_MODULE_4__[\"default\"].print(params, printFrame);\n break;\n\n case 'json':\n _json__WEBPACK_IMPORTED_MODULE_6__[\"default\"].print(params, printFrame);\n break;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/js/json.js\":\n/*!************************!*\\\n !*** ./src/js/json.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we received proper data\n if (_typeof(params.printable) !== 'object') {\n throw new Error('Invalid javascript data object (JSON).');\n } // Validate repeatTableHeader\n\n\n if (typeof params.repeatTableHeader !== 'boolean') {\n throw new Error('Invalid value for repeatTableHeader attribute (JSON).');\n } // Validate properties\n\n\n if (!params.properties || !Array.isArray(params.properties)) {\n throw new Error('Invalid properties array for your JSON data.');\n } // We will format the property objects to keep the JSON api compatible with older releases\n\n\n params.properties = params.properties.map(function (property) {\n return {\n field: _typeof(property) === 'object' ? property.field : property,\n displayName: _typeof(property) === 'object' ? property.displayName : property,\n columnSize: _typeof(property) === 'object' && property.columnSize ? property.columnSize + ';' : 100 / params.properties.length + '%;'\n };\n }); // Create a print container element\n\n params.printableElement = document.createElement('div'); // Check if we are adding a print header\n\n if (params.header) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params);\n } // Build the printable html data\n\n\n params.printableElement.innerHTML += jsonToHTML(params); // Print the json data\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\nfunction jsonToHTML(params) {\n // Get the row and column data\n var data = params.printable;\n var properties = params.properties; // Create a html table\n\n var htmlData = ''; // Check if the header should be repeated\n\n if (params.repeatTableHeader) {\n htmlData += '';\n } // Add the table header row\n\n\n htmlData += ''; // Add the table header columns\n\n for (var a = 0; a < properties.length; a++) {\n htmlData += '';\n } // Add the closing tag for the table header row\n\n\n htmlData += ''; // If the table header is marked as repeated, add the closing tag\n\n if (params.repeatTableHeader) {\n htmlData += '';\n } // Create the table body\n\n\n htmlData += ''; // Add the table data rows\n\n for (var i = 0; i < data.length; i++) {\n // Add the row starting tag\n htmlData += ''; // Print selected properties only\n\n for (var n = 0; n < properties.length; n++) {\n var stringData = data[i]; // Support nested objects\n\n var property = properties[n].field.split('.');\n\n if (property.length > 1) {\n for (var p = 0; p < property.length; p++) {\n stringData = stringData[property[p]];\n }\n } else {\n stringData = stringData[properties[n].field];\n } // Add the row contents and styles\n\n\n htmlData += '';\n } // Add the row closing tag\n\n\n htmlData += '';\n } // Add the table and body closing tags\n\n\n htmlData += '
' + Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"capitalizePrint\"])(properties[a].displayName) + '
' + stringData + '
';\n return htmlData;\n}\n\n/***/ }),\n\n/***/ \"./src/js/modal.js\":\n/*!*************************!*\\\n !*** ./src/js/modal.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar Modal = {\n show: function show(params) {\n // Build modal\n var modalStyle = 'font-family:sans-serif; ' + 'display:table; ' + 'text-align:center; ' + 'font-weight:300; ' + 'font-size:30px; ' + 'left:0; top:0;' + 'position:fixed; ' + 'z-index: 9990;' + 'color: #0460B5; ' + 'width: 100%; ' + 'height: 100%; ' + 'background-color:rgba(255,255,255,.9);' + 'transition: opacity .3s ease;'; // Create wrapper\n\n var printModal = document.createElement('div');\n printModal.setAttribute('style', modalStyle);\n printModal.setAttribute('id', 'printJS-Modal'); // Create content div\n\n var contentDiv = document.createElement('div');\n contentDiv.setAttribute('style', 'display:table-cell; vertical-align:middle; padding-bottom:100px;'); // Add close button (requires print.css)\n\n var closeButton = document.createElement('div');\n closeButton.setAttribute('class', 'printClose');\n closeButton.setAttribute('id', 'printClose');\n contentDiv.appendChild(closeButton); // Add spinner (requires print.css)\n\n var spinner = document.createElement('span');\n spinner.setAttribute('class', 'printSpinner');\n contentDiv.appendChild(spinner); // Add message\n\n var messageNode = document.createTextNode(params.modalMessage);\n contentDiv.appendChild(messageNode); // Add contentDiv to printModal\n\n printModal.appendChild(contentDiv); // Append print modal element to document body\n\n document.getElementsByTagName('body')[0].appendChild(printModal); // Add event listener to close button\n\n document.getElementById('printClose').addEventListener('click', function () {\n Modal.close();\n });\n },\n close: function close() {\n var printModal = document.getElementById('printJS-Modal');\n\n if (printModal) {\n printModal.parentNode.removeChild(printModal);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Modal);\n\n/***/ }),\n\n/***/ \"./src/js/pdf.js\":\n/*!***********************!*\\\n !*** ./src/js/pdf.js ***!\n \\***********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we have base64 data\n if (params.base64) {\n var bytesArray = Uint8Array.from(atob(params.printable), function (c) {\n return c.charCodeAt(0);\n });\n createBlobAndPrint(params, printFrame, bytesArray);\n return;\n } // Format pdf url\n\n\n params.printable = /^(blob|http|\\/\\/)/i.test(params.printable) ? params.printable : window.location.origin + (params.printable.charAt(0) !== '/' ? '/' + params.printable : params.printable); // Get the file through a http request (Preload)\n\n var req = new window.XMLHttpRequest();\n req.responseType = 'arraybuffer';\n req.addEventListener('error', function () {\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n params.onError(req.statusText, req); // Since we don't have a pdf document available, we will stop the print job\n });\n req.addEventListener('load', function () {\n // Check for errors\n if ([200, 201].indexOf(req.status) === -1) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n params.onError(req.statusText, req); // Since we don't have a pdf document available, we will stop the print job\n\n return;\n } // Print requested document\n\n\n createBlobAndPrint(params, printFrame, req.response);\n });\n req.open('GET', params.printable, true);\n req.send();\n }\n});\n\nfunction createBlobAndPrint(params, printFrame, data) {\n // Pass response or base64 data to a blob and create a local object url\n var localPdf = new window.Blob([data], {\n type: 'application/pdf'\n });\n localPdf = window.URL.createObjectURL(localPdf); // Set iframe src with pdf document url\n\n printFrame.setAttribute('src', localPdf);\n _print__WEBPACK_IMPORTED_MODULE_0__[\"default\"].send(params, printFrame);\n}\n\n/***/ }),\n\n/***/ \"./src/js/print.js\":\n/*!*************************!*\\\n !*** ./src/js/print.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n\n\nvar Print = {\n send: function send(params, printFrame) {\n // Append iframe element to document body\n document.getElementsByTagName('body')[0].appendChild(printFrame); // Get iframe element\n\n var iframeElement = document.getElementById(params.frameId); // Wait for iframe to load all content\n\n iframeElement.onload = function () {\n if (params.type === 'pdf') {\n // Add a delay for Firefox. In my tests, 1000ms was sufficient but 100ms was not\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n setTimeout(function () {\n return performPrint(iframeElement, params);\n }, 1000);\n } else {\n performPrint(iframeElement, params);\n }\n\n return;\n } // Get iframe element document\n\n\n var printDocument = iframeElement.contentWindow || iframeElement.contentDocument;\n if (printDocument.document) printDocument = printDocument.document; // Append printable element to the iframe body\n\n printDocument.body.appendChild(params.printableElement); // Add custom style\n\n if (params.type !== 'pdf' && params.style) {\n // Create style element\n var style = document.createElement('style');\n style.innerHTML = params.style; // Append style element to iframe's head\n\n printDocument.head.appendChild(style);\n } // If printing images, wait for them to load inside the iframe\n\n\n var images = printDocument.getElementsByTagName('img');\n\n if (images.length > 0) {\n loadIframeImages(Array.from(images)).then(function () {\n return performPrint(iframeElement, params);\n });\n } else {\n performPrint(iframeElement, params);\n }\n };\n }\n};\n\nfunction performPrint(iframeElement, params) {\n try {\n iframeElement.focus(); // If Edge or IE, try catch with execCommand\n\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isEdge() || _browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isIE()) {\n try {\n iframeElement.contentWindow.document.execCommand('print', false, null);\n } catch (e) {\n iframeElement.contentWindow.print();\n }\n } else {\n // Other browsers\n iframeElement.contentWindow.print();\n }\n } catch (error) {\n params.onError(error);\n } finally {\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n // Move the iframe element off-screen and make it invisible\n iframeElement.style.visibility = 'hidden';\n iframeElement.style.left = '-1px';\n }\n\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n }\n}\n\nfunction loadIframeImages(images) {\n var promises = images.map(function (image) {\n if (image.src && image.src !== window.location.href) {\n return loadIframeImage(image);\n }\n });\n return Promise.all(promises);\n}\n\nfunction loadIframeImage(image) {\n return new Promise(function (resolve) {\n var pollImage = function pollImage() {\n !image || typeof image.naturalWidth === 'undefined' || image.naturalWidth === 0 || !image.complete ? setTimeout(pollImage, 500) : resolve();\n };\n\n pollImage();\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Print);\n\n/***/ }),\n\n/***/ \"./src/js/raw-html.js\":\n/*!****************************!*\\\n !*** ./src/js/raw-html.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Create printable element (container)\n params.printableElement = document.createElement('div');\n params.printableElement.setAttribute('style', 'width:100%'); // Set our raw html as the printable element inner html content\n\n params.printableElement.innerHTML = params.printable; // Print html contents\n\n _print__WEBPACK_IMPORTED_MODULE_0__[\"default\"].send(params, printFrame);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/sass/index.scss\":\n/*!*****************************!*\\\n !*** ./src/sass/index.scss ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ 0:\n/*!****************************!*\\\n !*** multi ./src/index.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! ./src/index.js */\"./src/index.js\");\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=print.map"],"sourceRoot":""}