@usecsv/vuejs 1.6.0 → 1.7.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.
package/dist/UseCSVButton.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Vue from 'vue';
|
|
2
2
|
|
|
3
3
|
/*!
|
|
4
|
-
* @usecsv/js v0.
|
|
4
|
+
* @usecsv/js v0.21.1
|
|
5
5
|
* (c) layercode
|
|
6
6
|
* Released under the MIT License.
|
|
7
7
|
*/
|
|
@@ -682,7 +682,7 @@ var insertIframe = function (id, importerDisplay) {
|
|
|
682
682
|
return iframe;
|
|
683
683
|
};
|
|
684
684
|
var useCsvPlugin = function (_a) {
|
|
685
|
-
var importerKey = _a.importerKey, user = _a.user, metadata = _a.metadata, onData = _a.onData, onRecordsInitial = _a.onRecordsInitial, onRecordEdit = _a.onRecordEdit, _b = _a.importerDisplay, importerDisplay = _b === void 0 ? "modal" : _b, onClose = _a.onClose, theme = _a.theme, batchSize = _a.batchSize, sampleFileURL = _a.sampleFileURL, _c = _a.downloadExampleButton, downloadExampleButton = _c === void 0 ? true : _c, dynamicColumns = _a.dynamicColumns, defaultLanguage = _a.defaultLanguage, onError = _a.onError, customText = _a.customText, acceptedFileFormats = _a.acceptedFileFormats;
|
|
685
|
+
var importerKey = _a.importerKey, user = _a.user, metadata = _a.metadata, onData = _a.onData, onRecordsInitial = _a.onRecordsInitial, onRecordEdit = _a.onRecordEdit, _b = _a.importerDisplay, importerDisplay = _b === void 0 ? "modal" : _b, onClose = _a.onClose, theme = _a.theme, batchSize = _a.batchSize, sampleFileURL = _a.sampleFileURL, _c = _a.downloadExampleButton, downloadExampleButton = _c === void 0 ? true : _c, dynamicColumns = _a.dynamicColumns, defaultLanguage = _a.defaultLanguage, onError = _a.onError, customText = _a.customText, acceptedFileFormats = _a.acceptedFileFormats, onFileUpload = _a.onFileUpload;
|
|
686
686
|
var id = "usecsv-".concat(Math.round(Math.random() * 100000000));
|
|
687
687
|
return whenDomReady().then(function () {
|
|
688
688
|
var iframe = insertIframe(id, importerDisplay);
|
|
@@ -692,27 +692,7 @@ var useCsvPlugin = function (_a) {
|
|
|
692
692
|
};
|
|
693
693
|
var iframeConnection = connectToChild({
|
|
694
694
|
iframe: iframe,
|
|
695
|
-
methods: __assign(__assign(__assign(__assign(__assign({ closeIframe: closeIframe }, (onData
|
|
696
|
-
? {
|
|
697
|
-
onData: function (data) { return onData(data, closeIframe); },
|
|
698
|
-
}
|
|
699
|
-
: {})), (onRecordsInitial
|
|
700
|
-
? {
|
|
701
|
-
onRecordsInitial: onRecordsInitial,
|
|
702
|
-
}
|
|
703
|
-
: {})), (onRecordEdit
|
|
704
|
-
? {
|
|
705
|
-
onRecordEdit: onRecordEdit,
|
|
706
|
-
}
|
|
707
|
-
: {})), (onClose
|
|
708
|
-
? {
|
|
709
|
-
onClose: onClose,
|
|
710
|
-
}
|
|
711
|
-
: {})), (onError
|
|
712
|
-
? {
|
|
713
|
-
onError: onError,
|
|
714
|
-
}
|
|
715
|
-
: {})),
|
|
695
|
+
methods: __assign(__assign(__assign(__assign(__assign(__assign({ closeIframe: closeIframe }, (onData ? { onData: function (data) { return onData(data, closeIframe); } } : {})), (onRecordsInitial ? { onRecordsInitial: onRecordsInitial } : {})), (onRecordEdit ? { onRecordEdit: onRecordEdit } : {})), (onClose ? { onClose: onClose } : {})), (onError ? { onError: onError } : {})), (onFileUpload ? { onFileUpload: onFileUpload } : {})),
|
|
716
696
|
});
|
|
717
697
|
iframeConnection.promise.then(function (child) {
|
|
718
698
|
var _a;
|
|
@@ -758,7 +738,8 @@ var script = /*#__PURE__*/Vue.extend({
|
|
|
758
738
|
defaultLanguage: {},
|
|
759
739
|
onError: {},
|
|
760
740
|
customText: {},
|
|
761
|
-
acceptedFileFormats: {}
|
|
741
|
+
acceptedFileFormats: {},
|
|
742
|
+
onFileUpload: {}
|
|
762
743
|
},
|
|
763
744
|
data() {
|
|
764
745
|
return {
|
|
@@ -784,7 +765,8 @@ var script = /*#__PURE__*/Vue.extend({
|
|
|
784
765
|
defaultLanguage: this.defaultLanguage,
|
|
785
766
|
onError: this.onError,
|
|
786
767
|
customText: this.customText,
|
|
787
|
-
acceptedFileFormats: this.acceptedFileFormats
|
|
768
|
+
acceptedFileFormats: this.acceptedFileFormats,
|
|
769
|
+
onFileUpload: this.onFileUpload
|
|
788
770
|
});
|
|
789
771
|
},
|
|
790
772
|
hasScopedSlot() {
|
|
@@ -950,14 +932,14 @@ var __vue_staticRenderFns__ = [];
|
|
|
950
932
|
/* style */
|
|
951
933
|
const __vue_inject_styles__ = function (inject) {
|
|
952
934
|
if (!inject) return;
|
|
953
|
-
inject("data-v-
|
|
954
|
-
source: "#usecsv-button[data-v-
|
|
935
|
+
inject("data-v-5f455e9e_0", {
|
|
936
|
+
source: "#usecsv-button[data-v-5f455e9e]{background-color:#fff;color:#000;border:2px solid #000;border-radius:6px;padding:10px 15px;text-align:center;font-size:16px;cursor:pointer}",
|
|
955
937
|
map: undefined,
|
|
956
938
|
media: undefined
|
|
957
939
|
});
|
|
958
940
|
};
|
|
959
941
|
/* scoped */
|
|
960
|
-
const __vue_scope_id__ = "data-v-
|
|
942
|
+
const __vue_scope_id__ = "data-v-5f455e9e";
|
|
961
943
|
/* module identifier */
|
|
962
944
|
const __vue_module_identifier__ = undefined;
|
|
963
945
|
/* functional template */
|
package/dist/UseCSVButton.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var UseCSVButton=function(e){"use strict";function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=t(e);function o(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,d=!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){d=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw r}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(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.")}
|
|
2
2
|
/*!
|
|
3
|
-
* @usecsv/js v0.
|
|
3
|
+
* @usecsv/js v0.21.1
|
|
4
4
|
* (c) layercode
|
|
5
5
|
* Released under the MIT License.
|
|
6
|
-
*/()}function r(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 i=function(){return i=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},i.apply(this,arguments)},a=[],s=[];function c(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",r=void 0!==t.container?t.container:document.querySelector("head"),i=a.indexOf(r);return-1===i&&(i=a.push(r)-1,s[i]={}),void 0!==s[i]&&void 0!==s[i][o]?n=s[i][o]:(n=s[i][o]=function(){var e=document.createElement("style");return e.setAttribute("type","text/css"),e}(),"prepend"===o?r.insertBefore(n,r.childNodes[0]):r.appendChild(n)),65279===e.charCodeAt(0)&&(e=e.substr(1,e.length)),n.styleSheet?n.styleSheet.cssText+=e:n.textContent+=e,n}var d,l,u,m,p,f=c;c.insertCss=f,function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(d||(d={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(l||(l={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NoIframeSrc="NoIframeSrc"}(u||(u={})),function(e){e.DataCloneError="DataCloneError"}(m||(m={})),function(e){e.Message="message"}(p||(p={}));const h={"http:":"80","https:":"443"},v=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,g=["file:","data:"];const y=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let b=0;var C=()=>++b;const E=e=>e?e.split("."):[],S=(e,t,n)=>{const o=E(t);return o.reduce(((e,t,r)=>(void 0===e[t]&&(e[t]={}),r===o.length-1&&(e[t]=n),e[t])),e),e},w=(e,t)=>{const n={};return Object.keys(e).forEach((o=>{const r=e[o],i=((e,t)=>{const n=E(t||"");return n.push(e),(e=>e.join("."))(n)})(o,t);"object"==typeof r&&Object.assign(n,w(r,i)),"function"==typeof r&&(n[i]=r)})),n};var R=(e,t,n,o,r)=>{const{localName:i,local:a,remote:s,originForSending:c,originForReceiving:m}=t;let f=!1;r(`${i}: Connecting call sender`);const h=e=>(...t)=>{let n;r(`${i}: Sending ${e}() call`);try{s.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=u.ConnectionDestroyed,t}return new Promise(((n,o)=>{const u=C(),f=t=>{if(t.source!==s||t.data.penpal!==d.Reply||t.data.id!==u)return;if("*"!==m&&t.origin!==m)return void r(`${i} received message from origin ${t.origin} which did not match expected origin ${m}`);const c=t.data;r(`${i}: Received ${e}() reply`),a.removeEventListener(p.Message,f);let h=c.returnValue;c.returnValueIsError&&(h=(e=>{const t=new Error;return Object.keys(e).forEach((n=>t[n]=e[n])),t})(h)),(c.resolution===l.Fulfilled?n:o)(h)};a.addEventListener(p.Message,f);const h={penpal:d.Call,id:u,methodName:e,args:t};s.postMessage(h,c)}))},v=n.reduce(((e,t)=>(e[t]=h(t),e)),{});return Object.assign(e,(e=>{const t={};for(const n in e)S(t,n,e[n]);return t})(v)),()=>{f=!0}},$=(e,t,n,o,r)=>{const{destroy:i,onDestroy:a}=o;let s,c;const u={};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};s&&s(),s=((e,t,n)=>{const{localName:o,local:r,remote:i,originForSending:a,originForReceiving:s}=e;let c=!1;const u=e=>{if(e.source!==i||e.data.penpal!==d.Call)return;if("*"!==s&&e.origin!==s)return void n(`${o} received message from origin ${e.origin} which did not match expected origin ${s}`);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`),c)return void n(`${o}: Unable to send ${u}() reply due to destroyed connection`);const r={penpal:d.Reply,id:f,resolution:e,returnValue:t};e===l.Rejected&&t instanceof Error&&(r.returnValue=y(t),r.returnValueIsError=!0);try{i.postMessage(r,a)}catch(e){if(e.name===m.DataCloneError){const t={penpal:d.Reply,id:f,resolution:l.Rejected,returnValue:y(e),returnValueIsError:!0};i.postMessage(t,a)}throw e}};new Promise((e=>e(t[u].apply(t,p)))).then(h(l.Fulfilled),h(l.Rejected))};return r.addEventListener(p.Message,u),()=>{c=!0,r.removeEventListener(p.Message,u)}})(f,e,r),a(s),c&&c.forEach((e=>{delete u[e]})),c=o.data.methodNames;const h=R(u,f,c,i,r);return a(h),u}};var x=e=>{let{iframe:t,methods:n={},childOrigin:o,timeout:r,debug:i=!1}=e;const a=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(i),s=((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:c,destroy:l}=s;o||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=u.NoIframeSrc,e}})(t),o=(e=>{if(e&&g.find((t=>e.startsWith(t))))return"null";const t=document.location,n=v.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!==h[o]?`:${i}`:""}`})(t.src));const m="null"===o?"*":o,f=w(n),y=((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:d.SynAck,methodNames:Object.keys(t)};r.source.postMessage(i,o)})(a,f,o,m),b=$(f,o,m,s,a),C=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=u.ConnectionTimeout,t(n)}),e)),()=>{clearTimeout(n)}})(r,l),i=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==d.Syn)if(n.data.penpal!==d.Ack);else{const t=b(n);t&&(o(),e(t))}else y(n)};window.addEventListener(p.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,s),c((e=>{window.removeEventListener(p.Message,i),e&&n(e)}))}));return{promise:C,destroy(){l()}}},_=["interactive","complete"],F=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!==_.indexOf(t.readyState)?o():t.addEventListener("DOMContentLoaded",o)}))};F.resume=function(e){return function(t){return F(e).then((function(){return t}))}};var j=function(e){var t=e.importerKey,n=e.user,o=e.metadata,r=e.onData,a=e.onRecordsInitial,s=e.onRecordEdit,c=e.importerDisplay,d=void 0===c?"modal":c,l=e.onClose,u=e.theme,m=e.batchSize,p=e.sampleFileURL,h=e.downloadExampleButton,v=void 0===h||h,g=e.dynamicColumns,y=e.defaultLanguage,b=e.onError,C=e.customText,E=e.acceptedFileFormats,S="usecsv-".concat(Math.round(1e8*Math.random()));return F().then((function(){var e=function(e,t){var n=document.getElementById("usecsv-importer-inline-wrapper");f("\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}(S,d),c=function(){var e;null===(e=document.getElementById(S))||void 0===e||e.remove()},h=x({iframe:e,methods:i(i(i(i(i({closeIframe:c},r?{onData:function(e){return r(e,c)}}:{}),a?{onRecordsInitial:a}:{}),s?{onRecordEdit:s}:{}),l?{onClose:l}:{}),b?{onError:b}:{})});return h.promise.then((function(e){var r;null===(r=document.getElementById(S))||void 0===r||r.classList.remove("loading"),e.setParams&&e.setParams({importerKey:t,user:n,metadata:o,importerDisplay:d,theme:u,batchSize:m,sampleFileURL:p,downloadExampleButton:v,dynamicColumns:g,defaultLanguage:y,customText:C,acceptedFileFormats:E})})),h}))},I=n.default.extend({name:"usecsv-button",props:{importerKey:{},user:{},metadata:{},onData:{},importerDisplay:{},onRecordsInitial:{},onRecordEdit:{},onClose:{},theme:{},batchSize:{},sampleFileURL:{},downloadExampleButton:{},dynamicColumns:{},defaultLanguage:{},onError:{},customText:{},acceptedFileFormats:{}},data:function(){return{hasSlot:!!this.$slots.default}},methods:{openModal:function(){j({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,defaultLanguage:this.defaultLanguage,onError:this.onError,customText:this.customText,acceptedFileFormats:this.acceptedFileFormats})},hasScopedSlot:function(){return"normalized"===(this.$scopedSlots.default&&this.$scopedSlots.default.name)}}});function L(e,t,n,o,r,i,a,s,c,d){"boolean"!=typeof a&&(c=s,s=a,a=!1);const l="function"==typeof n?n.options:n;let u;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,r&&(l.functional=!0)),o&&(l._scopeId=o),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},l._ssrRegister=u):t&&(u=a?function(e){t.call(this,d(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),u)if(l.functional){const e=l.render;l.render=function(t,n){return u.call(n),e(t,n)}}else{const e=l.beforeCreate;l.beforeCreate=e?[].concat(e,u):[u]}return n}const D="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function A(e){return(e,t)=>function(e,t){const n=D?t.media||"default":e,o=O[n]||(O[n]={ids:new Set,styles:[]});if(!o.ids.has(e)){o.ids.add(e);let n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),o.element||(o.element=document.createElement("style"),o.element.type="text/css",t.media&&o.element.setAttribute("media",t.media),void 0===M&&(M=document.head||document.getElementsByTagName("head")[0]),M.appendChild(o.element)),"styleSheet"in o.element)o.styles.push(n),o.element.styleSheet.cssText=o.styles.filter(Boolean).join("\n");else{const e=o.ids.size-1,t=document.createTextNode(n),r=o.element.childNodes;r[e]&&o.element.removeChild(r[e]),r.length?o.element.insertBefore(t,r[e]):o.element.appendChild(t)}}}(e,t)}let M;const O={};var T=L({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"usecsv"},[e.hasScopedSlot()?n("div",[e._t("default",null,{openModal:e.openModal})],2):n("div",[n("button",{attrs:{type:"button",id:"usecsv-button"},on:{click:e.openModal}},[e._t("default",(function(){return[e._v(" open usecsv ")]}))],2)])])},staticRenderFns:[]},(function(e){e&&e("data-v-31570516_0",{source:"#usecsv-button[data-v-31570516]{background-color:#fff;color:#000;border:2px solid #000;border-radius:6px;padding:10px 15px;text-align:center;font-size:16px;cursor:pointer}",map:void 0,media:void 0})}),I,"data-v-31570516",false,undefined,!1,A,void 0,void 0),N=function(){var e=T;return e.install=function(t){t.component("usecsv-button",e)},e}(),k=Object.freeze({__proto__:null,default:N});return Object.entries(k).forEach((function(e){var t=o(e,2),n=t[0],r=t[1];"default"!==n&&(N[n]=r)})),N}(Vue);
|
|
6
|
+
*/()}function r(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 i=function(){return i=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},i.apply(this,arguments)},a=[],s=[];function c(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",r=void 0!==t.container?t.container:document.querySelector("head"),i=a.indexOf(r);return-1===i&&(i=a.push(r)-1,s[i]={}),void 0!==s[i]&&void 0!==s[i][o]?n=s[i][o]:(n=s[i][o]=function(){var e=document.createElement("style");return e.setAttribute("type","text/css"),e}(),"prepend"===o?r.insertBefore(n,r.childNodes[0]):r.appendChild(n)),65279===e.charCodeAt(0)&&(e=e.substr(1,e.length)),n.styleSheet?n.styleSheet.cssText+=e:n.textContent+=e,n}var d,l,u,m,p,f=c;c.insertCss=f,function(e){e.Call="call",e.Reply="reply",e.Syn="syn",e.SynAck="synAck",e.Ack="ack"}(d||(d={})),function(e){e.Fulfilled="fulfilled",e.Rejected="rejected"}(l||(l={})),function(e){e.ConnectionDestroyed="ConnectionDestroyed",e.ConnectionTimeout="ConnectionTimeout",e.NoIframeSrc="NoIframeSrc"}(u||(u={})),function(e){e.DataCloneError="DataCloneError"}(m||(m={})),function(e){e.Message="message"}(p||(p={}));const h={"http:":"80","https:":"443"},v=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,g=["file:","data:"];const y=({name:e,message:t,stack:n})=>({name:e,message:t,stack:n});let b=0;var C=()=>++b;const E=e=>e?e.split("."):[],S=(e,t,n)=>{const o=E(t);return o.reduce(((e,t,r)=>(void 0===e[t]&&(e[t]={}),r===o.length-1&&(e[t]=n),e[t])),e),e},w=(e,t)=>{const n={};return Object.keys(e).forEach((o=>{const r=e[o],i=((e,t)=>{const n=E(t||"");return n.push(e),(e=>e.join("."))(n)})(o,t);"object"==typeof r&&Object.assign(n,w(r,i)),"function"==typeof r&&(n[i]=r)})),n};var R=(e,t,n,o,r)=>{const{localName:i,local:a,remote:s,originForSending:c,originForReceiving:m}=t;let f=!1;r(`${i}: Connecting call sender`);const h=e=>(...t)=>{let n;r(`${i}: Sending ${e}() call`);try{s.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=u.ConnectionDestroyed,t}return new Promise(((n,o)=>{const u=C(),f=t=>{if(t.source!==s||t.data.penpal!==d.Reply||t.data.id!==u)return;if("*"!==m&&t.origin!==m)return void r(`${i} received message from origin ${t.origin} which did not match expected origin ${m}`);const c=t.data;r(`${i}: Received ${e}() reply`),a.removeEventListener(p.Message,f);let h=c.returnValue;c.returnValueIsError&&(h=(e=>{const t=new Error;return Object.keys(e).forEach((n=>t[n]=e[n])),t})(h)),(c.resolution===l.Fulfilled?n:o)(h)};a.addEventListener(p.Message,f);const h={penpal:d.Call,id:u,methodName:e,args:t};s.postMessage(h,c)}))},v=n.reduce(((e,t)=>(e[t]=h(t),e)),{});return Object.assign(e,(e=>{const t={};for(const n in e)S(t,n,e[n]);return t})(v)),()=>{f=!0}},$=(e,t,n,o,r)=>{const{destroy:i,onDestroy:a}=o;let s,c;const u={};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};s&&s(),s=((e,t,n)=>{const{localName:o,local:r,remote:i,originForSending:a,originForReceiving:s}=e;let c=!1;const u=e=>{if(e.source!==i||e.data.penpal!==d.Call)return;if("*"!==s&&e.origin!==s)return void n(`${o} received message from origin ${e.origin} which did not match expected origin ${s}`);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`),c)return void n(`${o}: Unable to send ${u}() reply due to destroyed connection`);const r={penpal:d.Reply,id:f,resolution:e,returnValue:t};e===l.Rejected&&t instanceof Error&&(r.returnValue=y(t),r.returnValueIsError=!0);try{i.postMessage(r,a)}catch(e){if(e.name===m.DataCloneError){const t={penpal:d.Reply,id:f,resolution:l.Rejected,returnValue:y(e),returnValueIsError:!0};i.postMessage(t,a)}throw e}};new Promise((e=>e(t[u].apply(t,p)))).then(h(l.Fulfilled),h(l.Rejected))};return r.addEventListener(p.Message,u),()=>{c=!0,r.removeEventListener(p.Message,u)}})(f,e,r),a(s),c&&c.forEach((e=>{delete u[e]})),c=o.data.methodNames;const h=R(u,f,c,i,r);return a(h),u}};var x=e=>{let{iframe:t,methods:n={},childOrigin:o,timeout:r,debug:i=!1}=e;const a=(e=>(...t)=>{e&&console.log("[Penpal]",...t)})(i),s=((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:c,destroy:l}=s;o||((e=>{if(!e.src&&!e.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=u.NoIframeSrc,e}})(t),o=(e=>{if(e&&g.find((t=>e.startsWith(t))))return"null";const t=document.location,n=v.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!==h[o]?`:${i}`:""}`})(t.src));const m="null"===o?"*":o,f=w(n),y=((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:d.SynAck,methodNames:Object.keys(t)};r.source.postMessage(i,o)})(a,f,o,m),b=$(f,o,m,s,a),C=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=u.ConnectionTimeout,t(n)}),e)),()=>{clearTimeout(n)}})(r,l),i=n=>{if(n.source===t.contentWindow&&n.data)if(n.data.penpal!==d.Syn)if(n.data.penpal!==d.Ack);else{const t=b(n);t&&(o(),e(t))}else y(n)};window.addEventListener(p.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,s),c((e=>{window.removeEventListener(p.Message,i),e&&n(e)}))}));return{promise:C,destroy(){l()}}},F=["interactive","complete"],_=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!==F.indexOf(t.readyState)?o():t.addEventListener("DOMContentLoaded",o)}))};_.resume=function(e){return function(t){return _(e).then((function(){return t}))}};var j=function(e){var t=e.importerKey,n=e.user,o=e.metadata,r=e.onData,a=e.onRecordsInitial,s=e.onRecordEdit,c=e.importerDisplay,d=void 0===c?"modal":c,l=e.onClose,u=e.theme,m=e.batchSize,p=e.sampleFileURL,h=e.downloadExampleButton,v=void 0===h||h,g=e.dynamicColumns,y=e.defaultLanguage,b=e.onError,C=e.customText,E=e.acceptedFileFormats,S=e.onFileUpload,w="usecsv-".concat(Math.round(1e8*Math.random()));return _().then((function(){var e=function(e,t){var n=document.getElementById("usecsv-importer-inline-wrapper");f("\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}(w,d),c=function(){var e;null===(e=document.getElementById(w))||void 0===e||e.remove()},h=x({iframe:e,methods:i(i(i(i(i(i({closeIframe:c},r?{onData:function(e){return r(e,c)}}:{}),a?{onRecordsInitial:a}:{}),s?{onRecordEdit:s}:{}),l?{onClose:l}:{}),b?{onError:b}:{}),S?{onFileUpload:S}:{})});return h.promise.then((function(e){var r;null===(r=document.getElementById(w))||void 0===r||r.classList.remove("loading"),e.setParams&&e.setParams({importerKey:t,user:n,metadata:o,importerDisplay:d,theme:u,batchSize:m,sampleFileURL:p,downloadExampleButton:v,dynamicColumns:g,defaultLanguage:y,customText:C,acceptedFileFormats:E})})),h}))},I=n.default.extend({name:"usecsv-button",props:{importerKey:{},user:{},metadata:{},onData:{},importerDisplay:{},onRecordsInitial:{},onRecordEdit:{},onClose:{},theme:{},batchSize:{},sampleFileURL:{},downloadExampleButton:{},dynamicColumns:{},defaultLanguage:{},onError:{},customText:{},acceptedFileFormats:{},onFileUpload:{}},data:function(){return{hasSlot:!!this.$slots.default}},methods:{openModal:function(){j({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,defaultLanguage:this.defaultLanguage,onError:this.onError,customText:this.customText,acceptedFileFormats:this.acceptedFileFormats,onFileUpload:this.onFileUpload})},hasScopedSlot:function(){return"normalized"===(this.$scopedSlots.default&&this.$scopedSlots.default.name)}}});function L(e,t,n,o,r,i,a,s,c,d){"boolean"!=typeof a&&(c=s,s=a,a=!1);const l="function"==typeof n?n.options:n;let u;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,r&&(l.functional=!0)),o&&(l._scopeId=o),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},l._ssrRegister=u):t&&(u=a?function(e){t.call(this,d(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),u)if(l.functional){const e=l.render;l.render=function(t,n){return u.call(n),e(t,n)}}else{const e=l.beforeCreate;l.beforeCreate=e?[].concat(e,u):[u]}return n}const D="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());function A(e){return(e,t)=>function(e,t){const n=D?t.media||"default":e,o=O[n]||(O[n]={ids:new Set,styles:[]});if(!o.ids.has(e)){o.ids.add(e);let n=t.source;if(t.map&&(n+="\n/*# sourceURL="+t.map.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t.map))))+" */"),o.element||(o.element=document.createElement("style"),o.element.type="text/css",t.media&&o.element.setAttribute("media",t.media),void 0===M&&(M=document.head||document.getElementsByTagName("head")[0]),M.appendChild(o.element)),"styleSheet"in o.element)o.styles.push(n),o.element.styleSheet.cssText=o.styles.filter(Boolean).join("\n");else{const e=o.ids.size-1,t=document.createTextNode(n),r=o.element.childNodes;r[e]&&o.element.removeChild(r[e]),r.length?o.element.insertBefore(t,r[e]):o.element.appendChild(t)}}}(e,t)}let M;const O={};var T=L({render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"usecsv"},[e.hasScopedSlot()?n("div",[e._t("default",null,{openModal:e.openModal})],2):n("div",[n("button",{attrs:{type:"button",id:"usecsv-button"},on:{click:e.openModal}},[e._t("default",(function(){return[e._v(" open usecsv ")]}))],2)])])},staticRenderFns:[]},(function(e){e&&e("data-v-5f455e9e_0",{source:"#usecsv-button[data-v-5f455e9e]{background-color:#fff;color:#000;border:2px solid #000;border-radius:6px;padding:10px 15px;text-align:center;font-size:16px;cursor:pointer}",map:void 0,media:void 0})}),I,"data-v-5f455e9e",false,undefined,!1,A,void 0,void 0),N=function(){var e=T;return e.install=function(t){t.component("usecsv-button",e)},e}(),U=Object.freeze({__proto__:null,default:N});return Object.entries(U).forEach((function(e){var t=o(e,2),n=t[0],r=t[1];"default"!==n&&(N[n]=r)})),N}(Vue);
|
package/dist/UseCSVButton.ssr.js
CHANGED
|
@@ -47,7 +47,7 @@ function _arrayLikeToArray(arr, len) {
|
|
|
47
47
|
function _nonIterableRest() {
|
|
48
48
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
49
49
|
}/*!
|
|
50
|
-
* @usecsv/js v0.
|
|
50
|
+
* @usecsv/js v0.21.1
|
|
51
51
|
* (c) layercode
|
|
52
52
|
* Released under the MIT License.
|
|
53
53
|
*/
|
|
@@ -728,7 +728,7 @@ var insertIframe = function (id, importerDisplay) {
|
|
|
728
728
|
return iframe;
|
|
729
729
|
};
|
|
730
730
|
var useCsvPlugin = function (_a) {
|
|
731
|
-
var importerKey = _a.importerKey, user = _a.user, metadata = _a.metadata, onData = _a.onData, onRecordsInitial = _a.onRecordsInitial, onRecordEdit = _a.onRecordEdit, _b = _a.importerDisplay, importerDisplay = _b === void 0 ? "modal" : _b, onClose = _a.onClose, theme = _a.theme, batchSize = _a.batchSize, sampleFileURL = _a.sampleFileURL, _c = _a.downloadExampleButton, downloadExampleButton = _c === void 0 ? true : _c, dynamicColumns = _a.dynamicColumns, defaultLanguage = _a.defaultLanguage, onError = _a.onError, customText = _a.customText, acceptedFileFormats = _a.acceptedFileFormats;
|
|
731
|
+
var importerKey = _a.importerKey, user = _a.user, metadata = _a.metadata, onData = _a.onData, onRecordsInitial = _a.onRecordsInitial, onRecordEdit = _a.onRecordEdit, _b = _a.importerDisplay, importerDisplay = _b === void 0 ? "modal" : _b, onClose = _a.onClose, theme = _a.theme, batchSize = _a.batchSize, sampleFileURL = _a.sampleFileURL, _c = _a.downloadExampleButton, downloadExampleButton = _c === void 0 ? true : _c, dynamicColumns = _a.dynamicColumns, defaultLanguage = _a.defaultLanguage, onError = _a.onError, customText = _a.customText, acceptedFileFormats = _a.acceptedFileFormats, onFileUpload = _a.onFileUpload;
|
|
732
732
|
var id = "usecsv-".concat(Math.round(Math.random() * 100000000));
|
|
733
733
|
return whenDomReady().then(function () {
|
|
734
734
|
var iframe = insertIframe(id, importerDisplay);
|
|
@@ -738,27 +738,7 @@ var useCsvPlugin = function (_a) {
|
|
|
738
738
|
};
|
|
739
739
|
var iframeConnection = connectToChild({
|
|
740
740
|
iframe: iframe,
|
|
741
|
-
methods: __assign(__assign(__assign(__assign(__assign({ closeIframe: closeIframe }, (onData
|
|
742
|
-
? {
|
|
743
|
-
onData: function (data) { return onData(data, closeIframe); },
|
|
744
|
-
}
|
|
745
|
-
: {})), (onRecordsInitial
|
|
746
|
-
? {
|
|
747
|
-
onRecordsInitial: onRecordsInitial,
|
|
748
|
-
}
|
|
749
|
-
: {})), (onRecordEdit
|
|
750
|
-
? {
|
|
751
|
-
onRecordEdit: onRecordEdit,
|
|
752
|
-
}
|
|
753
|
-
: {})), (onClose
|
|
754
|
-
? {
|
|
755
|
-
onClose: onClose,
|
|
756
|
-
}
|
|
757
|
-
: {})), (onError
|
|
758
|
-
? {
|
|
759
|
-
onError: onError,
|
|
760
|
-
}
|
|
761
|
-
: {})),
|
|
741
|
+
methods: __assign(__assign(__assign(__assign(__assign(__assign({ closeIframe: closeIframe }, (onData ? { onData: function (data) { return onData(data, closeIframe); } } : {})), (onRecordsInitial ? { onRecordsInitial: onRecordsInitial } : {})), (onRecordEdit ? { onRecordEdit: onRecordEdit } : {})), (onClose ? { onClose: onClose } : {})), (onError ? { onError: onError } : {})), (onFileUpload ? { onFileUpload: onFileUpload } : {})),
|
|
762
742
|
});
|
|
763
743
|
iframeConnection.promise.then(function (child) {
|
|
764
744
|
var _a;
|
|
@@ -803,7 +783,8 @@ var useCsvPlugin = function (_a) {
|
|
|
803
783
|
defaultLanguage: {},
|
|
804
784
|
onError: {},
|
|
805
785
|
customText: {},
|
|
806
|
-
acceptedFileFormats: {}
|
|
786
|
+
acceptedFileFormats: {},
|
|
787
|
+
onFileUpload: {}
|
|
807
788
|
},
|
|
808
789
|
data: function data() {
|
|
809
790
|
return {
|
|
@@ -829,7 +810,8 @@ var useCsvPlugin = function (_a) {
|
|
|
829
810
|
defaultLanguage: this.defaultLanguage,
|
|
830
811
|
onError: this.onError,
|
|
831
812
|
customText: this.customText,
|
|
832
|
-
acceptedFileFormats: this.acceptedFileFormats
|
|
813
|
+
acceptedFileFormats: this.acceptedFileFormats,
|
|
814
|
+
onFileUpload: this.onFileUpload
|
|
833
815
|
});
|
|
834
816
|
},
|
|
835
817
|
hasScopedSlot: function hasScopedSlot() {
|
|
@@ -959,9 +941,9 @@ var __vue_render__ = function __vue_render__() {
|
|
|
959
941
|
var _c = _vm._self._c || _h;
|
|
960
942
|
return _c('div', {
|
|
961
943
|
staticClass: "usecsv"
|
|
962
|
-
}, [_vm.hasScopedSlot() ? _vm._ssrNode("<div data-v-
|
|
944
|
+
}, [_vm.hasScopedSlot() ? _vm._ssrNode("<div data-v-5f455e9e>", "</div>", [_vm._t("default", null, {
|
|
963
945
|
"openModal": _vm.openModal
|
|
964
|
-
})], 2) : _vm._ssrNode("<div data-v-
|
|
946
|
+
})], 2) : _vm._ssrNode("<div data-v-5f455e9e>", "</div>", [_vm._ssrNode("<button type=\"button\" id=\"usecsv-button\" data-v-5f455e9e>", "</button>", [_vm._t("default", function () {
|
|
965
947
|
return [_vm._v(" open usecsv ")];
|
|
966
948
|
})], 2)])]);
|
|
967
949
|
};
|
|
@@ -970,16 +952,16 @@ var __vue_staticRenderFns__ = [];
|
|
|
970
952
|
/* style */
|
|
971
953
|
var __vue_inject_styles__ = function __vue_inject_styles__(inject) {
|
|
972
954
|
if (!inject) return;
|
|
973
|
-
inject("data-v-
|
|
974
|
-
source: "#usecsv-button[data-v-
|
|
955
|
+
inject("data-v-5f455e9e_0", {
|
|
956
|
+
source: "#usecsv-button[data-v-5f455e9e]{background-color:#fff;color:#000;border:2px solid #000;border-radius:6px;padding:10px 15px;text-align:center;font-size:16px;cursor:pointer}",
|
|
975
957
|
map: undefined,
|
|
976
958
|
media: undefined
|
|
977
959
|
});
|
|
978
960
|
};
|
|
979
961
|
/* scoped */
|
|
980
|
-
var __vue_scope_id__ = "data-v-
|
|
962
|
+
var __vue_scope_id__ = "data-v-5f455e9e";
|
|
981
963
|
/* module identifier */
|
|
982
|
-
var __vue_module_identifier__ = "data-v-
|
|
964
|
+
var __vue_module_identifier__ = "data-v-5f455e9e";
|
|
983
965
|
/* functional template */
|
|
984
966
|
var __vue_is_functional_template__ = false;
|
|
985
967
|
/* style inject shadow dom */
|
|
@@ -22,5 +22,6 @@ declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, a
|
|
|
22
22
|
onError?: import("@usecsv/js/build/types/lib/types").onErrorType | undefined;
|
|
23
23
|
customText?: import("@usecsv/js/build/types/lib/types").customTextType | undefined;
|
|
24
24
|
acceptedFileFormats?: import("@usecsv/js/build/types/lib/types").fileFormats[] | undefined;
|
|
25
|
+
onFileUpload?: import("@usecsv/js/build/types/lib/types").onFileUploadType;
|
|
25
26
|
}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin>;
|
|
26
27
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@usecsv/vuejs",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/UseCSVButton.ssr.js",
|
|
6
6
|
"browser": "dist/UseCSVButton.esm.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"prepublishOnly": "yarn build"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@usecsv/js": "^0.
|
|
27
|
+
"@usecsv/js": "^0.21.1"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@babel/core": "^7.21.8",
|
package/src/UseCSVButton.vue
CHANGED
|
@@ -29,6 +29,7 @@ export default /*#__PURE__*/ Vue.extend<
|
|
|
29
29
|
onError: {},
|
|
30
30
|
customText: {},
|
|
31
31
|
acceptedFileFormats: {},
|
|
32
|
+
onFileUpload: {},
|
|
32
33
|
},
|
|
33
34
|
data() {
|
|
34
35
|
return {
|
|
@@ -55,6 +56,7 @@ export default /*#__PURE__*/ Vue.extend<
|
|
|
55
56
|
onError: this.onError,
|
|
56
57
|
customText: this.customText,
|
|
57
58
|
acceptedFileFormats: this.acceptedFileFormats,
|
|
59
|
+
onFileUpload: this.onFileUpload,
|
|
58
60
|
});
|
|
59
61
|
},
|
|
60
62
|
hasScopedSlot(): boolean {
|