@usecsv/vuejs3
Advanced tools
Comparing version
import { openBlock, createElementBlock, renderSlot, createElementVNode, createTextVNode } from 'vue'; | ||
/*! | ||
* @usecsv/js v0.14.0 | ||
* @usecsv/js v0.14.1 | ||
* (c) layercode | ||
@@ -6,0 +6,0 @@ * Released under the MIT License. |
var UseCSVButton=function(e){"use strict";function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,i,a,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(s.push(o.value),s.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw r}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")} | ||
/*! | ||
* @usecsv/js v0.14.0 | ||
* @usecsv/js v0.14.1 | ||
* (c) layercode | ||
* Released under the MIT License. | ||
*/()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var o=function(){return o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},o.apply(this,arguments)},r=[],i=[];function a(e,t){if(t=t||{},void 0===e)throw new Error("insert-css: You need to provide a CSS string. Usage: insertCss(cssString[, options]).");var n,o=!0===t.prepend?"prepend":"append",a=void 0!==t.container?t.container:document.querySelector("head"),s=r.indexOf(a);return-1===s&&(s=r.push(a)-1,i[s]={}),void 0!==i[s]&&void 0!==i[s][o]?n=i[s][o]:(n=i[s][o]=function(){var e=document.createElement("style");return e.setAttribute("type","text/css"),e}(),"prepend"===o?a.insertBefore(n,a.childNodes[0]):a.appendChild(n)),65279===e.charCodeAt(0)&&(e=e.substr(1,e.length)),n.styleSheet?n.styleSheet.cssText+=e:n.textContent+=e,n}var s,c,l,d,u,m=a;a.insertCss=m,function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(s||(s={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(c||(c={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NoIframeSrc="NoIframeSrc"}(l||(l={})),function(e){e.DataCloneError="DataCloneError"}(d||(d={})),function(e){e.Message="message"}(u||(u={}));const p={"http:":"80","https:":"443"},f=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,h=["file:","data:"];const v=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let y=0;var g=()=>++y;const w=e=>e?e.split("."):[],b=(e,t,n)=>{const o=w(t);return o.reduce(((e,t,r)=>(void 0===e[t]&&(e[t]={}),r===o.length-1&&(e[t]=n),e[t])),e),e},E=(e,t)=>{const n={};return Object.keys(e).forEach((o=>{const r=e[o],i=((e,t)=>{const n=w(t||"");return n.push(e),(e=>e.join("."))(n)})(o,t);"object"==typeof r&&Object.assign(n,E(r,i)),"function"==typeof r&&(n[i]=r)})),n};var C=(e,t,n,o,r)=>{const{localName:i,local:a,remote:d,originForSending:m,originForReceiving:p}=t;let f=!1;r(`${i}: Connecting call sender`);const h=e=>(...t)=>{let n;r(`${i}: Sending ${e}() call`);try{d.closed&&(n=!0)}catch(e){n=!0}if(n&&o(),f){const t=new Error(`Unable to send ${e}() call due to destroyed connection`);throw t.code=l.ConnectionDestroyed,t}return new Promise(((n,o)=>{const l=g(),f=t=>{if(t.source!==d||t.data.penpal!==s.Reply||t.data.id!==l)return;if("*"!==p&&t.origin!==p)return void r(`${i} received message from origin ${t.origin} which did not match expected origin ${p}`);const m=t.data;r(`${i}: Received ${e}() reply`),a.removeEventListener(u.Message,f);let h=m.returnValue;m.returnValueIsError&&(h=(e=>{const t=new Error;return Object.keys(e).forEach((n=>t[n]=e[n])),t})(h)),(m.resolution===c.Fulfilled?n:o)(h)};a.addEventListener(u.Message,f);const h={penpal:s.Call,id:l,methodName:e,args:t};d.postMessage(h,m)}))},v=n.reduce(((e,t)=>(e[t]=h(t),e)),{});return Object.assign(e,(e=>{const t={};for(const n in e)b(t,n,e[n]);return t})(v)),()=>{f=!0}},S=(e,t,n,o,r)=>{const{destroy:i,onDestroy:a}=o;let l,m;const p={};return o=>{if("*"!==t&&o.origin!==t)return void r(`Parent: Handshake - Received ACK message from origin ${o.origin} which did not match expected origin ${t}`);r("Parent: Handshake - Received ACK");const f={localName:"Parent",local:window,remote:o.source,originForSending:n,originForReceiving:t};l&&l(),l=((e,t,n)=>{const{localName:o,local:r,remote:i,originForSending:a,originForReceiving:l}=e;let m=!1;const p=e=>{if(e.source!==i||e.data.penpal!==s.Call)return;if("*"!==l&&e.origin!==l)return void n(`${o} received message from origin ${e.origin} which did not match expected origin ${l}`);const r=e.data,{methodName:u,args:p,id:f}=r;n(`${o}: Received ${u}() call`);const h=e=>t=>{if(n(`${o}: Sending ${u}() reply`),m)return void n(`${o}: Unable to send ${u}() reply due to destroyed connection`);const r={penpal:s.Reply,id:f,resolution:e,returnValue:t};e===c.Rejected&&t instanceof Error&&(r.returnValue=v(t),r.returnValueIsError=!0);try{i.postMessage(r,a)}catch(e){if(e.name===d.DataCloneError){const t={penpal:s.Reply,id:f,resolution:c.Rejected,returnValue:v(e),returnValueIsError:!0};i.postMessage(t,a)}throw e}};new Promise((e=>e(t[u].apply(t,p)))).then(h(c.Fulfilled),h(c.Rejected))};return r.addEventListener(u.Message,p),()=>{m=!0,r.removeEventListener(u.Message,p)}})(f,e,r),a(l),m&&m.forEach((e=>{delete p[e]})),m=o.data.methodNames;const h=C(p,f,m,i,r);return a(h),p}};var $=e=>{let{iframe:t,methods:n={},childOrigin:o,timeout:r,debug:i=!1}=e;const a=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(i),c=((e,t)=>{const n=[];let o=!1;return{destroy(r){o||(o=!0,t(`${e}: Destroying connection`),n.forEach((e=>{e(r)})))},onDestroy(e){o?e():n.push(e)}}})("Parent",a),{onDestroy:d,destroy:m}=c;o||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=l.NoIframeSrc,e}})(t),o=(e=>{if(e&&h.find((t=>e.startsWith(t))))return"null";const t=document.location,n=f.exec(e);let o,r,i;return n?(o=n[1]?n[1]:t.protocol,r=n[2],i=n[4]):(o=t.protocol,r=t.hostname,i=t.port),`${o}//${r}${i&&i!==p[o]?`:${i}`:""}`})(t.src));const v="null"===o?"*":o,y=E(n),g=((e,t,n,o)=>r=>{if(!r.source)return;if("*"!==n&&r.origin!==n)return void e(`Parent: Handshake - Received SYN message from origin ${r.origin} which did not match expected origin ${n}`);e("Parent: Handshake - Received SYN, responding with SYN-ACK");const i={penpal:s.SynAck,methodNames:Object.keys(t)};r.source.postMessage(i,o)})(a,y,o,v),w=S(y,o,v,c,a),b=new Promise(((e,n)=>{const o=((e,t)=>{let n;return void 0!==e&&(n=window.setTimeout((()=>{const n=new Error(`Connection timed out after ${e}ms`);n.code=l.ConnectionTimeout,t(n)}),e)),()=>{clearTimeout(n)}})(r,m),i=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==s.Syn)if(n.data.penpal!==s.Ack);else{const t=w(n);t&&(o(),e(t))}else g(n)};window.addEventListener(u.Message,i),a("Parent: Awaiting handshake"),((e,t)=>{const{destroy:n,onDestroy:o}=t,r=setInterval((()=>{e.isConnected||(clearInterval(r),n())}),6e4);o((()=>{clearInterval(r)}))})(t,c),d((e=>{window.removeEventListener(u.Message,i),e&&n(e)}))}));return{promise:b,destroy(){m()}}},R=["interactive","complete"],x=function(e,t){return new Promise((function(n){e&&"function"!=typeof e&&(t=e,e=null),t=t||window.document;var o=function(){return n(void(e&&setTimeout(e)))};-1!==R.indexOf(t.readyState)?o():t.addEventListener("DOMContentLoaded",o)}))};x.resume=function(e){return function(t){return x(e).then((function(){return t}))}};var k=function(e){var t=e.importerKey,n=e.user,r=e.metadata,i=e.onData,a=e.onRecordsInitial,s=e.onRecordEdit,c=e.importerDisplay,l=void 0===c?"modal":c,d=e.onClose,u=e.theme,p=e.batchSize,f=e.sampleFileURL,h=e.downloadExampleButton,v=void 0===h||h,y=e.dynamicColumns,g="usecsv-".concat(Math.round(1e8*Math.random()));return x().then((function(){var e=function(e,t){var n=document.getElementById("usecsv-importer-inline-wrapper");m("\n ".concat("modal"!==t&&n?"":".usecsv_container { position: fixed; top: 0px; bottom: 0; right: 0; left: 0; z-index: 100000; }","\n .usecsv_container iframe {\n width: 100%;\n height: 100%;\n position: absolute;\n border-width: 0;\n }\n .usecsv_container {\n overflow: hidden;\n overscroll-behavior-x: none;\n }\n")),document.body.insertAdjacentHTML("beforeend","<div id=".concat(e,' class="usecsv_container loading"></div>'));var o=document.createElement("iframe");o.setAttribute("src","https://app.usecsv.com/importer");var r=document.getElementById(e);return null==r||r.appendChild(o),"inline"===t&&n&&(null==n||n.appendChild(r)),o}(g,l),c=function(){var e;null===(e=document.getElementById(g))||void 0===e||e.remove()},h=$({iframe:e,methods:o(o(o(o({closeIframe:c},i?{onData:function(e){return i(e,c)}}:{}),a?{onRecordsInitial:a}:{}),s?{onRecordEdit:s}:{}),d?{onClose:d}:{})});return h.promise.then((function(e){var o;null===(o=document.getElementById(g))||void 0===o||o.classList.remove("loading"),e.setParams&&e.setParams({importerKey:t,user:n,metadata:r,importerDisplay:l,theme:u,batchSize:p,sampleFileURL:f,downloadExampleButton:v,dynamicColumns:y})})),h}))},I={name:"usecsv-button",props:{importerKey:{},user:{},metadata:{},onData:{},importerDisplay:{},onRecordsInitial:{},onRecordEdit:{},onClose:{},theme:{},batchSize:{},sampleFileURL:{},downloadExampleButton:{},dynamicColumns:{}},data:function(){return{hasSlot:!!this.$slots.default}},methods:{openModal:function(){k({importerKey:this.importerKey,user:this.user,metadata:this.metadata,onData:this.onData,importerDisplay:this.importerDisplay,onRecordsInitial:this.onRecordsInitial,onRecordEdit:this.onRecordEdit,onClose:this.onClose,theme:this.theme,batchSize:this.batchSize,sampleFileURL:this.sampleFileURL,downloadExampleButton:this.downloadExampleButton,dynamicColumns:this.dynamicColumns})},hasScopedSlot:function(){var e;return"button"===(this.$slots.default&&(null===(e=this.$slots.default()[0])||void 0===e?void 0:e.type))}}},j={class:"usecsv"},D={key:0},M={key:1};I.render=function(t,n){return e.openBlock(),e.createElementBlock("div",j,[t.hasScopedSlot()?(e.openBlock(),e.createElementBlock("div",D,[e.renderSlot(t.$slots,"default",{openModal:t.openModal})])):(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("button",{type:"button",id:"usecsv-button",onClick:n[0]||(n[0]=function(){return t.openModal&&t.openModal.apply(t,arguments)}),style:{"background-color":"#fff",color:"#000",border:"2px solid #000","border-radius":"6px",padding:"10px 15px"," text-align":"center","font-size":"16px",cursor:"pointer"}},[e.renderSlot(t.$slots,"default",{},(function(){return[e.createTextVNode("open usecsv")]}))])]))])};var A={install:function(e,t){e.component("usecsv-button",I)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(A);var O=Object.freeze({__proto__:null,default:A});return Object.entries(O).forEach((function(e){var n=t(e,2),o=n[0],r=n[1];"default"!==o&&(A[o]=r)})),A}(Vue); |
@@ -50,3 +50,3 @@ 'use strict';var vue=require('vue');function _iterableToArrayLimit(arr, i) { | ||
}/*! | ||
* @usecsv/js v0.14.0 | ||
* @usecsv/js v0.14.1 | ||
* (c) layercode | ||
@@ -53,0 +53,0 @@ * Released under the MIT License. |
{ | ||
"name": "@usecsv/vuejs3", | ||
"version": "1.0.7", | ||
"version": "1.0.8", | ||
"description": "", | ||
@@ -27,3 +27,3 @@ "main": "dist/UseCSVButton.ssr.js", | ||
"dependencies": { | ||
"@usecsv/js": "^0.14.0" | ||
"@usecsv/js": "^0.14.1" | ||
}, | ||
@@ -30,0 +30,0 @@ "devDependencies": { |
Updated