{"version":3,"sources":["print.js"],"names":["root","factory","exports","module","define","amd","window","modules","./src/index.js","__webpack_exports__","__webpack_require__","r","printJS","init","./src/js/browser.js","Browser","isFirefox","InstallTrigger","isIE","navigator","userAgent","indexOf","document","documentMode","isEdge","StyleMedia","isChrome","arguments","length","undefined","chrome","isSafari","Object","prototype","toString","call","HTMLElement","toLowerCase","isIOSChrome","./src/js/functions.js","d","addWrapper","capitalizePrint","collectStyles","addHeader","cleanUp","isRawHTML","_modal__WEBPACK_IMPORTED_MODULE_0__","_browser__WEBPACK_IMPORTED_MODULE_1__","_typeof","obj","Symbol","iterator","constructor","htmlData","params","font","font_size","charAt","toUpperCase","slice","element","elementStyle","styles","defaultView","getComputedStyle","key","targetStyles","targetStyle","value","i","getPropertyValue","maxWidth","printElement","headerElement","headerNode","headerContainer","createElement","header","innerHTML","createTextNode","appendChild","setAttribute","headerStyle","insertBefore","childNodes","showModal","close","onLoadingEnd","onLoadingStart","URL","revokeObjectURL","printable","handler","removeEventListener","event","onPrintDialogClose","iframe","getElementById","frameId","remove","addEventListener","raw","RegExp","test","./src/js/html.js","_functions__WEBPACK_IMPORTED_MODULE_0__","_print__WEBPACK_IMPORTED_MODULE_1__","print","printFrame","nodeType","printableElement","cloneElement","clone","cloneNode","childNodesArray","Array","clonedChild","ignoreElements","id","scanStyles","tagName","getContext","drawImage","send","console","error","./src/js/image.js","_browser__WEBPACK_IMPORTED_MODULE_2__","forEach","src","img","imageWrapper","imageStyle","fullyQualifiedSrc","./src/js/init.js","_browser__WEBPACK_IMPORTED_MODULE_0__","_modal__WEBPACK_IMPORTED_MODULE_1__","_pdf__WEBPACK_IMPORTED_MODULE_2__","_html__WEBPACK_IMPORTED_MODULE_3__","_raw_html__WEBPACK_IMPORTED_MODULE_4__","_image__WEBPACK_IMPORTED_MODULE_5__","_json__WEBPACK_IMPORTED_MODULE_6__","printTypes","fallbackPrintable","type","properties","gridHeaderStyle","gridStyle","onError","onIncompatibleBrowser","modalMessage","documentTitle","repeatTableHeader","css","style","base64","onPdfOpen","honorMarginPadding","honorColor","args","Error","encodeURI","k","concat","show","usedFrame","parentNode","removeChild","srcdoc","isArray","file","info","open","focus","./src/js/json.js","map","property","field","displayName","columnSize","data","a","n","stringData","split","p","./src/js/modal.js","Modal","printModal","contentDiv","closeButton","spinner","messageNode","getElementsByTagName","./src/js/pdf.js","_print__WEBPACK_IMPORTED_MODULE_0__","_functions__WEBPACK_IMPORTED_MODULE_1__","createBlobAndPrint","localPdf","Blob","createObjectURL","bytesArray","req","Uint8Array","from","atob","c","charCodeAt","location","origin","XMLHttpRequest","responseType","statusText","status","response","./src/js/print.js","performPrint","iframeElement","contentWindow","execCommand","e","visibility","left","onload","printDocument","images","setTimeout","contentDocument","body","head","promises","image","href","Promise","resolve","pollImage","naturalWidth","complete","all","then","./src/js/raw-html.js","./src/sass/index.scss","0","installedModules","m","name","getter","o","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","bind","object","hasOwnProperty","s","moduleId","l"],"mappings":"AAAA,CAAA,SAAAA,EAAAC,GACA,UAAA,OAAAC,SAAA,UAAA,OAAAC,OACAA,OAAAD,QAAAD,EAAA,EACA,YAAA,OAAAG,QAAAA,OAAAC,IACAD,OAAA,GAAAH,CAAA,EACA,UAAA,OAAAC,QACAA,QAAA,QAAAD,EAAA,EAEAD,EAAA,QAAAC,EAAA,CACA,EAAAK,OAAA,WACA,OAAAC,EAsFA,CAEAC,iBAKA,SAAAL,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACAC,EAAA,uBAAA,EAKAE,EAHAF,EAAA,kBAAA,EAGA,QAAAG,KAEA,aAAA,OAAAP,SACAA,OAAAM,QAAAA,GAGAH,EAAA,QAAA,CAEA,EAEAK,sBAKA,SAAAX,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAAM,EAAA,CAEAC,UAAA,WACA,MAAA,aAAA,OAAAC,cACA,EAEAC,KAAA,WACA,MAAA,CAAA,IAAAC,UAAAC,UAAAC,QAAA,MAAA,GAAA,CAAA,CAAAC,SAAAC,YACA,EAEAC,OAAA,WACA,MAAA,CAAAT,EAAAG,KAAA,GAAA,CAAA,CAAAZ,OAAAmB,UACA,EAEAC,SAAA,WAEA,MAAA,CAAA,EADA,EAAAC,UAAAC,QAAAC,KAAAA,IAAAF,UAAA,GAAAA,UAAA,GAAArB,QACAwB,MACA,EAEAC,SAAA,WACA,OAAA,EAAAC,OAAAC,UAAAC,SAAAC,KAAA7B,OAAA8B,WAAA,EAAAf,QAAA,aAAA,GAAA,CAAA,IAAAF,UAAAC,UAAAiB,YAAA,EAAAhB,QAAA,QAAA,CACA,EAEAiB,YAAA,WACA,MAAA,CAAA,IAAAnB,UAAAC,UAAAiB,YAAA,EAAAhB,QAAA,OAAA,CACA,CACA,EACAZ,EAAA,QAAA,CAEA,EAEA8B,wBAKA,SAAApC,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACAC,EAAA8B,EAAA/B,EAAA,aAAA,WAAA,OAAAgC,CAAA,CAAA,EACA/B,EAAA8B,EAAA/B,EAAA,kBAAA,WAAA,OAAAiC,CAAA,CAAA,EACAhC,EAAA8B,EAAA/B,EAAA,gBAAA,WAAA,OAAAkC,CAAA,CAAA,EACAjC,EAAA8B,EAAA/B,EAAA,YAAA,WAAA,OAAAmC,CAAA,CAAA,EACAlC,EAAA8B,EAAA/B,EAAA,UAAA,WAAA,OAAAoC,CAAA,CAAA,EACAnC,EAAA8B,EAAA/B,EAAA,YAAA,WAAA,OAAAqC,CAAA,CAAA,EACA,IAAAC,EAAArC,EAAA,mBAAA,EACAsC,EAAAtC,EAAA,qBAAA,EACA,SAAAuC,EAAAC,GAAA,OAAAD,EAAA,YAAA,OAAAE,QAAA,UAAA,OAAAA,OAAAC,SAAA,SAAAF,GAAA,OAAA,OAAAA,CAAA,EAAA,SAAAA,GAAA,OAAAA,GAAA,YAAA,OAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAlB,UAAA,SAAA,OAAAiB,CAAA,GAAAA,CAAA,CAAA,CAIA,SAAAT,EAAAa,EAAAC,GAEA,MAAA,gBADA,eAAAA,EAAAC,KAAA,2BAAAD,EAAAE,UAAA,4BACA,KAAAH,EAAA,QACA,CACA,SAAAZ,EAAAQ,GACA,OAAAA,EAAAQ,OAAA,CAAA,EAAAC,YAAA,EAAAT,EAAAU,MAAA,CAAA,CACA,CACA,SAAAjB,EAAAkB,EAAAN,GAOA,IANA,IAEAO,EAAA,GAEAC,GAJAzC,SAAA0C,aAAA1D,QAIA2D,iBAAAJ,EAAA,EAAA,EAEAK,EAAA,EAAAA,EAAAH,EAAAnC,OAAAsC,CAAA,IAEA,CAAA,IAAAX,EAAAY,aAAA9C,QAAA,GAAA,GAAA,CAAA,IAAAkC,EAAAa,YAAA/C,QAAA0C,EAAAG,EAAA,GAUA,SAAAH,EAAAM,GACA,IAAA,IAAAC,EAAA,EAAAA,EAAAP,EAAAnC,OAAA0C,CAAA,GACA,GAAA,WAAArB,EAAAoB,CAAA,GAAA,CAAA,IAAAA,EAAAhD,QAAA0C,EAAAO,EAAA,EAAA,OAAA,EAGA,MACA,EAhBAf,EAAAY,aAAAJ,EAAAG,EAAA,IACAH,EAAAQ,iBAAAR,EAAAG,EAAA,IAAAJ,GAAAC,EAAAG,GAAA,IAAAH,EAAAQ,iBAAAR,EAAAG,EAAA,EAAA,KAMA,OADAJ,GAAA,cAAAP,EAAAiB,SAAA,6BAAAjB,EAAAE,UAAA,cAEA,CAUA,SAAAb,EAAA6B,EAAAlB,GAEA,IAMAmB,EAEAC,EARAC,EAAAtD,SAAAuD,cAAA,KAAA,EAEA/B,EAAAS,EAAAuB,MAAA,EACAF,EAAAG,UAAAxB,EAAAuB,QAGAJ,EAAApD,SAAAuD,cAAA,IAAA,EAEAF,EAAArD,SAAA0D,eAAAzB,EAAAuB,MAAA,EAEAJ,EAAAO,YAAAN,CAAA,EACAD,EAAAQ,aAAA,QAAA3B,EAAA4B,WAAA,EACAP,EAAAK,YAAAP,CAAA,GAGAD,EAAAW,aAAAR,EAAAH,EAAAY,WAAA,EAAA,CACA,CACA,SAAAxC,EAAAU,GAEAA,EAAA+B,WAAAvC,EAAA,QAAAwC,MAAA,EAEAhC,EAAAiC,cAAAjC,EAAAiC,aAAA,GAEAjC,EAAA+B,WAAA/B,EAAAkC,iBAAAnF,OAAAoF,IAAAC,gBAAApC,EAAAqC,SAAA,EASA,SAAAC,IAEAvF,OAAAwF,oBAAAC,EAAAF,CAAA,EACAtC,EAAAyC,mBAAA,EAEA,IAAAC,EAAA3E,SAAA4E,eAAA3C,EAAA4C,OAAA,EAEAF,GACAA,EAAAG,OAAA,CAEA,CAjBA,IAAAL,EAAA,aAEA/C,EAAA,QAAAtB,SAAA,GAAAsB,EAAA,QAAAhC,UAAA,KAEA+E,EAAA,SAeAzF,OAAA+F,iBAAAN,EAAAF,CAAA,CACA,CACA,SAAA/C,EAAAwD,GAEA,OADA,IAAAC,OAAA,6CAAA,EACAC,KAAAF,CAAA,CACA,CAEA,EAEAG,mBAKA,SAAAtG,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAAiG,EAAAhG,EAAA,uBAAA,EACAiG,EAAAjG,EAAA,mBAAA,EACA,SAAAuC,EAAAC,GAAA,OAAAD,EAAA,YAAA,OAAAE,QAAA,UAAA,OAAAA,OAAAC,SAAA,SAAAF,GAAA,OAAA,OAAAA,CAAA,EAAA,SAAAA,GAAA,OAAAA,GAAA,YAAA,OAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAlB,UAAA,SAAA,OAAAiB,CAAA,GAAAA,CAAA,CAAA,CAIAzC,EAAA,QAAA,CACAmG,MAAA,SAAArD,EAAAsD,GAEA,IAAApC,EA4DA,WAAAxB,EAFA2C,EA1DArC,EAAAqC,SA4DA,GAAAA,IAAAA,aAAAxD,aAAA,IAAAwD,EAAAkB,UA5DAvD,EAAAqC,UAAAtE,SAAA4E,eAAA3C,EAAAqC,SAAA,EAEAnB,GAMAlB,EAAAwD,iBAWA,SAAAC,EAAAnD,EAAAN,GAEA,IAAA0D,EAAApD,EAAAqD,UAAA,EAEA,IAAAC,EAAAC,MAAAnF,UAAA2B,MAAAzB,KAAA0B,EAAAwB,UAAA,EAEA,IAAA,IAAAf,EAAA,EAAAA,EAAA6C,EAAAvF,OAAA0C,CAAA,GAAA,CAEA,IAKA+C,EALA,CAAA,IAAA9D,EAAA+D,eAAAjG,QAAA8F,EAAA7C,GAAAiD,EAAA,IAKAF,EAAAL,EAAAG,EAAA7C,GAAAf,CAAA,EAEA0D,EAAAhC,YAAAoC,CAAA,EACA,CAGA9D,EAAAiE,YAAA,IAAA3D,EAAAiD,UACAG,EAAA/B,aAAA,QAAAlD,OAAA0E,EAAA,aAAA,EAAA7C,EAAAN,CAAA,CAAA,EAIA,OAAAM,EAAA4D,SACA,IAAA,SAEAR,EAAA5C,MAAAR,EAAAQ,MACA,MAEA,IAAA,SAEA4C,EAAAS,WAAA,IAAA,EAAAC,UAAA9D,EAAA,EAAA,CAAA,CAEA,CAEA,OAAAoD,CACA,EAhDAxC,EAAAlB,CAAA,EAEAA,EAAAuB,QACA9C,OAAA0E,EAAA,SAAA,EAAAnD,EAAAwD,iBAAAxD,CAAA,EAIAoD,EAAA,QAAAiB,KAAArE,EAAAsD,CAAA,GAZAvG,OAAAuH,QAAAC,MAAA,4BAAAvE,EAAAqC,SAAA,CAaA,CACA,CA8CA,EAEAmC,oBAKA,SAAA5H,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAAiG,EAAAhG,EAAA,uBAAA,EACAiG,EAAAjG,EAAA,mBAAA,EACAsH,EAAAtH,EAAA,qBAAA,EAIAD,EAAA,QAAA,CACAmG,MAAA,SAAArD,EAAAsD,GAEAtD,EAAAqC,UAAAvC,cAAA+D,QAEA7D,EAAAqC,UAAA,CAAArC,EAAAqC,YAIArC,EAAAwD,iBAAAzF,SAAAuD,cAAA,KAAA,EAEAtB,EAAAqC,UAAAqC,QAAA,SAAAC,GAEA,IAAAC,EAAA7G,SAAAuD,cAAA,KAAA,EAYAuD,GAXAD,EAAAjD,aAAA,QAAA3B,EAAA8E,UAAA,EAEAF,EAAAD,IAAAA,EAGAF,EAAA,QAAAhH,UAAA,IACAsH,EAAAH,EAAAD,IACAC,EAAAD,IAAAI,GAIAhH,SAAAuD,cAAA,KAAA,GAEAuD,EAAAnD,YAAAkD,CAAA,EAEA5E,EAAAwD,iBAAA9B,YAAAmD,CAAA,CACA,CAAA,EAEA7E,EAAAuB,QAAA9C,OAAA0E,EAAA,SAAA,EAAAnD,EAAAwD,iBAAAxD,CAAA,EAEAoD,EAAA,QAAAiB,KAAArE,EAAAsD,CAAA,CACA,CACA,CAEA,EAEA0B,mBAKA,SAAApI,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAA+H,EAAA9H,EAAA,qBAAA,EACA+H,EAAA/H,EAAA,mBAAA,EACAgI,EAAAhI,EAAA,iBAAA,EACAiI,EAAAjI,EAAA,kBAAA,EACAkI,EAAAlI,EAAA,sBAAA,EACAmI,EAAAnI,EAAA,mBAAA,EACAoI,EAAApI,EAAA,kBAAA,EAGA,SAAAuC,EAAAC,GAAA,OAAAD,EAAA,YAAA,OAAAE,QAAA,UAAA,OAAAA,OAAAC,SAAA,SAAAF,GAAA,OAAA,OAAAA,CAAA,EAAA,SAAAA,GAAA,OAAAA,GAAA,YAAA,OAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAlB,UAAA,SAAA,OAAAiB,CAAA,GAAAA,CAAA,CAAA,CASA,IAAA6F,EAAA,CAAA,MAAA,OAAA,QAAA,OAAA,YACAtI,EAAA,QAAA,CACAI,KAAA,WACA,IAAA0C,EAAA,CACAqC,UAAA,KACAoD,kBAAA,KACAC,KAAA,MACAnE,OAAA,KACAK,YAAA,oBACAX,SAAA,IACA0E,WAAA,KACAC,gBAAA,8DACAC,UAAA,oDACA9D,UAAA,CAAA,EACA+D,QAAA,SAAAvB,GACA,MAAAA,CACA,EACArC,eAAA,KACAD,aAAA,KACAQ,mBAAA,aACAsD,sBAAA,aACAC,aAAA,yBACApD,QAAA,UACAY,iBAAA,KACAyC,cAAA,WACApF,YAAA,CAAA,QAAA,UAAA,QAAA,YAAA,SAAA,aAAA,cACAD,aAAA,CAAA,SAAA,MAAA,QAAA,mBACAmD,eAAA,GACAmC,kBAAA,CAAA,EACAC,IAAA,KACAC,MAAA,KACAnC,WAAA,CAAA,EACAoC,OAAA,CAAA,EAEAC,UAAA,KACArG,KAAA,gBACAC,UAAA,OACAqG,mBAAA,CAAA,EACAC,WAAA,CAAA,EACA1B,WAAA,kBACA,EAEA2B,EAAArI,UAAA,GAEA,GAAAE,KAAAA,IAAAmI,EACA,MAAA,IAAAC,MAAA,uCAAA,EAIA,OAAAhH,EAAA+G,CAAA,GACA,IAAA,SACAzG,EAAAqC,UAAAsE,UAAAF,CAAA,EACAzG,EAAAyF,kBAAAzF,EAAAqC,UACArC,EAAA0F,KAAAtH,UAAA,IAAA4B,EAAA0F,KACA,MAEA,IAAA,SAKA,IAAA,IAAAkB,KAJA5G,EAAAqC,UAAAoE,EAAApE,UACArC,EAAAyF,kBAAA,KAAA,IAAAgB,EAAAhB,kBAAAgB,EAAAhB,kBAAAzF,EAAAqC,UACArC,EAAAyF,kBAAAzF,EAAAqG,OAAA,+BAAAQ,OAAA7G,EAAAyF,iBAAA,EAAAzF,EAAAyF,kBAEAzF,EACA,cAAA4G,GAAA,sBAAAA,IACA5G,EAAA4G,IAAA,KAAA,IAAAH,EAAAG,GAAAH,EAAAzG,GAAA4G,IAGA,MAEA,QACA,MAAA,IAAAF,MAAA,gEAAAhH,EAAA+G,CAAA,CAAA,CACA,CAGA,GAAA,CAAAzG,EAAAqC,UAAA,MAAA,IAAAqE,MAAA,gCAAA,EAEA,GAAA,CAAA1G,EAAA0F,MAAA,UAAA,OAAA1F,EAAA0F,MAAA,CAAA,IAAAF,EAAA1H,QAAAkC,EAAA0F,KAAA5G,YAAA,CAAA,EACA,MAAA,IAAA4H,MAAA,qEAAA,EAIA1G,EAAA+B,WAAAmD,EAAA,QAAA4B,KAAA9G,CAAA,EAEAA,EAAAkC,gBAAAlC,EAAAkC,eAAA,EAEA,IAAA6E,EAAAhJ,SAAA4E,eAAA3C,EAAA4C,OAAA,EAGAU,GAFAyD,GAAAA,EAAAC,WAAAC,YAAAF,CAAA,EAEAhJ,SAAAuD,cAAA,QAAA,GA+BA,OA7BA2D,EAAA,QAAAxH,UAAA,EAIA6F,EAAA3B,aAAA,QAAA,iHAAA,EAGA2B,EAAA3B,aAAA,QAAA,wEAAA,EAIA2B,EAAA3B,aAAA,KAAA3B,EAAA4C,OAAA,EAEA,QAAA5C,EAAA0F,OACApC,EAAA4D,OAAA,sBAAAlH,EAAAiG,cAAA,WAEAjG,EAAAmG,MAEAtC,MAAAsD,QAAAnH,EAAAmG,GAAA,IAAAnG,EAAAmG,IAAA,CAAAnG,EAAAmG,MAEAnG,EAAAmG,IAAAzB,QAAA,SAAA0C,GACA9D,EAAA4D,QAAA,gCAAAE,EAAA,IACA,CAAA,GAGA9D,EAAA4D,QAAA,+BAIAlH,EAAA0F,MACA,IAAA,MAEA,GAAAT,EAAA,QAAAtH,KAAA,EACA,IACA2G,QAAA+C,KAAA,6DAAA,EACAtK,OAAAuK,KAAAtH,EAAAyF,kBAAA,QAAA,EACA8B,MAAA,EACAvH,EAAA+F,sBAAA,CAOA,CANA,MAAAxB,GACAvE,EAAA8F,QAAAvB,CAAA,CACA,CAAA,QAEAvE,EAAA+B,WAAAmD,EAAA,QAAAlD,MAAA,EACAhC,EAAAiC,cAAAjC,EAAAiC,aAAA,CACA,MAEAkD,EAAA,QAAA9B,MAAArD,EAAAsD,CAAA,EAGA,MAEA,IAAA,QACAgC,EAAA,QAAAjC,MAAArD,EAAAsD,CAAA,EACA,MAEA,IAAA,OACA8B,EAAA,QAAA/B,MAAArD,EAAAsD,CAAA,EACA,MAEA,IAAA,WACA+B,EAAA,QAAAhC,MAAArD,EAAAsD,CAAA,EACA,MAEA,IAAA,OACAiC,EAAA,QAAAlC,MAAArD,EAAAsD,CAAA,CAEA,CACA,CACA,CAEA,EAEAkE,mBAKA,SAAA5K,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAAiG,EAAAhG,EAAA,uBAAA,EACAiG,EAAAjG,EAAA,mBAAA,EACA,SAAAuC,EAAAC,GAAA,OAAAD,EAAA,YAAA,OAAAE,QAAA,UAAA,OAAAA,OAAAC,SAAA,SAAAF,GAAA,OAAA,OAAAA,CAAA,EAAA,SAAAA,GAAA,OAAAA,GAAA,YAAA,OAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAlB,UAAA,SAAA,OAAAiB,CAAA,GAAAA,CAAA,CAAA,CAIAzC,EAAA,QAAA,CACAmG,MAAA,SAAArD,EAAAsD,GAEA,GAAA,WAAA5D,EAAAM,EAAAqC,SAAA,EACA,MAAA,IAAAqE,MAAA,wCAAA,EAIA,GAAA,WAAA,OAAA1G,EAAAkG,kBACA,MAAA,IAAAQ,MAAA,uDAAA,EAIA,GAAA,CAAA1G,EAAA2F,YAAA,CAAA9B,MAAAsD,QAAAnH,EAAA2F,UAAA,EACA,MAAA,IAAAe,MAAA,8CAAA,EAIA1G,EAAA2F,WAAA3F,EAAA2F,WAAA8B,IAAA,SAAAC,GACA,MAAA,CACAC,MAAA,WAAAjI,EAAAgI,CAAA,EAAAA,EAAAC,MAAAD,EACAE,YAAA,WAAAlI,EAAAgI,CAAA,EAAAA,EAAAE,YAAAF,EACAG,WAAA,WAAAnI,EAAAgI,CAAA,GAAAA,EAAAG,WAAAH,EAAAG,WAAA,IAAA,IAAA7H,EAAA2F,WAAAtH,OAAA,IACA,CACA,CAAA,EAEA2B,EAAAwD,iBAAAzF,SAAAuD,cAAA,KAAA,EAEAtB,EAAAuB,QACA9C,OAAA0E,EAAA,SAAA,EAAAnD,EAAAwD,iBAAAxD,CAAA,EAIAA,EAAAwD,iBAAAhC,WAMA,SAAAxB,GAEA,IAAA8H,EAAA9H,EAAAqC,UACAsD,EAAA3F,EAAA2F,WAEA5F,EAAA,0DAEAC,EAAAkG,oBACAnG,GAAA,WAIAA,GAAA,OAEA,IAAA,IAAAgI,EAAA,EAAAA,EAAApC,EAAAtH,OAAA0J,CAAA,GACAhI,GAAA,oBAAA4F,EAAAoC,GAAAF,WAAA,IAAA7H,EAAA4F,gBAAA,KAAAnH,OAAA0E,EAAA,eAAA,EAAAwC,EAAAoC,GAAAH,WAAA,EAAA,QAIA7H,GAAA,QAEAC,EAAAkG,oBACAnG,GAAA,YAIAA,GAAA,UAEA,IAAA,IAAAgB,EAAA,EAAAA,EAAA+G,EAAAzJ,OAAA0C,CAAA,GAAA,CAEAhB,GAAA,OAEA,IAAA,IAAAiI,EAAA,EAAAA,EAAArC,EAAAtH,OAAA2J,CAAA,GAAA,CACA,IAAAC,EAAAH,EAAA/G,GAEA2G,EAAA/B,EAAAqC,GAAAL,MAAAO,MAAA,GAAA,EAEA,GAAA,EAAAR,EAAArJ,OACA,IAAA,IAAA8J,EAAA,EAAAA,EAAAT,EAAArJ,OAAA8J,CAAA,GACAF,EAAAA,EAAAP,EAAAS,SAGAF,EAAAA,EAAAtC,EAAAqC,GAAAL,OAIA5H,GAAA,oBAAA4F,EAAAqC,GAAAH,WAAA7H,EAAA6F,UAAA,KAAAoC,EAAA,OACA,CAGAlI,GAAA,OACA,CAIA,OADAA,GAAA,kBAEA,EA9DAC,CAAA,EAEAoD,EAAA,QAAAiB,KAAArE,EAAAsD,CAAA,CACA,CACA,CA4DA,EAEA8E,oBAKA,SAAAxL,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAAmL,EAAA,CACAvB,KAAA,SAAA9G,GAEA,IAEAsI,EAAAvK,SAAAuD,cAAA,KAAA,EAIAiH,GAHAD,EAAA3G,aAAA,QAHA,uPAGA,EACA2G,EAAA3G,aAAA,KAAA,eAAA,EAEA5D,SAAAuD,cAAA,KAAA,GAGAkH,GAFAD,EAAA5G,aAAA,QAAA,kEAAA,EAEA5D,SAAAuD,cAAA,KAAA,GAKAmH,GAJAD,EAAA7G,aAAA,QAAA,YAAA,EACA6G,EAAA7G,aAAA,KAAA,YAAA,EACA4G,EAAA7G,YAAA8G,CAAA,EAEAzK,SAAAuD,cAAA,MAAA,GAIAoH,GAHAD,EAAA9G,aAAA,QAAA,cAAA,EACA4G,EAAA7G,YAAA+G,CAAA,EAEA1K,SAAA0D,eAAAzB,EAAAgG,YAAA,GACAuC,EAAA7G,YAAAgH,CAAA,EAEAJ,EAAA5G,YAAA6G,CAAA,EAEAxK,SAAA4K,qBAAA,MAAA,EAAA,GAAAjH,YAAA4G,CAAA,EAEAvK,SAAA4E,eAAA,YAAA,EAAAG,iBAAA,QAAA,WACAuF,EAAArG,MAAA,CACA,CAAA,CACA,EACAA,MAAA,WACA,IAAAsG,EAAAvK,SAAA4E,eAAA,eAAA,EAEA2F,GACAA,EAAAtB,WAAAC,YAAAqB,CAAA,CAEA,CACA,EACApL,EAAA,QAAA,CAEA,EAEA0L,kBAKA,SAAAhM,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAA2L,EAAA1L,EAAA,mBAAA,EACA2L,EAAA3L,EAAA,uBAAA,EAwCA,SAAA4L,EAAA/I,EAAAsD,EAAAwE,GAEAkB,EAAA,IAAAjM,OAAAkM,KAAA,CAAAnB,GAAA,CACApC,KAAA,iBACA,CAAA,EACAsD,EAAAjM,OAAAoF,IAAA+G,gBAAAF,CAAA,EAEA1F,EAAA3B,aAAA,MAAAqH,CAAA,EACAH,EAAA,QAAAxE,KAAArE,EAAAsD,CAAA,CACA,CA9CApG,EAAA,QAAA,CACAmG,MAAA,SAAArD,EAAAsD,GAEA,IACA6F,EAUAC,EAXApJ,EAAAqG,QACA8C,EAAAE,WAAAC,KAAAC,KAAAvJ,EAAAqC,SAAA,EAAA,SAAAmH,GACA,OAAAA,EAAAC,WAAA,CAAA,CACA,CAAA,EACAV,EAAA/I,EAAAsD,EAAA6F,CAAA,IAKAnJ,EAAAqC,UAAA,qBAAAY,KAAAjD,EAAAqC,SAAA,EAAArC,EAAAqC,UAAAtF,OAAA2M,SAAAC,QAAA,MAAA3J,EAAAqC,UAAAlC,OAAA,CAAA,EAAA,IAAAH,EAAAqC,UAAArC,EAAAqC,YAEA+G,EAAA,IAAArM,OAAA6M,gBACAC,aAAA,cACAT,EAAAtG,iBAAA,QAAA,WACArE,OAAAqK,EAAA,OAAA,EAAA9I,CAAA,EACAA,EAAA8F,QAAAsD,EAAAU,WAAAV,CAAA,CACA,CAAA,EACAA,EAAAtG,iBAAA,OAAA,WAEA,CAAA,IAAA,CAAA,IAAA,KAAAhF,QAAAsL,EAAAW,MAAA,GACAtL,OAAAqK,EAAA,OAAA,EAAA9I,CAAA,EACAA,EAAA8F,QAAAsD,EAAAU,WAAAV,CAAA,GAMAL,EAAA/I,EAAAsD,EAAA8F,EAAAY,QAAA,CACA,CAAA,EACAZ,EAAA9B,KAAA,MAAAtH,EAAAqC,UAAA,CAAA,CAAA,EACA+G,EAAA/E,KAAA,EACA,CACA,CAaA,EAEA4F,oBAKA,SAAArN,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAA+H,EAAA9H,EAAA,qBAAA,EACA2L,EAAA3L,EAAA,uBAAA,EAoDA,SAAA+M,EAAAC,EAAAnK,GACA,IAGA,GAFAmK,EAAA5C,MAAA,EAEAtC,EAAA,QAAAhH,OAAA,GAAAgH,EAAA,QAAAtH,KAAA,EACA,IACAwM,EAAAC,cAAArM,SAAAsM,YAAA,QAAA,CAAA,EAAA,IAAA,CAGA,CAFA,MAAAC,GACAH,EAAAC,cAAA/G,MAAA,CACA,MAGA8G,EAAAC,cAAA/G,MAAA,CAYA,CAVA,MAAAkB,GACAvE,EAAA8F,QAAAvB,CAAA,CACA,CAAA,QACAU,EAAA,QAAAxH,UAAA,IAEA0M,EAAA/D,MAAAmE,WAAA,SACAJ,EAAA/D,MAAAoE,KAAA,QAGA/L,OAAAqK,EAAA,OAAA,EAAA9I,CAAA,CACA,CACA,CAqBA9C,EAAA,QA/FA,CACAmH,KAAA,SAAArE,EAAAsD,GAEAvF,SAAA4K,qBAAA,MAAA,EAAA,GAAAjH,YAAA4B,CAAA,EAEA,IAAA6G,EAAApM,SAAA4E,eAAA3C,EAAA4C,OAAA,EAEAuH,EAAAM,OAAA,WACA,IAcAC,EAcAC,EA5BA,QAAA3K,EAAA0F,KAEAT,EAAA,QAAAxH,UAAA,EACAmN,WAAA,WACA,OAAAV,EAAAC,EAAAnK,CAAA,CACA,EAAA,GAAA,EAEAkK,EAAAC,EAAAnK,CAAA,IAQA0K,GADAA,EAAAP,EAAAC,eAAAD,EAAAU,iBACA9M,SAAA2M,EAAA3M,SAEA2M,GAAAI,KAAApJ,YAAA1B,EAAAwD,gBAAA,EAEA,QAAAxD,EAAA0F,MAAA1F,EAAAoG,SAEAA,EAAArI,SAAAuD,cAAA,OAAA,GACAE,UAAAxB,EAAAoG,MAEAsE,EAAAK,KAAArJ,YAAA0E,CAAA,GAMA,GAFAuE,EAAAD,EAAA/B,qBAAA,KAAA,GAEAtK,OAsCA,SAAAsM,GACAK,EAAAL,EAAAlD,IAAA,SAAAwD,GACA,GAAAA,EAAAtG,KAAAsG,EAAAtG,MAAA5H,OAAA2M,SAAAwB,KACA,OAMAD,EANAA,EAOA,IAAAE,QAAA,SAAAC,IACA,SAAAC,IACAJ,GAAA,KAAA,IAAAA,EAAAK,cAAA,IAAAL,EAAAK,cAAAL,EAAAM,SAAAH,EAAA,EAAAR,WAAAS,EAAA,GAAA,CACA,GAEA,CACA,CAAA,EAPA,IAAAJ,CAJA,CAAA,EACA,OAAAE,QAAAK,IAAAR,CAAA,CACA,EA5CAnH,MAAAyF,KAAAqB,CAAA,CAAA,EAAAc,KAAA,WACA,OAAAvB,EAAAC,EAAAnK,CAAA,CACA,CAAA,EAEAkK,EAAAC,EAAAnK,CAAA,EAEA,CACA,CACA,CAkDA,EAEA0L,uBAKA,SAAA9O,EAAAM,EAAAC,GAEA,aACAA,EAAAC,EAAAF,CAAA,EACA,IAAA2L,EAAA1L,EAAA,mBAAA,EAEAD,EAAA,QAAA,CACAmG,MAAA,SAAArD,EAAAsD,GAEAtD,EAAAwD,iBAAAzF,SAAAuD,cAAA,KAAA,EACAtB,EAAAwD,iBAAA7B,aAAA,QAAA,YAAA,EAEA3B,EAAAwD,iBAAAhC,UAAAxB,EAAAqC,UAEAwG,EAAA,QAAAxE,KAAArE,EAAAsD,CAAA,CACA,CACA,CAEA,EAEAqI,wBAKA,SAAA/O,EAAAD,EAAAQ,KAMAyO,EAKA,SAAAhP,EAAAD,EAAAQ,GAEAP,EAAAD,QAAAQ,EAAA,gBAAA,CAGA,CAEA,EAh9BA0O,EAAA,GA4BA1O,EAAA2O,EAAA9O,EAGAG,EAAAqM,EAAAqC,EAGA1O,EAAA8B,EAAA,SAAAtC,EAAAoP,EAAAC,GACA7O,EAAA8O,EAAAtP,EAAAoP,CAAA,GACAtN,OAAAyN,eAAAvP,EAAAoP,EAAA,CAAAI,WAAA,CAAA,EAAAC,IAAAJ,CAAA,CAAA,CAEA,EAGA7O,EAAAC,EAAA,SAAAT,GACA,aAAA,OAAAiD,QAAAA,OAAAyM,aACA5N,OAAAyN,eAAAvP,EAAAiD,OAAAyM,YAAA,CAAAvL,MAAA,QAAA,CAAA,EAEArC,OAAAyN,eAAAvP,EAAA,aAAA,CAAAmE,MAAA,CAAA,CAAA,CAAA,CACA,EAOA3D,EAAAmP,EAAA,SAAAxL,EAAAyL,GAEA,GADA,EAAAA,IAAAzL,EAAA3D,EAAA2D,CAAA,GACA,EAAAyL,EAAA,OAAAzL,EACA,GAAA,EAAAyL,GAAA,UAAA,OAAAzL,GAAAA,GAAAA,EAAA0L,WAAA,OAAA1L,EACA,IAAA2L,EAAAhO,OAAAiO,OAAA,IAAA,EAGA,GAFAvP,EAAAC,EAAAqP,CAAA,EACAhO,OAAAyN,eAAAO,EAAA,UAAA,CAAAN,WAAA,CAAA,EAAArL,MAAAA,CAAA,CAAA,EACA,EAAAyL,GAAA,UAAA,OAAAzL,EAAA,IAAA,IAAAH,KAAAG,EAAA3D,EAAA8B,EAAAwN,EAAA9L,EAAA,SAAAA,GAAA,OAAAG,EAAAH,EAAA,EAAAgM,KAAA,KAAAhM,CAAA,CAAA,EACA,OAAA8L,CACA,EAGAtP,EAAA6K,EAAA,SAAApL,GACA,IAAAoP,EAAApP,GAAAA,EAAA4P,WACA,WAAA,OAAA5P,EAAA,OAAA,EACA,WAAA,OAAAA,CAAA,EAEA,OADAO,EAAA8B,EAAA+M,EAAA,IAAAA,CAAA,EACAA,CACA,EAGA7O,EAAA8O,EAAA,SAAAW,EAAAlF,GAAA,OAAAjJ,OAAAC,UAAAmO,eAAAjO,KAAAgO,EAAAlF,CAAA,CAAA,EAGAvK,EAAAgL,EAAA,GAIAhL,EAAAA,EAAA2P,EAAA,CAAA,EA+3BA,QA78BA,SAAA3P,EAAA4P,GAGA,IAIAnQ,EAJA,OAAAiP,EAAAkB,KAIAnQ,EAAAiP,EAAAkB,GAAA,CACAhM,EAAAgM,EACAC,EAAA,CAAA,EACArQ,QAAA,EACA,EAGAK,EAAA+P,GAAAnO,KAAAhC,EAAAD,QAAAC,EAAAA,EAAAD,QAAAQ,CAAA,EAGAP,EAAAoQ,EAAA,CAAA,EAGApQ,IAhBAD,OAiBA,CA1BA,IAAAK,EAEA6O,CAi9BA,CAAA","file":"vendor.min.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"]}