!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ZapparWebGLSnapshot=t():e.ZapparWebGLSnapshot=t()}(window,(function(){return function(e){var t={};function i(s){if(t[s])return t[s].exports;var n=t[s]={i:s,l:!1,exports:{}};return e[s].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(s,n,function(t){return e[t]}.bind(null,n));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(1);t.default=function(e,t,i={SAVE:"SAVE",SHARE:"SHARE",NowOpenFilesAppToShare:"Now open files app to share",TapAndHoldToSave:"Tap and hold the image
to save to your Photos app"}){new s.default(t).captureimage(e,i)}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(2),n=i(5);class o extends s.default{constructor(){super(...arguments),this.profile=new n.default,this.containerPreview=o._getContainerPreview(),this.containerButtons=o._getContainerFlex(),this.instructionsText=o._getInstructionsP()}captureimage(e,t){if(o._dialogOpen)throw new Error("Snapshot Dialog is already open.");o._dialogOpen=!0,document.body.append(this.containerPreview),this.containerPreview.appendChild(o._getSvgClose(()=>{var t;null===(t=e.onClose)||void 0===t||t.call(e),this.destroy()})),e.data=o._dataToURI(e.data);const i=o._getPreviewImage(e.data);if(this.containerButtons.appendChild(this.instructionsText),o._dataURItoFileBlob(e.data).then(i=>{if(e.hideShareButton)return;const s=o._prepareShare(i,"jpeg",e.shareUrl,e.shareTitle,e.shareText,t.SHARE);null==s||s.addEventListener("click",()=>{var t;null===(t=e.onShare)||void 0===t||t.call(e)}),s&&this.containerButtons.appendChild(s)}),this.profile.longPressForImageShare?this._displayMessage(t.TapAndHoldToSave):i.style.pointerEvents="none",this.containerPreview.appendChild(this.containerButtons),!this.profile.iOS12HideSave){const i=o._getButtonSave(e.data,o._getFileName("jpeg",e.fileNamePrepend),t.SAVE);this.containerButtons.appendChild(i),this.profile.iOSFilesAppForPhotoShare&&i.addEventListener("click",()=>{var s;null===(s=e.onSave)||void 0===s||s.call(e),e.hideShareButton||(this._displayMessage(t.NowOpenFilesAppToShare),i.remove(),this.containerButtons.appendChild(o._getOpenFilesButton()))})}}_displayMessage(e){this.instructionsText.innerHTML=e,this.instructionsText.style.display="block"}static _dataToURI(e){if(e instanceof HTMLCanvasElement)return e.toDataURL("image/jpeg",.8);if("string"==typeof e)return e;if(e)return window.URL.createObjectURL(e);throw new Error("No media found. Please construct with a canvas or pass data as parameter.")}static _prepareShare(e,t,i="",s="",n="",r){if(!navigator.canShare)return;if(!navigator.canShare({files:[e]}))return;const a=o._getShareButton(r);return a.addEventListener("click",async()=>{try{await navigator.share({files:[e],url:i,title:s,text:n})}catch(e){console.log("Unable to share",e.message)}}),a}destroy(){const e=document.getElementById("ZapparSnapshotContainer");null==e||e.querySelectorAll("*").forEach(e=>e.remove()),document.body.removeChild(e),this.instructionsText.style.display="none",o._dialogOpen=!1}static _getFileName(e,t="Zappar"){return`${t}_saved_media_${(new Date).toLocaleTimeString()}.${e}`}static async _dataURItoFileBlob(e){const t=await fetch(e).then(e=>e.blob());return new File([t],""+o._getFileName(".jpeg"),{type:t.type})}}t.default=o,o._dialogOpen=!1},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(3),n=i(4);class o{constructor(e){if(e)for(const t of Object.keys(e))for(const i of Object.keys(e[t])){const n=e[t][i];n&&(s.default[t][i]=n)}}static createElement(e,t){const i=document.createElement(e);return Object.assign(i,t),Object.assign(i.style,t.style),i}static createSVG(e,t){const i=document.createElement("div"),s=(new DOMParser).parseFromString(e,"application/xml");i.appendChild(i.ownerDocument.importNode(s.documentElement,!0));const n=i.firstChild;return Object.assign(n.style,t.style),n}static _getContainerPreview(){return o.createElement("div",{style:s.default.containerDiv,id:"ZapparSnapshotContainer"})}static _getSvgClose(e){const t=o.createElement("a",{style:s.default.buttonCloseAnchor,id:"zapparCloseAref",onclick:()=>e()}),i=o.createSVG(n.getCloseSvgStr(),{style:s.default.buttonCloseImage});return t.appendChild(i),t}static _getContainerFlex(){return o.createElement("div",{style:s.default.flexContainerDiv})}static _getButtonSave(e,t,i){const r=o.createElement("a",{style:s.default.saveShareAnchor,id:"zapparSaveButton",href:e,download:t,target:"_blank"}),a=o.createSVG(n.getSaveSvgStr(i),{style:s.default.saveShareAnchor});return r.appendChild(a),r}static _getPreviewVideo(e){var t;const i=o.createElement("video",{style:s.default.previewElement,src:e,id:"ZapparPreviewVideo"});return i.controls=!0,null===(t=document.getElementById("ZapparSnapshotContainer"))||void 0===t||t.appendChild(i),i}static _getPreviewImage(e){var t;const i=o.createElement("img",{style:s.default.previewElement,src:e,id:"ZapparPreviewImg"});return null===(t=document.getElementById("ZapparSnapshotContainer"))||void 0===t||t.appendChild(i),i}static _getShareButton(e){const t=o.createElement("a",{style:s.default.saveShareAnchor,id:"zapparShareButton"}),i=o.createSVG(n.getShareSvgStr(e),{style:s.default.saveShareAnchor});return t.appendChild(i),t}static _getOpenFilesButton(){return o.createElement("a",{style:s.default.buttonOpenFiles,id:"zapparOpenFilesButton",href:"shareddocuments://",innerText:"Open Files App"})}static _getInstructionsP(){return o.createElement("p",{style:s.default.instructions,id:"zapparInstructionsp"})}}t.default=o},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={saveShareAnchor:{display:"flex",width:"70px",height:"70px",marginTop:"2.5%",marginLeft:"5%",marginRight:"5%"},buttonImage:{pointerEvents:"none",display:"flex",justifyContent:"center",margin:"auto",width:"40px",height:"40px"},buttonCloseAnchor:{width:"15px",height:"15px",margin:"4%",zIndex:9999,top:0,position:"absolute"},previewElement:{height:"auto",width:"80%",marginLeft:"auto",marginRight:"auto",backgroundColor:"#ccc",boxShadow:"0px 0px 4px 0px rgba(0,0,0,0.5)",display:"flex"},containerDiv:{position:"fixed",width:"100%",height:"100%",top:"0px",left:"0px",zIndex:1e4,backgroundColor:"rgba(255,255,255,1)",fontFamily:"sans-serif",color:"rgba(255,255,255,1)",display:"flex",flexDirection:"column",justifyContent:"center"},flexContainerDiv:{display:"flex",justifyContent:"center",flexWrap:"wrap"},buttonCloseImage:{pointerEvents:"none",width:"15px",height:"15px"},buttonOpenFiles:{border:"2px solid black",textTransform:"uppercase",padding:"10px",minWidth:"100px",color:"black",display:"inline - block",marginTop:"20px",textDecoration:"none",borderRadius:"10px"},instructions:{color:"black",marginBottom:"0",width:"100%",textAlign:"center",display:"none"}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShareSvgStr=t.getSaveSvgStr=t.getCloseSvgStr=void 0,t.getCloseSvgStr=function(){return''},t.getSaveSvgStr=function(e="SAVE"){return`\n`},t.getShareSvgStr=function(e="SHARE"){return``}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(6);class n{constructor(){var e;switch(this.agent=new s.UAParser,this.muteByDefault=!1,this.blacklisted=!1,this.longPressForImageShare=!1,this.iOS12HideSave=!1,this.iOSFilesAppForPhotoShare=!1,this.os=null===(e=this.agent.getOS().version)||void 0===e?void 0:e.split("."),this.agent.getBrowser().name){case"Mobile Safari":this._initMobileSafari();break;case"Chrome":n._initChrome();break;case"Safari":this._initSafari()}}static _initChrome(){}_initSafari(){this.muteByDefault=!0}_initMobileSafari(){var e;this.muteByDefault=!0,this.longPressForImageShare=!0;const t=null===(e=this.agent.getOS().version)||void 0===e?void 0:e.split(".");if(t&&t.length>=2){const e=parseInt(t[0],10),i=parseInt(t[1],10);(e<11||11===e&&i<3)&&(this.blacklisted=!0),12===e&&(this.iOS12HideSave=!0),e>=13&&(this.longPressForImageShare=!1,this.iOSFilesAppForPhotoShare=!0)}}}t.default=n},function(e,t,i){var s;
/*!
* UAParser.js v0.7.21
* Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js
*
* Copyright © 2012-2019 Faisal Salman
* Licensed under MIT License
*/!function(n,o){"use strict";var r="model",a="name",l="type",d="vendor",c="version",u="mobile",p="tablet",w="smarttv",h={extend:function(e,t){var i={};for(var s in e)t[s]&&t[s].length%2==0?i[s]=t[s].concat(e[s]):i[s]=e[s];return i},has:function(e,t){return"string"==typeof e&&-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()},major:function(e){return"string"==typeof e?e.replace(/[^\d\.]/g,"").split(".")[0]:void 0},trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},g={rgx:function(e,t){for(var i,s,n,o,r,a,l=0;l0?2==o.length?"function"==typeof o[1]?this[o[0]]=o[1].call(this,a):this[o[0]]=o[1]:3==o.length?"function"!=typeof o[1]||o[1].exec&&o[1].test?this[o[0]]=a?a.replace(o[1],o[2]):void 0:this[o[0]]=a?o[1].call(this,a,o[2]):void 0:4==o.length&&(this[o[0]]=a?o[3].call(this,a.replace(o[1],o[2])):void 0):this[o]=a||void 0;l+=2}},str:function(e,t){for(var i in t)if("object"==typeof t[i]&&t[i].length>0){for(var s=0;s