dromo-uploader-js 2.9.1 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var DromoUploader=function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function c(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,c)}a((r=r.apply(e,t||[])).next())})}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=c(0),s.throw=c(1),s.return=c(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(a){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o,i,s,c,a,u={IFRAME_URL:"https://widget.dromo.io/"}.IFRAME_URL;!function(e){e.INIT_IFRAME="INIT_IFRAME"}(r||(r={})),function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(c||(c={})),function(e){e.Message="message"}(a||(a={}));const l={"http:":"80","https:":"443"},d=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,h=["file:","data:"];const f=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let p=0;var m=()=>++p,v=(e,t,n,r,c)=>{const{localName:u,local:l,remote:d,originForSending:h,originForReceiving:f}=t;let p=!1;c(`${u}: Connecting call sender`);const v=e=>(...t)=>{let n;c(`${u}: Sending ${e}() call`);try{d.closed&&(n=!0)}catch(e){n=!0}if(n&&r(),p){const t=new Error(`Unable to send ${e}() call due to destroyed connection`);throw t.code=s.ConnectionDestroyed,t}return new Promise((n,r)=>{const s=m(),p=t=>{if(t.source!==d||t.data.penpal!==o.Reply||t.data.id!==s)return;if(t.origin!==f)return void c(`${u} received message from origin ${t.origin} which did not match expected origin ${f}`);const h=t.data;c(`${u}: Received ${e}() reply`),l.removeEventListener(a.Message,p);let m=h.returnValue;h.returnValueIsError&&(m=(e=>{const t=new Error;return Object.keys(e).forEach(n=>t[n]=e[n]),t})(m)),(h.resolution===i.Fulfilled?n:r)(m)};l.addEventListener(a.Message,p);const v={penpal:o.Call,id:s,methodName:e,args:t};d.postMessage(v,h)})};return n.reduce((e,t)=>(e[t]=v(t),e),e),()=>{p=!0}},w=(e,t,n,r,s)=>{const{destroy:u,onDestroy:l}=r;let d,h;const p={};return r=>{if(r.origin!==t)return void s(`Parent: Handshake - Received ACK message from origin ${r.origin} which did not match expected origin ${t}`);s("Parent: Handshake - Received ACK");const m={localName:"Parent",local:window,remote:r.source,originForSending:n,originForReceiving:t};d&&d(),d=((e,t,n)=>{const{localName:r,local:s,remote:u,originForSending:l,originForReceiving:d}=e;let h=!1;const p=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==d)return void n(`${r} received message from origin ${e.origin} which did not match expected origin ${d}`);const s=e.data,{methodName:a,args:p,id:m}=s;n(`${r}: Received ${a}() call`);const v=e=>t=>{if(n(`${r}: Sending ${a}() reply`),h)return void n(`${r}: Unable to send ${a}() reply due to destroyed connection`);const s={penpal:o.Reply,id:m,resolution:e,returnValue:t};e===i.Rejected&&t instanceof Error&&(s.returnValue=f(t),s.returnValueIsError=!0);try{u.postMessage(s,l)}catch(e){if(e.name===c.DataCloneError){const t={penpal:o.Reply,id:m,resolution:i.Rejected,returnValue:f(e),returnValueIsError:!0};u.postMessage(t,l)}throw e}};new Promise(e=>e(t[a].apply(t,p))).then(v(i.Fulfilled),v(i.Rejected))};return s.addEventListener(a.Message,p),()=>{h=!0,s.removeEventListener(a.Message,p)}})(m,e,s),l(d),h&&h.forEach(e=>{delete p[e]}),h=r.data.methodNames;const w=v(p,m,h,u,s);return l(w),p}};var g=e=>{let{iframe:t,methods:n={},childOrigin:r,timeout:i,debug:c=!1}=e;const u=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(c),f=(()=>{const e=[];let t=!1;return{destroy(n){t=!0,e.forEach(e=>{e(n)})},onDestroy(n){t?n():e.push(n)}}})(),{onDestroy:p,destroy:m}=f;r||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(t),r=(e=>{if(e&&h.find(t=>e.startsWith(t)))return"null";const t=document.location,n=d.exec(e);let r,o,i;return n?(r=n[1]?n[1]:t.protocol,o=n[2],i=n[4]):(r=t.protocol,o=t.hostname,i=t.port),`${r}//${o}${i&&i!==l[r]?`:${i}`:""}`})(t.src));const v="null"===r?"*":r,g=((e,t,n,r)=>i=>{if(i.origin!==n)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${n}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(t)};i.source.postMessage(s,r)})(u,n,r,v),b=w(n,r,v,f,u),y=new Promise((e,n)=>{const r=((e,t)=>{let n;return void 0!==e&&(n=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${e}ms`);n.code=s.ConnectionTimeout,t(n)},e)),()=>{clearTimeout(n)}})(i,m),c=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==o.Syn){if(n.data.penpal===o.Ack){const t=b(n);return void(t&&(r(),e(t)))}}else g(n)};window.addEventListener(a.Message,c),u("Parent: Awaiting handshake"),((e,t)=>{const{destroy:n,onDestroy:r}=t,o=setInterval(()=>{e.isConnected||(clearInterval(o),n())},6e4);r(()=>{clearInterval(o)})})(t,f),p(e=>{window.removeEventListener(a.Message,c),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),n(e)})});return{promise:y,destroy(){m()}}},b=function(e,t){return console.error("[Dromo-External-Error] There was an error running your ".concat(t,"."),e)},y=function(e){return setTimeout(function(){console.warn("[Dromo Error] Slow ".concat(e," detected (>10s). Long running hooks can degrade user experience and importer performance."))},1e4)},k=function(e){clearTimeout(e)},I=function(r,o,i){return t(void 0,void 0,void 0,function(){var s,c,a;return n(this,function(u){switch(u.label){case 0:return s=new Map,c=o.map(function(t){return e({},t)}),[4,r.reduce(function(e,r){return t(void 0,void 0,void 0,function(){return n(this,function(o){switch(o.label){case 0:return[4,e.then(function(){return t(void 0,void 0,void 0,function(){var e,t,o;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=y("column hook"),[4,r.callback(c)];case 1:return t=n.sent(),k(e),t.forEach(function(e){if(void 0!==e.value||void 0!==e.info){var t={};void 0!==e.value&&(t.value=e.value,c[e.index].value=e.value),void 0!==e.info&&(t.info=e.info),s.set(e.index,t)}}),[3,3];case 2:return o=n.sent(),i(o,"column hooks"),[3,3];case 3:return[2]}})})})];case 1:return o.sent(),[2]}})})},Promise.resolve())];case 1:return u.sent(),a=[],s.forEach(function(t,n){return a.push(e(e({},t),{index:n}))}),[2,a]}})})},E=function(e){return void 0===e.value&&void 0===e.info&&void 0===e.selectOptions&&void 0===e.manyToOne},C=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var c,a,u,l,d,h,f,p,m,v,w,g,b;return n(this,function(I){switch(I.label){case 0:c=new Map,a=new Map(e.map(function(e){return[e.index,e]})),u=function(e,t){for(var n,r=a.get(e),o=function(t,o){if(E(o))return"continue";var i=r.row[t],s=Array.isArray(i.manyToOne),a="manyToOne"in o&&Array.isArray(o.manyToOne);if(s&&!a)throw new Error("".concat(t," should have manyToOne defined as an array."));if(s&&a&&i.manyToOne.length!==o.manyToOne.length)throw new Error("".concat(t," should be array of length ").concat(i.manyToOne.length));var u=c.get(e)||{},l=null!==(n=u[t])&&void 0!==n?n:{},d=[];a?(l.manyToOne=[],o.manyToOne.forEach(function(e,t){if(!E(e)){var n={};l.manyToOne.push(n),d.push({fieldOutput:e,rowDataField:i.manyToOne[t],cellChange:n})}})):d.push({fieldOutput:o,rowDataField:i,cellChange:l}),d.forEach(function(e){var t=e.fieldOutput,n=e.rowDataField,r=e.cellChange;void 0!==t.value&&(r.value=t.value,n.value=t.value),void 0!==t.info&&(r.info=t.info,n.info=t.info),void 0!==t.selectOptions&&(r.selectOptions=t.selectOptions,n.selectOptions=t.selectOptions)}),u[t]=l,c.set(e,u)},i=0,s=Object.entries(null!=t?t:{});i<s.length;i++){var u=s[i];o(u[0],u[1])}},l=0,d=i,I.label=1;case 1:if(!(l<d.length))return[3,6];h=d[l],I.label=2;case 2:return I.trys.push([2,4,,5]),f=y("bulk row hook"),[4,h(e,r)];case 3:for(p=I.sent(),k(f),m=0,v=p;m<v.length;m++)w=v[m],u(w.index,w.row);return[3,5];case 4:return g=I.sent(),s(g,"bulk row hooks"),[3,5];case 5:return l++,[3,1];case 6:return[4,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){var t,i,c,a,l,d;return n(this,function(n){switch(n.label){case 0:t=0,i=o,n.label=1;case 1:if(!(t<i.length))return[3,6];c=i[t],n.label=2;case 2:return n.trys.push([2,4,,5]),a=y("row hook"),[4,c(e,r)];case 3:return l=n.sent(),k(a),u(e.index,l.row),[3,5];case 4:return d=n.sent(),s(d,"row hooks"),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})}))];case 7:return I.sent(),b=[],c.forEach(function(e,t){b.push({index:t,row:e})}),[2,b]}})})},R=function(e,r,o){return t(void 0,void 0,void 0,function(){return n(this,function(i){return[2,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){return n(this,function(i){return r.forEach(function(r){return t(void 0,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),t=y("row delete hook"),[4,r(e)];case 1:return n.sent(),k(t),[3,3];case 2:return i=n.sent(),o(i,"row delete hooks"),[3,3];case 3:return[2]}})})}),[2]})})}))]})})},H=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){return n(this,function(c){switch(c.label){case 0:return[4,Promise.all(o.map(function(o){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(e!==o.type)return[2,Promise.resolve()];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o.callback(i,r)];case 2:return[2,n.sent()];case 3:return t=n.sent(),s(t,"step hook ".concat(e)),[2,Promise.resolve()];case 4:return[2]}})})}))];case 1:return c.sent(),[2]}})})},D=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o(e,r,i)];case 1:return[2,n.sent()];case 2:return t=n.sent(),s(t,"before finish callback"),[3,3];case 3:return[2]}})})},x=function(e,r,o,i){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,i(e,r)];case 1:return[2,n.sent()];case 2:return t=n.sent(),o(t,"custom file parser callback"),[3,3];case 3:return[2]}})})},O="dromo-container",F=function(t){var n=e({},t);return n.validators&&(n.validators=n.validators.map(function(t){return("regex_match"===t.validate||"regex_exclude"===t.validate)&&t.regex instanceof RegExp?e(e({},t),{regex:t.regex.source,regexOptions:{ignoreCase:t.regex.flags.includes("i"),dotAll:t.regex.flags.includes("s"),multiline:t.regex.flags.includes("m"),unicode:t.regex.flags.includes("u")}}):t})),n},S=function(){function r(r,o,i,s){var c=this;this.embedInline=!1,this.columnHooks=[],this.bulkRowHooks=[],this.rowHooks=[],this.stepHooks=[],this.rowDeleteHooks=[],this.customSteps=[],this.fileParsers=[],this.initChild=function(){return t(c,void 0,void 0,function(){var t,r,o,i,s;return n(this,function(n){switch(n.label){case 0:return this.connection?[4,this.connection.promise]:(console.error("shim cannot connect with Dromo service."),alert("There was en error opening the importer. Please contact support if this issue persists."),[2]);case 1:return t=n.sent(),r=Array.from(document.getElementsByTagName("script")).some(function(e){return"https://unpkg.com/dromo-uploader-js/dist/DromoUploader.js"===e.src||"https://cdn.jsdelivr.net/npm/dromo-uploader-js@latest/dist/DromoUploader.js"===e.src}),[4,t.setNumRegisteredRowHooks(this.totalNumRowHooks())];case 2:return n.sent(),[4,t.setNumRegisteredColHooks(this.columnHooks.length)];case 3:return n.sent(),[4,t.setNumRegisteredRowDeleteHooks(this.rowDeleteHooks.length)];case 4:return n.sent(),[4,t.setCustomParserFileExtensions(this.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))];case 5:return n.sent(),[4,t.setEmbedInline(this.embedInline)];case 6:return n.sent(),this.customSteps.length>0?[4,t.setCustomSteps(this.customSteps.map(function(e){return{id:e.id,insertAfter:e.insertAfter,label:e.label,url:e.url}}))]:[3,8];case 7:n.sent(),n.label=8;case 8:return this.fields&&this.settings&&this.user?(o=e({},this.settings),r||(o.version=null!==(i=o.version)&&void 0!==i?i:"v2"),o.browserExcelParsing=null===(s=o.browserExcelParsing)||void 0===s||s,[4,t.init(this.licenseKey,this.fields,o,this.user,this.appHost)]):[3,10];case 9:return n.sent(),[3,13];case 10:return this.schemaId?[4,t.initFromSavedSchema(this.licenseKey,this.schemaId,this.appHost,{user:this.user,developmentMode:this.developmentMode,headerRowOverride:this.headerRowOverride})]:[3,12];case 11:return n.sent(),[3,13];case 12:console.error("Invalid Dromo configuration"),n.label=13;case 13:return[2]}})})},this.initIFrame=function(){var e,t,n,r,o;if(window.DROMO_WIDGET_OVERRIDE)o=window.DROMO_WIDGET_OVERRIDE;else if(null===(e=c.settings)||void 0===e?void 0:e.alternateDomain){var i=new URL(c.settings.alternateDomain);o=i.protocol+"//widget."+i.host}else o="v1"===(null===(t=c.settings)||void 0===t?void 0:t.version)?"https://widget-v1.dromo.io/":u;if(!document.getElementById(c.iframeId)){var s=document.createElement("iframe"),a=null!==(r=null===(n=c.settings)||void 0===n?void 0:n.importIdentifier)&&void 0!==r?r:c.schemaId;s.title=a?"Dromo Importer: ".concat(a):"Dromo Importer",s.src=o,s.id=c.iframeId,s.style.height="100%",s.style.width="100%",s.style.border="0",s.allow="clipboard-read; clipboard-write",s.crossorigin="anonymous",c.iframe=s}},this.createConnection=function(){var r=c,o=c.iframe;o?c.connection=g({iframe:o,methods:{handleColumnHooks:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return t=r.columnHooks.filter(function(t){return t.fieldName===e}),[4,I(t,o,b)];case 1:return[2,n.sent()]}})})},handleRowHooks:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,C(e,o,r.rowHooks.map(function(e){return e.callback}),r.bulkRowHooks,b)];case 1:return[2,t.sent()]}})})},handleStepHook:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,H(e,o,r.stepHooks,r,b)];case 1:return[2,t.sent()]}})})},handleParseFileCallback:function(e,o){return t(this,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return t=o.split(".").pop(),i=r.fileParsers.find(function(e){return-1!==e.extensions.map(function(e){return e.toLowerCase()}).indexOf(t.toLowerCase())}),[4,x(e,o,b,i.parseFile)];case 1:return[2,n.sent()]}})})},handleRowDeleteHooks:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,R(e,r.rowDeleteHooks,b)];case 1:return t.sent(),[2]}})})},handleBeforeFinishCallback:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return r.beforeFinishCallback?[4,D(e,o,r.beforeFinishCallback,r,b)]:[3,2];case 1:return[2,t.sent()];case 2:return[2]}})})},handleResults:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(!r.resultsCallback)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,r.resultsCallback(e,o)];case 2:return n.sent(),[3,4];case 3:return t=n.sent(),console.error("[Dromo-External-Error] There was an error in your onResult callback.",t),[3,4];case 4:return r.close(),[2]}})})},handleCloseModal:function(){r.close()},handleCancel:function(){if(r.cancelCallback)try{r.cancelCallback()}catch(e){console.error("[Dromo-External-Error] There was an error in your cancel callback.",e)}r.close()},handleCustomStep:function(e){return t(this,void 0,void 0,function(){return n(this,function(e){return[2,void 0]})})},handleCustomStepMessage:function(o,i){return t(this,void 0,void 0,function(){var t,s,c,a;return n(this,function(n){switch(n.label){case 0:return(null==(t=r.customSteps.find(function(e){return e.id===o}))?void 0:t.onMessage)?[4,r.connection.promise]:[2];case 1:s=n.sent(),c=e(e({},r),{completeCustomStep:function(){return s.completeCustomStep()},goBackCustomStep:function(){return s.goBackCustomStep()}}),n.label=2;case 2:return n.trys.push([2,4,,5]),[4,t.onMessage(c,i)];case 3:return n.sent(),[3,5];case 4:return a=n.sent(),console.error("[Dromo-External-Error] There was an error in your custom step onMessage callback.",a),[3,5];case 5:return[2]}})})}}}):console.error("shim cannot connect to Dromo.")},this.mountIFrame=function(){if(!document.getElementById(c.iframeId)){var e=document.createElement("div");e.id=c.wrapperId,e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.visibility="hidden",e.style.width="0px",e.style.height="0px",e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.right="0px",e.style.bottom="0px",e.appendChild(c.iframe),document.body.appendChild(e),c.wrapper=e}},this.addIFrameToWrapper=function(){c.wrapper&&c.iframe&&(c.iframe.style.visibility="hidden",c.wrapper.appendChild(c.iframe))},this.showIframe=function(){c.iframe&&(c.iframe.style.visibility="visible")},this.showWrapper=function(){c.wrapper&&(c.wrapper.style.visibility="visible",c.wrapper.style.width="100%",c.wrapper.style.height="100%",document.body.style.overflow="hidden")},this.registerColumnHook=function(e,t){c.columnHooks.push({fieldName:e,callback:t}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredColHooks(c.columnHooks.length)})},this.totalNumRowHooks=function(){return c.rowHooks.length+c.bulkRowHooks.length},this.registerBulkRowHook=function(e){c.bulkRowHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerRowHook=function(e){c.rowHooks.push({callback:e}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerStepHook=function(e,t){c.stepHooks.push({type:e,callback:t})},this.registerCustomStep=function(e){c.customSteps.push(e)},this.registerRowDeleteHook=function(e){c.rowDeleteHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowDeleteHooks(c.rowDeleteHooks.length)})},this.beforeFinish=function(e){c.beforeFinishCallback=e},this.registerFileParser=function(e){c.fileParsers.push(e),c.connection&&c.connection.promise.then(function(e){e.setCustomParserFileExtensions(c.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))})},this.registerAllHooks=function(e){if(e.columnHooks)for(var t=0,n=e.columnHooks;t<n.length;t++){var r=n[t],o=r.fieldName,i=r.callback;c.registerColumnHook(o,i)}if(e.rowHooks)for(var s=0,a=e.rowHooks;s<a.length;s++){var u=a[s];c.registerRowHook(u)}if(e.bulkRowHooks)for(var l=0,d=e.bulkRowHooks;l<d.length;l++){var h=d[l];c.registerBulkRowHook(h)}if(e.rowDeleteHooks)for(var f=0,p=e.rowDeleteHooks;f<p.length;f++){var m=p[f];c.registerRowDeleteHook(m)}if(e.stepHooks)for(var v=0,w=e.stepHooks;v<w.length;v++){var g=w[v],b=g.type;i=g.callback;c.registerStepHook(b,i)}if(e.beforeFinishCallback&&c.beforeFinish(e.beforeFinishCallback),e.fileParsers)for(var y=0,k=e.fileParsers;y<k.length;y++){var I=k[y];c.registerFileParser(I)}},this.onResults=function(e){c.resultsCallback=e},this.onCancel=function(e){c.cancelCallback=e},this.setUser=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.user=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setUser(this.user)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.addField=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addField(F(e),r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.removeField=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeField(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.updateInfoMessages=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().updateInfoMessages(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.setHeaderRowOverride=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.headerRowOverride=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setHeaderRowOverride(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.setConfirmationMessage=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setConfirmationMessage(e,r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.open=function(){return t(c,void 0,void 0,function(){return n(this,function(e){switch(e.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return e.sent(),this.showWrapper(),[2]}})})},this.initInline=function(e){return t(c,void 0,void 0,function(){var t,r;return n(this,function(n){switch(n.label){case 0:this.embedInline=!0,n.label=1;case 1:if(n.trys.push([1,3,,4]),e instanceof HTMLElement&&(this.wrapper=e,this.wrapperId=e.id,""!==this.wrapperId&&void 0!==this.wrapperId||(this.wrapperId=Math.random().toString(36).substring(7)+"-"+O)),"string"==typeof e){if(null===(t=document.getElementById(e)))throw new Error("WRAPPER_NOT_FOUND");this.wrapper=t,this.wrapperId=e}return this.iframe||(this.initIFrame(),this.createConnection(),this.addIFrameToWrapper()),[4,this.initChild()];case 2:return n.sent(),this.showIframe(),[3,4];case 3:throw"WRAPPER_NOT_FOUND"===(r=n.sent()).message&&console.error("[Dromo-Error] Could not find wrapper using provided ID."),r;case 4:return[2]}})})},this.addRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addRows(e)];case 2:return[2,t.sent()];case 3:return console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),[2,[]]}})})},this.removeRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeRows(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.close=function(){c.wrapper&&(c.wrapper.style.visibility="hidden",c.wrapper.style.width="0px",c.wrapper.style.height="0px",document.body.style.overflow="inherit")},this.setDevelopmentMode=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.developmentMode=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setDevelopmentMode(this.developmentMode)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.rehydrate=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return t.sent(),[4,this.connection.promise];case 2:return[4,t.sent().rehydrate(e,r)];case 3:return t.sent(),this.showWrapper(),[2]}})})},this.iframeId=Math.random().toString(36).substring(7)+"-dromo-iframe-element",this.wrapperId=Math.random().toString(36).substring(7)+"-"+O,this.appHost=document.location.hostname,void 0!==i&&void 0!==s?(this.licenseKey=r,this.fields=o.map(F),this.settings=i,this.user=s,this.checkCloneable({licenseKey:this.licenseKey,fields:this.fields,settings:this.settings,user:this.user})):(this.licenseKey=r,this.schemaId=o,this.checkCloneable({licenseKey:this.licenseKey,schemaId:this.schemaId}))}var o;return r.prototype.checkCloneable=function(e){if("function"==typeof structuredClone){var t=Object.entries(e).filter(function(e){e[0];var t=e[1];try{return structuredClone(t),!1}catch(e){return!0}}).map(function(e){return e[0]});if(t.length>0){var n=t.join(", ");throw new Error("[Dromo-External-Error] The Dromo importer received non-cloneable parameters: ".concat(n,". See https://dromo.dev/err/clone"))}}},o=r,r.rehydrateHeadless=function(e){var i=e.licenseKey,s=e.headlessImportId,c=e.fields,a=e.settings,u=e.hooks,l=e.rehydrateState;return t(void 0,void 0,void 0,function(){var e;return n(o,function(t){switch(t.label){case 0:return(e=new r(i,c,a,{id:"headless-review"})).registerAllHooks(u),[4,e.rehydrate(l,s)];case 1:return t.sent(),e.open(),[2,e]}})})},r}();return S}();
1
+ var DromoUploader=function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o,i,s,a,c,u={IFRAME_URL:"https://widget.dromo.io/"}.IFRAME_URL;!function(e){e.INIT_IFRAME="INIT_IFRAME"}(r||(r={})),function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(a||(a={})),function(e){e.Message="message"}(c||(c={}));const l={"http:":"80","https:":"443"},d=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,h=["file:","data:"];const f=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let p=0;var m=()=>++p,v=(e,t,n,r,a)=>{const{localName:u,local:l,remote:d,originForSending:h,originForReceiving:f}=t;let p=!1;a(`${u}: Connecting call sender`);const v=e=>(...t)=>{let n;a(`${u}: Sending ${e}() call`);try{d.closed&&(n=!0)}catch(e){n=!0}if(n&&r(),p){const t=new Error(`Unable to send ${e}() call due to destroyed connection`);throw t.code=s.ConnectionDestroyed,t}return new Promise((n,r)=>{const s=m(),p=t=>{if(t.source!==d||t.data.penpal!==o.Reply||t.data.id!==s)return;if(t.origin!==f)return void a(`${u} received message from origin ${t.origin} which did not match expected origin ${f}`);const h=t.data;a(`${u}: Received ${e}() reply`),l.removeEventListener(c.Message,p);let m=h.returnValue;h.returnValueIsError&&(m=(e=>{const t=new Error;return Object.keys(e).forEach(n=>t[n]=e[n]),t})(m)),(h.resolution===i.Fulfilled?n:r)(m)};l.addEventListener(c.Message,p);const v={penpal:o.Call,id:s,methodName:e,args:t};d.postMessage(v,h)})};return n.reduce((e,t)=>(e[t]=v(t),e),e),()=>{p=!0}},w=(e,t,n,r,s)=>{const{destroy:u,onDestroy:l}=r;let d,h;const p={};return r=>{if(r.origin!==t)return void s(`Parent: Handshake - Received ACK message from origin ${r.origin} which did not match expected origin ${t}`);s("Parent: Handshake - Received ACK");const m={localName:"Parent",local:window,remote:r.source,originForSending:n,originForReceiving:t};d&&d(),d=((e,t,n)=>{const{localName:r,local:s,remote:u,originForSending:l,originForReceiving:d}=e;let h=!1;const p=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==d)return void n(`${r} received message from origin ${e.origin} which did not match expected origin ${d}`);const s=e.data,{methodName:c,args:p,id:m}=s;n(`${r}: Received ${c}() call`);const v=e=>t=>{if(n(`${r}: Sending ${c}() reply`),h)return void n(`${r}: Unable to send ${c}() reply due to destroyed connection`);const s={penpal:o.Reply,id:m,resolution:e,returnValue:t};e===i.Rejected&&t instanceof Error&&(s.returnValue=f(t),s.returnValueIsError=!0);try{u.postMessage(s,l)}catch(e){if(e.name===a.DataCloneError){const t={penpal:o.Reply,id:m,resolution:i.Rejected,returnValue:f(e),returnValueIsError:!0};u.postMessage(t,l)}throw e}};new Promise(e=>e(t[c].apply(t,p))).then(v(i.Fulfilled),v(i.Rejected))};return s.addEventListener(c.Message,p),()=>{h=!0,s.removeEventListener(c.Message,p)}})(m,e,s),l(d),h&&h.forEach(e=>{delete p[e]}),h=r.data.methodNames;const w=v(p,m,h,u,s);return l(w),p}};var g=e=>{let{iframe:t,methods:n={},childOrigin:r,timeout:i,debug:a=!1}=e;const u=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(a),f=(()=>{const e=[];let t=!1;return{destroy(n){t=!0,e.forEach(e=>{e(n)})},onDestroy(n){t?n():e.push(n)}}})(),{onDestroy:p,destroy:m}=f;r||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(t),r=(e=>{if(e&&h.find(t=>e.startsWith(t)))return"null";const t=document.location,n=d.exec(e);let r,o,i;return n?(r=n[1]?n[1]:t.protocol,o=n[2],i=n[4]):(r=t.protocol,o=t.hostname,i=t.port),`${r}//${o}${i&&i!==l[r]?`:${i}`:""}`})(t.src));const v="null"===r?"*":r,g=((e,t,n,r)=>i=>{if(i.origin!==n)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${n}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(t)};i.source.postMessage(s,r)})(u,n,r,v),b=w(n,r,v,f,u),y=new Promise((e,n)=>{const r=((e,t)=>{let n;return void 0!==e&&(n=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${e}ms`);n.code=s.ConnectionTimeout,t(n)},e)),()=>{clearTimeout(n)}})(i,m),a=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==o.Syn){if(n.data.penpal===o.Ack){const t=b(n);return void(t&&(r(),e(t)))}}else g(n)};window.addEventListener(c.Message,a),u("Parent: Awaiting handshake"),((e,t)=>{const{destroy:n,onDestroy:r}=t,o=setInterval(()=>{e.isConnected||(clearInterval(o),n())},6e4);r(()=>{clearInterval(o)})})(t,f),p(e=>{window.removeEventListener(c.Message,a),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),n(e)})});return{promise:y,destroy(){m()}}},b=function(e,t){return console.error("[Dromo-External-Error] There was an error running your ".concat(t,"."),e)},y=function(e){return setTimeout(function(){console.warn("[Dromo Error] Slow ".concat(e," detected (>10s). Long running hooks can degrade user experience and importer performance."))},1e4)},k=function(e){clearTimeout(e)},E=function(r,o,i){return t(void 0,void 0,void 0,function(){var s,a,c;return n(this,function(u){switch(u.label){case 0:return s=new Map,a=o.map(function(t){return e({},t)}),[4,r.reduce(function(e,r){return t(void 0,void 0,void 0,function(){return n(this,function(o){switch(o.label){case 0:return[4,e.then(function(){return t(void 0,void 0,void 0,function(){var e,t,o;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=y("column hook"),[4,r.callback(a)];case 1:return t=n.sent(),k(e),t.forEach(function(e){if(void 0!==e.value||void 0!==e.info){var t={};void 0!==e.value&&(t.value=e.value,a[e.index].value=e.value),void 0!==e.info&&(t.info=e.info),s.set(e.index,t)}}),[3,3];case 2:return o=n.sent(),i(o,"column hooks"),[3,3];case 3:return[2]}})})})];case 1:return o.sent(),[2]}})})},Promise.resolve())];case 1:return u.sent(),c=[],s.forEach(function(t,n){return c.push(e(e({},t),{index:n}))}),[2,c]}})})},C=function(e){return void 0===e.value&&void 0===e.info&&void 0===e.selectOptions&&void 0===e.manyToOne},I=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var a,c,u,l,d,h,f,p,m,v,w,g,b;return n(this,function(E){switch(E.label){case 0:a=new Map,c=new Map(e.map(function(e){return[e.index,e]})),u=function(e,t){for(var n,r=c.get(e),o=function(t,o){if(C(o))return"continue";var i=r.row[t],s=Array.isArray(i.manyToOne),c="manyToOne"in o&&Array.isArray(o.manyToOne);if(s&&!c)throw new Error("".concat(t," should have manyToOne defined as an array."));if(s&&c&&i.manyToOne.length!==o.manyToOne.length)throw new Error("".concat(t," should be array of length ").concat(i.manyToOne.length));var u=a.get(e)||{},l=null!==(n=u[t])&&void 0!==n?n:{},d=[];c?(l.manyToOne=[],o.manyToOne.forEach(function(e,t){if(!C(e)){var n={};l.manyToOne.push(n),d.push({fieldOutput:e,rowDataField:i.manyToOne[t],cellChange:n})}})):d.push({fieldOutput:o,rowDataField:i,cellChange:l}),d.forEach(function(e){var t=e.fieldOutput,n=e.rowDataField,r=e.cellChange;void 0!==t.value&&(r.value=t.value,n.value=t.value),void 0!==t.info&&(r.info=t.info,n.info=t.info),void 0!==t.selectOptions&&(r.selectOptions=t.selectOptions,n.selectOptions=t.selectOptions)}),u[t]=l,a.set(e,u)},i=0,s=Object.entries(null!=t?t:{});i<s.length;i++){var u=s[i];o(u[0],u[1])}},l=0,d=i,E.label=1;case 1:if(!(l<d.length))return[3,6];h=d[l],E.label=2;case 2:return E.trys.push([2,4,,5]),f=y("bulk row hook"),[4,h(e,r)];case 3:for(p=E.sent(),k(f),m=0,v=p;m<v.length;m++)w=v[m],u(w.index,w.row);return[3,5];case 4:return g=E.sent(),s(g,"bulk row hooks"),[3,5];case 5:return l++,[3,1];case 6:return[4,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){var t,i,a,c,l,d;return n(this,function(n){switch(n.label){case 0:t=0,i=o,n.label=1;case 1:if(!(t<i.length))return[3,6];a=i[t],n.label=2;case 2:return n.trys.push([2,4,,5]),c=y("row hook"),[4,a(e,r)];case 3:return l=n.sent(),k(c),u(e.index,l.row),[3,5];case 4:return d=n.sent(),s(d,"row hooks"),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})}))];case 7:return E.sent(),b=[],a.forEach(function(e,t){b.push({index:t,row:e})}),[2,b]}})})},R=function(e,r,o){return t(void 0,void 0,void 0,function(){return n(this,function(i){return[2,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){return n(this,function(i){return r.forEach(function(r){return t(void 0,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),t=y("row delete hook"),[4,r(e)];case 1:return n.sent(),k(t),[3,3];case 2:return i=n.sent(),o(i,"row delete hooks"),[3,3];case 3:return[2]}})})}),[2]})})}))]})})},H=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){return n(this,function(a){switch(a.label){case 0:return[4,Promise.all(o.map(function(o){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(e!==o.type)return[2,Promise.resolve()];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o.callback(i,r)];case 2:return[2,n.sent()];case 3:return t=n.sent(),s(t,"step hook ".concat(e)),[2,Promise.resolve()];case 4:return[2]}})})}))];case 1:return a.sent(),[2]}})})},D=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o(e,r,i)];case 1:return[2,n.sent()];case 2:return t=n.sent(),s(t,"before finish callback"),[3,3];case 3:return[2]}})})},x=function(e,r,o,i){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,i(e,r)];case 1:return[2,n.sent()];case 2:return t=n.sent(),o(t,"custom file parser callback"),[3,3];case 3:return[2]}})})},O="dromo-container",F=function(t){var n=e({},t);return n.validators&&(n.validators=n.validators.map(function(t){return("regex_match"===t.validate||"regex_exclude"===t.validate)&&t.regex instanceof RegExp?e(e({},t),{regex:t.regex.source,regexOptions:{ignoreCase:t.regex.flags.includes("i"),dotAll:t.regex.flags.includes("s"),multiline:t.regex.flags.includes("m"),unicode:t.regex.flags.includes("u")}}):t})),n},S=function(){function r(r,o,i,s){var a=this;this.embedInline=!1,this.columnHooks=[],this.bulkRowHooks=[],this.rowHooks=[],this.stepHooks=[],this.rowDeleteHooks=[],this.customSteps=[],this.fileParsers=[],this.initChild=function(){return t(a,void 0,void 0,function(){var t,r,o,i,s;return n(this,function(n){switch(n.label){case 0:return this.connection?[4,this.connection.promise]:(console.error("shim cannot connect with Dromo service."),alert("There was en error opening the importer. Please contact support if this issue persists."),[2]);case 1:return t=n.sent(),r=Array.from(document.getElementsByTagName("script")).some(function(e){return"https://unpkg.com/dromo-uploader-js/dist/DromoUploader.js"===e.src||"https://cdn.jsdelivr.net/npm/dromo-uploader-js@latest/dist/DromoUploader.js"===e.src}),[4,t.setNumRegisteredRowHooks(this.totalNumRowHooks())];case 2:return n.sent(),[4,t.setNumRegisteredColHooks(this.columnHooks.length)];case 3:return n.sent(),[4,t.setNumRegisteredRowDeleteHooks(this.rowDeleteHooks.length)];case 4:return n.sent(),[4,t.setCustomParserFileExtensions(this.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))];case 5:return n.sent(),[4,t.setEmbedInline(this.embedInline)];case 6:return n.sent(),this.customSteps.length>0?[4,t.setCustomSteps(this.customSteps.map(function(e){return{id:e.id,insertAfter:e.insertAfter,label:e.label,url:e.url}}))]:[3,8];case 7:n.sent(),n.label=8;case 8:return this.fields&&this.settings&&this.user?(o=e({},this.settings),r||(o.version=null!==(i=o.version)&&void 0!==i?i:"v2"),o.browserExcelParsing=null===(s=o.browserExcelParsing)||void 0===s||s,[4,t.init(this.licenseKey,this.fields,o,this.user,this.appHost)]):[3,10];case 9:return n.sent(),[3,13];case 10:return this.schemaId?[4,t.initFromSavedSchema(this.licenseKey,this.schemaId,this.appHost,{user:this.user,developmentMode:this.developmentMode,headerRowOverride:this.headerRowOverride})]:[3,12];case 11:return n.sent(),[3,13];case 12:console.error("Invalid Dromo configuration"),n.label=13;case 13:return[2]}})})},this.initIFrame=function(){var e,t,n,r,o;if(window.DROMO_WIDGET_OVERRIDE)o=window.DROMO_WIDGET_OVERRIDE;else if(null===(e=a.settings)||void 0===e?void 0:e.alternateDomain){var i=new URL(a.settings.alternateDomain);o=i.protocol+"//widget."+i.host}else o="v1"===(null===(t=a.settings)||void 0===t?void 0:t.version)?"https://widget-v1.dromo.io/":u;if(!document.getElementById(a.iframeId)){var s=document.createElement("iframe"),c=null!==(r=null===(n=a.settings)||void 0===n?void 0:n.importIdentifier)&&void 0!==r?r:a.schemaId;s.title=c?"Dromo Importer: ".concat(c):"Dromo Importer",s.src=o,s.id=a.iframeId,s.style.height="100%",s.style.width="100%",s.style.border="0",s.allow="clipboard-read; clipboard-write",s.crossorigin="anonymous",a.iframe=s}},this.createConnection=function(){var r=a,o=a.iframe;o?a.connection=g({iframe:o,methods:{handleColumnHooks:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return t=r.columnHooks.filter(function(t){return t.fieldName===e}),[4,E(t,o,b)];case 1:return[2,n.sent()]}})})},handleRowHooks:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,I(e,o,r.rowHooks.map(function(e){return e.callback}),r.bulkRowHooks,b)];case 1:return[2,t.sent()]}})})},handleStepHook:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,H(e,o,r.stepHooks,r,b)];case 1:return[2,t.sent()]}})})},handleParseFileCallback:function(e,o){return t(this,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return t=o.split(".").pop(),i=r.fileParsers.find(function(e){return-1!==e.extensions.map(function(e){return e.toLowerCase()}).indexOf(t.toLowerCase())}),[4,x(e,o,b,i.parseFile)];case 1:return[2,n.sent()]}})})},handleRowDeleteHooks:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,R(e,r.rowDeleteHooks,b)];case 1:return t.sent(),[2]}})})},handleBeforeFinishCallback:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return r.beforeFinishCallback?[4,D(e,o,r.beforeFinishCallback,r,b)]:[3,2];case 1:return[2,t.sent()];case 2:return[2]}})})},handleResults:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(!r.resultsCallback)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,r.resultsCallback(e,o)];case 2:return n.sent(),[3,4];case 3:return t=n.sent(),console.error("[Dromo-External-Error] There was an error in your onResult callback.",t),[3,4];case 4:return r.close(),[2]}})})},handleCloseModal:function(){r.close()},handleCancel:function(){if(r.cancelCallback)try{r.cancelCallback()}catch(e){console.error("[Dromo-External-Error] There was an error in your cancel callback.",e)}r.close()},handleCustomStep:function(e){return t(this,void 0,void 0,function(){return n(this,function(e){return[2,void 0]})})},handleCustomStepMessage:function(o,i){return t(this,void 0,void 0,function(){var t,s,a,c;return n(this,function(n){switch(n.label){case 0:return(null==(t=r.customSteps.find(function(e){return e.id===o}))?void 0:t.onMessage)?[4,r.connection.promise]:[2];case 1:s=n.sent(),a=e(e({},r),{completeCustomStep:function(){return s.completeCustomStep()},goBackCustomStep:function(){return s.goBackCustomStep()}}),n.label=2;case 2:return n.trys.push([2,4,,5]),[4,t.onMessage(a,i)];case 3:return n.sent(),[3,5];case 4:return c=n.sent(),console.error("[Dromo-External-Error] There was an error in your custom step onMessage callback.",c),[3,5];case 5:return[2]}})})},handleUserEvent:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){if(r.onUserEventCallback)try{r.onUserEventCallback(e)}catch(e){console.warn("[Dromo-External-Error] There was an error in your onUserEvent callback.",e)}return[2]})})}}}):console.error("shim cannot connect to Dromo.")},this.mountIFrame=function(){if(!document.getElementById(a.iframeId)){var e=document.createElement("div");e.id=a.wrapperId,e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.visibility="hidden",e.style.width="0px",e.style.height="0px",e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.right="0px",e.style.bottom="0px",e.appendChild(a.iframe),document.body.appendChild(e),a.wrapper=e}},this.addIFrameToWrapper=function(){a.wrapper&&a.iframe&&(a.iframe.style.visibility="hidden",a.wrapper.appendChild(a.iframe))},this.showIframe=function(){a.iframe&&(a.iframe.style.visibility="visible")},this.showWrapper=function(){a.wrapper&&(a.wrapper.style.visibility="visible",a.wrapper.style.width="100%",a.wrapper.style.height="100%",document.body.style.overflow="hidden")},this.registerColumnHook=function(e,t){a.columnHooks.push({fieldName:e,callback:t}),a.connection&&a.connection.promise.then(function(e){e.setNumRegisteredColHooks(a.columnHooks.length)})},this.totalNumRowHooks=function(){return a.rowHooks.length+a.bulkRowHooks.length},this.registerBulkRowHook=function(e){a.bulkRowHooks.push(e),a.connection&&a.connection.promise.then(function(e){e.setNumRegisteredRowHooks(a.totalNumRowHooks())})},this.registerRowHook=function(e){a.rowHooks.push({callback:e}),a.connection&&a.connection.promise.then(function(e){e.setNumRegisteredRowHooks(a.totalNumRowHooks())})},this.registerStepHook=function(e,t){a.stepHooks.push({type:e,callback:t})},this.registerCustomStep=function(e){a.customSteps.push(e)},this.registerRowDeleteHook=function(e){a.rowDeleteHooks.push(e),a.connection&&a.connection.promise.then(function(e){e.setNumRegisteredRowDeleteHooks(a.rowDeleteHooks.length)})},this.beforeFinish=function(e){a.beforeFinishCallback=e},this.registerFileParser=function(e){a.fileParsers.push(e),a.connection&&a.connection.promise.then(function(e){e.setCustomParserFileExtensions(a.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))})},this.registerAllHooks=function(e){if(e.columnHooks)for(var t=0,n=e.columnHooks;t<n.length;t++){var r=n[t],o=r.fieldName,i=r.callback;a.registerColumnHook(o,i)}if(e.rowHooks)for(var s=0,c=e.rowHooks;s<c.length;s++){var u=c[s];a.registerRowHook(u)}if(e.bulkRowHooks)for(var l=0,d=e.bulkRowHooks;l<d.length;l++){var h=d[l];a.registerBulkRowHook(h)}if(e.rowDeleteHooks)for(var f=0,p=e.rowDeleteHooks;f<p.length;f++){var m=p[f];a.registerRowDeleteHook(m)}if(e.stepHooks)for(var v=0,w=e.stepHooks;v<w.length;v++){var g=w[v],b=g.type;i=g.callback;a.registerStepHook(b,i)}if(e.beforeFinishCallback&&a.beforeFinish(e.beforeFinishCallback),e.fileParsers)for(var y=0,k=e.fileParsers;y<k.length;y++){var E=k[y];a.registerFileParser(E)}},this.onResults=function(e){a.resultsCallback=e},this.onCancel=function(e){a.cancelCallback=e},this.onUserEvent=function(e){a.onUserEventCallback=e},this.setUser=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.user=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setUser(this.user)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.addField=function(e,r){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addField(F(e),r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.removeField=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeField(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.updateInfoMessages=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().updateInfoMessages(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.setHeaderRowOverride=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.headerRowOverride=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setHeaderRowOverride(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.setConfirmationMessage=function(e,r){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setConfirmationMessage(e,r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.open=function(){return t(a,void 0,void 0,function(){return n(this,function(e){switch(e.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return e.sent(),this.showWrapper(),[2]}})})},this.initInline=function(e){return t(a,void 0,void 0,function(){var t,r;return n(this,function(n){switch(n.label){case 0:this.embedInline=!0,n.label=1;case 1:if(n.trys.push([1,3,,4]),e instanceof HTMLElement&&(this.wrapper=e,this.wrapperId=e.id,""!==this.wrapperId&&void 0!==this.wrapperId||(this.wrapperId=Math.random().toString(36).substring(7)+"-"+O)),"string"==typeof e){if(null===(t=document.getElementById(e)))throw new Error("WRAPPER_NOT_FOUND");this.wrapper=t,this.wrapperId=e}return this.iframe||(this.initIFrame(),this.createConnection(),this.addIFrameToWrapper()),[4,this.initChild()];case 2:return n.sent(),this.showIframe(),[3,4];case 3:throw"WRAPPER_NOT_FOUND"===(r=n.sent()).message&&console.error("[Dromo-Error] Could not find wrapper using provided ID."),r;case 4:return[2]}})})},this.addRows=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addRows(e)];case 2:return[2,t.sent()];case 3:return console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),[2,[]]}})})},this.removeRows=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeRows(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.close=function(){a.wrapper&&(a.wrapper.style.visibility="hidden",a.wrapper.style.width="0px",a.wrapper.style.height="0px",document.body.style.overflow="inherit")},this.setDevelopmentMode=function(e){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.developmentMode=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setDevelopmentMode(this.developmentMode)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.rehydrate=function(e,r){return t(a,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return t.sent(),[4,this.connection.promise];case 2:return[4,t.sent().rehydrate(e,r)];case 3:return t.sent(),this.showWrapper(),[2]}})})},this.iframeId=Math.random().toString(36).substring(7)+"-dromo-iframe-element",this.wrapperId=Math.random().toString(36).substring(7)+"-"+O,this.appHost=document.location.hostname,void 0!==i&&void 0!==s?(this.licenseKey=r,this.fields=o.map(F),this.settings=i,this.user=s,this.checkCloneable({licenseKey:this.licenseKey,fields:this.fields,settings:this.settings,user:this.user})):(this.licenseKey=r,this.schemaId=o,this.checkCloneable({licenseKey:this.licenseKey,schemaId:this.schemaId}))}var o;return r.prototype.checkCloneable=function(e){if("function"==typeof structuredClone){var t=Object.entries(e).filter(function(e){e[0];var t=e[1];try{return structuredClone(t),!1}catch(e){return!0}}).map(function(e){return e[0]});if(t.length>0){var n=t.join(", ");throw new Error("[Dromo-External-Error] The Dromo importer received non-cloneable parameters: ".concat(n,". See https://dromo.dev/err/clone"))}}},o=r,r.rehydrateHeadless=function(e){var i=e.licenseKey,s=e.headlessImportId,a=e.fields,c=e.settings,u=e.hooks,l=e.rehydrateState;return t(void 0,void 0,void 0,function(){var e;return n(o,function(t){switch(t.label){case 0:return(e=new r(i,a,c,{id:"headless-review"})).registerAllHooks(u),[4,e.rehydrate(l,s)];case 1:return t.sent(),e.open(),[2,e]}})})},r}();return S}();
2
2
  //# sourceMappingURL=DromoUploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DromoUploader.js","sources":["../node_modules/tslib/tslib.es6.js","../src/constants.ts","../node_modules/penpal/lib/enums.js","../node_modules/penpal/lib/parent/getOriginFromSrc.js","../node_modules/penpal/lib/errorSerialization.js","../node_modules/penpal/lib/generateId.js","../node_modules/penpal/lib/connectCallSender.js","../node_modules/penpal/lib/parent/handleAckMessageFactory.js","../node_modules/penpal/lib/connectCallReceiver.js","../node_modules/penpal/lib/parent/monitorIframeRemoval.js","../node_modules/penpal/lib/parent/connectToChild.js","../node_modules/penpal/lib/createLogger.js","../node_modules/penpal/lib/createDestructor.js","../node_modules/penpal/lib/parent/validateIframeHasSrcOrSrcDoc.js","../node_modules/penpal/lib/parent/handleSynMessageFactory.js","../node_modules/penpal/lib/startConnectionTimeout.js","../src/executeHooks.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,"export var MessageType;\n(function (MessageType) {\n MessageType[\"Call\"] = \"call\";\n MessageType[\"Reply\"] = \"reply\";\n MessageType[\"Syn\"] = \"syn\";\n MessageType[\"SynAck\"] = \"synAck\";\n MessageType[\"Ack\"] = \"ack\";\n})(MessageType || (MessageType = {}));\nexport var Resolution;\n(function (Resolution) {\n Resolution[\"Fulfilled\"] = \"fulfilled\";\n Resolution[\"Rejected\"] = \"rejected\";\n})(Resolution || (Resolution = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ConnectionDestroyed\"] = \"ConnectionDestroyed\";\n ErrorCode[\"ConnectionTimeout\"] = \"ConnectionTimeout\";\n ErrorCode[\"NotInIframe\"] = \"NotInIframe\";\n ErrorCode[\"NoIframeSrc\"] = \"NoIframeSrc\";\n})(ErrorCode || (ErrorCode = {}));\nexport var NativeErrorName;\n(function (NativeErrorName) {\n NativeErrorName[\"DataCloneError\"] = \"DataCloneError\";\n})(NativeErrorName || (NativeErrorName = {}));\nexport var NativeEventType;\n(function (NativeEventType) {\n NativeEventType[\"Message\"] = \"message\";\n})(NativeEventType || (NativeEventType = {}));\n","const DEFAULT_PORT_BY_PROTOCOL = {\n 'http:': '80',\n 'https:': '443'\n};\nconst URL_REGEX = /^(https?:)?\\/\\/([^/:]+)?(:(\\d+))?/;\nconst opaqueOriginSchemes = ['file:', 'data:'];\n/**\n * Converts a src value into an origin.\n */\nexport default (src) => {\n if (src && opaqueOriginSchemes.find(scheme => src.startsWith(scheme))) {\n // The origin of the child document is an opaque origin and its\n // serialization is \"null\"\n // https://html.spec.whatwg.org/multipage/origin.html#origin\n return 'null';\n }\n // Note that if src is undefined, then srcdoc is being used instead of src\n // and we can follow this same logic below to get the origin of the parent,\n // which is the origin that we will need to use.\n const location = document.location;\n const regexResult = URL_REGEX.exec(src);\n let protocol;\n let hostname;\n let port;\n if (regexResult) {\n // It's an absolute URL. Use the parsed info.\n // regexResult[1] will be undefined if the URL starts with //\n protocol = (regexResult[1] ? regexResult[1] : location.protocol);\n hostname = regexResult[2];\n port = regexResult[4];\n }\n else {\n // It's a relative path. Use the current location's info.\n protocol = location.protocol;\n hostname = location.hostname;\n port = location.port;\n }\n // If the port is the default for the protocol, we don't want to add it to the origin string\n // or it won't match the message's event.origin.\n const portSuffix = port && port !== DEFAULT_PORT_BY_PROTOCOL[protocol] ? `:${port}` : '';\n return `${protocol}//${hostname}${portSuffix}`;\n};\n","/**\n * Converts an error object into a plain object.\n */\nexport const serializeError = ({ name, message, stack }) => ({\n name,\n message,\n stack\n});\n/**\n * Converts a plain object into an error object.\n */\nexport const deserializeError = (obj) => {\n const deserializedError = new Error();\n // @ts-ignore\n Object.keys(obj).forEach(key => (deserializedError[key] = obj[key]));\n return deserializedError;\n};\n","let id = 0;\n/**\n * @return {number} A unique ID (not universally unique)\n */\nexport default () => ++id;\n","import generateId from './generateId';\nimport { deserializeError } from './errorSerialization';\nimport { ErrorCode, MessageType, NativeEventType, Resolution } from './enums';\n/**\n * Augments an object with methods that match those defined by the remote. When these methods are\n * called, a \"call\" message will be sent to the remote, the remote's corresponding method will be\n * executed, and the method's return value will be returned via a message.\n * @param {Object} callSender Sender object that should be augmented with methods.\n * @param {Object} info Information about the local and remote windows.\n * @param {Array} methodNames Names of methods available to be called on the remote.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Object} The call sender object with methods that may be called.\n */\nexport default (callSender, info, methodNames, destroyConnection, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n log(`${localName}: Connecting call sender`);\n const createMethodProxy = (methodName) => {\n return (...args) => {\n log(`${localName}: Sending ${methodName}() call`);\n // This handles the case where the iframe has been removed from the DOM\n // (and therefore its window closed), the consumer has not yet\n // called destroy(), and the user calls a method exposed by\n // the remote. We detect the iframe has been removed and force\n // a destroy() immediately so that the consumer sees the error saying\n // the connection has been destroyed. We wrap this check in a try catch\n // because Edge throws an \"Object expected\" error when accessing\n // contentWindow.closed on a contentWindow from an iframe that's been\n // removed from the DOM.\n let iframeRemoved;\n try {\n if (remote.closed) {\n iframeRemoved = true;\n }\n }\n catch (e) {\n iframeRemoved = true;\n }\n if (iframeRemoved) {\n destroyConnection();\n }\n if (destroyed) {\n const error = new Error(`Unable to send ${methodName}() call due ` + `to destroyed connection`);\n error.code = ErrorCode.ConnectionDestroyed;\n throw error;\n }\n return new Promise((resolve, reject) => {\n const id = generateId();\n const handleMessageEvent = (event) => {\n if (event.source !== remote ||\n event.data.penpal !== MessageType.Reply ||\n event.data.id !== id) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const replyMessage = event.data;\n log(`${localName}: Received ${methodName}() reply`);\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n let returnValue = replyMessage.returnValue;\n if (replyMessage.returnValueIsError) {\n returnValue = deserializeError(returnValue);\n }\n (replyMessage.resolution === Resolution.Fulfilled ? resolve : reject)(returnValue);\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n const callMessage = {\n penpal: MessageType.Call,\n id,\n methodName,\n args\n };\n remote.postMessage(callMessage, originForSending);\n });\n };\n };\n methodNames.reduce((api, methodName) => {\n api[methodName] = createMethodProxy(methodName);\n return api;\n }, callSender);\n return () => {\n destroyed = true;\n };\n};\n","import connectCallReceiver from '../connectCallReceiver';\nimport connectCallSender from '../connectCallSender';\n/**\n * Handles an ACK handshake message.\n */\nexport default (methods, childOrigin, originForSending, destructor, log) => {\n const { destroy, onDestroy } = destructor;\n let destroyCallReceiver;\n let receiverMethodNames;\n // We resolve the promise with the call sender. If the child reconnects\n // (for example, after refreshing or navigating to another page that\n // uses Penpal, we'll update the call sender with methods that match the\n // latest provided by the child.\n const callSender = {};\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received ACK message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received ACK');\n const info = {\n localName: 'Parent',\n local: window,\n remote: event.source,\n originForSending: originForSending,\n originForReceiving: childOrigin\n };\n // If the child reconnected, we need to destroy the prior call receiver\n // before setting up a new one.\n if (destroyCallReceiver) {\n destroyCallReceiver();\n }\n destroyCallReceiver = connectCallReceiver(info, methods, log);\n onDestroy(destroyCallReceiver);\n // If the child reconnected, we need to remove the methods from the\n // previous call receiver off the sender.\n if (receiverMethodNames) {\n receiverMethodNames.forEach(receiverMethodName => {\n delete callSender[receiverMethodName];\n });\n }\n receiverMethodNames = event.data.methodNames;\n const destroyCallSender = connectCallSender(callSender, info, receiverMethodNames, destroy, log);\n onDestroy(destroyCallSender);\n return callSender;\n };\n};\n","import { serializeError } from './errorSerialization';\nimport { MessageType, NativeEventType, NativeErrorName, Resolution } from './enums';\n/**\n * Listens for \"call\" messages coming from the remote, executes the corresponding method, and\n * responds with the return value.\n */\nexport default (info, methods, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n const handleMessageEvent = (event) => {\n if (event.source !== remote || event.data.penpal !== MessageType.Call) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const callMessage = event.data;\n const { methodName, args, id } = callMessage;\n log(`${localName}: Received ${methodName}() call`);\n const createPromiseHandler = (resolution) => {\n return (returnValue) => {\n log(`${localName}: Sending ${methodName}() reply`);\n if (destroyed) {\n // It's possible to throw an error here, but it would need to be thrown asynchronously\n // and would only be catchable using window.onerror. This is because the consumer\n // is merely returning a value from their method and not calling any function\n // that they could wrap in a try-catch. Even if the consumer were to catch the error,\n // the value of doing so is questionable. Instead, we'll just log a message.\n log(`${localName}: Unable to send ${methodName}() reply due to destroyed connection`);\n return;\n }\n const message = {\n penpal: MessageType.Reply,\n id,\n resolution,\n returnValue\n };\n if (resolution === Resolution.Rejected &&\n returnValue instanceof Error) {\n message.returnValue = serializeError(returnValue);\n message.returnValueIsError = true;\n }\n try {\n remote.postMessage(message, originForSending);\n }\n catch (err) {\n // If a consumer attempts to send an object that's not cloneable (e.g., window),\n // we want to ensure the receiver's promise gets rejected.\n if (err.name === NativeErrorName.DataCloneError) {\n const errorReplyMessage = {\n penpal: MessageType.Reply,\n id,\n resolution: Resolution.Rejected,\n returnValue: serializeError(err),\n returnValueIsError: true\n };\n remote.postMessage(errorReplyMessage, originForSending);\n }\n throw err;\n }\n };\n };\n new Promise(resolve => resolve(methods[methodName].apply(methods, args))).then(createPromiseHandler(Resolution.Fulfilled), createPromiseHandler(Resolution.Rejected));\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n return () => {\n destroyed = true;\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n };\n};\n","const CHECK_IFRAME_IN_DOC_INTERVAL = 60000;\n/**\n * Monitors for iframe removal and destroys connection if iframe\n * is found to have been removed from DOM. This is to prevent memory\n * leaks when the iframe is removed from the document and the consumer\n * hasn't called destroy(). Without this, event listeners attached to\n * the window would stick around and since the event handlers have a\n * reference to the iframe in their closures, the iframe would stick\n * around too.\n */\nexport default (iframe, destructor) => {\n const { destroy, onDestroy } = destructor;\n const checkIframeInDocIntervalId = setInterval(() => {\n if (!iframe.isConnected) {\n clearInterval(checkIframeInDocIntervalId);\n destroy();\n }\n }, CHECK_IFRAME_IN_DOC_INTERVAL);\n onDestroy(() => {\n clearInterval(checkIframeInDocIntervalId);\n });\n};\n","import { ErrorCode, MessageType, NativeEventType } from '../enums';\nimport createDestructor from '../createDestructor';\nimport createLogger from '../createLogger';\nimport getOriginFromSrc from './getOriginFromSrc';\nimport handleAckMessageFactory from './handleAckMessageFactory';\nimport handleSynMessageFactory from './handleSynMessageFactory';\nimport monitorIframeRemoval from './monitorIframeRemoval';\nimport startConnectionTimeout from '../startConnectionTimeout';\nimport validateIframeHasSrcOrSrcDoc from './validateIframeHasSrcOrSrcDoc';\n/**\n * Attempts to establish communication with an iframe.\n */\nexport default (options) => {\n let { iframe, methods = {}, childOrigin, timeout, debug = false } = options;\n const log = createLogger(debug);\n const destructor = createDestructor();\n const { onDestroy, destroy } = destructor;\n if (!childOrigin) {\n validateIframeHasSrcOrSrcDoc(iframe);\n childOrigin = getOriginFromSrc(iframe.src);\n }\n // If event.origin is \"null\", the remote protocol is file: or data: and we\n // must post messages with \"*\" as targetOrigin when sending messages.\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Using_window.postMessage_in_extensions\n const originForSending = childOrigin === 'null' ? '*' : childOrigin;\n const handleSynMessage = handleSynMessageFactory(log, methods, childOrigin, originForSending);\n const handleAckMessage = handleAckMessageFactory(methods, childOrigin, originForSending, destructor, log);\n const promise = new Promise((resolve, reject) => {\n const stopConnectionTimeout = startConnectionTimeout(timeout, destroy);\n const handleMessage = (event) => {\n if (event.source !== iframe.contentWindow || !event.data) {\n return;\n }\n if (event.data.penpal === MessageType.Syn) {\n handleSynMessage(event);\n return;\n }\n if (event.data.penpal === MessageType.Ack) {\n const callSender = handleAckMessage(event);\n if (callSender) {\n stopConnectionTimeout();\n resolve(callSender);\n }\n return;\n }\n };\n window.addEventListener(NativeEventType.Message, handleMessage);\n log('Parent: Awaiting handshake');\n monitorIframeRemoval(iframe, destructor);\n onDestroy((error) => {\n window.removeEventListener(NativeEventType.Message, handleMessage);\n if (!error) {\n error = new Error('Connection destroyed');\n error.code = ErrorCode.ConnectionDestroyed;\n }\n reject(error);\n });\n });\n return {\n promise,\n destroy() {\n // Don't allow consumer to pass an error into destroy.\n destroy();\n }\n };\n};\n","export default (debug) => {\n /**\n * Logs a message if debug is enabled.\n */\n return (...args) => {\n if (debug) {\n console.log('[Penpal]', ...args); // eslint-disable-line no-console\n }\n };\n};\n","export default () => {\n const callbacks = [];\n let destroyed = false;\n return {\n destroy(error) {\n destroyed = true;\n callbacks.forEach(callback => {\n callback(error);\n });\n },\n onDestroy(callback) {\n destroyed ? callback() : callbacks.push(callback);\n }\n };\n};\n","import { ErrorCode } from '../enums';\nexport default (iframe) => {\n if (!iframe.src && !iframe.srcdoc) {\n const error = new Error('Iframe must have src or srcdoc property defined.');\n error.code = ErrorCode.NoIframeSrc;\n throw error;\n }\n};\n","import { MessageType } from '../enums';\n/**\n * Handles a SYN handshake message.\n */\nexport default (log, methods, childOrigin, originForSending) => {\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received SYN message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received SYN, responding with SYN-ACK');\n const synAckMessage = {\n penpal: MessageType.SynAck,\n methodNames: Object.keys(methods)\n };\n event.source.postMessage(synAckMessage, originForSending);\n };\n};\n","import { ErrorCode } from './enums';\n/**\n * Starts a timeout and calls the callback with an error\n * if the timeout completes before the stop function is called.\n */\nexport default (timeout, callback) => {\n let timeoutId;\n if (timeout !== undefined) {\n timeoutId = window.setTimeout(() => {\n const error = new Error(`Connection timed out after ${timeout}ms`);\n error.code = ErrorCode.ConnectionTimeout;\n callback(error);\n }, timeout);\n }\n return () => {\n clearTimeout(timeoutId);\n };\n};\n",null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","EventTypes","MessageType","Resolution","ErrorCode","NativeErrorName","NativeEventType","IFRAME_URL","DEFAULT_PORT_BY_PROTOCOL","URL_REGEX","opaqueOriginSchemes","serializeError","name","message","stack","id","generateId","connectCallSender","callSender","info","methodNames","destroyConnection","log","localName","local","remote","originForSending","originForReceiving","destroyed","createMethodProxy","methodName","args","iframeRemoved","closed","error","Error","code","ConnectionDestroyed","handleMessageEvent","event","source","data","penpal","Reply","origin","replyMessage","removeEventListener","Message","returnValue","returnValueIsError","obj","deserializedError","keys","forEach","key","deserializeError","resolution","Fulfilled","addEventListener","callMessage","Call","postMessage","reduce","api","handleAckMessageFactory","methods","childOrigin","destructor","destroy","onDestroy","destroyCallReceiver","receiverMethodNames","window","createPromiseHandler","Rejected","err","DataCloneError","errorReplyMessage","connectCallReceiver","receiverMethodName","destroyCallSender","connectToChild","options","iframe","timeout","debug","console","createLogger","callbacks","callback","createDestructor","src","srcdoc","NoIframeSrc","validateIframeHasSrcOrSrcDoc","find","scheme","startsWith","location","document","regexResult","exec","protocol","hostname","port","getOriginFromSrc","handleSynMessage","synAckMessage","SynAck","handleSynMessageFactory","handleAckMessage","promise","stopConnectionTimeout","timeoutId","undefined","setTimeout","ConnectionTimeout","clearTimeout","startConnectionTimeout","handleMessage","contentWindow","Syn","Ack","checkIframeInDocIntervalId","setInterval","isConnected","clearInterval","monitorIframeRemoval","consoleErrorHandler","hookType","setHookTimer","warn","clearHookTimer","executeColumnHooks","hooks","errorHandler","changes","Map","tmpData","map","d","previousHookPromise","currentHook","timerId","hookResponse","_a","hookOutput","change","index","set","err_1","columnHookOutput","fieldOutputEmpty","fieldOutput","selectOptions","manyToOne","executeRowHooks","mode","rowHooks","bulkRowHooks","inputRowMap","inputRow","mutateInputDataWithChanges","rowIndex","rowOutput","get","_loop_1","fieldName","inputRowField","row","inputFieldIsManyToOne","Array","isArray","outputFieldIsManyToOne","concat","rowChanges","cellChange","fieldChanges","fieldOutputCell","manyToOneCellChange","rowDataField","inputRowDataField","_b","entries","_i","_c","bulkRowHooks_1","bulkRowHook","hookOutput_1","err_2","all","rowInput","rowHooks_1","rowHook","err_3","finalChanges","executeRowDeleteHooks","deletedRows","rowDeleteHooks","rowData","err_4","executeStepHooks","stepHooks","instance","hook","type","err_5","executeBeforeFinishCallback","metadata","beforeFinishCallback","err_6","executeFileParser","buffer","fileName","fileParserCallback","err_7","DROMO_WRAPPER_SUFFIX","makeFieldSerializable","field","newField","validators","validator","validate","regex","RegExp","regexOptions","ignoreCase","flags","includes","dotAll","multiline","unicode","DromoUploader","licenseKey","fieldsOrSchemaId","settings","user","_this","embedInline","columnHooks","customSteps","fileParsers","initChild","connection","alert","child","_d","loadedFromUnVersionedScript","from","getElementsByTagName","some","setNumRegisteredRowHooks","totalNumRowHooks","setNumRegisteredColHooks","setNumRegisteredRowDeleteHooks","setCustomParserFileExtensions","flatMap","fp","extensions","ext","toLowerCase","setEmbedInline","setCustomSteps","insertAfter","url","fields","version","browserExcelParsing","init","appHost","schemaId","initFromSavedSchema","developmentMode","headerRowOverride","initIFrame","widgetUrl","DROMO_WIDGET_OVERRIDE","alternateDomain","URL","host","getElementById","iframeId","createElement","identifier","_e","importIdentifier","title","style","height","width","border","allow","crossorigin","createConnection","self","handleColumnHooks","filter","h","handleRowHooks","rh","handleStepHook","handleParseFileCallback","extension","split","parser","indexOf","parseFile","handleRowDeleteHooks","handleBeforeFinishCallback","handleResults","resultsCallback","close","handleCloseModal","handleCancel","cancelCallback","handleCustomStep","_id","handleCustomStepMessage","payload","onMessage","uploader","completeCustomStep","goBackCustomStep","mountIFrame","wrapper","wrapperId","zIndex","Number","MAX_SAFE_INTEGER","toString","visibility","position","top","left","right","bottom","appendChild","addIFrameToWrapper","showIframe","showWrapper","overflow","registerColumnHook","registerBulkRowHook","registerRowHook","registerStepHook","registerCustomStep","registerRowDeleteHook","beforeFinish","registerFileParser","fileParser","registerAllHooks","_f","_g","_h","_j","rowDeleteHook","_k","_l","_m","_o","_p","onResults","onCancel","setUser","addField","removeField","fieldKey","updateInfoMessages","messages","setHeaderRowOverride","setConfirmationMessage","messageHTML","open","initInline","wrapperIdOrElement","HTMLElement","Math","random","substring","wrapperEl","error_1","addRows","rows","removeRows","rowIds","setDevelopmentMode","rehydrate","rehydrateState","headlessImportId","checkCloneable","values","structuredClone","notCloneable","badValues","join","rehydrateHeadless","dromo"],"mappings":"0CA+BO,IAAIA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAChC,EA0EO,SAASQ,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,UAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,GAAQ,CAAG,MAAOG,GAAKL,EAAOK,GAAO,CAC3F,SAASC,EAASJ,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,GAAU,CAAC,MAAOG,GAAKL,EAAOK,GAAO,CAC9F,SAASF,EAAKI,GAJlB,IAAeL,EAIaK,EAAOC,KAAOT,EAAQQ,EAAOL,QAJ1CA,EAIyDK,EAAOL,MAJhDA,aAAiBN,EAAIM,EAAQ,IAAIN,EAAE,SAAUG,GAAWA,EAAQG,EAAO,IAIhBO,KAAKR,EAAWK,EAAY,CAC9GH,GAAMN,EAAYA,EAAUN,MAAMG,EAASC,GAAc,KAAKS,OACtE,EACA,CAEO,SAASM,EAAYhB,EAASiB,GACjC,IAAsGC,EAAGC,EAAGhC,EAAxGiC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPnC,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAG,EAAIoC,KAAM,GAAIC,IAAK,IAAeC,EAAIxC,OAAOyC,QAA4B,mBAAbC,SAA0BA,SAAW1C,QAAQS,WACtL,OAAO+B,EAAEf,KAAOkB,EAAK,GAAIH,EAAS,MAAIG,EAAK,GAAIH,EAAU,OAAIG,EAAK,GAAsB,mBAAXC,SAA0BJ,EAAEI,OAAOC,UAAY,WAAa,OAAOhC,IAAO,GAAG2B,EAC1J,SAASG,EAAKtC,GAAK,OAAO,SAAUyC,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIe,UAAU,mCAC3B,KAAOR,IAAMA,EAAI,EAAGO,EAAG,KAAOZ,EAAI,IAAKA,OACnC,GAAIF,EAAI,EAAGC,IAAMhC,EAAY,EAAR6C,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAOhC,EAAIgC,EAAU,SAAMhC,EAAES,KAAKuB,GAAI,GAAKA,EAAET,SAAWvB,EAAIA,EAAES,KAAKuB,EAAGa,EAAG,KAAKlB,KAAM,OAAO3B,EAE3J,OADIgC,EAAI,EAAGhC,IAAG6C,EAAK,CAAS,EAARA,EAAG,GAAQ7C,EAAEqB,QACzBwB,EAAG,IACP,KAAK,EAAG,KAAK,EAAG7C,EAAI6C,EAAI,MACxB,KAAK,EAAc,OAAXZ,EAAEC,QAAgB,CAAEb,MAAOwB,EAAG,GAAIlB,MAAM,GAChD,KAAK,EAAGM,EAAEC,QAASF,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKZ,EAAEI,IAAIU,MAAOd,EAAEG,KAAKW,MAAO,SACxC,QACI,KAAM/C,EAAIiC,EAAEG,MAAMpC,EAAIA,EAAEK,OAAS,GAAKL,EAAEA,EAAEK,OAAS,KAAkB,IAAVwC,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEZ,EAAI,EAAG,QAAW,CAC5G,GAAc,IAAVY,EAAG,MAAc7C,GAAM6C,EAAG,GAAK7C,EAAE,IAAM6C,EAAG,GAAK7C,EAAE,IAAM,CAAEiC,EAAEC,MAAQW,EAAG,GAAI,KAAQ,CACtF,GAAc,IAAVA,EAAG,IAAYZ,EAAEC,MAAQlC,EAAE,GAAI,CAAEiC,EAAEC,MAAQlC,EAAE,GAAIA,EAAI6C,EAAI,KAAQ,CACrE,GAAI7C,GAAKiC,EAAEC,MAAQlC,EAAE,GAAI,CAAEiC,EAAEC,MAAQlC,EAAE,GAAIiC,EAAEI,IAAIW,KAAKH,GAAK,KAAQ,CAC/D7C,EAAE,IAAIiC,EAAEI,IAAIU,MAChBd,EAAEG,KAAKW,MAAO,SAEtBF,EAAKf,EAAKrB,KAAKI,EAASoB,EAC3B,CAAC,MAAOT,GAAKqB,EAAK,CAAC,EAAGrB,GAAIQ,EAAI,CAAE,CAAW,QAAED,EAAI/B,EAAI,CAAI,CAC1D,GAAY,EAAR6C,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAExB,MAAOwB,EAAG,GAAKA,EAAG,QAAU,EAAGlB,MAAM,EAC7E,CAtB+CL,CAAK,CAACnB,EAAGyC,GAAM,CAAG,CAuBtE,CAkLkD,mBAApBK,iBAAiCA,gBCtTxD,IAMKC,ECxBDC,EAQAC,EAKAC,EAOAC,EAIAC,EDNEC,EAVY,CACrBA,WAAY,4BAS+BA,YAM/C,SAAYN,GACVA,EAAA,YAAA,aACD,CAFD,CAAYA,IAAAA,EAEX,CAAA,ICzBD,SAAWC,GACPA,EAAkB,KAAI,OACtBA,EAAmB,MAAI,QACvBA,EAAiB,IAAI,MACrBA,EAAoB,OAAI,SACxBA,EAAiB,IAAI,KACxB,CAND,CAMGA,IAAgBA,EAAc,CAAE,IAEnC,SAAWC,GACPA,EAAsB,UAAI,YAC1BA,EAAqB,SAAI,UAC5B,CAHD,CAGGA,IAAeA,EAAa,CAAE,IAEjC,SAAWC,GACPA,EAA+B,oBAAI,sBACnCA,EAA6B,kBAAI,oBACjCA,EAAuB,YAAI,cAC3BA,EAAuB,YAAI,aAC9B,CALD,CAKGA,IAAcA,EAAY,CAAE,IAE/B,SAAWC,GACPA,EAAgC,eAAI,gBACvC,CAFD,CAEGA,IAAoBA,EAAkB,CAAE,IAE3C,SAAWC,GACPA,EAAyB,QAAI,SAChC,CAFD,CAEGA,IAAoBA,EAAkB,CAAA,IC3BzC,MAAME,EAA2B,CAC7B,QAAS,KACT,SAAU,OAERC,EAAY,oCACZC,EAAsB,CAAC,QAAS,SCF/B,MAAMC,EAAiB,EAAGC,OAAMC,UAASC,YAAa,CACzDF,OACAC,UACAC,UCNJ,IAAIC,EAAK,EAIM,IAAAC,EAAA,MAAQD,ECURE,EAAA,CAACC,EAAYC,EAAMC,EAAaC,EAAmBC,KAC9D,MAAMC,UAAEA,EAASC,MAAEA,EAAKC,OAAEA,EAAMC,iBAAEA,EAAgBC,mBAAEA,GAAuBR,EAC3E,IAAIS,GAAY,EAChBN,EAAI,GAAGC,6BACP,MAAMM,EAAqBC,GAChB,IAAIC,KAWP,IAAIC,EAVJV,EAAI,GAAGC,cAAsBO,YAW7B,IACQL,EAAOQ,SACPD,GAAgB,EAEvB,CACD,MAAOzD,GACHyD,GAAgB,CACnB,CAID,GAHIA,GACAX,IAEAO,EAAW,CACX,MAAMM,EAAQ,IAAIC,MAAM,kBAAkBL,wCAE1C,MADAI,EAAME,KAAOhC,EAAUiC,oBACjBH,CACT,CACD,OAAO,IAAIlE,QAAQ,CAACC,EAASC,KACzB,MAAM6C,EAAKC,IACLsB,EAAsBC,IACxB,GAAIA,EAAMC,SAAWf,GACjBc,EAAME,KAAKC,SAAWxC,EAAYyC,OAClCJ,EAAME,KAAK1B,KAAOA,EAClB,OAEJ,GAAIwB,EAAMK,SAAWjB,EAEjB,YADAL,EAAI,GAAGC,kCAA0CgB,EAAMK,8CAA8CjB,KAGzG,MAAMkB,EAAeN,EAAME,KAC3BnB,EAAI,GAAGC,eAAuBO,aAC9BN,EAAMsB,oBAAoBxC,EAAgByC,QAAST,GACnD,IAAIU,EAAcH,EAAaG,YAC3BH,EAAaI,qBACbD,EFrDQ,CAACE,IAC7B,MAAMC,EAAoB,IAAIhB,MAG9B,OADAtF,OAAOuG,KAAKF,GAAKG,QAAQC,GAAQH,EAAkBG,GAAOJ,EAAII,IACvDH,GEiD2BI,CAAiBP,KAElCH,EAAaW,aAAerD,EAAWsD,UAAYxF,EAAUC,GAAQ8E,IAE1ExB,EAAMkC,iBAAiBpD,EAAgByC,QAAST,GAChD,MAAMqB,EAAc,CAChBjB,OAAQxC,EAAY0D,KACpB7C,KACAe,aACAC,QAEJN,EAAOoC,YAAYF,EAAajC,MAQ5C,OAJAN,EAAY0C,OAAO,CAACC,EAAKjC,KACrBiC,EAAIjC,GAAcD,EAAkBC,GAC7BiC,GACR7C,GACI,KACHU,GAAY,IC/ELoC,EAAA,CAACC,EAASC,EAAaxC,EAAkByC,EAAY7C,KAChE,MAAM8C,QAAEA,EAAOC,UAAEA,GAAcF,EAC/B,IAAIG,EACAC,EAKJ,MAAMrD,EAAa,CAAA,EACnB,OAAQqB,IACJ,GAAIA,EAAMK,SAAWsB,EAEjB,YADA5C,EAAI,wDAAwDiB,EAAMK,8CAA8CsB,KAGpH5C,EAAI,oCACJ,MAAMH,EAAO,CACTI,UAAW,SACXC,MAAOgD,OACP/C,OAAQc,EAAMC,OACdd,iBAAkBA,EAClBC,mBAAoBuC,GAIpBI,GACAA,IAEJA,EC1BO,EAACnD,EAAM8C,EAAS3C,KAC3B,MAAMC,UAAEA,EAASC,MAAEA,EAAKC,OAAEA,EAAMC,iBAAEA,EAAgBC,mBAAEA,GAAuBR,EAC3E,IAAIS,GAAY,EAChB,MAAMU,EAAsBC,IACxB,GAAIA,EAAMC,SAAWf,GAAUc,EAAME,KAAKC,SAAWxC,EAAY0D,KAC7D,OAEJ,GAAIrB,EAAMK,SAAWjB,EAEjB,YADAL,EAAI,GAAGC,kCAA0CgB,EAAMK,8CAA8CjB,KAGzG,MAAMgC,EAAcpB,EAAME,MACpBX,WAAEA,EAAUC,KAAEA,EAAIhB,GAAEA,GAAO4C,EACjCrC,EAAI,GAAGC,eAAuBO,YAC9B,MAAM2C,EAAwBjB,GAClBR,IAEJ,GADA1B,EAAI,GAAGC,cAAsBO,aACzBF,EAOA,YADAN,EAAI,GAAGC,qBAA6BO,yCAGxC,MAAMjB,EAAU,CACZ6B,OAAQxC,EAAYyC,MACpB5B,KACAyC,aACAR,eAEAQ,IAAerD,EAAWuE,UAC1B1B,aAAuBb,QACvBtB,EAAQmC,YAAcrC,EAAeqC,GACrCnC,EAAQoC,oBAAqB,GAEjC,IACIxB,EAAOoC,YAAYhD,EAASa,EAC/B,CACD,MAAOiD,GAGH,GAAIA,EAAI/D,OAASP,EAAgBuE,eAAgB,CAC7C,MAAMC,EAAoB,CACtBnC,OAAQxC,EAAYyC,MACpB5B,KACAyC,WAAYrD,EAAWuE,SACvB1B,YAAarC,EAAegE,GAC5B1B,oBAAoB,GAExBxB,EAAOoC,YAAYgB,EAAmBnD,EACzC,CACD,MAAMiD,CACT,GAGT,IAAI3G,QAAQC,GAAWA,EAAQgG,EAAQnC,GAAYrE,MAAMwG,EAASlC,KAAQpD,KAAK8F,EAAqBtE,EAAWsD,WAAYgB,EAAqBtE,EAAWuE,YAG/J,OADAlD,EAAMkC,iBAAiBpD,EAAgByC,QAAST,GACzC,KACHV,GAAY,EACZJ,EAAMsB,oBAAoBxC,EAAgByC,QAAST,KDpC7BwC,CAAoB3D,EAAM8C,EAAS3C,GACzD+C,EAAUC,GAGNC,GACAA,EAAoBlB,QAAQ0B,WACjB7D,EAAW6D,KAG1BR,EAAsBhC,EAAME,KAAKrB,YACjC,MAAM4D,EAAoB/D,EAAkBC,EAAYC,EAAMoD,EAAqBH,EAAS9C,GAE5F,OADA+C,EAAUW,GACH9D,IElCf,ICEe+D,EAACC,IACZ,IAAIC,OAAEA,EAAMlB,QAAEA,EAAU,GAAEC,YAAEA,EAAWkB,QAAEA,EAAOC,MAAEA,GAAQ,GAAUH,EACpE,MAAM5D,ECdK,CAAC+D,GAIL,IAAItD,KACHsD,GACAC,QAAQhE,IAAI,cAAeS,IDQvBwD,CAAaF,GACnBlB,EEfK,MACX,MAAMqB,EAAY,GAClB,IAAI5D,GAAY,EAChB,MAAO,CACH,OAAAwC,CAAQlC,GACJN,GAAY,EACZ4D,EAAUnC,QAAQoC,IACdA,EAASvD,IAEhB,EACD,SAAAmC,CAAUoB,GACN7D,EAAY6D,IAAaD,EAAUzF,KAAK0F,EAC3C,IFGcC,IACbrB,UAAEA,EAASD,QAAEA,GAAYD,EAC1BD,IGhBM,CAACiB,IACZ,IAAKA,EAAOQ,MAAQR,EAAOS,OAAQ,CAC/B,MAAM1D,EAAQ,IAAIC,MAAM,oDAExB,MADAD,EAAME,KAAOhC,EAAUyF,YACjB3D,CACT,GHYG4D,CAA6BX,GAC7BjB,EPVO,CAACyB,IACZ,GAAIA,GAAOjF,EAAoBqF,KAAKC,GAAUL,EAAIM,WAAWD,IAIzD,MAAO,OAKX,MAAME,EAAWC,SAASD,SACpBE,EAAc3F,EAAU4F,KAAKV,GACnC,IAAIW,EACAC,EACAC,EAiBJ,OAhBIJ,GAGAE,EAAYF,EAAY,GAAKA,EAAY,GAAKF,EAASI,SACvDC,EAAWH,EAAY,GACvBI,EAAOJ,EAAY,KAInBE,EAAWJ,EAASI,SACpBC,EAAWL,EAASK,SACpBC,EAAON,EAASM,MAKb,GAAGF,MAAaC,IADJC,GAAQA,IAAShG,EAAyB8F,GAAY,IAAIE,IAAS,MOpBpEC,CAAiBtB,EAAOQ,MAK1C,MAAMjE,EAAmC,SAAhBwC,EAAyB,IAAMA,EAClDwC,EIrBK,EAACpF,EAAK2C,EAASC,EAAaxC,IAC/Ba,IACJ,GAAIA,EAAMK,SAAWsB,EAEjB,YADA5C,EAAI,wDAAwDiB,EAAMK,8CAA8CsB,KAGpH5C,EAAI,6DACJ,MAAMqF,EAAgB,CAClBjE,OAAQxC,EAAY0G,OACpBxF,YAAavE,OAAOuG,KAAKa,IAE7B1B,EAAMC,OAAOqB,YAAY8C,EAAejF,IJUnBmF,CAAwBvF,EAAK2C,EAASC,EAAaxC,GACtEoF,EAAmB9C,EAAwBC,EAASC,EAAaxC,EAAkByC,EAAY7C,GAC/FyF,EAAU,IAAI/I,QAAQ,CAACC,EAASC,KAClC,MAAM8I,EKvBC,EAAC5B,EAASK,KACrB,IAAIwB,EAQJ,YAPgBC,IAAZ9B,IACA6B,EAAYzC,OAAO2C,WAAW,KAC1B,MAAMjF,EAAQ,IAAIC,MAAM,8BAA8BiD,OACtDlD,EAAME,KAAOhC,EAAUgH,kBACvB3B,EAASvD,IACVkD,IAEA,KACHiC,aAAaJ,KLaiBK,CAAuBlC,EAAShB,GACxDmD,EAAiBhF,IACnB,GAAIA,EAAMC,SAAW2C,EAAOqC,eAAkBjF,EAAME,KAGpD,GAAIF,EAAME,KAAKC,SAAWxC,EAAYuH,KAItC,GAAIlF,EAAME,KAAKC,SAAWxC,EAAYwH,IAAK,CACvC,MAAMxG,EAAa4F,EAAiBvE,GAKpC,YAJIrB,IACA8F,IACA/I,EAAQiD,IAGf,OAVGwF,EAAiBnE,IAYzBiC,OAAOd,iBAAiBpD,EAAgByC,QAASwE,GACjDjG,EAAI,8BDrCG,EAAC6D,EAAQhB,KACpB,MAAMC,QAAEA,EAAOC,UAAEA,GAAcF,EACzBwD,EAA6BC,YAAY,KACtCzC,EAAO0C,cACRC,cAAcH,GACdvD,MAfyB,KAkBjCC,EAAU,KACNyD,cAAcH,MC6BdI,CAAqB5C,EAAQhB,GAC7BE,EAAWnC,IACPsC,OAAO1B,oBAAoBxC,EAAgByC,QAASwE,GAC/CrF,KACDA,EAAQ,IAAIC,MAAM,yBACZC,KAAOhC,EAAUiC,qBAE3BnE,EAAOgE,OAGf,MAAO,CACH6E,UACA,OAAA3C,GAEIA,GACH,IMjCI4D,EAA0C,SACrDrD,EACAsD,GAEA,OAAA3C,QAAQpD,MACN,iEAA0D+F,EAAQ,KAClEtD,EAFF,EAKIuD,EAAe,SAACD,GACpB,OAAOd,WAAW,WAEhB7B,QAAQ6C,KACN,6BAAsBF,EAAQ,8FAEjC,EAjBsB,IAkBzB,EAEMG,EAAiB,SAACnB,GACtBI,aAAaJ,EACf,EAEaoB,EAAqB,SAChCC,EACA7F,EACA8F,GAAgC,OAAA5K,OAAA,OAAA,OAAA,EAAA,sEAYhC,OAVM6K,EAAU,IAAIC,IAOdC,EAA8BjG,EAAKkG,IAAI,SAACC,GAAM,YAAMA,EAAN,GAGpD,CAAA,EAAMN,EAAMxE,OAAO,SAAO+E,EAAqBC,GAAW,OAAAnL,OAAA,OAAA,OAAA,EAAA,4DACxD,MAAM,CAAA,EAAAkL,EAAoBlK,KAAK,WAAA,OAAAhB,OAAA,OAAA,OAAA,EAAA,sEAGN,6BADfoL,EAAUb,EAAa,eACR,CAAA,EAAMY,EAAYrD,SAASiD,kBAA1CM,EAAeC,EAAmC/J,OACxDkJ,EAAeW,GACfC,EAAa3F,QAAQ,SAAC6F,GAGpB,QAAyBhC,IAArBgC,EAAW9K,YAA2C8I,IAApBgC,EAAW/H,KAAoB,CACnE,IAAMgI,EAGF,CAAA,OACqBjC,IAArBgC,EAAW9K,QACb+K,EAAO/K,MAAQ8K,EAAW9K,MAC1BsK,EAAQQ,EAAWE,OAAOhL,MAAQ8K,EAAW9K,YAEvB8I,IAApBgC,EAAW/H,OAAoBgI,EAAOhI,KAAO+H,EAAW/H,MAC5DqH,EAAQa,IAAIH,EAAWE,MAAOD,EAC/B,CACH,kCAEAZ,EAAae,EAAK,yCAErB,EAAA,kBAxBDL,EAAA/J,aAyBD,EAAA,EAAElB,QAAQC,mBAOX,OAjCAgL,EAAA/J,OA6BMqK,EAAwC,GAC9Cf,EAAQnF,QAAQ,SAAC8F,EAAQC,GACvB,OAAAG,EAAiBxJ,KAAInD,EAAAA,EAAA,CAAA,EAAMuM,GAAQ,CAAAC,UAAnC,GAEF,CAAA,EAAOG,SAGHC,EAAmB,SAACC,GACxB,YAAsBvC,IAAtBuC,EAAYrL,YACS8I,IAArBuC,EAAYtI,WACkB+F,IAA9BuC,EAAYC,oBACcxC,IAA1BuC,EAAYE,SAHZ,EAKWC,EAAkB,SAC7BnH,EACAoH,EACAC,EACAC,EACAxB,GAAgC,OAAA5K,OAAA,OAAA,OAAA,EAAA,0FAG1B6K,EAAU,IAAIC,IACduB,EAAc,IAAIvB,IACtBhG,EAAKkG,IAAI,SAACsB,GAAa,MAAA,CAACA,EAASb,MAAOa,EAAjB,IAKnBC,EAA6B,SACjCC,EACAC,GAIA,UAFMH,EAAWD,EAAYK,IAAIF,GAErBG,EAAA,SAAAC,EAAWd,GACrB,GAAID,EAAiBC,GAAmC,MAAA,WAExD,IAAMe,EAAgBP,EAASQ,IAAIF,GAC7BG,EAAwBC,MAAMC,QAAQJ,EAAcb,WACpDkB,EACJ,cAAepB,GAAekB,MAAMC,QAAQnB,EAAYE,WAE1D,GAAIe,IAA0BG,EAC5B,MAAM,IAAI1I,MACR,UAAGoI,EAAS,gDAET,GACLG,GACAG,GACAL,EAAcb,UAAWvM,SAAWqM,EAAYE,UAAUvM,OAE1D,MAAM,IAAI+E,MACR,GAAA2I,OAAGP,EAAS,+BAAAO,OACVN,EAAcb,UAAWvM,SAK/B,IAAM2N,EAAavC,EAAQ6B,IAAIF,IAAa,CAAA,EACtCa,EAAgD,QAAzB/B,EAAA8B,EAAWR,UAAc,IAAAtB,EAAAA,EAAA,CAAA,EAEhDgC,EAIA,GAEFJ,GACFG,EAAWrB,UAAY,GAEvBF,EAAYE,UAAUtG,QAAQ,SAAC6H,EAAiB9B,GAC9C,IAAKI,EAAiB0B,GAA8B,CAClD,IAAMC,EAAqC,CAAA,EAC3CH,EAAWrB,UAAW5J,KAAKoL,GAC3BF,EAAalL,KAAK,CAChB0J,YAAayB,EACbE,aAAcZ,EAAcb,UAAWP,GACvC4B,WAAYG,GAEf,CACH,IAEAF,EAAalL,KAAK,CAChB0J,YAAaA,EACb2B,aAAcZ,EACdQ,WAAUA,IAOdC,EAAa5H,QACX,SAAC4F,GAAE,IAAAQ,gBAA2B4B,EAAiBpC,EAAAmC,aAAEJ,EAAU/B,EAAA+B,gBAC/B9D,IAAtBuC,EAAYrL,QACd4M,EAAW5M,MAAQqL,EAAYrL,MAC/BiN,EAAkBjN,MAAQqL,EAAYrL,YAGf8I,IAArBuC,EAAYtI,OACd6J,EAAW7J,KAAOsI,EAAYtI,KAC9BkK,EAAkBlK,KAAOsI,EAAYtI,WAGL+F,IAA9BuC,EAAYC,gBACdsB,EAAWtB,cAAgBD,EAAYC,cACvC2B,EAAkB3B,cAAgBD,EAAYC,cAElD,GAEFqB,EAAWR,GAAaS,EACxBxC,EAAQa,IAAIc,EAAUY,QA7EeO,EAAAzO,OAAO0O,QAAQnB,QAAAA,EAAa,IAA5BoB,EAAAF,EAAAlO,OAAAoO,IAA+B,CAA3D,IAAAC,OAACnB,EAASmB,EAAA,GAAaA,EAAA,GA8EjC,CACH,EAEsCD,EAAA,EAAZE,EAAY3B,mBAAZ,KAAAyB,YAAY,MAAA,CAAA,EAAA,GAA3BG,EAAWD,EAAAF,oBAGC,6BADbzC,EAAUb,EAAa,iBACV,CAAA,EAAMyD,EAAYlJ,EAAMoH,WAE3C,IAFMX,EAAaoC,EAA6BpM,OAChDkJ,EAAeW,GACfE,EAAA,EAAwB2C,EAAU1C,EAAVD,EAAU2C,EAAAxO,OAAV6L,IAAbmB,EAASwB,EAAA3C,GAClBiB,EAA2BE,EAAUhB,MAAOgB,EAAUK,0CAGxDlC,EAAasD,EAAK,sCATIL,iBAgB1B,MAAM,CAAA,EAAAxN,QAAQ8N,IACZrJ,EAAKkG,IAAI,SAAOoD,GAAQ,OAAApO,OAAA,OAAA,OAAA,EAAA,4EACQ6N,EAAA,EAARQ,EAAQlC,mBAAR,KAAA0B,YAAQ,MAAA,CAAA,EAAA,GAAnBS,EAAOD,EAAAR,oBAGK,6BADbzC,EAAUb,EAAa,YACV,CAAA,EAAM+D,EAAQF,EAAUlC,kBAArCX,EAAaD,EAA6B/J,OAChDkJ,EAAeW,GACfmB,EAA2B6B,EAAS3C,MAAOF,EAAWuB,oCAEtDlC,EAAa2D,EAAK,iCAPAV,6BAUvB,EAAA,YAQH,OApBAF,EAAApM,OAeMiN,EAAyC,GAE/C3D,EAAQnF,QAAQ,SAAC0H,EAAYZ,GAC3BgC,EAAapM,KAAK,CAAEqJ,MAAOe,EAAUM,IAAKM,GAC5C,GACA,CAAA,EAAOoB,SAGIC,EAAwB,SACnCC,EACAC,EACA/D,GAAgC,OAAA5K,OAAA,OAAA,OAAA,EAAA,qCAKhC,MAAO,CAAA,EAAAK,QAAQ8N,IACbO,EAAY1D,IAAI,SAAO4D,GAAO,OAAA5O,OAAA,OAAA,OAAA,EAAA,4CAC5B2O,EAAejJ,QAAQ,SAAOyF,GAAW,OAAAnL,OAAA,OAAA,OAAA,EAAA,oEAGrC,6BADMoL,EAAUb,EAAa,mBAC7B,CAAA,EAAMY,EAAYyD,kBAAlBtD,EAAA/J,OACAkJ,EAAeW,kCAEfR,EAAaiE,EAAK,6CAErB,EAAA,QACF,EAAA,UAIQC,EAAmB,SAC9BpO,EACAoE,EACAiK,EACAC,EACApE,GAAgC,OAAA5K,OAAA,OAAA,OAAA,EAAA,4DAEhC,MAAM,CAAA,EAAAK,QAAQ8N,IACZY,EAAU/D,IAAI,SAAOiE,GAAI,OAAAjP,OAAA,OAAA,OAAA,EAAA,kEACvB,GAAIU,IAASuO,EAAKC,KAAM,MAAA,CAAA,EAAO7O,QAAQC,4BAG9B,6BAAM,CAAA,EAAA2O,EAAKnH,SAASkH,EAAUlK,IAArC,KAAA,EAAA,MAAA,CAAA,EAAOwG,iBAGP,kBADAV,EAAauE,EAAK,oBAAazO,IAC/B,CAAA,EAAOL,QAAQC,8BAElB,EAAA,mBAVHgL,EAAA/J,iBAcW6N,EAA8B,SACzCtK,EACAuK,EACAC,EACAN,EACApE,GAAgC,OAAA5K,OAAA,OAAA,OAAA,EAAA,kEAGvB,6BAAM,CAAA,EAAAsP,EAAqBxK,EAAMuK,EAAUL,IAAlD,KAAA,EAAA,MAAA,CAAA,EAAO1D,mCAEPV,EAAa2E,EAAK,uDAITC,EAAoB,SAC/BC,EACAC,EACA9E,EACA+E,GAAsC,OAAA3P,OAAA,OAAA,OAAA,EAAA,kEAG7B,6BAAA,CAAA,EAAM2P,EAAmBF,EAAQC,IAAxC,KAAA,EAAA,MAAA,CAAA,EAAOpE,mCAEPV,EAAagF,EAAK,0DAErB,EC7QKC,EAAuB,kBASvBC,EAAwB,SAACC,GAC7B,IAAMC,EAAQ/Q,EAAA,CAAA,EAAQ8Q,GAsBtB,OArBIC,EAASC,aACXD,EAASC,WAAaD,EAASC,WAAWjF,IAAI,SAACkF,GAC7C,OAC0B,gBAAvBA,EAAUC,UACc,kBAAvBD,EAAUC,WACZD,EAAUE,iBAAiBC,OAGtBpR,EAAAA,EAAA,CAAA,EAAAiR,GACH,CAAAE,MAAOF,EAAUE,MAAMvL,OACvByL,aAAc,CACZC,WAAYL,EAAUE,MAAMI,MAAMC,SAAS,KAC3CC,OAAQR,EAAUE,MAAMI,MAAMC,SAAS,KACvCE,UAAWT,EAAUE,MAAMI,MAAMC,SAAS,KAC1CG,QAASV,EAAUE,MAAMI,MAAMC,SAAS,QAIvCP,CACT,IAEKF,CACT,EAEAa,EAAA,WAkFE,SAAAA,EACEC,EACAC,EACAC,EACAC,GAJF,IAmCCC,EAAAnR,KA9GDA,KAAWoR,aAAY,EAqCvBpR,KAAWqR,YAAkB,GAE7BrR,KAAYqM,aAAmB,GAE/BrM,KAAQoM,SAA6B,GAErCpM,KAASgP,UAAgB,GAEzBhP,KAAc4O,eAAqB,GAEnC5O,KAAWsR,YAAwB,GAWnCtR,KAAWuR,YAA8D,GAsDzEvR,KAAAwR,UAAY,WAAA,OAAAvR,EAAAkR,OAAA,OAAA,EAAA,0EACV,OAAKnR,KAAKyR,WAQI,CAAA,EAAMzR,KAAKyR,WAAWpI,UAPlCzB,QAAQpD,MAAM,2CACdkN,MACE,2FAEK,CAAA,WAmBT,OAhBMC,EAAQC,EAA6BpQ,OAIrCqQ,EAA8B5E,MAAM6E,KACxCrJ,SAASsJ,qBAAqB,WAC9BC,KACA,SAAC1S,GACC,MAAU,8DAAVA,EAAE2I,KAEA,gFADF3I,EAAE2I,GADF,GAQE,CAAA,EAAA0J,EAAMM,yBAAyBjS,KAAKkS,4BAC1C,OADAN,EAAApQ,OACM,CAAA,EAAAmQ,EAAMQ,yBAAyBnS,KAAKqR,YAAY3R,gBACtD,OADAkS,EAAApQ,OACM,CAAA,EAAAmQ,EAAMS,+BAA+BpS,KAAK4O,eAAelP,gBAC/D,OADAkS,EAAApQ,OACM,CAAA,EAAAmQ,EAAMU,8BACVrS,KAAKuR,YAAYe,QAAQ,SAACC,GACxB,OAAAA,EAAGC,WAAWvH,IAAI,SAACwH,GAAQ,OAAAA,EAAIC,aAAa,EAAC,YAGjD,OALAd,EAAApQ,OAKM,CAAA,EAAAmQ,EAAMgB,eAAe3S,KAAKoR,4BAAhCQ,EAAApQ,OAEIxB,KAAKsR,YAAY5R,OAAS,EACtB,CAAA,EAAAiS,EAAMiB,eACV5S,KAAKsR,YAAYrG,IAAI,SAAC2C,GAAoC,MAAC,CACzDvK,GADwBuK,EAAAvK,GAExBwP,YAFqCjF,EAAAiF,YAGrCtR,MAH4CqM,EAAArM,MAI5CuR,IAJiDlF,EAAAkF,IAKjD,KAPyB,CAAA,EAAA,UAC7BlB,EAAApQ,wBAUE,OAAAxB,KAAK+S,QAAU/S,KAAKiR,UAAYjR,KAAKkR,MACjCD,EAAgB/R,EAAA,CAAA,EAAAc,KAAKiR,UACtBY,IACHZ,EAAS+B,QAA8B,QAApBpF,EAAAqD,EAAS+B,eAAW,IAAApF,EAAAA,EAAA,MAEzCqD,EAASgC,oBAAsD,QAAhClF,EAAAkD,EAASgC,2BAAuB,IAAAlF,GAAAA,EAEzD,CAAA,EAAA4D,EAAMuB,KACVlT,KAAK+Q,WACL/Q,KAAK+S,OACL9B,EACAjR,KAAKkR,KACLlR,KAAKmT,WAZoC,CAAA,EAAA,kBAO3CvB,EAAApQ,6BAOSxB,KAAKoT,SACd,CAAA,EAAMzB,EAAM0B,oBACVrT,KAAK+Q,WACL/Q,KAAKoT,SACLpT,KAAKmT,QACL,CACEjC,KAAMlR,KAAKkR,KACXoC,gBAAiBtT,KAAKsT,gBACtBC,kBAAmBvT,KAAKuT,qBARN,CAAA,EAAA,mBACtB3B,EAAApQ,sBAWAoG,QAAQpD,MAAM,kEAQlBxE,KAAAwT,WAAa,uBACPC,EAEJ,GAAI3M,OAAO4M,sBACTD,EAAY3M,OAAO4M,2BACd,GAAiB,UAAbvC,EAAKF,gBAAQ,IAAArD,OAAA,EAAAA,EAAE+F,gBAAiB,CACzC,IAAMb,EAAM,IAAIc,IAAIzC,EAAKF,SAAS0C,iBAClCF,EAAYX,EAAIlK,SAAW,YAAckK,EAAIe,IAC9C,MACCJ,EADoC,QAAZ,UAAftC,EAAKF,gBAAU,IAAAlD,OAAA,EAAAA,EAAAiF,ShB/QD,8BgBkRXnQ,EAGd,IAAK4F,SAASqL,eAAe3C,EAAK4C,UAAW,CAC3C,IAAMtM,EAASgB,SAASuL,cAAc,UAChCC,EAA4C,QAA/BC,EAAa,QAAbtC,EAAAT,EAAKF,gBAAQ,IAAAW,OAAA,EAAAA,EAAEuC,wBAAgB,IAAAD,EAAAA,EAAI/C,EAAKiC,SAC3D3L,EAAO2M,MAAQH,EACX,mBAAmB7G,OAAA6G,GACnB,iBACJxM,EAAOQ,IAAMwL,EACbhM,EAAOpE,GAAK8N,EAAK4C,SACjBtM,EAAO4M,MAAMC,OAAS,OACtB7M,EAAO4M,MAAME,MAAQ,OACrB9M,EAAO4M,MAAMG,OAAS,IACtB/M,EAAOgN,MAAQ,kCAEfhN,EAAOiN,YAAc,YACrBvD,EAAK1J,OAASA,CACf,CACH,EAMAzH,KAAA2U,iBAAmB,WAEjB,IAAMC,EAAOzD,EACP1J,EAAS0J,EAAK1J,OAEfA,EAIL0J,EAAKM,WAAalK,EAAmC,CACnDE,OAAMA,EACNlB,QAAS,CAQDsO,kBAAiB,SACrBhI,EACA9H,iGAKO,OAHD6F,EAAQgK,EAAKvD,YAAYyD,OAC7B,SAACC,GAAM,OAAAA,EAAElI,YAAcA,CAAS,GAErB,CAAA,EAAAlC,EAAmBC,EAAO7F,EAAMuF,IAA7C,KAAA,EAAA,MAAA,CAAA,EAAOsD,cACR,EAQKoH,eAAc,SAClBjQ,EACAoH,oFAEO,KAAA,EAAA,MAAA,CAAA,EAAMD,EACXnH,EACAoH,EACAyI,EAAKxI,SAASnB,IAAI,SAACgK,GAAO,OAAAA,EAAGlN,QAAQ,GACrC6M,EAAKvI,aACL/B,IALF,KAAA,EAAA,MAAA,CAAA,EAAOsD,cAOR,EACKsH,eAAc,SAClBvU,EACAoE,oFAEO,KAAA,EAAA,MAAA,CAAA,EAAMgK,EACXpO,EACAoE,EACA6P,EAAK5F,UACL4F,EACAtK,IALF,KAAA,EAAA,MAAA,CAAA,EAAOsD,cAOR,EAQKuH,wBAAuB,SAC3BzF,EACAC,mGASO,OAPDyF,EAAYzF,EAAS0F,MAAM,KAAKjT,MAChCkT,EAASV,EAAKrD,YAAYlJ,KAC9B,SAACiN,GACC,OAEyC,IAFzCA,EAAO9C,WACJvH,IAAI,SAACwH,GAAQ,OAAAA,EAAIC,gBACjB6C,QAAQH,EAAU1C,cAFrB,GAIG,CAAA,EAAMjD,EACXC,EACAC,EACArF,EACAgL,EAAOE,YAJT,KAAA,EAAA,MAAA,CAAA,EAAO5H,cAMR,EAOK6H,8BACJ9G,2FAKA,MAAM,CAAA,EAAAD,EACJC,EACAiG,EAAKhG,eACLtE,kBAHFsD,EAAApM,eAKD,EACKkU,2BAA0B,SAC9B3Q,EACAuK,kGAEIsF,EAAKrF,qBACA,CAAA,EAAMF,EACXtK,EACAuK,EACAsF,EAAKrF,qBACLqF,EACAtK,IANyB,CAAA,EAAA,GAC3B,KAAA,EAAA,MAAA,CAAA,EAAOsD,+BAQV,EASK+H,cAAa,SACjB5Q,EACAuK,qGAEIsF,EAAKgB,gBAAL,MAAoB,CAAA,EAAA,oBAEpB,6BAAM,CAAA,EAAAhB,EAAKgB,gBAAgB7Q,EAAMuK,kBAAjC1B,EAAApM,sCAEAoG,QAAQpD,MACN,uEACAoH,uBAINgJ,EAAKiB,gBACN,EAIDC,iBAAgB,WACdlB,EAAKiB,OACN,EAKDE,aAAY,WACV,GAAInB,EAAKoB,eACP,IACEpB,EAAKoB,gBACN,CAAC,MAAO/O,GACPW,QAAQpD,MACN,qEACAyC,EAEH,CAEH2N,EAAKiB,OACN,EAEKI,0BAAiBC,oEAIrB,MAAA,CAAA,OAAO1M,MACR,EAEK2M,wBAAuB,SAC3B9S,EACA+S,uGAGA,OAAKzV,OADCA,EAAOiU,EAAKtD,YAAYjJ,KAAK,SAAC/I,GAAM,OAAAA,EAAE+D,KAAOA,CAAE,SAChD,EAAA1C,EAAM0V,WAEG,CAAA,EAAMzB,EAAKnD,WAAYpI,SAFR,CAAA,UAEvBsI,EAAQ/D,EAA8BpM,OACtC8U,EAAQpX,EAAAA,EAAA,CAAA,EACT0V,GAAI,CACP2B,mBAAoB,WAAM,OAAA5E,EAAM4E,oBAAoB,EACpDC,iBAAkB,WAAM,OAAA7E,EAAM6E,kBAAkB,qBAIhD,6BAAM,CAAA,EAAA7V,EAAK0V,UAAUC,EAAUF,kBAA/BxI,EAAApM,sCAEAoG,QAAQpD,MACN,oFACA2J,8BAGL,KA3LHvG,QAAQpD,MAAM,gCA8LlB,EAOAxE,KAAAyW,YAAc,WACZ,IAAKhO,SAASqL,eAAe3C,EAAK4C,UAAY,CAC5C,IAAM2C,EAAUjO,SAASuL,cAAc,OACvC0C,EAAQrT,GAAK8N,EAAKwF,UAClBD,EAAQrC,MAAMuC,OAASC,OAAOC,iBAAiBC,WAC/CL,EAAQrC,MAAM2C,WAAa,SAC3BN,EAAQrC,MAAME,MAAQ,MACtBmC,EAAQrC,MAAMC,OAAS,MACvBoC,EAAQrC,MAAM4C,SAAW,QACzBP,EAAQrC,MAAM6C,IAAM,MACpBR,EAAQrC,MAAM8C,KAAO,MACrBT,EAAQrC,MAAM+C,MAAQ,MACtBV,EAAQrC,MAAMgD,OAAS,MACvBX,EAAQY,YAAYnG,EAAK1J,QACzBgB,SAAStH,KAAKmW,YAAYZ,GAC1BvF,EAAKuF,QAAUA,CAChB,CACH,EAEA1W,KAAAuX,mBAAqB,WACfpG,EAAKuF,SAAWvF,EAAK1J,SACvB0J,EAAK1J,OAAO4M,MAAM2C,WAAa,SAC/B7F,EAAKuF,QAAQY,YAAYnG,EAAK1J,QAElC,EAEAzH,KAAAwX,WAAa,WACPrG,EAAK1J,SACP0J,EAAK1J,OAAO4M,MAAM2C,WAAa,UAEnC,EAEAhX,KAAAyX,YAAc,WACRtG,EAAKuF,UACPvF,EAAKuF,QAAQrC,MAAM2C,WAAa,UAChC7F,EAAKuF,QAAQrC,MAAME,MAAQ,OAC3BpD,EAAKuF,QAAQrC,MAAMC,OAAS,OAC5B7L,SAAStH,KAAKkT,MAAMqD,SAAW,SAEnC,EAUA1X,KAAA2X,mBAAqB,SACnB9K,EACA9E,GAEAoJ,EAAKE,YAAYhP,KAAK,CACpBwK,UAAWA,EACX9E,SAAUA,IAKRoJ,EAAKM,YACPN,EAAKM,WAAWpI,QAAQpI,KAAK,SAAC0Q,GAC5BA,EAAMQ,yBAAyBhB,EAAKE,YAAY3R,OAClD,EAEJ,EAGAM,KAAAkS,iBAAmB,WACjB,OAAOf,EAAK/E,SAAS1M,OAASyR,EAAK9E,aAAa3M,MAClD,EAQAM,KAAmB4X,oBAAG,SAAC3J,GACrBkD,EAAK9E,aAAahK,KAAK4L,GAInBkD,EAAKM,YACPN,EAAKM,WAAWpI,QAAQpI,KAAK,SAAC0Q,GAC5BA,EAAMM,yBAAyBd,EAAKe,mBACtC,EAEJ,EAQAlS,KAAe6X,gBAAG,SAAC9P,GACjBoJ,EAAK/E,SAAS/J,KAAK,CACjB0F,SAAUA,IAKRoJ,EAAKM,YACPN,EAAKM,WAAWpI,QAAQpI,KAAK,SAAC0Q,GAC5BA,EAAMM,yBAAyBd,EAAKe,mBACtC,EAEJ,EAQAlS,KAAA8X,iBAAmB,SACjB3I,EACApH,GAEAoJ,EAAKnC,UAAU3M,KAAK,CAAE8M,KAAIA,EAAEpH,SAAQA,GACtC,EAYA/H,KAAkB+X,mBAAG,SAACpX,GACpBwQ,EAAKG,YAAYjP,KAAK1B,EACxB,EAQAX,KAAqBgY,sBAAG,SAACjQ,GACvBoJ,EAAKvC,eAAevM,KAAK0F,GAGrBoJ,EAAKM,YACPN,EAAKM,WAAWpI,QAAQpI,KAAK,SAAC0Q,GAC5BA,EAAMS,+BAA+BjB,EAAKvC,eAAelP,OAC3D,EAEJ,EAOAM,KAAYiY,aAAG,SAAClQ,GACdoJ,EAAK5B,qBAAuBxH,CAC9B,EAOA/H,KAAkBkY,mBAAG,SAACC,GAIpBhH,EAAKI,YAAYlP,KAAK8V,GAElBhH,EAAKM,YACPN,EAAKM,WAAWpI,QAAQpI,KAAK,SAAC0Q,GAC5BA,EAAMU,8BACJlB,EAAKI,YAAYe,QAAQ,SAACC,GACxB,OAAAA,EAAGC,WAAWvH,IAAI,SAACwH,GAAQ,OAAAA,EAAIC,aAAa,EAAC,GAGnD,EAEJ,EAOA1S,KAAgBoY,iBAAG,SAACxN,GAClB,GAAIA,EAAMyG,YACR,IAAsC,IAAAvD,EAAA,EAAAF,EAAAhD,EAAMyG,YAANvD,EAAAF,EAAAlO,OAAAoO,IAAmB,CAA9C,IAAAC,OAAElB,EAASkB,EAAAlB,UAAE9E,EAAQgG,EAAAhG,SAC9BoJ,EAAKwG,mBAAmB9K,EAAW9E,EACpC,CAGH,GAAI6C,EAAMwB,SACR,IAAsB,IAAAwF,EAAA,EAAAsC,EAAAtJ,EAAMwB,SAANwF,EAAAsC,EAAAxU,OAAAkS,IAAgB,CAAjC,IAAMrD,EAAO2F,EAAAtC,GAChBT,EAAK0G,gBAAgBtJ,EACtB,CAGH,GAAI3D,EAAMyB,aACR,IAA0B,IAAAgM,EAAA,EAAAC,EAAA1N,EAAMyB,aAANgM,EAAAC,EAAA5Y,OAAA2Y,IAAoB,CAAzC,IAAMpK,EAAWqK,EAAAD,GACpBlH,EAAKyG,oBAAoB3J,EAC1B,CAGH,GAAIrD,EAAMgE,eACR,IAA4B,IAAA2J,EAAA,EAAAC,EAAA5N,EAAMgE,eAAN2J,EAAAC,EAAA9Y,OAAA6Y,IAAsB,CAA7C,IAAME,EAAaD,EAAAD,GACtBpH,EAAK6G,sBAAsBS,EAC5B,CAGH,GAAI7N,EAAMoE,UACR,IAAiC,IAAA0J,EAAA,EAAAC,EAAA/N,EAAMoE,UAAN0J,EAAAC,EAAAjZ,OAAAgZ,IAAiB,CAAvC,IAAAE,OAAEzJ,EAAIyJ,EAAAzJ,KAAEpH,EAAQ6Q,EAAA7Q,SACzBoJ,EAAK2G,iBAAiB3I,EAAMpH,EAC7B,CAOH,GAJI6C,EAAM2E,sBACR4B,EAAK8G,aAAarN,EAAM2E,sBAGtB3E,EAAM2G,YACR,IAAyB,IAAAsH,EAAA,EAAAC,EAAAlO,EAAM2G,YAANsH,EAAAC,EAAApZ,OAAAmZ,IAAmB,CAAvC,IAAMV,EAAUW,EAAAD,GACnB1H,EAAK+G,mBAAmBC,EACzB,CAEL,EAQAnY,KAAS+Y,UAAG,SACVhR,GAKAoJ,EAAKyE,gBAAkB7N,CACzB,EAQA/H,KAAQgZ,SAAG,SAACjR,GACVoJ,EAAK6E,eAAiBjO,CACxB,EAKA/H,KAAOiZ,QAAG,SAAO/H,GAAW,OAAAjR,EAAAkR,OAAA,OAAA,EAAA,mEAC1BnR,KAAKkR,KAAOA,EACRlR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAM,CAAA,EADQuE,EAA8BpM,OAChCyX,QAAQjZ,KAAKkR,cAAzBtD,EAAApM,wCAQJxB,KAAAkZ,SAAW,SAAOlJ,EAAwBiH,GAAwB,OAAAhX,EAAAkR,OAAA,OAAA,EAAA,mEAC5DnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAM,CAAA,EADQuE,EAA8BpM,OAChC0X,SAASnJ,EAAsBC,GAAQiH,kBAAnDrJ,EAAApM,oBAEAoG,QAAQpD,MAAM,wFAQlBxE,KAAWmZ,YAAG,SAAOC,GAAgB,OAAAnZ,EAAAkR,OAAA,OAAA,EAAA,mEAC/BnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAA,CAAA,EADcuE,EAA8BpM,OAChC2X,YAAYC,kBAAxBxL,EAAApM,oBAEAoG,QAAQpD,MAAM,wFAQlBxE,KAAkBqZ,mBAAG,SAAOC,GAA4B,OAAArZ,EAAAkR,OAAA,OAAA,EAAA,mEAClDnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAA,CAAA,EADcuE,EAA8BpM,OAChC6X,mBAAmBC,kBAA/B1L,EAAApM,oBAEAoG,QAAQpD,MAAM,wFAQlBxE,KAAoBuZ,qBAAG,SAAOhG,GAAgC,OAAAtT,EAAAkR,OAAA,OAAA,EAAA,mEAC5DnR,KAAKuT,kBAAoBA,EACrBvT,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAA,CAAA,EADcuE,EAA8BpM,OAChC+X,qBAAqBhG,WAAjC3F,EAAApM,wCASJxB,KAAAwZ,uBAAyB,SACvBC,EACAjS,GAAkE,OAAAvH,EAAAkR,OAAA,OAAA,EAAA,mEAE9DnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAM,CAAA,EADQuE,EAA8BpM,OAChCgY,uBAAuBC,EAAajS,kBAAhDoG,EAAApM,oBAEAoG,QAAQpD,MAAM,wFAOlBxE,KAAA0Z,KAAO,WAAA,OAAAzZ,EAAAkR,OAAA,OAAA,EAAA,4DAOL,OANKnR,KAAK0W,UACR1W,KAAKwT,aACLxT,KAAK2U,mBACL3U,KAAKyW,eAGP,CAAA,EAAMzW,KAAKwR,2BAAX5D,EAAApM,OACAxB,KAAKyX,wBAGPzX,KAAU2Z,WAAG,SAAOC,GAAwC,OAAA3Z,EAAAkR,OAAA,OAAA,EAAA,oEAC1DnR,KAAKoR,aAAc,mBAejB,yBAZIwI,aAA8BC,cAChC7Z,KAAK0W,QAAUkD,EACf5Z,KAAK2W,UAAYiD,EAAmBvW,GAEb,KAAnBrD,KAAK2W,gBAAuCnN,IAAnBxJ,KAAK2W,YAChC3W,KAAK2W,UACHmD,KAAKC,SAAShD,SAAS,IAAIiD,UAAU,GACrC,IACAlK,IAI4B,iBAAvB8J,EAAiC,CAG1C,GAAkB,QAFZK,EAAYxR,SAASqL,eAAe8F,IAGxC,MAAM,IAAInV,MAAM,qBAGlBzE,KAAK0W,QAAUuD,EACfja,KAAK2W,UAAYiD,CAClB,CAQD,OANK5Z,KAAKyH,SACRzH,KAAKwT,aACLxT,KAAK2U,mBACL3U,KAAKuX,sBAGP,CAAA,EAAMvX,KAAKwR,2BAAX5D,EAAApM,OACAxB,KAAKwX,0BAQL,KANsB,mCAAZrU,SACRyE,QAAQpD,MACN,2DAIE0V,yBAOVla,KAAOma,QAAG,SAAOC,GAAiB,OAAAna,EAAAkR,OAAA,OAAA,EAAA,mEAC5BnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEV,MAAA,CAAA,EADOuE,EAA8BpM,OACzB2Y,QAAQC,IAA3B,KAAA,EAAA,MAAA,CAAA,EAAOxM,iBAGP,OADAhG,QAAQpD,MAAM,uDACd,CAAA,EAAO,UAOXxE,KAAUqa,WAAG,SAAOC,GAAgB,OAAAra,EAAAkR,OAAA,OAAA,EAAA,mEAC9BnR,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAA,CAAA,EADcuE,EAA8BpM,OAChC6Y,WAAWC,kBAAvB1M,EAAApM,oBAEAoG,QAAQpD,MAAM,wFAOlBxE,KAAA6V,MAAQ,WACF1E,EAAKuF,UACPvF,EAAKuF,QAAQrC,MAAM2C,WAAa,SAChC7F,EAAKuF,QAAQrC,MAAME,MAAQ,MAC3BpD,EAAKuF,QAAQrC,MAAMC,OAAS,MAC5B7L,SAAStH,KAAKkT,MAAMqD,SAAW,UAEnC,EAKA1X,KAAkBua,mBAAG,SAAOjH,GAAwB,OAAArT,EAAAkR,OAAA,OAAA,EAAA,mEAClDnR,KAAKsT,gBAAkBA,EACnBtT,KAAKyR,WACO,CAAA,EAAMzR,KAAKyR,WAAYpI,SADpB,CAAA,EAAA,UAEjB,MAAM,CAAA,EADQuE,EAA8BpM,OAChC+Y,mBAAmBva,KAAKsT,yBAApC1F,EAAApM,wCAiCJxB,KAAAwa,UAAY,SAAOC,EAAqBC,GAAwB,OAAAza,EAAAkR,OAAA,OAAA,EAAA,4DAM9D,OALKnR,KAAK0W,UACR1W,KAAKwT,aACLxT,KAAK2U,mBACL3U,KAAKyW,eAEP,CAAA,EAAMzW,KAAKwR,oBACG,OADd5D,EAAApM,OACc,CAAA,EAAMxB,KAAKyR,WAAYpI,gBACrC,MAAM,CAAA,EADQuE,EAA8BpM,OAChCgZ,UAAUC,EAAgBC,kBAAtC9M,EAAApM,OACAxB,KAAKyX,wBAh0BLzX,KAAK+T,SACH+F,KAAKC,SAAShD,SAAS,IAAIiD,UAAU,GAArCF,wBACF9Z,KAAK2W,UACHmD,KAAKC,SAAShD,SAAS,IAAIiD,UAAU,GAAK,IAAMlK,EAClD9P,KAAKmT,QAAU1K,SAASD,SAASK,cAEhBW,IAAbyH,QAAmCzH,IAAT0H,GAC5BlR,KAAK+Q,WAAaA,EAClB/Q,KAAK+S,OAAU/B,EAAuC/F,IACpD8E,GAEF/P,KAAKiR,SAAWA,EAChBjR,KAAKkR,KAAOA,EAEZlR,KAAK2a,eAAe,CAClB5J,WAAY/Q,KAAK+Q,WACjBgC,OAAQ/S,KAAK+S,OACb9B,SAAUjR,KAAKiR,SACfC,KAAMlR,KAAKkR,SAGblR,KAAK+Q,WAAaA,EAClB/Q,KAAKoT,SAAWpC,EAEhBhR,KAAK2a,eAAe,CAClB5J,WAAY/Q,KAAK+Q,WACjBqC,SAAUpT,KAAKoT,WAGpB,OA8zBH,OArBEtC,EAAclR,UAAA+a,eAAd,SAAeC,GACb,GAA+B,mBAApBC,gBAAX,CAEA,IAAMC,EAAe3b,OAAO0O,QAAQ+M,GACjC9F,OAAO,SAAClH,GAAMA,EAAA,GAAE,IAAAlN,EAAKkN,EAAA,GACpB,IAEE,OADAiN,gBAAgBna,IACT,CACR,CAAC,MAAOG,GACP,OAAO,CACR,CACH,GACCoK,IAAI,SAAC2C,GAAW,OAANA,EAAA,EAAM,GAEnB,GAAIkN,EAAapb,OAAS,EAAG,CAC3B,IAAMqb,EAAYD,EAAaE,KAAK,MACpC,MAAM,IAAIvW,MACR,uFAAgFsW,EAAS,qCAE5F,CAlBiD,OA1C7CjK,EAAiBmK,kBAAG,SAAOrN,GAChC,IAAAmD,EAAUnD,EAAAmD,WACV2J,EAAgB9M,EAAA8M,iBAChB3H,EAAMnF,EAAAmF,OACN9B,aACArG,EAAKgD,EAAAhD,MACL6P,EAAc7M,EAAA6M,4GAYd,OAFMS,EAAQ,IAAIpK,EAAcC,EAAYgC,EAAQ9B,EADxB,CAAE5N,GAAI,qBAE5B+U,iBAAiBxN,GACjB,CAAA,EAAAsQ,EAAMV,UAAUC,EAAgBC,WAEtC,OAFA3M,EAAAvM,OACA0Z,EAAMxB,OACN,CAAA,EAAOwB,OACR,EAyCFpK,CAAA"}
1
+ {"version":3,"file":"DromoUploader.js","sources":["../node_modules/tslib/tslib.es6.js","../src/constants.ts","../node_modules/penpal/lib/enums.js","../node_modules/penpal/lib/parent/getOriginFromSrc.js","../node_modules/penpal/lib/errorSerialization.js","../node_modules/penpal/lib/generateId.js","../node_modules/penpal/lib/connectCallSender.js","../node_modules/penpal/lib/parent/handleAckMessageFactory.js","../node_modules/penpal/lib/connectCallReceiver.js","../node_modules/penpal/lib/parent/monitorIframeRemoval.js","../node_modules/penpal/lib/parent/connectToChild.js","../node_modules/penpal/lib/createLogger.js","../node_modules/penpal/lib/createDestructor.js","../node_modules/penpal/lib/parent/validateIframeHasSrcOrSrcDoc.js","../node_modules/penpal/lib/parent/handleSynMessageFactory.js","../node_modules/penpal/lib/startConnectionTimeout.js","../src/executeHooks.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,"export var MessageType;\n(function (MessageType) {\n MessageType[\"Call\"] = \"call\";\n MessageType[\"Reply\"] = \"reply\";\n MessageType[\"Syn\"] = \"syn\";\n MessageType[\"SynAck\"] = \"synAck\";\n MessageType[\"Ack\"] = \"ack\";\n})(MessageType || (MessageType = {}));\nexport var Resolution;\n(function (Resolution) {\n Resolution[\"Fulfilled\"] = \"fulfilled\";\n Resolution[\"Rejected\"] = \"rejected\";\n})(Resolution || (Resolution = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ConnectionDestroyed\"] = \"ConnectionDestroyed\";\n ErrorCode[\"ConnectionTimeout\"] = \"ConnectionTimeout\";\n ErrorCode[\"NotInIframe\"] = \"NotInIframe\";\n ErrorCode[\"NoIframeSrc\"] = \"NoIframeSrc\";\n})(ErrorCode || (ErrorCode = {}));\nexport var NativeErrorName;\n(function (NativeErrorName) {\n NativeErrorName[\"DataCloneError\"] = \"DataCloneError\";\n})(NativeErrorName || (NativeErrorName = {}));\nexport var NativeEventType;\n(function (NativeEventType) {\n NativeEventType[\"Message\"] = \"message\";\n})(NativeEventType || (NativeEventType = {}));\n","const DEFAULT_PORT_BY_PROTOCOL = {\n 'http:': '80',\n 'https:': '443'\n};\nconst URL_REGEX = /^(https?:)?\\/\\/([^/:]+)?(:(\\d+))?/;\nconst opaqueOriginSchemes = ['file:', 'data:'];\n/**\n * Converts a src value into an origin.\n */\nexport default (src) => {\n if (src && opaqueOriginSchemes.find(scheme => src.startsWith(scheme))) {\n // The origin of the child document is an opaque origin and its\n // serialization is \"null\"\n // https://html.spec.whatwg.org/multipage/origin.html#origin\n return 'null';\n }\n // Note that if src is undefined, then srcdoc is being used instead of src\n // and we can follow this same logic below to get the origin of the parent,\n // which is the origin that we will need to use.\n const location = document.location;\n const regexResult = URL_REGEX.exec(src);\n let protocol;\n let hostname;\n let port;\n if (regexResult) {\n // It's an absolute URL. Use the parsed info.\n // regexResult[1] will be undefined if the URL starts with //\n protocol = (regexResult[1] ? regexResult[1] : location.protocol);\n hostname = regexResult[2];\n port = regexResult[4];\n }\n else {\n // It's a relative path. Use the current location's info.\n protocol = location.protocol;\n hostname = location.hostname;\n port = location.port;\n }\n // If the port is the default for the protocol, we don't want to add it to the origin string\n // or it won't match the message's event.origin.\n const portSuffix = port && port !== DEFAULT_PORT_BY_PROTOCOL[protocol] ? `:${port}` : '';\n return `${protocol}//${hostname}${portSuffix}`;\n};\n","/**\n * Converts an error object into a plain object.\n */\nexport const serializeError = ({ name, message, stack }) => ({\n name,\n message,\n stack\n});\n/**\n * Converts a plain object into an error object.\n */\nexport const deserializeError = (obj) => {\n const deserializedError = new Error();\n // @ts-ignore\n Object.keys(obj).forEach(key => (deserializedError[key] = obj[key]));\n return deserializedError;\n};\n","let id = 0;\n/**\n * @return {number} A unique ID (not universally unique)\n */\nexport default () => ++id;\n","import generateId from './generateId';\nimport { deserializeError } from './errorSerialization';\nimport { ErrorCode, MessageType, NativeEventType, Resolution } from './enums';\n/**\n * Augments an object with methods that match those defined by the remote. When these methods are\n * called, a \"call\" message will be sent to the remote, the remote's corresponding method will be\n * executed, and the method's return value will be returned via a message.\n * @param {Object} callSender Sender object that should be augmented with methods.\n * @param {Object} info Information about the local and remote windows.\n * @param {Array} methodNames Names of methods available to be called on the remote.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Object} The call sender object with methods that may be called.\n */\nexport default (callSender, info, methodNames, destroyConnection, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n log(`${localName}: Connecting call sender`);\n const createMethodProxy = (methodName) => {\n return (...args) => {\n log(`${localName}: Sending ${methodName}() call`);\n // This handles the case where the iframe has been removed from the DOM\n // (and therefore its window closed), the consumer has not yet\n // called destroy(), and the user calls a method exposed by\n // the remote. We detect the iframe has been removed and force\n // a destroy() immediately so that the consumer sees the error saying\n // the connection has been destroyed. We wrap this check in a try catch\n // because Edge throws an \"Object expected\" error when accessing\n // contentWindow.closed on a contentWindow from an iframe that's been\n // removed from the DOM.\n let iframeRemoved;\n try {\n if (remote.closed) {\n iframeRemoved = true;\n }\n }\n catch (e) {\n iframeRemoved = true;\n }\n if (iframeRemoved) {\n destroyConnection();\n }\n if (destroyed) {\n const error = new Error(`Unable to send ${methodName}() call due ` + `to destroyed connection`);\n error.code = ErrorCode.ConnectionDestroyed;\n throw error;\n }\n return new Promise((resolve, reject) => {\n const id = generateId();\n const handleMessageEvent = (event) => {\n if (event.source !== remote ||\n event.data.penpal !== MessageType.Reply ||\n event.data.id !== id) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const replyMessage = event.data;\n log(`${localName}: Received ${methodName}() reply`);\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n let returnValue = replyMessage.returnValue;\n if (replyMessage.returnValueIsError) {\n returnValue = deserializeError(returnValue);\n }\n (replyMessage.resolution === Resolution.Fulfilled ? resolve : reject)(returnValue);\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n const callMessage = {\n penpal: MessageType.Call,\n id,\n methodName,\n args\n };\n remote.postMessage(callMessage, originForSending);\n });\n };\n };\n methodNames.reduce((api, methodName) => {\n api[methodName] = createMethodProxy(methodName);\n return api;\n }, callSender);\n return () => {\n destroyed = true;\n };\n};\n","import connectCallReceiver from '../connectCallReceiver';\nimport connectCallSender from '../connectCallSender';\n/**\n * Handles an ACK handshake message.\n */\nexport default (methods, childOrigin, originForSending, destructor, log) => {\n const { destroy, onDestroy } = destructor;\n let destroyCallReceiver;\n let receiverMethodNames;\n // We resolve the promise with the call sender. If the child reconnects\n // (for example, after refreshing or navigating to another page that\n // uses Penpal, we'll update the call sender with methods that match the\n // latest provided by the child.\n const callSender = {};\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received ACK message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received ACK');\n const info = {\n localName: 'Parent',\n local: window,\n remote: event.source,\n originForSending: originForSending,\n originForReceiving: childOrigin\n };\n // If the child reconnected, we need to destroy the prior call receiver\n // before setting up a new one.\n if (destroyCallReceiver) {\n destroyCallReceiver();\n }\n destroyCallReceiver = connectCallReceiver(info, methods, log);\n onDestroy(destroyCallReceiver);\n // If the child reconnected, we need to remove the methods from the\n // previous call receiver off the sender.\n if (receiverMethodNames) {\n receiverMethodNames.forEach(receiverMethodName => {\n delete callSender[receiverMethodName];\n });\n }\n receiverMethodNames = event.data.methodNames;\n const destroyCallSender = connectCallSender(callSender, info, receiverMethodNames, destroy, log);\n onDestroy(destroyCallSender);\n return callSender;\n };\n};\n","import { serializeError } from './errorSerialization';\nimport { MessageType, NativeEventType, NativeErrorName, Resolution } from './enums';\n/**\n * Listens for \"call\" messages coming from the remote, executes the corresponding method, and\n * responds with the return value.\n */\nexport default (info, methods, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n const handleMessageEvent = (event) => {\n if (event.source !== remote || event.data.penpal !== MessageType.Call) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const callMessage = event.data;\n const { methodName, args, id } = callMessage;\n log(`${localName}: Received ${methodName}() call`);\n const createPromiseHandler = (resolution) => {\n return (returnValue) => {\n log(`${localName}: Sending ${methodName}() reply`);\n if (destroyed) {\n // It's possible to throw an error here, but it would need to be thrown asynchronously\n // and would only be catchable using window.onerror. This is because the consumer\n // is merely returning a value from their method and not calling any function\n // that they could wrap in a try-catch. Even if the consumer were to catch the error,\n // the value of doing so is questionable. Instead, we'll just log a message.\n log(`${localName}: Unable to send ${methodName}() reply due to destroyed connection`);\n return;\n }\n const message = {\n penpal: MessageType.Reply,\n id,\n resolution,\n returnValue\n };\n if (resolution === Resolution.Rejected &&\n returnValue instanceof Error) {\n message.returnValue = serializeError(returnValue);\n message.returnValueIsError = true;\n }\n try {\n remote.postMessage(message, originForSending);\n }\n catch (err) {\n // If a consumer attempts to send an object that's not cloneable (e.g., window),\n // we want to ensure the receiver's promise gets rejected.\n if (err.name === NativeErrorName.DataCloneError) {\n const errorReplyMessage = {\n penpal: MessageType.Reply,\n id,\n resolution: Resolution.Rejected,\n returnValue: serializeError(err),\n returnValueIsError: true\n };\n remote.postMessage(errorReplyMessage, originForSending);\n }\n throw err;\n }\n };\n };\n new Promise(resolve => resolve(methods[methodName].apply(methods, args))).then(createPromiseHandler(Resolution.Fulfilled), createPromiseHandler(Resolution.Rejected));\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n return () => {\n destroyed = true;\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n };\n};\n","const CHECK_IFRAME_IN_DOC_INTERVAL = 60000;\n/**\n * Monitors for iframe removal and destroys connection if iframe\n * is found to have been removed from DOM. This is to prevent memory\n * leaks when the iframe is removed from the document and the consumer\n * hasn't called destroy(). Without this, event listeners attached to\n * the window would stick around and since the event handlers have a\n * reference to the iframe in their closures, the iframe would stick\n * around too.\n */\nexport default (iframe, destructor) => {\n const { destroy, onDestroy } = destructor;\n const checkIframeInDocIntervalId = setInterval(() => {\n if (!iframe.isConnected) {\n clearInterval(checkIframeInDocIntervalId);\n destroy();\n }\n }, CHECK_IFRAME_IN_DOC_INTERVAL);\n onDestroy(() => {\n clearInterval(checkIframeInDocIntervalId);\n });\n};\n","import { ErrorCode, MessageType, NativeEventType } from '../enums';\nimport createDestructor from '../createDestructor';\nimport createLogger from '../createLogger';\nimport getOriginFromSrc from './getOriginFromSrc';\nimport handleAckMessageFactory from './handleAckMessageFactory';\nimport handleSynMessageFactory from './handleSynMessageFactory';\nimport monitorIframeRemoval from './monitorIframeRemoval';\nimport startConnectionTimeout from '../startConnectionTimeout';\nimport validateIframeHasSrcOrSrcDoc from './validateIframeHasSrcOrSrcDoc';\n/**\n * Attempts to establish communication with an iframe.\n */\nexport default (options) => {\n let { iframe, methods = {}, childOrigin, timeout, debug = false } = options;\n const log = createLogger(debug);\n const destructor = createDestructor();\n const { onDestroy, destroy } = destructor;\n if (!childOrigin) {\n validateIframeHasSrcOrSrcDoc(iframe);\n childOrigin = getOriginFromSrc(iframe.src);\n }\n // If event.origin is \"null\", the remote protocol is file: or data: and we\n // must post messages with \"*\" as targetOrigin when sending messages.\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Using_window.postMessage_in_extensions\n const originForSending = childOrigin === 'null' ? '*' : childOrigin;\n const handleSynMessage = handleSynMessageFactory(log, methods, childOrigin, originForSending);\n const handleAckMessage = handleAckMessageFactory(methods, childOrigin, originForSending, destructor, log);\n const promise = new Promise((resolve, reject) => {\n const stopConnectionTimeout = startConnectionTimeout(timeout, destroy);\n const handleMessage = (event) => {\n if (event.source !== iframe.contentWindow || !event.data) {\n return;\n }\n if (event.data.penpal === MessageType.Syn) {\n handleSynMessage(event);\n return;\n }\n if (event.data.penpal === MessageType.Ack) {\n const callSender = handleAckMessage(event);\n if (callSender) {\n stopConnectionTimeout();\n resolve(callSender);\n }\n return;\n }\n };\n window.addEventListener(NativeEventType.Message, handleMessage);\n log('Parent: Awaiting handshake');\n monitorIframeRemoval(iframe, destructor);\n onDestroy((error) => {\n window.removeEventListener(NativeEventType.Message, handleMessage);\n if (!error) {\n error = new Error('Connection destroyed');\n error.code = ErrorCode.ConnectionDestroyed;\n }\n reject(error);\n });\n });\n return {\n promise,\n destroy() {\n // Don't allow consumer to pass an error into destroy.\n destroy();\n }\n };\n};\n","export default (debug) => {\n /**\n * Logs a message if debug is enabled.\n */\n return (...args) => {\n if (debug) {\n console.log('[Penpal]', ...args); // eslint-disable-line no-console\n }\n };\n};\n","export default () => {\n const callbacks = [];\n let destroyed = false;\n return {\n destroy(error) {\n destroyed = true;\n callbacks.forEach(callback => {\n callback(error);\n });\n },\n onDestroy(callback) {\n destroyed ? callback() : callbacks.push(callback);\n }\n };\n};\n","import { ErrorCode } from '../enums';\nexport default (iframe) => {\n if (!iframe.src && !iframe.srcdoc) {\n const error = new Error('Iframe must have src or srcdoc property defined.');\n error.code = ErrorCode.NoIframeSrc;\n throw error;\n }\n};\n","import { MessageType } from '../enums';\n/**\n * Handles a SYN handshake message.\n */\nexport default (log, methods, childOrigin, originForSending) => {\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received SYN message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received SYN, responding with SYN-ACK');\n const synAckMessage = {\n penpal: MessageType.SynAck,\n methodNames: Object.keys(methods)\n };\n event.source.postMessage(synAckMessage, originForSending);\n };\n};\n","import { ErrorCode } from './enums';\n/**\n * Starts a timeout and calls the callback with an error\n * if the timeout completes before the stop function is called.\n */\nexport default (timeout, callback) => {\n let timeoutId;\n if (timeout !== undefined) {\n timeoutId = window.setTimeout(() => {\n const error = new Error(`Connection timed out after ${timeout}ms`);\n error.code = ErrorCode.ConnectionTimeout;\n callback(error);\n }, timeout);\n }\n return () => {\n clearTimeout(timeoutId);\n };\n};\n",null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","EventTypes","MessageType","Resolution","ErrorCode","NativeErrorName","NativeEventType","IFRAME_URL","DEFAULT_PORT_BY_PROTOCOL","URL_REGEX","opaqueOriginSchemes","serializeError","name","message","stack","id","generateId","connectCallSender","callSender","info","methodNames","destroyConnection","log","localName","local","remote","originForSending","originForReceiving","destroyed","createMethodProxy","methodName","args","iframeRemoved","closed","error","Error","code","ConnectionDestroyed","handleMessageEvent","event","source","data","penpal","Reply","origin","replyMessage","removeEventListener","Message","returnValue","returnValueIsError","obj","deserializedError","keys","forEach","key","deserializeError","resolution","Fulfilled","addEventListener","callMessage","Call","postMessage","reduce","api","handleAckMessageFactory","methods","childOrigin","destructor","destroy","onDestroy","destroyCallReceiver","receiverMethodNames","window","createPromiseHandler","Rejected","err","DataCloneError","errorReplyMessage","connectCallReceiver","receiverMethodName","destroyCallSender","connectToChild","options","iframe","timeout","debug","console","createLogger","callbacks","callback","createDestructor","src","srcdoc","NoIframeSrc","validateIframeHasSrcOrSrcDoc","find","scheme","startsWith","location","document","regexResult","exec","protocol","hostname","port","getOriginFromSrc","handleSynMessage","synAckMessage","SynAck","handleSynMessageFactory","handleAckMessage","promise","stopConnectionTimeout","timeoutId","undefined","setTimeout","ConnectionTimeout","clearTimeout","startConnectionTimeout","handleMessage","contentWindow","Syn","Ack","checkIframeInDocIntervalId","setInterval","isConnected","clearInterval","monitorIframeRemoval","consoleErrorHandler","hookType","setHookTimer","warn","clearHookTimer","executeColumnHooks","hooks","errorHandler","changes","Map","tmpData","map","d","previousHookPromise","currentHook","timerId","hookResponse","_a","hookOutput","change","index","set","err_1","columnHookOutput","fieldOutputEmpty","fieldOutput","selectOptions","manyToOne","executeRowHooks","mode","rowHooks","bulkRowHooks","inputRowMap","inputRow","mutateInputDataWithChanges","rowIndex","rowOutput","get","_loop_1","fieldName","inputRowField","row","inputFieldIsManyToOne","Array","isArray","outputFieldIsManyToOne","concat","rowChanges","cellChange","fieldChanges","fieldOutputCell","manyToOneCellChange","rowDataField","inputRowDataField","_b","entries","_i","_c","bulkRowHooks_1","bulkRowHook","hookOutput_1","err_2","all","rowInput","rowHooks_1","rowHook","err_3","finalChanges","executeRowDeleteHooks","deletedRows","rowDeleteHooks","rowData","err_4","executeStepHooks","stepHooks","instance","hook","type","err_5","executeBeforeFinishCallback","metadata","beforeFinishCallback","err_6","executeFileParser","buffer","fileName","fileParserCallback","err_7","DROMO_WRAPPER_SUFFIX","makeFieldSerializable","field","newField","validators","validator","validate","regex","RegExp","regexOptions","ignoreCase","flags","includes","dotAll","multiline","unicode","DromoUploader","licenseKey","fieldsOrSchemaId","settings","user","_this","embedInline","columnHooks","customSteps","fileParsers","initChild","connection","alert","child","_d","loadedFromUnVersionedScript","from","getElementsByTagName","some","setNumRegisteredRowHooks","totalNumRowHooks","setNumRegisteredColHooks","setNumRegisteredRowDeleteHooks","setCustomParserFileExtensions","flatMap","fp","extensions","ext","toLowerCase","setEmbedInline","setCustomSteps","insertAfter","url","fields","version","browserExcelParsing","init","appHost","schemaId","initFromSavedSchema","developmentMode","headerRowOverride","initIFrame","widgetUrl","DROMO_WIDGET_OVERRIDE","alternateDomain","URL","host","getElementById","iframeId","createElement","identifier","_e","importIdentifier","title","style","height","width","border","allow","crossorigin","createConnection","self","handleColumnHooks","filter","h","handleRowHooks","rh","handleStepHook","handleParseFileCallback","extension","split","parser","indexOf","parseFile","handleRowDeleteHooks","handleBeforeFinishCallback","handleResults","resultsCallback","close","handleCloseModal","handleCancel","cancelCallback","handleCustomStep","_id","handleCustomStepMessage","payload","onMessage","uploader","completeCustomStep","goBackCustomStep","handleUserEvent","onUserEventCallback","mountIFrame","wrapper","wrapperId","zIndex","Number","MAX_SAFE_INTEGER","toString","visibility","position","top","left","right","bottom","appendChild","addIFrameToWrapper","showIframe","showWrapper","overflow","registerColumnHook","registerBulkRowHook","registerRowHook","registerStepHook","registerCustomStep","registerRowDeleteHook","beforeFinish","registerFileParser","fileParser","registerAllHooks","_f","_g","_h","_j","rowDeleteHook","_k","_l","_m","_o","_p","onResults","onCancel","onUserEvent","setUser","addField","removeField","fieldKey","updateInfoMessages","messages","setHeaderRowOverride","setConfirmationMessage","messageHTML","open","initInline","wrapperIdOrElement","HTMLElement","Math","random","substring","wrapperEl","error_1","addRows","rows","removeRows","rowIds","setDevelopmentMode","rehydrate","rehydrateState","headlessImportId","checkCloneable","values","structuredClone","notCloneable","badValues","join","rehydrateHeadless","dromo"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ITableMessage, IMessagesForCell, IColumnHook, IColumnHookInput, IColumnHookOutput, IRowHook, IRowHookInput, IRowHookOutput, IDeveloperField, IDeveloperSettings, IDeveloperStyleOverrides, IUser, IValidatorField, IRowHookOutputInternal, IResultMetadata, IReviewStepData, IStepHook, IUploadStepData, IRowDeleteHook, IBulkRowHook, IBeforeFinishCallback, IBeforeFinishOutput, IPositionSpec, IConnectionMethods, ISelectField, IImporterOptions, IAllHooks, IRowToAdd, IParseFileCallback, ICustomStepConfig, ICustomStepConnectionMethods, CustomStepInsertAfter } from "./interfaces";
1
+ import { ITableMessage, IMessagesForCell, IColumnHook, IColumnHookInput, IColumnHookOutput, IRowHook, IRowHookInput, IRowHookOutput, IDeveloperField, IDeveloperSettings, IDeveloperStyleOverrides, IUser, IValidatorField, IRowHookOutputInternal, IResultMetadata, IReviewStepData, IStepHook, IUploadStepData, IRowDeleteHook, IBulkRowHook, IBeforeFinishCallback, IBeforeFinishOutput, IPositionSpec, IConnectionMethods, ISelectField, IImporterOptions, IAllHooks, IRowToAdd, IParseFileCallback, ICustomStepConfig, ICustomStepConnectionMethods, CustomStepInsertAfter, IUserEvent } from "./interfaces";
2
2
  declare global {
3
3
  interface Window {
4
4
  DROMO_WIDGET_OVERRIDE?: string;
@@ -94,6 +94,7 @@ export default class DromoUploader {
94
94
  * cancels the import
95
95
  */
96
96
  onCancel: (callback: () => void) => void;
97
+ onUserEvent: (callback: (event: IUserEvent) => void) => void;
97
98
  /**
98
99
  * Function called by the developer to set or reset the user information
99
100
  */
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DromoUploader=t()}(this,function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function c(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,c)}a((r=r.apply(e,t||[])).next())})}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=c(0),s.throw=c(1),s.return=c(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(a){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o,i,s,c,a,u={IFRAME_URL:"https://widget.dromo.io/"}.IFRAME_URL;!function(e){e.INIT_IFRAME="INIT_IFRAME"}(r||(r={})),function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(c||(c={})),function(e){e.Message="message"}(a||(a={}));const l={"http:":"80","https:":"443"},d=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,h=["file:","data:"];const f=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let p=0;var m=()=>++p,v=(e,t,n,r,c)=>{const{localName:u,local:l,remote:d,originForSending:h,originForReceiving:f}=t;let p=!1;c(`${u}: Connecting call sender`);const v=e=>(...t)=>{let n;c(`${u}: Sending ${e}() call`);try{d.closed&&(n=!0)}catch(e){n=!0}if(n&&r(),p){const t=new Error(`Unable to send ${e}() call due to destroyed connection`);throw t.code=s.ConnectionDestroyed,t}return new Promise((n,r)=>{const s=m(),p=t=>{if(t.source!==d||t.data.penpal!==o.Reply||t.data.id!==s)return;if(t.origin!==f)return void c(`${u} received message from origin ${t.origin} which did not match expected origin ${f}`);const h=t.data;c(`${u}: Received ${e}() reply`),l.removeEventListener(a.Message,p);let m=h.returnValue;h.returnValueIsError&&(m=(e=>{const t=new Error;return Object.keys(e).forEach(n=>t[n]=e[n]),t})(m)),(h.resolution===i.Fulfilled?n:r)(m)};l.addEventListener(a.Message,p);const v={penpal:o.Call,id:s,methodName:e,args:t};d.postMessage(v,h)})};return n.reduce((e,t)=>(e[t]=v(t),e),e),()=>{p=!0}},w=(e,t,n,r,s)=>{const{destroy:u,onDestroy:l}=r;let d,h;const p={};return r=>{if(r.origin!==t)return void s(`Parent: Handshake - Received ACK message from origin ${r.origin} which did not match expected origin ${t}`);s("Parent: Handshake - Received ACK");const m={localName:"Parent",local:window,remote:r.source,originForSending:n,originForReceiving:t};d&&d(),d=((e,t,n)=>{const{localName:r,local:s,remote:u,originForSending:l,originForReceiving:d}=e;let h=!1;const p=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==d)return void n(`${r} received message from origin ${e.origin} which did not match expected origin ${d}`);const s=e.data,{methodName:a,args:p,id:m}=s;n(`${r}: Received ${a}() call`);const v=e=>t=>{if(n(`${r}: Sending ${a}() reply`),h)return void n(`${r}: Unable to send ${a}() reply due to destroyed connection`);const s={penpal:o.Reply,id:m,resolution:e,returnValue:t};e===i.Rejected&&t instanceof Error&&(s.returnValue=f(t),s.returnValueIsError=!0);try{u.postMessage(s,l)}catch(e){if(e.name===c.DataCloneError){const t={penpal:o.Reply,id:m,resolution:i.Rejected,returnValue:f(e),returnValueIsError:!0};u.postMessage(t,l)}throw e}};new Promise(e=>e(t[a].apply(t,p))).then(v(i.Fulfilled),v(i.Rejected))};return s.addEventListener(a.Message,p),()=>{h=!0,s.removeEventListener(a.Message,p)}})(m,e,s),l(d),h&&h.forEach(e=>{delete p[e]}),h=r.data.methodNames;const w=v(p,m,h,u,s);return l(w),p}};var g=e=>{let{iframe:t,methods:n={},childOrigin:r,timeout:i,debug:c=!1}=e;const u=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(c),f=(()=>{const e=[];let t=!1;return{destroy(n){t=!0,e.forEach(e=>{e(n)})},onDestroy(n){t?n():e.push(n)}}})(),{onDestroy:p,destroy:m}=f;r||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(t),r=(e=>{if(e&&h.find(t=>e.startsWith(t)))return"null";const t=document.location,n=d.exec(e);let r,o,i;return n?(r=n[1]?n[1]:t.protocol,o=n[2],i=n[4]):(r=t.protocol,o=t.hostname,i=t.port),`${r}//${o}${i&&i!==l[r]?`:${i}`:""}`})(t.src));const v="null"===r?"*":r,g=((e,t,n,r)=>i=>{if(i.origin!==n)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${n}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(t)};i.source.postMessage(s,r)})(u,n,r,v),b=w(n,r,v,f,u),y=new Promise((e,n)=>{const r=((e,t)=>{let n;return void 0!==e&&(n=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${e}ms`);n.code=s.ConnectionTimeout,t(n)},e)),()=>{clearTimeout(n)}})(i,m),c=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==o.Syn){if(n.data.penpal===o.Ack){const t=b(n);return void(t&&(r(),e(t)))}}else g(n)};window.addEventListener(a.Message,c),u("Parent: Awaiting handshake"),((e,t)=>{const{destroy:n,onDestroy:r}=t,o=setInterval(()=>{e.isConnected||(clearInterval(o),n())},6e4);r(()=>{clearInterval(o)})})(t,f),p(e=>{window.removeEventListener(a.Message,c),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),n(e)})});return{promise:y,destroy(){m()}}},b=function(e,t){return console.error("[Dromo-External-Error] There was an error running your ".concat(t,"."),e)},y=function(e){return setTimeout(function(){console.warn("[Dromo Error] Slow ".concat(e," detected (>10s). Long running hooks can degrade user experience and importer performance."))},1e4)},k=function(e){clearTimeout(e)},I=function(r,o,i){return t(void 0,void 0,void 0,function(){var s,c,a;return n(this,function(u){switch(u.label){case 0:return s=new Map,c=o.map(function(t){return e({},t)}),[4,r.reduce(function(e,r){return t(void 0,void 0,void 0,function(){return n(this,function(o){switch(o.label){case 0:return[4,e.then(function(){return t(void 0,void 0,void 0,function(){var e,t,o;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=y("column hook"),[4,r.callback(c)];case 1:return t=n.sent(),k(e),t.forEach(function(e){if(void 0!==e.value||void 0!==e.info){var t={};void 0!==e.value&&(t.value=e.value,c[e.index].value=e.value),void 0!==e.info&&(t.info=e.info),s.set(e.index,t)}}),[3,3];case 2:return o=n.sent(),i(o,"column hooks"),[3,3];case 3:return[2]}})})})];case 1:return o.sent(),[2]}})})},Promise.resolve())];case 1:return u.sent(),a=[],s.forEach(function(t,n){return a.push(e(e({},t),{index:n}))}),[2,a]}})})},E=function(e){return void 0===e.value&&void 0===e.info&&void 0===e.selectOptions&&void 0===e.manyToOne},C=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var c,a,u,l,d,h,f,p,m,v,w,g,b;return n(this,function(I){switch(I.label){case 0:c=new Map,a=new Map(e.map(function(e){return[e.index,e]})),u=function(e,t){for(var n,r=a.get(e),o=function(t,o){if(E(o))return"continue";var i=r.row[t],s=Array.isArray(i.manyToOne),a="manyToOne"in o&&Array.isArray(o.manyToOne);if(s&&!a)throw new Error("".concat(t," should have manyToOne defined as an array."));if(s&&a&&i.manyToOne.length!==o.manyToOne.length)throw new Error("".concat(t," should be array of length ").concat(i.manyToOne.length));var u=c.get(e)||{},l=null!==(n=u[t])&&void 0!==n?n:{},d=[];a?(l.manyToOne=[],o.manyToOne.forEach(function(e,t){if(!E(e)){var n={};l.manyToOne.push(n),d.push({fieldOutput:e,rowDataField:i.manyToOne[t],cellChange:n})}})):d.push({fieldOutput:o,rowDataField:i,cellChange:l}),d.forEach(function(e){var t=e.fieldOutput,n=e.rowDataField,r=e.cellChange;void 0!==t.value&&(r.value=t.value,n.value=t.value),void 0!==t.info&&(r.info=t.info,n.info=t.info),void 0!==t.selectOptions&&(r.selectOptions=t.selectOptions,n.selectOptions=t.selectOptions)}),u[t]=l,c.set(e,u)},i=0,s=Object.entries(null!=t?t:{});i<s.length;i++){var u=s[i];o(u[0],u[1])}},l=0,d=i,I.label=1;case 1:if(!(l<d.length))return[3,6];h=d[l],I.label=2;case 2:return I.trys.push([2,4,,5]),f=y("bulk row hook"),[4,h(e,r)];case 3:for(p=I.sent(),k(f),m=0,v=p;m<v.length;m++)w=v[m],u(w.index,w.row);return[3,5];case 4:return g=I.sent(),s(g,"bulk row hooks"),[3,5];case 5:return l++,[3,1];case 6:return[4,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){var t,i,c,a,l,d;return n(this,function(n){switch(n.label){case 0:t=0,i=o,n.label=1;case 1:if(!(t<i.length))return[3,6];c=i[t],n.label=2;case 2:return n.trys.push([2,4,,5]),a=y("row hook"),[4,c(e,r)];case 3:return l=n.sent(),k(a),u(e.index,l.row),[3,5];case 4:return d=n.sent(),s(d,"row hooks"),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})}))];case 7:return I.sent(),b=[],c.forEach(function(e,t){b.push({index:t,row:e})}),[2,b]}})})},R=function(e,r,o){return t(void 0,void 0,void 0,function(){return n(this,function(i){return[2,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){return n(this,function(i){return r.forEach(function(r){return t(void 0,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),t=y("row delete hook"),[4,r(e)];case 1:return n.sent(),k(t),[3,3];case 2:return i=n.sent(),o(i,"row delete hooks"),[3,3];case 3:return[2]}})})}),[2]})})}))]})})},H=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){return n(this,function(c){switch(c.label){case 0:return[4,Promise.all(o.map(function(o){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(e!==o.type)return[2,Promise.resolve()];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o.callback(i,r)];case 2:return[2,n.sent()];case 3:return t=n.sent(),s(t,"step hook ".concat(e)),[2,Promise.resolve()];case 4:return[2]}})})}))];case 1:return c.sent(),[2]}})})},D=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o(e,r,i)];case 1:return[2,n.sent()];case 2:return t=n.sent(),s(t,"before finish callback"),[3,3];case 3:return[2]}})})},x=function(e,r,o,i){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,i(e,r)];case 1:return[2,n.sent()];case 2:return t=n.sent(),o(t,"custom file parser callback"),[3,3];case 3:return[2]}})})},O="dromo-container",F=function(t){var n=e({},t);return n.validators&&(n.validators=n.validators.map(function(t){return("regex_match"===t.validate||"regex_exclude"===t.validate)&&t.regex instanceof RegExp?e(e({},t),{regex:t.regex.source,regexOptions:{ignoreCase:t.regex.flags.includes("i"),dotAll:t.regex.flags.includes("s"),multiline:t.regex.flags.includes("m"),unicode:t.regex.flags.includes("u")}}):t})),n},S=function(){function r(r,o,i,s){var c=this;this.embedInline=!1,this.columnHooks=[],this.bulkRowHooks=[],this.rowHooks=[],this.stepHooks=[],this.rowDeleteHooks=[],this.customSteps=[],this.fileParsers=[],this.initChild=function(){return t(c,void 0,void 0,function(){var t,r,o,i,s;return n(this,function(n){switch(n.label){case 0:return this.connection?[4,this.connection.promise]:(console.error("shim cannot connect with Dromo service."),alert("There was en error opening the importer. Please contact support if this issue persists."),[2]);case 1:return t=n.sent(),r=Array.from(document.getElementsByTagName("script")).some(function(e){return"https://unpkg.com/dromo-uploader-js/dist/DromoUploader.js"===e.src||"https://cdn.jsdelivr.net/npm/dromo-uploader-js@latest/dist/DromoUploader.js"===e.src}),[4,t.setNumRegisteredRowHooks(this.totalNumRowHooks())];case 2:return n.sent(),[4,t.setNumRegisteredColHooks(this.columnHooks.length)];case 3:return n.sent(),[4,t.setNumRegisteredRowDeleteHooks(this.rowDeleteHooks.length)];case 4:return n.sent(),[4,t.setCustomParserFileExtensions(this.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))];case 5:return n.sent(),[4,t.setEmbedInline(this.embedInline)];case 6:return n.sent(),this.customSteps.length>0?[4,t.setCustomSteps(this.customSteps.map(function(e){return{id:e.id,insertAfter:e.insertAfter,label:e.label,url:e.url}}))]:[3,8];case 7:n.sent(),n.label=8;case 8:return this.fields&&this.settings&&this.user?(o=e({},this.settings),r||(o.version=null!==(i=o.version)&&void 0!==i?i:"v2"),o.browserExcelParsing=null===(s=o.browserExcelParsing)||void 0===s||s,[4,t.init(this.licenseKey,this.fields,o,this.user,this.appHost)]):[3,10];case 9:return n.sent(),[3,13];case 10:return this.schemaId?[4,t.initFromSavedSchema(this.licenseKey,this.schemaId,this.appHost,{user:this.user,developmentMode:this.developmentMode,headerRowOverride:this.headerRowOverride})]:[3,12];case 11:return n.sent(),[3,13];case 12:console.error("Invalid Dromo configuration"),n.label=13;case 13:return[2]}})})},this.initIFrame=function(){var e,t,n,r,o;if(window.DROMO_WIDGET_OVERRIDE)o=window.DROMO_WIDGET_OVERRIDE;else if(null===(e=c.settings)||void 0===e?void 0:e.alternateDomain){var i=new URL(c.settings.alternateDomain);o=i.protocol+"//widget."+i.host}else o="v1"===(null===(t=c.settings)||void 0===t?void 0:t.version)?"https://widget-v1.dromo.io/":u;if(!document.getElementById(c.iframeId)){var s=document.createElement("iframe"),a=null!==(r=null===(n=c.settings)||void 0===n?void 0:n.importIdentifier)&&void 0!==r?r:c.schemaId;s.title=a?"Dromo Importer: ".concat(a):"Dromo Importer",s.src=o,s.id=c.iframeId,s.style.height="100%",s.style.width="100%",s.style.border="0",s.allow="clipboard-read; clipboard-write",s.crossorigin="anonymous",c.iframe=s}},this.createConnection=function(){var r=c,o=c.iframe;o?c.connection=g({iframe:o,methods:{handleColumnHooks:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return t=r.columnHooks.filter(function(t){return t.fieldName===e}),[4,I(t,o,b)];case 1:return[2,n.sent()]}})})},handleRowHooks:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,C(e,o,r.rowHooks.map(function(e){return e.callback}),r.bulkRowHooks,b)];case 1:return[2,t.sent()]}})})},handleStepHook:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,H(e,o,r.stepHooks,r,b)];case 1:return[2,t.sent()]}})})},handleParseFileCallback:function(e,o){return t(this,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return t=o.split(".").pop(),i=r.fileParsers.find(function(e){return-1!==e.extensions.map(function(e){return e.toLowerCase()}).indexOf(t.toLowerCase())}),[4,x(e,o,b,i.parseFile)];case 1:return[2,n.sent()]}})})},handleRowDeleteHooks:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,R(e,r.rowDeleteHooks,b)];case 1:return t.sent(),[2]}})})},handleBeforeFinishCallback:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return r.beforeFinishCallback?[4,D(e,o,r.beforeFinishCallback,r,b)]:[3,2];case 1:return[2,t.sent()];case 2:return[2]}})})},handleResults:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(!r.resultsCallback)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,r.resultsCallback(e,o)];case 2:return n.sent(),[3,4];case 3:return t=n.sent(),console.error("[Dromo-External-Error] There was an error in your onResult callback.",t),[3,4];case 4:return r.close(),[2]}})})},handleCloseModal:function(){r.close()},handleCancel:function(){if(r.cancelCallback)try{r.cancelCallback()}catch(e){console.error("[Dromo-External-Error] There was an error in your cancel callback.",e)}r.close()},handleCustomStep:function(e){return t(this,void 0,void 0,function(){return n(this,function(e){return[2,void 0]})})},handleCustomStepMessage:function(o,i){return t(this,void 0,void 0,function(){var t,s,c,a;return n(this,function(n){switch(n.label){case 0:return(null==(t=r.customSteps.find(function(e){return e.id===o}))?void 0:t.onMessage)?[4,r.connection.promise]:[2];case 1:s=n.sent(),c=e(e({},r),{completeCustomStep:function(){return s.completeCustomStep()},goBackCustomStep:function(){return s.goBackCustomStep()}}),n.label=2;case 2:return n.trys.push([2,4,,5]),[4,t.onMessage(c,i)];case 3:return n.sent(),[3,5];case 4:return a=n.sent(),console.error("[Dromo-External-Error] There was an error in your custom step onMessage callback.",a),[3,5];case 5:return[2]}})})}}}):console.error("shim cannot connect to Dromo.")},this.mountIFrame=function(){if(!document.getElementById(c.iframeId)){var e=document.createElement("div");e.id=c.wrapperId,e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.visibility="hidden",e.style.width="0px",e.style.height="0px",e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.right="0px",e.style.bottom="0px",e.appendChild(c.iframe),document.body.appendChild(e),c.wrapper=e}},this.addIFrameToWrapper=function(){c.wrapper&&c.iframe&&(c.iframe.style.visibility="hidden",c.wrapper.appendChild(c.iframe))},this.showIframe=function(){c.iframe&&(c.iframe.style.visibility="visible")},this.showWrapper=function(){c.wrapper&&(c.wrapper.style.visibility="visible",c.wrapper.style.width="100%",c.wrapper.style.height="100%",document.body.style.overflow="hidden")},this.registerColumnHook=function(e,t){c.columnHooks.push({fieldName:e,callback:t}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredColHooks(c.columnHooks.length)})},this.totalNumRowHooks=function(){return c.rowHooks.length+c.bulkRowHooks.length},this.registerBulkRowHook=function(e){c.bulkRowHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerRowHook=function(e){c.rowHooks.push({callback:e}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerStepHook=function(e,t){c.stepHooks.push({type:e,callback:t})},this.registerCustomStep=function(e){c.customSteps.push(e)},this.registerRowDeleteHook=function(e){c.rowDeleteHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowDeleteHooks(c.rowDeleteHooks.length)})},this.beforeFinish=function(e){c.beforeFinishCallback=e},this.registerFileParser=function(e){c.fileParsers.push(e),c.connection&&c.connection.promise.then(function(e){e.setCustomParserFileExtensions(c.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))})},this.registerAllHooks=function(e){if(e.columnHooks)for(var t=0,n=e.columnHooks;t<n.length;t++){var r=n[t],o=r.fieldName,i=r.callback;c.registerColumnHook(o,i)}if(e.rowHooks)for(var s=0,a=e.rowHooks;s<a.length;s++){var u=a[s];c.registerRowHook(u)}if(e.bulkRowHooks)for(var l=0,d=e.bulkRowHooks;l<d.length;l++){var h=d[l];c.registerBulkRowHook(h)}if(e.rowDeleteHooks)for(var f=0,p=e.rowDeleteHooks;f<p.length;f++){var m=p[f];c.registerRowDeleteHook(m)}if(e.stepHooks)for(var v=0,w=e.stepHooks;v<w.length;v++){var g=w[v],b=g.type;i=g.callback;c.registerStepHook(b,i)}if(e.beforeFinishCallback&&c.beforeFinish(e.beforeFinishCallback),e.fileParsers)for(var y=0,k=e.fileParsers;y<k.length;y++){var I=k[y];c.registerFileParser(I)}},this.onResults=function(e){c.resultsCallback=e},this.onCancel=function(e){c.cancelCallback=e},this.setUser=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.user=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setUser(this.user)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.addField=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addField(F(e),r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.removeField=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeField(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.updateInfoMessages=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().updateInfoMessages(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.setHeaderRowOverride=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.headerRowOverride=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setHeaderRowOverride(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.setConfirmationMessage=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setConfirmationMessage(e,r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.open=function(){return t(c,void 0,void 0,function(){return n(this,function(e){switch(e.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return e.sent(),this.showWrapper(),[2]}})})},this.initInline=function(e){return t(c,void 0,void 0,function(){var t,r;return n(this,function(n){switch(n.label){case 0:this.embedInline=!0,n.label=1;case 1:if(n.trys.push([1,3,,4]),e instanceof HTMLElement&&(this.wrapper=e,this.wrapperId=e.id,""!==this.wrapperId&&void 0!==this.wrapperId||(this.wrapperId=Math.random().toString(36).substring(7)+"-"+O)),"string"==typeof e){if(null===(t=document.getElementById(e)))throw new Error("WRAPPER_NOT_FOUND");this.wrapper=t,this.wrapperId=e}return this.iframe||(this.initIFrame(),this.createConnection(),this.addIFrameToWrapper()),[4,this.initChild()];case 2:return n.sent(),this.showIframe(),[3,4];case 3:throw"WRAPPER_NOT_FOUND"===(r=n.sent()).message&&console.error("[Dromo-Error] Could not find wrapper using provided ID."),r;case 4:return[2]}})})},this.addRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addRows(e)];case 2:return[2,t.sent()];case 3:return console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),[2,[]]}})})},this.removeRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeRows(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.close=function(){c.wrapper&&(c.wrapper.style.visibility="hidden",c.wrapper.style.width="0px",c.wrapper.style.height="0px",document.body.style.overflow="inherit")},this.setDevelopmentMode=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.developmentMode=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setDevelopmentMode(this.developmentMode)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.rehydrate=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return t.sent(),[4,this.connection.promise];case 2:return[4,t.sent().rehydrate(e,r)];case 3:return t.sent(),this.showWrapper(),[2]}})})},this.iframeId=Math.random().toString(36).substring(7)+"-dromo-iframe-element",this.wrapperId=Math.random().toString(36).substring(7)+"-"+O,this.appHost=document.location.hostname,void 0!==i&&void 0!==s?(this.licenseKey=r,this.fields=o.map(F),this.settings=i,this.user=s,this.checkCloneable({licenseKey:this.licenseKey,fields:this.fields,settings:this.settings,user:this.user})):(this.licenseKey=r,this.schemaId=o,this.checkCloneable({licenseKey:this.licenseKey,schemaId:this.schemaId}))}var o;return r.prototype.checkCloneable=function(e){if("function"==typeof structuredClone){var t=Object.entries(e).filter(function(e){e[0];var t=e[1];try{return structuredClone(t),!1}catch(e){return!0}}).map(function(e){return e[0]});if(t.length>0){var n=t.join(", ");throw new Error("[Dromo-External-Error] The Dromo importer received non-cloneable parameters: ".concat(n,". See https://dromo.dev/err/clone"))}}},o=r,r.rehydrateHeadless=function(e){var i=e.licenseKey,s=e.headlessImportId,c=e.fields,a=e.settings,u=e.hooks,l=e.rehydrateState;return t(void 0,void 0,void 0,function(){var e;return n(o,function(t){switch(t.label){case 0:return(e=new r(i,c,a,{id:"headless-review"})).registerAllHooks(u),[4,e.rehydrate(l,s)];case 1:return t.sent(),e.open(),[2,e]}})})},r}();return S});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).DromoUploader=t()}(this,function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))(function(o,i){function s(e){try{a(r.next(e))}catch(e){i(e)}}function c(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,c)}a((r=r.apply(e,t||[])).next())})}function n(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=c(0),s.throw=c(1),s.return=c(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function c(c){return function(a){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,a])}}}"function"==typeof SuppressedError&&SuppressedError;var r,o,i,s,c,a,u={IFRAME_URL:"https://widget.dromo.io/"}.IFRAME_URL;!function(e){e.INIT_IFRAME="INIT_IFRAME"}(r||(r={})),function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(o||(o={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(i||(i={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NotInIframe="NotInIframe",e.NoIframeSrc="NoIframeSrc"}(s||(s={})),function(e){e.DataCloneError="DataCloneError"}(c||(c={})),function(e){e.Message="message"}(a||(a={}));const l={"http:":"80","https:":"443"},d=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,h=["file:","data:"];const f=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let p=0;var m=()=>++p,v=(e,t,n,r,c)=>{const{localName:u,local:l,remote:d,originForSending:h,originForReceiving:f}=t;let p=!1;c(`${u}: Connecting call sender`);const v=e=>(...t)=>{let n;c(`${u}: Sending ${e}() call`);try{d.closed&&(n=!0)}catch(e){n=!0}if(n&&r(),p){const t=new Error(`Unable to send ${e}() call due to destroyed connection`);throw t.code=s.ConnectionDestroyed,t}return new Promise((n,r)=>{const s=m(),p=t=>{if(t.source!==d||t.data.penpal!==o.Reply||t.data.id!==s)return;if(t.origin!==f)return void c(`${u} received message from origin ${t.origin} which did not match expected origin ${f}`);const h=t.data;c(`${u}: Received ${e}() reply`),l.removeEventListener(a.Message,p);let m=h.returnValue;h.returnValueIsError&&(m=(e=>{const t=new Error;return Object.keys(e).forEach(n=>t[n]=e[n]),t})(m)),(h.resolution===i.Fulfilled?n:r)(m)};l.addEventListener(a.Message,p);const v={penpal:o.Call,id:s,methodName:e,args:t};d.postMessage(v,h)})};return n.reduce((e,t)=>(e[t]=v(t),e),e),()=>{p=!0}},w=(e,t,n,r,s)=>{const{destroy:u,onDestroy:l}=r;let d,h;const p={};return r=>{if(r.origin!==t)return void s(`Parent: Handshake - Received ACK message from origin ${r.origin} which did not match expected origin ${t}`);s("Parent: Handshake - Received ACK");const m={localName:"Parent",local:window,remote:r.source,originForSending:n,originForReceiving:t};d&&d(),d=((e,t,n)=>{const{localName:r,local:s,remote:u,originForSending:l,originForReceiving:d}=e;let h=!1;const p=e=>{if(e.source!==u||e.data.penpal!==o.Call)return;if(e.origin!==d)return void n(`${r} received message from origin ${e.origin} which did not match expected origin ${d}`);const s=e.data,{methodName:a,args:p,id:m}=s;n(`${r}: Received ${a}() call`);const v=e=>t=>{if(n(`${r}: Sending ${a}() reply`),h)return void n(`${r}: Unable to send ${a}() reply due to destroyed connection`);const s={penpal:o.Reply,id:m,resolution:e,returnValue:t};e===i.Rejected&&t instanceof Error&&(s.returnValue=f(t),s.returnValueIsError=!0);try{u.postMessage(s,l)}catch(e){if(e.name===c.DataCloneError){const t={penpal:o.Reply,id:m,resolution:i.Rejected,returnValue:f(e),returnValueIsError:!0};u.postMessage(t,l)}throw e}};new Promise(e=>e(t[a].apply(t,p))).then(v(i.Fulfilled),v(i.Rejected))};return s.addEventListener(a.Message,p),()=>{h=!0,s.removeEventListener(a.Message,p)}})(m,e,s),l(d),h&&h.forEach(e=>{delete p[e]}),h=r.data.methodNames;const w=v(p,m,h,u,s);return l(w),p}};var g=e=>{let{iframe:t,methods:n={},childOrigin:r,timeout:i,debug:c=!1}=e;const u=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(c),f=(()=>{const e=[];let t=!1;return{destroy(n){t=!0,e.forEach(e=>{e(n)})},onDestroy(n){t?n():e.push(n)}}})(),{onDestroy:p,destroy:m}=f;r||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=s.NoIframeSrc,e}})(t),r=(e=>{if(e&&h.find(t=>e.startsWith(t)))return"null";const t=document.location,n=d.exec(e);let r,o,i;return n?(r=n[1]?n[1]:t.protocol,o=n[2],i=n[4]):(r=t.protocol,o=t.hostname,i=t.port),`${r}//${o}${i&&i!==l[r]?`:${i}`:""}`})(t.src));const v="null"===r?"*":r,g=((e,t,n,r)=>i=>{if(i.origin!==n)return void e(`Parent: Handshake - Received SYN message from origin ${i.origin} which did not match expected origin ${n}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:o.SynAck,methodNames:Object.keys(t)};i.source.postMessage(s,r)})(u,n,r,v),b=w(n,r,v,f,u),y=new Promise((e,n)=>{const r=((e,t)=>{let n;return void 0!==e&&(n=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${e}ms`);n.code=s.ConnectionTimeout,t(n)},e)),()=>{clearTimeout(n)}})(i,m),c=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==o.Syn){if(n.data.penpal===o.Ack){const t=b(n);return void(t&&(r(),e(t)))}}else g(n)};window.addEventListener(a.Message,c),u("Parent: Awaiting handshake"),((e,t)=>{const{destroy:n,onDestroy:r}=t,o=setInterval(()=>{e.isConnected||(clearInterval(o),n())},6e4);r(()=>{clearInterval(o)})})(t,f),p(e=>{window.removeEventListener(a.Message,c),e||((e=new Error("Connection destroyed")).code=s.ConnectionDestroyed),n(e)})});return{promise:y,destroy(){m()}}},b=function(e,t){return console.error("[Dromo-External-Error] There was an error running your ".concat(t,"."),e)},y=function(e){return setTimeout(function(){console.warn("[Dromo Error] Slow ".concat(e," detected (>10s). Long running hooks can degrade user experience and importer performance."))},1e4)},k=function(e){clearTimeout(e)},E=function(r,o,i){return t(void 0,void 0,void 0,function(){var s,c,a;return n(this,function(u){switch(u.label){case 0:return s=new Map,c=o.map(function(t){return e({},t)}),[4,r.reduce(function(e,r){return t(void 0,void 0,void 0,function(){return n(this,function(o){switch(o.label){case 0:return[4,e.then(function(){return t(void 0,void 0,void 0,function(){var e,t,o;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=y("column hook"),[4,r.callback(c)];case 1:return t=n.sent(),k(e),t.forEach(function(e){if(void 0!==e.value||void 0!==e.info){var t={};void 0!==e.value&&(t.value=e.value,c[e.index].value=e.value),void 0!==e.info&&(t.info=e.info),s.set(e.index,t)}}),[3,3];case 2:return o=n.sent(),i(o,"column hooks"),[3,3];case 3:return[2]}})})})];case 1:return o.sent(),[2]}})})},Promise.resolve())];case 1:return u.sent(),a=[],s.forEach(function(t,n){return a.push(e(e({},t),{index:n}))}),[2,a]}})})},C=function(e){return void 0===e.value&&void 0===e.info&&void 0===e.selectOptions&&void 0===e.manyToOne},I=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var c,a,u,l,d,h,f,p,m,v,w,g,b;return n(this,function(E){switch(E.label){case 0:c=new Map,a=new Map(e.map(function(e){return[e.index,e]})),u=function(e,t){for(var n,r=a.get(e),o=function(t,o){if(C(o))return"continue";var i=r.row[t],s=Array.isArray(i.manyToOne),a="manyToOne"in o&&Array.isArray(o.manyToOne);if(s&&!a)throw new Error("".concat(t," should have manyToOne defined as an array."));if(s&&a&&i.manyToOne.length!==o.manyToOne.length)throw new Error("".concat(t," should be array of length ").concat(i.manyToOne.length));var u=c.get(e)||{},l=null!==(n=u[t])&&void 0!==n?n:{},d=[];a?(l.manyToOne=[],o.manyToOne.forEach(function(e,t){if(!C(e)){var n={};l.manyToOne.push(n),d.push({fieldOutput:e,rowDataField:i.manyToOne[t],cellChange:n})}})):d.push({fieldOutput:o,rowDataField:i,cellChange:l}),d.forEach(function(e){var t=e.fieldOutput,n=e.rowDataField,r=e.cellChange;void 0!==t.value&&(r.value=t.value,n.value=t.value),void 0!==t.info&&(r.info=t.info,n.info=t.info),void 0!==t.selectOptions&&(r.selectOptions=t.selectOptions,n.selectOptions=t.selectOptions)}),u[t]=l,c.set(e,u)},i=0,s=Object.entries(null!=t?t:{});i<s.length;i++){var u=s[i];o(u[0],u[1])}},l=0,d=i,E.label=1;case 1:if(!(l<d.length))return[3,6];h=d[l],E.label=2;case 2:return E.trys.push([2,4,,5]),f=y("bulk row hook"),[4,h(e,r)];case 3:for(p=E.sent(),k(f),m=0,v=p;m<v.length;m++)w=v[m],u(w.index,w.row);return[3,5];case 4:return g=E.sent(),s(g,"bulk row hooks"),[3,5];case 5:return l++,[3,1];case 6:return[4,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){var t,i,c,a,l,d;return n(this,function(n){switch(n.label){case 0:t=0,i=o,n.label=1;case 1:if(!(t<i.length))return[3,6];c=i[t],n.label=2;case 2:return n.trys.push([2,4,,5]),a=y("row hook"),[4,c(e,r)];case 3:return l=n.sent(),k(a),u(e.index,l.row),[3,5];case 4:return d=n.sent(),s(d,"row hooks"),[3,5];case 5:return t++,[3,1];case 6:return[2]}})})}))];case 7:return E.sent(),b=[],c.forEach(function(e,t){b.push({index:t,row:e})}),[2,b]}})})},R=function(e,r,o){return t(void 0,void 0,void 0,function(){return n(this,function(i){return[2,Promise.all(e.map(function(e){return t(void 0,void 0,void 0,function(){return n(this,function(i){return r.forEach(function(r){return t(void 0,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),t=y("row delete hook"),[4,r(e)];case 1:return n.sent(),k(t),[3,3];case 2:return i=n.sent(),o(i,"row delete hooks"),[3,3];case 3:return[2]}})})}),[2]})})}))]})})},H=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){return n(this,function(c){switch(c.label){case 0:return[4,Promise.all(o.map(function(o){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(e!==o.type)return[2,Promise.resolve()];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o.callback(i,r)];case 2:return[2,n.sent()];case 3:return t=n.sent(),s(t,"step hook ".concat(e)),[2,Promise.resolve()];case 4:return[2]}})})}))];case 1:return c.sent(),[2]}})})},D=function(e,r,o,i,s){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,o(e,r,i)];case 1:return[2,n.sent()];case 2:return t=n.sent(),s(t,"before finish callback"),[3,3];case 3:return[2]}})})},x=function(e,r,o,i){return t(void 0,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,i(e,r)];case 1:return[2,n.sent()];case 2:return t=n.sent(),o(t,"custom file parser callback"),[3,3];case 3:return[2]}})})},O="dromo-container",F=function(t){var n=e({},t);return n.validators&&(n.validators=n.validators.map(function(t){return("regex_match"===t.validate||"regex_exclude"===t.validate)&&t.regex instanceof RegExp?e(e({},t),{regex:t.regex.source,regexOptions:{ignoreCase:t.regex.flags.includes("i"),dotAll:t.regex.flags.includes("s"),multiline:t.regex.flags.includes("m"),unicode:t.regex.flags.includes("u")}}):t})),n},S=function(){function r(r,o,i,s){var c=this;this.embedInline=!1,this.columnHooks=[],this.bulkRowHooks=[],this.rowHooks=[],this.stepHooks=[],this.rowDeleteHooks=[],this.customSteps=[],this.fileParsers=[],this.initChild=function(){return t(c,void 0,void 0,function(){var t,r,o,i,s;return n(this,function(n){switch(n.label){case 0:return this.connection?[4,this.connection.promise]:(console.error("shim cannot connect with Dromo service."),alert("There was en error opening the importer. Please contact support if this issue persists."),[2]);case 1:return t=n.sent(),r=Array.from(document.getElementsByTagName("script")).some(function(e){return"https://unpkg.com/dromo-uploader-js/dist/DromoUploader.js"===e.src||"https://cdn.jsdelivr.net/npm/dromo-uploader-js@latest/dist/DromoUploader.js"===e.src}),[4,t.setNumRegisteredRowHooks(this.totalNumRowHooks())];case 2:return n.sent(),[4,t.setNumRegisteredColHooks(this.columnHooks.length)];case 3:return n.sent(),[4,t.setNumRegisteredRowDeleteHooks(this.rowDeleteHooks.length)];case 4:return n.sent(),[4,t.setCustomParserFileExtensions(this.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))];case 5:return n.sent(),[4,t.setEmbedInline(this.embedInline)];case 6:return n.sent(),this.customSteps.length>0?[4,t.setCustomSteps(this.customSteps.map(function(e){return{id:e.id,insertAfter:e.insertAfter,label:e.label,url:e.url}}))]:[3,8];case 7:n.sent(),n.label=8;case 8:return this.fields&&this.settings&&this.user?(o=e({},this.settings),r||(o.version=null!==(i=o.version)&&void 0!==i?i:"v2"),o.browserExcelParsing=null===(s=o.browserExcelParsing)||void 0===s||s,[4,t.init(this.licenseKey,this.fields,o,this.user,this.appHost)]):[3,10];case 9:return n.sent(),[3,13];case 10:return this.schemaId?[4,t.initFromSavedSchema(this.licenseKey,this.schemaId,this.appHost,{user:this.user,developmentMode:this.developmentMode,headerRowOverride:this.headerRowOverride})]:[3,12];case 11:return n.sent(),[3,13];case 12:console.error("Invalid Dromo configuration"),n.label=13;case 13:return[2]}})})},this.initIFrame=function(){var e,t,n,r,o;if(window.DROMO_WIDGET_OVERRIDE)o=window.DROMO_WIDGET_OVERRIDE;else if(null===(e=c.settings)||void 0===e?void 0:e.alternateDomain){var i=new URL(c.settings.alternateDomain);o=i.protocol+"//widget."+i.host}else o="v1"===(null===(t=c.settings)||void 0===t?void 0:t.version)?"https://widget-v1.dromo.io/":u;if(!document.getElementById(c.iframeId)){var s=document.createElement("iframe"),a=null!==(r=null===(n=c.settings)||void 0===n?void 0:n.importIdentifier)&&void 0!==r?r:c.schemaId;s.title=a?"Dromo Importer: ".concat(a):"Dromo Importer",s.src=o,s.id=c.iframeId,s.style.height="100%",s.style.width="100%",s.style.border="0",s.allow="clipboard-read; clipboard-write",s.crossorigin="anonymous",c.iframe=s}},this.createConnection=function(){var r=c,o=c.iframe;o?c.connection=g({iframe:o,methods:{handleColumnHooks:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:return t=r.columnHooks.filter(function(t){return t.fieldName===e}),[4,E(t,o,b)];case 1:return[2,n.sent()]}})})},handleRowHooks:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,I(e,o,r.rowHooks.map(function(e){return e.callback}),r.bulkRowHooks,b)];case 1:return[2,t.sent()]}})})},handleStepHook:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,H(e,o,r.stepHooks,r,b)];case 1:return[2,t.sent()]}})})},handleParseFileCallback:function(e,o){return t(this,void 0,void 0,function(){var t,i;return n(this,function(n){switch(n.label){case 0:return t=o.split(".").pop(),i=r.fileParsers.find(function(e){return-1!==e.extensions.map(function(e){return e.toLowerCase()}).indexOf(t.toLowerCase())}),[4,x(e,o,b,i.parseFile)];case 1:return[2,n.sent()]}})})},handleRowDeleteHooks:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return[4,R(e,r.rowDeleteHooks,b)];case 1:return t.sent(),[2]}})})},handleBeforeFinishCallback:function(e,o){return t(this,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return r.beforeFinishCallback?[4,D(e,o,r.beforeFinishCallback,r,b)]:[3,2];case 1:return[2,t.sent()];case 2:return[2]}})})},handleResults:function(e,o){return t(this,void 0,void 0,function(){var t;return n(this,function(n){switch(n.label){case 0:if(!r.resultsCallback)return[3,4];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,r.resultsCallback(e,o)];case 2:return n.sent(),[3,4];case 3:return t=n.sent(),console.error("[Dromo-External-Error] There was an error in your onResult callback.",t),[3,4];case 4:return r.close(),[2]}})})},handleCloseModal:function(){r.close()},handleCancel:function(){if(r.cancelCallback)try{r.cancelCallback()}catch(e){console.error("[Dromo-External-Error] There was an error in your cancel callback.",e)}r.close()},handleCustomStep:function(e){return t(this,void 0,void 0,function(){return n(this,function(e){return[2,void 0]})})},handleCustomStepMessage:function(o,i){return t(this,void 0,void 0,function(){var t,s,c,a;return n(this,function(n){switch(n.label){case 0:return(null==(t=r.customSteps.find(function(e){return e.id===o}))?void 0:t.onMessage)?[4,r.connection.promise]:[2];case 1:s=n.sent(),c=e(e({},r),{completeCustomStep:function(){return s.completeCustomStep()},goBackCustomStep:function(){return s.goBackCustomStep()}}),n.label=2;case 2:return n.trys.push([2,4,,5]),[4,t.onMessage(c,i)];case 3:return n.sent(),[3,5];case 4:return a=n.sent(),console.error("[Dromo-External-Error] There was an error in your custom step onMessage callback.",a),[3,5];case 5:return[2]}})})},handleUserEvent:function(e){return t(this,void 0,void 0,function(){return n(this,function(t){if(r.onUserEventCallback)try{r.onUserEventCallback(e)}catch(e){console.warn("[Dromo-External-Error] There was an error in your onUserEvent callback.",e)}return[2]})})}}}):console.error("shim cannot connect to Dromo.")},this.mountIFrame=function(){if(!document.getElementById(c.iframeId)){var e=document.createElement("div");e.id=c.wrapperId,e.style.zIndex=Number.MAX_SAFE_INTEGER.toString(),e.style.visibility="hidden",e.style.width="0px",e.style.height="0px",e.style.position="fixed",e.style.top="0px",e.style.left="0px",e.style.right="0px",e.style.bottom="0px",e.appendChild(c.iframe),document.body.appendChild(e),c.wrapper=e}},this.addIFrameToWrapper=function(){c.wrapper&&c.iframe&&(c.iframe.style.visibility="hidden",c.wrapper.appendChild(c.iframe))},this.showIframe=function(){c.iframe&&(c.iframe.style.visibility="visible")},this.showWrapper=function(){c.wrapper&&(c.wrapper.style.visibility="visible",c.wrapper.style.width="100%",c.wrapper.style.height="100%",document.body.style.overflow="hidden")},this.registerColumnHook=function(e,t){c.columnHooks.push({fieldName:e,callback:t}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredColHooks(c.columnHooks.length)})},this.totalNumRowHooks=function(){return c.rowHooks.length+c.bulkRowHooks.length},this.registerBulkRowHook=function(e){c.bulkRowHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerRowHook=function(e){c.rowHooks.push({callback:e}),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowHooks(c.totalNumRowHooks())})},this.registerStepHook=function(e,t){c.stepHooks.push({type:e,callback:t})},this.registerCustomStep=function(e){c.customSteps.push(e)},this.registerRowDeleteHook=function(e){c.rowDeleteHooks.push(e),c.connection&&c.connection.promise.then(function(e){e.setNumRegisteredRowDeleteHooks(c.rowDeleteHooks.length)})},this.beforeFinish=function(e){c.beforeFinishCallback=e},this.registerFileParser=function(e){c.fileParsers.push(e),c.connection&&c.connection.promise.then(function(e){e.setCustomParserFileExtensions(c.fileParsers.flatMap(function(e){return e.extensions.map(function(e){return e.toLowerCase()})}))})},this.registerAllHooks=function(e){if(e.columnHooks)for(var t=0,n=e.columnHooks;t<n.length;t++){var r=n[t],o=r.fieldName,i=r.callback;c.registerColumnHook(o,i)}if(e.rowHooks)for(var s=0,a=e.rowHooks;s<a.length;s++){var u=a[s];c.registerRowHook(u)}if(e.bulkRowHooks)for(var l=0,d=e.bulkRowHooks;l<d.length;l++){var h=d[l];c.registerBulkRowHook(h)}if(e.rowDeleteHooks)for(var f=0,p=e.rowDeleteHooks;f<p.length;f++){var m=p[f];c.registerRowDeleteHook(m)}if(e.stepHooks)for(var v=0,w=e.stepHooks;v<w.length;v++){var g=w[v],b=g.type;i=g.callback;c.registerStepHook(b,i)}if(e.beforeFinishCallback&&c.beforeFinish(e.beforeFinishCallback),e.fileParsers)for(var y=0,k=e.fileParsers;y<k.length;y++){var E=k[y];c.registerFileParser(E)}},this.onResults=function(e){c.resultsCallback=e},this.onCancel=function(e){c.cancelCallback=e},this.onUserEvent=function(e){c.onUserEventCallback=e},this.setUser=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.user=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setUser(this.user)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.addField=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addField(F(e),r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.removeField=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeField(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.updateInfoMessages=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().updateInfoMessages(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.setHeaderRowOverride=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.headerRowOverride=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setHeaderRowOverride(e)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.setConfirmationMessage=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setConfirmationMessage(e,r)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.open=function(){return t(c,void 0,void 0,function(){return n(this,function(e){switch(e.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return e.sent(),this.showWrapper(),[2]}})})},this.initInline=function(e){return t(c,void 0,void 0,function(){var t,r;return n(this,function(n){switch(n.label){case 0:this.embedInline=!0,n.label=1;case 1:if(n.trys.push([1,3,,4]),e instanceof HTMLElement&&(this.wrapper=e,this.wrapperId=e.id,""!==this.wrapperId&&void 0!==this.wrapperId||(this.wrapperId=Math.random().toString(36).substring(7)+"-"+O)),"string"==typeof e){if(null===(t=document.getElementById(e)))throw new Error("WRAPPER_NOT_FOUND");this.wrapper=t,this.wrapperId=e}return this.iframe||(this.initIFrame(),this.createConnection(),this.addIFrameToWrapper()),[4,this.initChild()];case 2:return n.sent(),this.showIframe(),[3,4];case 3:throw"WRAPPER_NOT_FOUND"===(r=n.sent()).message&&console.error("[Dromo-Error] Could not find wrapper using provided ID."),r;case 4:return[2]}})})},this.addRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().addRows(e)];case 2:return[2,t.sent()];case 3:return console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),[2,[]]}})})},this.removeRows=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().removeRows(e)];case 2:return t.sent(),[3,4];case 3:console.error("[Dromo-Error] Invalid connection to Dromo Uploader."),t.label=4;case 4:return[2]}})})},this.close=function(){c.wrapper&&(c.wrapper.style.visibility="hidden",c.wrapper.style.width="0px",c.wrapper.style.height="0px",document.body.style.overflow="inherit")},this.setDevelopmentMode=function(e){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.developmentMode=e,this.connection?[4,this.connection.promise]:[3,3];case 1:return[4,t.sent().setDevelopmentMode(this.developmentMode)];case 2:t.sent(),t.label=3;case 3:return[2]}})})},this.rehydrate=function(e,r){return t(c,void 0,void 0,function(){return n(this,function(t){switch(t.label){case 0:return this.wrapper||(this.initIFrame(),this.createConnection(),this.mountIFrame()),[4,this.initChild()];case 1:return t.sent(),[4,this.connection.promise];case 2:return[4,t.sent().rehydrate(e,r)];case 3:return t.sent(),this.showWrapper(),[2]}})})},this.iframeId=Math.random().toString(36).substring(7)+"-dromo-iframe-element",this.wrapperId=Math.random().toString(36).substring(7)+"-"+O,this.appHost=document.location.hostname,void 0!==i&&void 0!==s?(this.licenseKey=r,this.fields=o.map(F),this.settings=i,this.user=s,this.checkCloneable({licenseKey:this.licenseKey,fields:this.fields,settings:this.settings,user:this.user})):(this.licenseKey=r,this.schemaId=o,this.checkCloneable({licenseKey:this.licenseKey,schemaId:this.schemaId}))}var o;return r.prototype.checkCloneable=function(e){if("function"==typeof structuredClone){var t=Object.entries(e).filter(function(e){e[0];var t=e[1];try{return structuredClone(t),!1}catch(e){return!0}}).map(function(e){return e[0]});if(t.length>0){var n=t.join(", ");throw new Error("[Dromo-External-Error] The Dromo importer received non-cloneable parameters: ".concat(n,". See https://dromo.dev/err/clone"))}}},o=r,r.rehydrateHeadless=function(e){var i=e.licenseKey,s=e.headlessImportId,c=e.fields,a=e.settings,u=e.hooks,l=e.rehydrateState;return t(void 0,void 0,void 0,function(){var e;return n(o,function(t){switch(t.label){case 0:return(e=new r(i,c,a,{id:"headless-review"})).registerAllHooks(u),[4,e.rehydrate(l,s)];case 1:return t.sent(),e.open(),[2,e]}})})},r}();return S});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/constants.ts","../node_modules/penpal/lib/enums.js","../node_modules/penpal/lib/parent/getOriginFromSrc.js","../node_modules/penpal/lib/errorSerialization.js","../node_modules/penpal/lib/generateId.js","../node_modules/penpal/lib/connectCallSender.js","../node_modules/penpal/lib/parent/handleAckMessageFactory.js","../node_modules/penpal/lib/connectCallReceiver.js","../node_modules/penpal/lib/parent/monitorIframeRemoval.js","../node_modules/penpal/lib/parent/connectToChild.js","../node_modules/penpal/lib/createLogger.js","../node_modules/penpal/lib/createDestructor.js","../node_modules/penpal/lib/parent/validateIframeHasSrcOrSrcDoc.js","../node_modules/penpal/lib/parent/handleSynMessageFactory.js","../node_modules/penpal/lib/startConnectionTimeout.js","../src/executeHooks.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,"export var MessageType;\n(function (MessageType) {\n MessageType[\"Call\"] = \"call\";\n MessageType[\"Reply\"] = \"reply\";\n MessageType[\"Syn\"] = \"syn\";\n MessageType[\"SynAck\"] = \"synAck\";\n MessageType[\"Ack\"] = \"ack\";\n})(MessageType || (MessageType = {}));\nexport var Resolution;\n(function (Resolution) {\n Resolution[\"Fulfilled\"] = \"fulfilled\";\n Resolution[\"Rejected\"] = \"rejected\";\n})(Resolution || (Resolution = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ConnectionDestroyed\"] = \"ConnectionDestroyed\";\n ErrorCode[\"ConnectionTimeout\"] = \"ConnectionTimeout\";\n ErrorCode[\"NotInIframe\"] = \"NotInIframe\";\n ErrorCode[\"NoIframeSrc\"] = \"NoIframeSrc\";\n})(ErrorCode || (ErrorCode = {}));\nexport var NativeErrorName;\n(function (NativeErrorName) {\n NativeErrorName[\"DataCloneError\"] = \"DataCloneError\";\n})(NativeErrorName || (NativeErrorName = {}));\nexport var NativeEventType;\n(function (NativeEventType) {\n NativeEventType[\"Message\"] = \"message\";\n})(NativeEventType || (NativeEventType = {}));\n","const DEFAULT_PORT_BY_PROTOCOL = {\n 'http:': '80',\n 'https:': '443'\n};\nconst URL_REGEX = /^(https?:)?\\/\\/([^/:]+)?(:(\\d+))?/;\nconst opaqueOriginSchemes = ['file:', 'data:'];\n/**\n * Converts a src value into an origin.\n */\nexport default (src) => {\n if (src && opaqueOriginSchemes.find(scheme => src.startsWith(scheme))) {\n // The origin of the child document is an opaque origin and its\n // serialization is \"null\"\n // https://html.spec.whatwg.org/multipage/origin.html#origin\n return 'null';\n }\n // Note that if src is undefined, then srcdoc is being used instead of src\n // and we can follow this same logic below to get the origin of the parent,\n // which is the origin that we will need to use.\n const location = document.location;\n const regexResult = URL_REGEX.exec(src);\n let protocol;\n let hostname;\n let port;\n if (regexResult) {\n // It's an absolute URL. Use the parsed info.\n // regexResult[1] will be undefined if the URL starts with //\n protocol = (regexResult[1] ? regexResult[1] : location.protocol);\n hostname = regexResult[2];\n port = regexResult[4];\n }\n else {\n // It's a relative path. Use the current location's info.\n protocol = location.protocol;\n hostname = location.hostname;\n port = location.port;\n }\n // If the port is the default for the protocol, we don't want to add it to the origin string\n // or it won't match the message's event.origin.\n const portSuffix = port && port !== DEFAULT_PORT_BY_PROTOCOL[protocol] ? `:${port}` : '';\n return `${protocol}//${hostname}${portSuffix}`;\n};\n","/**\n * Converts an error object into a plain object.\n */\nexport const serializeError = ({ name, message, stack }) => ({\n name,\n message,\n stack\n});\n/**\n * Converts a plain object into an error object.\n */\nexport const deserializeError = (obj) => {\n const deserializedError = new Error();\n // @ts-ignore\n Object.keys(obj).forEach(key => (deserializedError[key] = obj[key]));\n return deserializedError;\n};\n","let id = 0;\n/**\n * @return {number} A unique ID (not universally unique)\n */\nexport default () => ++id;\n","import generateId from './generateId';\nimport { deserializeError } from './errorSerialization';\nimport { ErrorCode, MessageType, NativeEventType, Resolution } from './enums';\n/**\n * Augments an object with methods that match those defined by the remote. When these methods are\n * called, a \"call\" message will be sent to the remote, the remote's corresponding method will be\n * executed, and the method's return value will be returned via a message.\n * @param {Object} callSender Sender object that should be augmented with methods.\n * @param {Object} info Information about the local and remote windows.\n * @param {Array} methodNames Names of methods available to be called on the remote.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Object} The call sender object with methods that may be called.\n */\nexport default (callSender, info, methodNames, destroyConnection, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n log(`${localName}: Connecting call sender`);\n const createMethodProxy = (methodName) => {\n return (...args) => {\n log(`${localName}: Sending ${methodName}() call`);\n // This handles the case where the iframe has been removed from the DOM\n // (and therefore its window closed), the consumer has not yet\n // called destroy(), and the user calls a method exposed by\n // the remote. We detect the iframe has been removed and force\n // a destroy() immediately so that the consumer sees the error saying\n // the connection has been destroyed. We wrap this check in a try catch\n // because Edge throws an \"Object expected\" error when accessing\n // contentWindow.closed on a contentWindow from an iframe that's been\n // removed from the DOM.\n let iframeRemoved;\n try {\n if (remote.closed) {\n iframeRemoved = true;\n }\n }\n catch (e) {\n iframeRemoved = true;\n }\n if (iframeRemoved) {\n destroyConnection();\n }\n if (destroyed) {\n const error = new Error(`Unable to send ${methodName}() call due ` + `to destroyed connection`);\n error.code = ErrorCode.ConnectionDestroyed;\n throw error;\n }\n return new Promise((resolve, reject) => {\n const id = generateId();\n const handleMessageEvent = (event) => {\n if (event.source !== remote ||\n event.data.penpal !== MessageType.Reply ||\n event.data.id !== id) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const replyMessage = event.data;\n log(`${localName}: Received ${methodName}() reply`);\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n let returnValue = replyMessage.returnValue;\n if (replyMessage.returnValueIsError) {\n returnValue = deserializeError(returnValue);\n }\n (replyMessage.resolution === Resolution.Fulfilled ? resolve : reject)(returnValue);\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n const callMessage = {\n penpal: MessageType.Call,\n id,\n methodName,\n args\n };\n remote.postMessage(callMessage, originForSending);\n });\n };\n };\n methodNames.reduce((api, methodName) => {\n api[methodName] = createMethodProxy(methodName);\n return api;\n }, callSender);\n return () => {\n destroyed = true;\n };\n};\n","import connectCallReceiver from '../connectCallReceiver';\nimport connectCallSender from '../connectCallSender';\n/**\n * Handles an ACK handshake message.\n */\nexport default (methods, childOrigin, originForSending, destructor, log) => {\n const { destroy, onDestroy } = destructor;\n let destroyCallReceiver;\n let receiverMethodNames;\n // We resolve the promise with the call sender. If the child reconnects\n // (for example, after refreshing or navigating to another page that\n // uses Penpal, we'll update the call sender with methods that match the\n // latest provided by the child.\n const callSender = {};\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received ACK message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received ACK');\n const info = {\n localName: 'Parent',\n local: window,\n remote: event.source,\n originForSending: originForSending,\n originForReceiving: childOrigin\n };\n // If the child reconnected, we need to destroy the prior call receiver\n // before setting up a new one.\n if (destroyCallReceiver) {\n destroyCallReceiver();\n }\n destroyCallReceiver = connectCallReceiver(info, methods, log);\n onDestroy(destroyCallReceiver);\n // If the child reconnected, we need to remove the methods from the\n // previous call receiver off the sender.\n if (receiverMethodNames) {\n receiverMethodNames.forEach(receiverMethodName => {\n delete callSender[receiverMethodName];\n });\n }\n receiverMethodNames = event.data.methodNames;\n const destroyCallSender = connectCallSender(callSender, info, receiverMethodNames, destroy, log);\n onDestroy(destroyCallSender);\n return callSender;\n };\n};\n","import { serializeError } from './errorSerialization';\nimport { MessageType, NativeEventType, NativeErrorName, Resolution } from './enums';\n/**\n * Listens for \"call\" messages coming from the remote, executes the corresponding method, and\n * responds with the return value.\n */\nexport default (info, methods, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n const handleMessageEvent = (event) => {\n if (event.source !== remote || event.data.penpal !== MessageType.Call) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const callMessage = event.data;\n const { methodName, args, id } = callMessage;\n log(`${localName}: Received ${methodName}() call`);\n const createPromiseHandler = (resolution) => {\n return (returnValue) => {\n log(`${localName}: Sending ${methodName}() reply`);\n if (destroyed) {\n // It's possible to throw an error here, but it would need to be thrown asynchronously\n // and would only be catchable using window.onerror. This is because the consumer\n // is merely returning a value from their method and not calling any function\n // that they could wrap in a try-catch. Even if the consumer were to catch the error,\n // the value of doing so is questionable. Instead, we'll just log a message.\n log(`${localName}: Unable to send ${methodName}() reply due to destroyed connection`);\n return;\n }\n const message = {\n penpal: MessageType.Reply,\n id,\n resolution,\n returnValue\n };\n if (resolution === Resolution.Rejected &&\n returnValue instanceof Error) {\n message.returnValue = serializeError(returnValue);\n message.returnValueIsError = true;\n }\n try {\n remote.postMessage(message, originForSending);\n }\n catch (err) {\n // If a consumer attempts to send an object that's not cloneable (e.g., window),\n // we want to ensure the receiver's promise gets rejected.\n if (err.name === NativeErrorName.DataCloneError) {\n const errorReplyMessage = {\n penpal: MessageType.Reply,\n id,\n resolution: Resolution.Rejected,\n returnValue: serializeError(err),\n returnValueIsError: true\n };\n remote.postMessage(errorReplyMessage, originForSending);\n }\n throw err;\n }\n };\n };\n new Promise(resolve => resolve(methods[methodName].apply(methods, args))).then(createPromiseHandler(Resolution.Fulfilled), createPromiseHandler(Resolution.Rejected));\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n return () => {\n destroyed = true;\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n };\n};\n","const CHECK_IFRAME_IN_DOC_INTERVAL = 60000;\n/**\n * Monitors for iframe removal and destroys connection if iframe\n * is found to have been removed from DOM. This is to prevent memory\n * leaks when the iframe is removed from the document and the consumer\n * hasn't called destroy(). Without this, event listeners attached to\n * the window would stick around and since the event handlers have a\n * reference to the iframe in their closures, the iframe would stick\n * around too.\n */\nexport default (iframe, destructor) => {\n const { destroy, onDestroy } = destructor;\n const checkIframeInDocIntervalId = setInterval(() => {\n if (!iframe.isConnected) {\n clearInterval(checkIframeInDocIntervalId);\n destroy();\n }\n }, CHECK_IFRAME_IN_DOC_INTERVAL);\n onDestroy(() => {\n clearInterval(checkIframeInDocIntervalId);\n });\n};\n","import { ErrorCode, MessageType, NativeEventType } from '../enums';\nimport createDestructor from '../createDestructor';\nimport createLogger from '../createLogger';\nimport getOriginFromSrc from './getOriginFromSrc';\nimport handleAckMessageFactory from './handleAckMessageFactory';\nimport handleSynMessageFactory from './handleSynMessageFactory';\nimport monitorIframeRemoval from './monitorIframeRemoval';\nimport startConnectionTimeout from '../startConnectionTimeout';\nimport validateIframeHasSrcOrSrcDoc from './validateIframeHasSrcOrSrcDoc';\n/**\n * Attempts to establish communication with an iframe.\n */\nexport default (options) => {\n let { iframe, methods = {}, childOrigin, timeout, debug = false } = options;\n const log = createLogger(debug);\n const destructor = createDestructor();\n const { onDestroy, destroy } = destructor;\n if (!childOrigin) {\n validateIframeHasSrcOrSrcDoc(iframe);\n childOrigin = getOriginFromSrc(iframe.src);\n }\n // If event.origin is \"null\", the remote protocol is file: or data: and we\n // must post messages with \"*\" as targetOrigin when sending messages.\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Using_window.postMessage_in_extensions\n const originForSending = childOrigin === 'null' ? '*' : childOrigin;\n const handleSynMessage = handleSynMessageFactory(log, methods, childOrigin, originForSending);\n const handleAckMessage = handleAckMessageFactory(methods, childOrigin, originForSending, destructor, log);\n const promise = new Promise((resolve, reject) => {\n const stopConnectionTimeout = startConnectionTimeout(timeout, destroy);\n const handleMessage = (event) => {\n if (event.source !== iframe.contentWindow || !event.data) {\n return;\n }\n if (event.data.penpal === MessageType.Syn) {\n handleSynMessage(event);\n return;\n }\n if (event.data.penpal === MessageType.Ack) {\n const callSender = handleAckMessage(event);\n if (callSender) {\n stopConnectionTimeout();\n resolve(callSender);\n }\n return;\n }\n };\n window.addEventListener(NativeEventType.Message, handleMessage);\n log('Parent: Awaiting handshake');\n monitorIframeRemoval(iframe, destructor);\n onDestroy((error) => {\n window.removeEventListener(NativeEventType.Message, handleMessage);\n if (!error) {\n error = new Error('Connection destroyed');\n error.code = ErrorCode.ConnectionDestroyed;\n }\n reject(error);\n });\n });\n return {\n promise,\n destroy() {\n // Don't allow consumer to pass an error into destroy.\n destroy();\n }\n };\n};\n","export default (debug) => {\n /**\n * Logs a message if debug is enabled.\n */\n return (...args) => {\n if (debug) {\n console.log('[Penpal]', ...args); // eslint-disable-line no-console\n }\n };\n};\n","export default () => {\n const callbacks = [];\n let destroyed = false;\n return {\n destroy(error) {\n destroyed = true;\n callbacks.forEach(callback => {\n callback(error);\n });\n },\n onDestroy(callback) {\n destroyed ? callback() : callbacks.push(callback);\n }\n };\n};\n","import { ErrorCode } from '../enums';\nexport default (iframe) => {\n if (!iframe.src && !iframe.srcdoc) {\n const error = new Error('Iframe must have src or srcdoc property defined.');\n error.code = ErrorCode.NoIframeSrc;\n throw error;\n }\n};\n","import { MessageType } from '../enums';\n/**\n * Handles a SYN handshake message.\n */\nexport default (log, methods, childOrigin, originForSending) => {\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received SYN message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received SYN, responding with SYN-ACK');\n const synAckMessage = {\n penpal: MessageType.SynAck,\n methodNames: Object.keys(methods)\n };\n event.source.postMessage(synAckMessage, originForSending);\n };\n};\n","import { ErrorCode } from './enums';\n/**\n * Starts a timeout and calls the callback with an error\n * if the timeout completes before the stop function is called.\n */\nexport default (timeout, callback) => {\n let timeoutId;\n if (timeout !== undefined) {\n timeoutId = window.setTimeout(() => {\n const error = new Error(`Connection timed out after ${timeout}ms`);\n error.code = ErrorCode.ConnectionTimeout;\n callback(error);\n }, timeout);\n }\n return () => {\n clearTimeout(timeoutId);\n };\n};\n",null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","EventTypes","MessageType","Resolution","ErrorCode","NativeErrorName","NativeEventType","IFRAME_URL","DEFAULT_PORT_BY_PROTOCOL","URL_REGEX","opaqueOriginSchemes","serializeError","name","message","stack","id","generateId","connectCallSender","callSender","info","methodNames","destroyConnection","log","localName","local","remote","originForSending","originForReceiving","destroyed","createMethodProxy","methodName","args","iframeRemoved","closed","error","Error","code","ConnectionDestroyed","handleMessageEvent","event","source","data","penpal","Reply","origin","replyMessage","removeEventListener","Message","returnValue","returnValueIsError","obj","deserializedError","keys","forEach","key","deserializeError","resolution","Fulfilled","addEventListener","callMessage","Call","postMessage","reduce","api","handleAckMessageFactory","methods","childOrigin","destructor","destroy","onDestroy","destroyCallReceiver","receiverMethodNames","window","createPromiseHandler","Rejected","err","DataCloneError","errorReplyMessage","connectCallReceiver","receiverMethodName","destroyCallSender","connectToChild","options","iframe","timeout","debug","console","createLogger","callbacks","callback","createDestructor","src","srcdoc","NoIframeSrc","validateIframeHasSrcOrSrcDoc","find","scheme","startsWith","location","document","regexResult","exec","protocol","hostname","port","getOriginFromSrc","handleSynMessage","synAckMessage","SynAck","handleSynMessageFactory","handleAckMessage","promise","stopConnectionTimeout","timeoutId","undefined","setTimeout","ConnectionTimeout","clearTimeout","startConnectionTimeout","handleMessage","contentWindow","Syn","Ack","checkIframeInDocIntervalId","setInterval","isConnected","clearInterval","monitorIframeRemoval","consoleErrorHandler","hookType","setHookTimer","warn","clearHookTimer","executeColumnHooks","hooks","errorHandler","changes","Map","tmpData","map","d","previousHookPromise","currentHook","timerId","hookResponse","_a","hookOutput","change","index","set","err_1","columnHookOutput","fieldOutputEmpty","fieldOutput","selectOptions","manyToOne","executeRowHooks","mode","rowHooks","bulkRowHooks","inputRowMap","inputRow","mutateInputDataWithChanges","rowIndex","rowOutput","get","_loop_1","fieldName","inputRowField","row","inputFieldIsManyToOne","Array","isArray","outputFieldIsManyToOne","concat","rowChanges","cellChange","fieldChanges","fieldOutputCell","manyToOneCellChange","rowDataField","inputRowDataField","_b","entries","_i","_c","bulkRowHooks_1","bulkRowHook","hookOutput_1","err_2","all","rowInput","rowHooks_1","rowHook","err_3","finalChanges","executeRowDeleteHooks","deletedRows","rowDeleteHooks","rowData","err_4","executeStepHooks","stepHooks","instance","hook","type","err_5","executeBeforeFinishCallback","metadata","beforeFinishCallback","err_6","executeFileParser","buffer","fileName","fileParserCallback","err_7","DROMO_WRAPPER_SUFFIX","makeFieldSerializable","field","newField","validators","validator","validate","regex","RegExp","regexOptions","ignoreCase","flags","includes","dotAll","multiline","unicode","DromoUploader","licenseKey","fieldsOrSchemaId","settings","user","_this","embedInline","columnHooks","customSteps","fileParsers","initChild","connection","alert","child","_d","loadedFromUnVersionedScript","from","getElementsByTagName","some","setNumRegisteredRowHooks","totalNumRowHooks","setNumRegisteredColHooks","setNumRegisteredRowDeleteHooks","setCustomParserFileExtensions","flatMap","fp","extensions","ext","toLowerCase","setEmbedInline","setCustomSteps","insertAfter","url","fields","version","browserExcelParsing","init","appHost","schemaId","initFromSavedSchema","developmentMode","headerRowOverride","initIFrame","widgetUrl","DROMO_WIDGET_OVERRIDE","alternateDomain","URL","host","getElementById","iframeId","createElement","identifier","_e","importIdentifier","title","style","height","width","border","allow","crossorigin","createConnection","self","handleColumnHooks","filter","h","handleRowHooks","rh","handleStepHook","handleParseFileCallback","extension","split","parser","indexOf","parseFile","handleRowDeleteHooks","handleBeforeFinishCallback","handleResults","resultsCallback","close","handleCloseModal","handleCancel","cancelCallback","handleCustomStep","_id","handleCustomStepMessage","payload","onMessage","uploader","completeCustomStep","goBackCustomStep","mountIFrame","wrapper","wrapperId","zIndex","Number","MAX_SAFE_INTEGER","toString","visibility","position","top","left","right","bottom","appendChild","addIFrameToWrapper","showIframe","showWrapper","overflow","registerColumnHook","registerBulkRowHook","registerRowHook","registerStepHook","registerCustomStep","registerRowDeleteHook","beforeFinish","registerFileParser","fileParser","registerAllHooks","_f","_g","_h","_j","rowDeleteHook","_k","_l","_m","_o","_p","onResults","onCancel","setUser","addField","removeField","fieldKey","updateInfoMessages","messages","setHeaderRowOverride","setConfirmationMessage","messageHTML","open","initInline","wrapperIdOrElement","HTMLElement","Math","random","substring","wrapperEl","error_1","addRows","rows","removeRows","rowIds","setDevelopmentMode","rehydrate","rehydrateState","headlessImportId","checkCloneable","values","structuredClone","notCloneable","badValues","join","rehydrateHeadless","dromo"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/constants.ts","../node_modules/penpal/lib/enums.js","../node_modules/penpal/lib/parent/getOriginFromSrc.js","../node_modules/penpal/lib/errorSerialization.js","../node_modules/penpal/lib/generateId.js","../node_modules/penpal/lib/connectCallSender.js","../node_modules/penpal/lib/parent/handleAckMessageFactory.js","../node_modules/penpal/lib/connectCallReceiver.js","../node_modules/penpal/lib/parent/monitorIframeRemoval.js","../node_modules/penpal/lib/parent/connectToChild.js","../node_modules/penpal/lib/createLogger.js","../node_modules/penpal/lib/createDestructor.js","../node_modules/penpal/lib/parent/validateIframeHasSrcOrSrcDoc.js","../node_modules/penpal/lib/parent/handleSynMessageFactory.js","../node_modules/penpal/lib/startConnectionTimeout.js","../src/executeHooks.ts","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n",null,"export var MessageType;\n(function (MessageType) {\n MessageType[\"Call\"] = \"call\";\n MessageType[\"Reply\"] = \"reply\";\n MessageType[\"Syn\"] = \"syn\";\n MessageType[\"SynAck\"] = \"synAck\";\n MessageType[\"Ack\"] = \"ack\";\n})(MessageType || (MessageType = {}));\nexport var Resolution;\n(function (Resolution) {\n Resolution[\"Fulfilled\"] = \"fulfilled\";\n Resolution[\"Rejected\"] = \"rejected\";\n})(Resolution || (Resolution = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ConnectionDestroyed\"] = \"ConnectionDestroyed\";\n ErrorCode[\"ConnectionTimeout\"] = \"ConnectionTimeout\";\n ErrorCode[\"NotInIframe\"] = \"NotInIframe\";\n ErrorCode[\"NoIframeSrc\"] = \"NoIframeSrc\";\n})(ErrorCode || (ErrorCode = {}));\nexport var NativeErrorName;\n(function (NativeErrorName) {\n NativeErrorName[\"DataCloneError\"] = \"DataCloneError\";\n})(NativeErrorName || (NativeErrorName = {}));\nexport var NativeEventType;\n(function (NativeEventType) {\n NativeEventType[\"Message\"] = \"message\";\n})(NativeEventType || (NativeEventType = {}));\n","const DEFAULT_PORT_BY_PROTOCOL = {\n 'http:': '80',\n 'https:': '443'\n};\nconst URL_REGEX = /^(https?:)?\\/\\/([^/:]+)?(:(\\d+))?/;\nconst opaqueOriginSchemes = ['file:', 'data:'];\n/**\n * Converts a src value into an origin.\n */\nexport default (src) => {\n if (src && opaqueOriginSchemes.find(scheme => src.startsWith(scheme))) {\n // The origin of the child document is an opaque origin and its\n // serialization is \"null\"\n // https://html.spec.whatwg.org/multipage/origin.html#origin\n return 'null';\n }\n // Note that if src is undefined, then srcdoc is being used instead of src\n // and we can follow this same logic below to get the origin of the parent,\n // which is the origin that we will need to use.\n const location = document.location;\n const regexResult = URL_REGEX.exec(src);\n let protocol;\n let hostname;\n let port;\n if (regexResult) {\n // It's an absolute URL. Use the parsed info.\n // regexResult[1] will be undefined if the URL starts with //\n protocol = (regexResult[1] ? regexResult[1] : location.protocol);\n hostname = regexResult[2];\n port = regexResult[4];\n }\n else {\n // It's a relative path. Use the current location's info.\n protocol = location.protocol;\n hostname = location.hostname;\n port = location.port;\n }\n // If the port is the default for the protocol, we don't want to add it to the origin string\n // or it won't match the message's event.origin.\n const portSuffix = port && port !== DEFAULT_PORT_BY_PROTOCOL[protocol] ? `:${port}` : '';\n return `${protocol}//${hostname}${portSuffix}`;\n};\n","/**\n * Converts an error object into a plain object.\n */\nexport const serializeError = ({ name, message, stack }) => ({\n name,\n message,\n stack\n});\n/**\n * Converts a plain object into an error object.\n */\nexport const deserializeError = (obj) => {\n const deserializedError = new Error();\n // @ts-ignore\n Object.keys(obj).forEach(key => (deserializedError[key] = obj[key]));\n return deserializedError;\n};\n","let id = 0;\n/**\n * @return {number} A unique ID (not universally unique)\n */\nexport default () => ++id;\n","import generateId from './generateId';\nimport { deserializeError } from './errorSerialization';\nimport { ErrorCode, MessageType, NativeEventType, Resolution } from './enums';\n/**\n * Augments an object with methods that match those defined by the remote. When these methods are\n * called, a \"call\" message will be sent to the remote, the remote's corresponding method will be\n * executed, and the method's return value will be returned via a message.\n * @param {Object} callSender Sender object that should be augmented with methods.\n * @param {Object} info Information about the local and remote windows.\n * @param {Array} methodNames Names of methods available to be called on the remote.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Object} The call sender object with methods that may be called.\n */\nexport default (callSender, info, methodNames, destroyConnection, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n log(`${localName}: Connecting call sender`);\n const createMethodProxy = (methodName) => {\n return (...args) => {\n log(`${localName}: Sending ${methodName}() call`);\n // This handles the case where the iframe has been removed from the DOM\n // (and therefore its window closed), the consumer has not yet\n // called destroy(), and the user calls a method exposed by\n // the remote. We detect the iframe has been removed and force\n // a destroy() immediately so that the consumer sees the error saying\n // the connection has been destroyed. We wrap this check in a try catch\n // because Edge throws an \"Object expected\" error when accessing\n // contentWindow.closed on a contentWindow from an iframe that's been\n // removed from the DOM.\n let iframeRemoved;\n try {\n if (remote.closed) {\n iframeRemoved = true;\n }\n }\n catch (e) {\n iframeRemoved = true;\n }\n if (iframeRemoved) {\n destroyConnection();\n }\n if (destroyed) {\n const error = new Error(`Unable to send ${methodName}() call due ` + `to destroyed connection`);\n error.code = ErrorCode.ConnectionDestroyed;\n throw error;\n }\n return new Promise((resolve, reject) => {\n const id = generateId();\n const handleMessageEvent = (event) => {\n if (event.source !== remote ||\n event.data.penpal !== MessageType.Reply ||\n event.data.id !== id) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const replyMessage = event.data;\n log(`${localName}: Received ${methodName}() reply`);\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n let returnValue = replyMessage.returnValue;\n if (replyMessage.returnValueIsError) {\n returnValue = deserializeError(returnValue);\n }\n (replyMessage.resolution === Resolution.Fulfilled ? resolve : reject)(returnValue);\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n const callMessage = {\n penpal: MessageType.Call,\n id,\n methodName,\n args\n };\n remote.postMessage(callMessage, originForSending);\n });\n };\n };\n methodNames.reduce((api, methodName) => {\n api[methodName] = createMethodProxy(methodName);\n return api;\n }, callSender);\n return () => {\n destroyed = true;\n };\n};\n","import connectCallReceiver from '../connectCallReceiver';\nimport connectCallSender from '../connectCallSender';\n/**\n * Handles an ACK handshake message.\n */\nexport default (methods, childOrigin, originForSending, destructor, log) => {\n const { destroy, onDestroy } = destructor;\n let destroyCallReceiver;\n let receiverMethodNames;\n // We resolve the promise with the call sender. If the child reconnects\n // (for example, after refreshing or navigating to another page that\n // uses Penpal, we'll update the call sender with methods that match the\n // latest provided by the child.\n const callSender = {};\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received ACK message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received ACK');\n const info = {\n localName: 'Parent',\n local: window,\n remote: event.source,\n originForSending: originForSending,\n originForReceiving: childOrigin\n };\n // If the child reconnected, we need to destroy the prior call receiver\n // before setting up a new one.\n if (destroyCallReceiver) {\n destroyCallReceiver();\n }\n destroyCallReceiver = connectCallReceiver(info, methods, log);\n onDestroy(destroyCallReceiver);\n // If the child reconnected, we need to remove the methods from the\n // previous call receiver off the sender.\n if (receiverMethodNames) {\n receiverMethodNames.forEach(receiverMethodName => {\n delete callSender[receiverMethodName];\n });\n }\n receiverMethodNames = event.data.methodNames;\n const destroyCallSender = connectCallSender(callSender, info, receiverMethodNames, destroy, log);\n onDestroy(destroyCallSender);\n return callSender;\n };\n};\n","import { serializeError } from './errorSerialization';\nimport { MessageType, NativeEventType, NativeErrorName, Resolution } from './enums';\n/**\n * Listens for \"call\" messages coming from the remote, executes the corresponding method, and\n * responds with the return value.\n */\nexport default (info, methods, log) => {\n const { localName, local, remote, originForSending, originForReceiving } = info;\n let destroyed = false;\n const handleMessageEvent = (event) => {\n if (event.source !== remote || event.data.penpal !== MessageType.Call) {\n return;\n }\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n const callMessage = event.data;\n const { methodName, args, id } = callMessage;\n log(`${localName}: Received ${methodName}() call`);\n const createPromiseHandler = (resolution) => {\n return (returnValue) => {\n log(`${localName}: Sending ${methodName}() reply`);\n if (destroyed) {\n // It's possible to throw an error here, but it would need to be thrown asynchronously\n // and would only be catchable using window.onerror. This is because the consumer\n // is merely returning a value from their method and not calling any function\n // that they could wrap in a try-catch. Even if the consumer were to catch the error,\n // the value of doing so is questionable. Instead, we'll just log a message.\n log(`${localName}: Unable to send ${methodName}() reply due to destroyed connection`);\n return;\n }\n const message = {\n penpal: MessageType.Reply,\n id,\n resolution,\n returnValue\n };\n if (resolution === Resolution.Rejected &&\n returnValue instanceof Error) {\n message.returnValue = serializeError(returnValue);\n message.returnValueIsError = true;\n }\n try {\n remote.postMessage(message, originForSending);\n }\n catch (err) {\n // If a consumer attempts to send an object that's not cloneable (e.g., window),\n // we want to ensure the receiver's promise gets rejected.\n if (err.name === NativeErrorName.DataCloneError) {\n const errorReplyMessage = {\n penpal: MessageType.Reply,\n id,\n resolution: Resolution.Rejected,\n returnValue: serializeError(err),\n returnValueIsError: true\n };\n remote.postMessage(errorReplyMessage, originForSending);\n }\n throw err;\n }\n };\n };\n new Promise(resolve => resolve(methods[methodName].apply(methods, args))).then(createPromiseHandler(Resolution.Fulfilled), createPromiseHandler(Resolution.Rejected));\n };\n local.addEventListener(NativeEventType.Message, handleMessageEvent);\n return () => {\n destroyed = true;\n local.removeEventListener(NativeEventType.Message, handleMessageEvent);\n };\n};\n","const CHECK_IFRAME_IN_DOC_INTERVAL = 60000;\n/**\n * Monitors for iframe removal and destroys connection if iframe\n * is found to have been removed from DOM. This is to prevent memory\n * leaks when the iframe is removed from the document and the consumer\n * hasn't called destroy(). Without this, event listeners attached to\n * the window would stick around and since the event handlers have a\n * reference to the iframe in their closures, the iframe would stick\n * around too.\n */\nexport default (iframe, destructor) => {\n const { destroy, onDestroy } = destructor;\n const checkIframeInDocIntervalId = setInterval(() => {\n if (!iframe.isConnected) {\n clearInterval(checkIframeInDocIntervalId);\n destroy();\n }\n }, CHECK_IFRAME_IN_DOC_INTERVAL);\n onDestroy(() => {\n clearInterval(checkIframeInDocIntervalId);\n });\n};\n","import { ErrorCode, MessageType, NativeEventType } from '../enums';\nimport createDestructor from '../createDestructor';\nimport createLogger from '../createLogger';\nimport getOriginFromSrc from './getOriginFromSrc';\nimport handleAckMessageFactory from './handleAckMessageFactory';\nimport handleSynMessageFactory from './handleSynMessageFactory';\nimport monitorIframeRemoval from './monitorIframeRemoval';\nimport startConnectionTimeout from '../startConnectionTimeout';\nimport validateIframeHasSrcOrSrcDoc from './validateIframeHasSrcOrSrcDoc';\n/**\n * Attempts to establish communication with an iframe.\n */\nexport default (options) => {\n let { iframe, methods = {}, childOrigin, timeout, debug = false } = options;\n const log = createLogger(debug);\n const destructor = createDestructor();\n const { onDestroy, destroy } = destructor;\n if (!childOrigin) {\n validateIframeHasSrcOrSrcDoc(iframe);\n childOrigin = getOriginFromSrc(iframe.src);\n }\n // If event.origin is \"null\", the remote protocol is file: or data: and we\n // must post messages with \"*\" as targetOrigin when sending messages.\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage#Using_window.postMessage_in_extensions\n const originForSending = childOrigin === 'null' ? '*' : childOrigin;\n const handleSynMessage = handleSynMessageFactory(log, methods, childOrigin, originForSending);\n const handleAckMessage = handleAckMessageFactory(methods, childOrigin, originForSending, destructor, log);\n const promise = new Promise((resolve, reject) => {\n const stopConnectionTimeout = startConnectionTimeout(timeout, destroy);\n const handleMessage = (event) => {\n if (event.source !== iframe.contentWindow || !event.data) {\n return;\n }\n if (event.data.penpal === MessageType.Syn) {\n handleSynMessage(event);\n return;\n }\n if (event.data.penpal === MessageType.Ack) {\n const callSender = handleAckMessage(event);\n if (callSender) {\n stopConnectionTimeout();\n resolve(callSender);\n }\n return;\n }\n };\n window.addEventListener(NativeEventType.Message, handleMessage);\n log('Parent: Awaiting handshake');\n monitorIframeRemoval(iframe, destructor);\n onDestroy((error) => {\n window.removeEventListener(NativeEventType.Message, handleMessage);\n if (!error) {\n error = new Error('Connection destroyed');\n error.code = ErrorCode.ConnectionDestroyed;\n }\n reject(error);\n });\n });\n return {\n promise,\n destroy() {\n // Don't allow consumer to pass an error into destroy.\n destroy();\n }\n };\n};\n","export default (debug) => {\n /**\n * Logs a message if debug is enabled.\n */\n return (...args) => {\n if (debug) {\n console.log('[Penpal]', ...args); // eslint-disable-line no-console\n }\n };\n};\n","export default () => {\n const callbacks = [];\n let destroyed = false;\n return {\n destroy(error) {\n destroyed = true;\n callbacks.forEach(callback => {\n callback(error);\n });\n },\n onDestroy(callback) {\n destroyed ? callback() : callbacks.push(callback);\n }\n };\n};\n","import { ErrorCode } from '../enums';\nexport default (iframe) => {\n if (!iframe.src && !iframe.srcdoc) {\n const error = new Error('Iframe must have src or srcdoc property defined.');\n error.code = ErrorCode.NoIframeSrc;\n throw error;\n }\n};\n","import { MessageType } from '../enums';\n/**\n * Handles a SYN handshake message.\n */\nexport default (log, methods, childOrigin, originForSending) => {\n return (event) => {\n if (event.origin !== childOrigin) {\n log(`Parent: Handshake - Received SYN message from origin ${event.origin} which did not match expected origin ${childOrigin}`);\n return;\n }\n log('Parent: Handshake - Received SYN, responding with SYN-ACK');\n const synAckMessage = {\n penpal: MessageType.SynAck,\n methodNames: Object.keys(methods)\n };\n event.source.postMessage(synAckMessage, originForSending);\n };\n};\n","import { ErrorCode } from './enums';\n/**\n * Starts a timeout and calls the callback with an error\n * if the timeout completes before the stop function is called.\n */\nexport default (timeout, callback) => {\n let timeoutId;\n if (timeout !== undefined) {\n timeoutId = window.setTimeout(() => {\n const error = new Error(`Connection timed out after ${timeout}ms`);\n error.code = ErrorCode.ConnectionTimeout;\n callback(error);\n }, timeout);\n }\n return () => {\n clearTimeout(timeoutId);\n };\n};\n",null,null],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","EventTypes","MessageType","Resolution","ErrorCode","NativeErrorName","NativeEventType","IFRAME_URL","DEFAULT_PORT_BY_PROTOCOL","URL_REGEX","opaqueOriginSchemes","serializeError","name","message","stack","id","generateId","connectCallSender","callSender","info","methodNames","destroyConnection","log","localName","local","remote","originForSending","originForReceiving","destroyed","createMethodProxy","methodName","args","iframeRemoved","closed","error","Error","code","ConnectionDestroyed","handleMessageEvent","event","source","data","penpal","Reply","origin","replyMessage","removeEventListener","Message","returnValue","returnValueIsError","obj","deserializedError","keys","forEach","key","deserializeError","resolution","Fulfilled","addEventListener","callMessage","Call","postMessage","reduce","api","handleAckMessageFactory","methods","childOrigin","destructor","destroy","onDestroy","destroyCallReceiver","receiverMethodNames","window","createPromiseHandler","Rejected","err","DataCloneError","errorReplyMessage","connectCallReceiver","receiverMethodName","destroyCallSender","connectToChild","options","iframe","timeout","debug","console","createLogger","callbacks","callback","createDestructor","src","srcdoc","NoIframeSrc","validateIframeHasSrcOrSrcDoc","find","scheme","startsWith","location","document","regexResult","exec","protocol","hostname","port","getOriginFromSrc","handleSynMessage","synAckMessage","SynAck","handleSynMessageFactory","handleAckMessage","promise","stopConnectionTimeout","timeoutId","undefined","setTimeout","ConnectionTimeout","clearTimeout","startConnectionTimeout","handleMessage","contentWindow","Syn","Ack","checkIframeInDocIntervalId","setInterval","isConnected","clearInterval","monitorIframeRemoval","consoleErrorHandler","hookType","setHookTimer","warn","clearHookTimer","executeColumnHooks","hooks","errorHandler","changes","Map","tmpData","map","d","previousHookPromise","currentHook","timerId","hookResponse","_a","hookOutput","change","index","set","err_1","columnHookOutput","fieldOutputEmpty","fieldOutput","selectOptions","manyToOne","executeRowHooks","mode","rowHooks","bulkRowHooks","inputRowMap","inputRow","mutateInputDataWithChanges","rowIndex","rowOutput","get","_loop_1","fieldName","inputRowField","row","inputFieldIsManyToOne","Array","isArray","outputFieldIsManyToOne","concat","rowChanges","cellChange","fieldChanges","fieldOutputCell","manyToOneCellChange","rowDataField","inputRowDataField","_b","entries","_i","_c","bulkRowHooks_1","bulkRowHook","hookOutput_1","err_2","all","rowInput","rowHooks_1","rowHook","err_3","finalChanges","executeRowDeleteHooks","deletedRows","rowDeleteHooks","rowData","err_4","executeStepHooks","stepHooks","instance","hook","type","err_5","executeBeforeFinishCallback","metadata","beforeFinishCallback","err_6","executeFileParser","buffer","fileName","fileParserCallback","err_7","DROMO_WRAPPER_SUFFIX","makeFieldSerializable","field","newField","validators","validator","validate","regex","RegExp","regexOptions","ignoreCase","flags","includes","dotAll","multiline","unicode","DromoUploader","licenseKey","fieldsOrSchemaId","settings","user","_this","embedInline","columnHooks","customSteps","fileParsers","initChild","connection","alert","child","_d","loadedFromUnVersionedScript","from","getElementsByTagName","some","setNumRegisteredRowHooks","totalNumRowHooks","setNumRegisteredColHooks","setNumRegisteredRowDeleteHooks","setCustomParserFileExtensions","flatMap","fp","extensions","ext","toLowerCase","setEmbedInline","setCustomSteps","insertAfter","url","fields","version","browserExcelParsing","init","appHost","schemaId","initFromSavedSchema","developmentMode","headerRowOverride","initIFrame","widgetUrl","DROMO_WIDGET_OVERRIDE","alternateDomain","URL","host","getElementById","iframeId","createElement","identifier","_e","importIdentifier","title","style","height","width","border","allow","crossorigin","createConnection","self","handleColumnHooks","filter","h","handleRowHooks","rh","handleStepHook","handleParseFileCallback","extension","split","parser","indexOf","parseFile","handleRowDeleteHooks","handleBeforeFinishCallback","handleResults","resultsCallback","close","handleCloseModal","handleCancel","cancelCallback","handleCustomStep","_id","handleCustomStepMessage","payload","onMessage","uploader","completeCustomStep","goBackCustomStep","handleUserEvent","onUserEventCallback","mountIFrame","wrapper","wrapperId","zIndex","Number","MAX_SAFE_INTEGER","toString","visibility","position","top","left","right","bottom","appendChild","addIFrameToWrapper","showIframe","showWrapper","overflow","registerColumnHook","registerBulkRowHook","registerRowHook","registerStepHook","registerCustomStep","registerRowDeleteHook","beforeFinish","registerFileParser","fileParser","registerAllHooks","_f","_g","_h","_j","rowDeleteHook","_k","_l","_m","_o","_p","onResults","onCancel","onUserEvent","setUser","addField","removeField","fieldKey","updateInfoMessages","messages","setHeaderRowOverride","setConfirmationMessage","messageHTML","open","initInline","wrapperIdOrElement","HTMLElement","Math","random","substring","wrapperEl","error_1","addRows","rows","removeRows","rowIds","setDevelopmentMode","rehydrate","rehydrateState","headlessImportId","checkCloneable","values","structuredClone","notCloneable","badValues","join","rehydrateHeadless","dromo"],"mappings":"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"}
@@ -630,6 +630,65 @@ export type IUser = {
630
630
  };
631
631
  export type CustomStepInsertAfter = "HEADER_SELECT" | "COLUMN_MATCH" | "SELECT_MATCH";
632
632
  type MaybeAsync<T> = T | Promise<T>;
633
+ export declare enum EButtonName {
634
+ CONTINUE = "CONTINUE",
635
+ NEXT = "NEXT",
636
+ GO_BACK = "GO_BACK",
637
+ FINISH = "FINISH",
638
+ UPLOAD_DATA = "UPLOAD_DATA",
639
+ ENTER_DATA = "ENTER_DATA",
640
+ DOWNLOAD_TEMPLATE = "DOWNLOAD_TEMPLATE",
641
+ CONFIRM_SHEET = "CONFIRM_SHEET",
642
+ HEADER_SELECT_CONTINUE = "HEADER_SELECT_CONTINUE",
643
+ NO_HEADER_ROW = "NO_HEADER_ROW",
644
+ COLUMN_MATCH_IGNORE = "COLUMN_MATCH_IGNORE",
645
+ COLUMN_MATCH_REMOVE = "COLUMN_MATCH_REMOVE",
646
+ DATE_FIX_ACCEPT = "DATE_FIX_ACCEPT",
647
+ DATE_FIX_UNDO = "DATE_FIX_UNDO",
648
+ SELECT_MATCH_CLEAR = "SELECT_MATCH_CLEAR",
649
+ MULTI_SELECT_MATCH_CLEAR = "MULTI_SELECT_MATCH_CLEAR",
650
+ FIND_AND_REPLACE_OPEN = "FIND_AND_REPLACE_OPEN",
651
+ FIND_AND_REPLACE_CONFIRM = "FIND_AND_REPLACE_CONFIRM",
652
+ FIND_AND_REPLACE_CANCEL = "FIND_AND_REPLACE_CANCEL",
653
+ SHOW_ROWS_WITH_ERRORS = "SHOW_ROWS_WITH_ERRORS",
654
+ CLEAR_ROWS_WITH_ERRORS_FILTER = "CLEAR_ROWS_WITH_ERRORS_FILTER",
655
+ TRANSFORM_DATA_OPEN = "TRANSFORM_DATA_OPEN",
656
+ TRANSFORM_DATA_PREVIEW = "TRANSFORM_DATA_PREVIEW",
657
+ TRANSFORM_DATA_REGENERATE = "TRANSFORM_DATA_REGENERATE",
658
+ TRANSFORM_DATA_CONFIRM = "TRANSFORM_DATA_CONFIRM",
659
+ TRANSFORM_DATA_CANCEL = "TRANSFORM_DATA_CANCEL",
660
+ EXPORT_ALL = "EXPORT_ALL",
661
+ EXPORT_ERRORS_ONLY = "EXPORT_ERRORS_ONLY",
662
+ DOWNLOAD_XLSX = "DOWNLOAD_XLSX",
663
+ TOGGLE_SEARCH = "TOGGLE_SEARCH",
664
+ EXIT_CONFIRM = "EXIT_CONFIRM",
665
+ EXIT_CANCEL = "EXIT_CANCEL",
666
+ ALERT_PRIMARY = "ALERT_PRIMARY",
667
+ ALERT_SECONDARY = "ALERT_SECONDARY",
668
+ UPSELL_LATER = "UPSELL_LATER",
669
+ UPSELL_BUY_NOW = "UPSELL_BUY_NOW"
670
+ }
671
+ export declare enum EStep {
672
+ UPLOAD = "UPLOAD",
673
+ HEADER_SELECT = "HEADER_SELECT",
674
+ COLUMN_MATCH = "COLUMN_MATCH",
675
+ SELECT_MATCH = "SELECT_MATCH",
676
+ REVIEW = "REVIEW"
677
+ }
678
+ export declare enum EUserEventType {
679
+ BUTTON_CLICK = "BUTTON_CLICK"
680
+ }
681
+ export interface IButtonClickPayload {
682
+ buttonName: EButtonName;
683
+ step: EStep;
684
+ }
685
+ export type IUserEventPayloadMap = {
686
+ [EUserEventType.BUTTON_CLICK]: IButtonClickPayload;
687
+ };
688
+ export interface IUserEvent<T extends EUserEventType = EUserEventType> {
689
+ eventType: T;
690
+ payload: IUserEventPayloadMap[T];
691
+ }
633
692
  export interface IParentConnectionMethods {
634
693
  handleColumnHooks: (fieldName: string, data: IColumnHookInput[]) => Promise<IColumnHookOutput[]>;
635
694
  handleRowHooks: (data: IRowHookInput[], mode: "init" | "update") => Promise<IRowHookOutputInternal[]>;
@@ -639,6 +698,7 @@ export interface IParentConnectionMethods {
639
698
  handleResults: (data: any, metadata: IResultMetadataWithValues) => Promise<void>;
640
699
  handleCloseModal: () => void;
641
700
  handleCancel: () => void;
701
+ handleUserEvent: <T extends EUserEventType>(event: IUserEvent<T>) => Promise<void>;
642
702
  handleParseFileCallback: (buffer: ArrayBuffer, fileName: string) => Promise<string[][] | void>;
643
703
  handleCustomStep: (id: string) => Promise<string | void>;
644
704
  handleCustomStepMessage: (id: string, payload: unknown) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dromo-uploader-js",
3
- "version": "2.9.1",
3
+ "version": "2.10.0",
4
4
  "description": "Easy to use data (CSV, TSV, Excel) importer",
5
5
  "author": "ankitgoyal100",
6
6
  "license": "MIT",