const __vite__fileDeps=["./l7cnUQYi.js","./B9G1I6U4.js","./entry.BY34x0Yn.css","./BhgXfgUA.js","./Table.flBPdmEH.css","./eo5I83J1.js","./Cxv5ES8F.js","./Dy7tKqUn.js","./BdMMnpdi.js","./B8eNmXBe.js","./BdU5lqjL.js","./DmV4W8pK.js","./BHKHvPnM.js","./CNAIQ7GI.js","./DdvZppNO.js","./6mZBa7JF.js","./CtTEwRp5.js","./Ci1R3-OD.js","./BQQOEPN4.js","./B8JXkKGu.js","./DFVKVbOc.js","./BW41Bq7s.js","./CaiMy5Yv.js","./BppnhTyP.js","./Editor.Brx8uguF.css","./BDzLU6qG.js","./boyBAVNN.js","./Br1Lemk9.js","./toggleHighContrast.wojAGmRG.css","./Editor.6PWXOFSt.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
var pn=Object.defineProperty;var vn=(a,e,t)=>e in a?pn(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Q=(a,e,t)=>(vn(a,typeof e!="symbol"?e+"":e,t),t);import{b as m,b1 as Ne,bh as gn,bk as hn,bA as bn,f as Ce,r as X,i as Ue,l as Nt,aR as Ke,ai as ne,aj as J,cw as yn,a_ as Ve,bC as zt,bD as We,a$ as Ht,c8 as gt,ah as ht,g as ue,ce as wn,cf as _n,R as bt,aG as qt,a2 as Jt,F as In,bP as Tn,bQ as kn,bR as Cn,aX as Dn,K as Sn,bU as Dt,b6 as Fn,aU as Ye,cE as Rn,a6 as On,aP as St,fn as nt,b8 as Pn,bN as xn,aV as at,ak as $n,c5 as Ln,o as q,c as ye,a as H,cM as Gt,cS as Un,H as Kt,O as En,S as te,w as E,P as i,d as ae,t as N,T as he,c_ as Ft,c$ as Rt,V as Te,W as ke,al as jn,as as An,d0 as Se,Q as ct,U as ut,aK as Wt,A as dt,at as ve,au as Le,cb as ft,fp as Mn,b0 as Bn,d1 as w,fq as Vn,fr as yt,fs as Nn,ft as mt,fu as Yt,fv as Xt,fw as Qt,fx as zn,fy as Xe,fz as Zt,a5 as wt,N as Ot,ap as Hn,ay as Pt,cR as qn,aq as Jn,ac as Gn,fA as Kn,a8 as Wn,Z as en,cX as Yn,fB as ze,fC as Xn,bY as Fe,fD as ot,fE as Qn,fF as Zn,dr as ea,z as ta,fG as Re,fH as Oe,_ as na}from"./B9G1I6U4.js";import{u as aa}from"./ClY-bv1T.js";import{f as pt,i as oa,c as ra,d as sa}from"./Cxv5ES8F.js";import{F as Qe}from"./BdMMnpdi.js";import{E as ia,_ as la}from"./BW41Bq7s.js";import"./CtTEwRp5.js";import{I as tn}from"./Ci1R3-OD.js";import{C as nn}from"./CNAIQ7GI.js";import{i as ca,_ as an}from"./B8eNmXBe.js";import{_ as on}from"./D_cCAYlN.js";import{p as xt}from"./pngmWuiS.js";import{_ as ua}from"./DL2V81-d.js";import{u as da}from"./DmV4W8pK.js";var fa={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"};function $t(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),n.forEach(function(o){ma(a,o,t[o])})}return a}function ma(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var _t=function(e,t){var n=$t({},e,t.attrs);return m(Ne,$t({},n,{icon:fa}),null)};_t.displayName="DeleteOutlined";_t.inheritAttrs=!1;function pa(a,e){var t="cannot ".concat(a.method," ").concat(a.action," ").concat(e.status,"'"),n=new Error(t);return n.status=e.status,n.method=a.method,n.url=a.action,n}function Lt(a){var e=a.responseText||a.response;if(!e)return e;try{return JSON.parse(e)}catch{return e}}function va(a){var e=new XMLHttpRequest;a.onProgress&&e.upload&&(e.upload.onprogress=function(r){r.total>0&&(r.percent=r.loaded/r.total*100),a.onProgress(r)});var t=new FormData;a.data&&Object.keys(a.data).forEach(function(o){var r=a.data[o];if(Array.isArray(r)){r.forEach(function(l){t.append("".concat(o,"[]"),l)});return}t.append(o,r)}),a.file instanceof Blob?t.append(a.filename,a.file,a.file.name):t.append(a.filename,a.file),e.onerror=function(r){a.onError(r)},e.onload=function(){return e.status<200||e.status>=300?a.onError(pa(a,e),Lt(e)):a.onSuccess(Lt(e),e)},e.open(a.method,a.action,!0),a.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);var n=a.headers||{};return n["X-Requested-With"]!==null&&e.setRequestHeader("X-Requested-With","XMLHttpRequest"),Object.keys(n).forEach(function(o){n[o]!==null&&e.setRequestHeader(o,n[o])}),e.send(t),{abort:function(){e.abort()}}}var ga=+new Date,ha=0;function rt(){return"vc-upload-".concat(ga,"-").concat(++ha)}const st=function(a,e){if(a&&e){var t=Array.isArray(e)?e:e.split(","),n=a.name||"",o=a.type||"",r=o.replace(/\/.*$/,"");return t.some(function(l){var d=l.trim();if(/^\*(\/\*)?$/.test(l))return!0;if(d.charAt(0)==="."){var g=n.toLowerCase(),u=d.toLowerCase(),R=[u];return(u===".jpg"||u===".jpeg")&&(R=[".jpg",".jpeg"]),R.some(function(U){return g.endsWith(U)})}return/\/\*$/.test(d)?r===d.replace(/\/.*$/,""):!!(o===d||/^\w+$/.test(d))})}return!0};function ba(a,e){var t=a.createReader(),n=[];function o(){t.readEntries(function(r){var l=Array.prototype.slice.apply(r);n=n.concat(l);var d=!l.length;d?e(n):o()})}o()}var ya=function(e,t,n){var o=function r(l,d){l.path=d||"",l.isFile?l.file(function(g){n(g)&&(l.fullPath&&!g.webkitRelativePath&&(Object.defineProperties(g,{webkitRelativePath:{writable:!0}}),g.webkitRelativePath=l.fullPath.replace(/^\//,""),Object.defineProperties(g,{webkitRelativePath:{writable:!1}})),t([g]))}):l.isDirectory&&ba(l,function(g){g.forEach(function(u){r(u,"".concat(d).concat(l.name,"/"))})})};e.forEach(function(r){o(r.webkitGetAsEntry())})},rn=function(){return{capture:[Boolean,String],multipart:{type:Boolean,default:void 0},name:String,disabled:{type:Boolean,default:void 0},componentTag:String,action:[String,Function],method:String,directory:{type:Boolean,default:void 0},data:[Object,Function],headers:Object,accept:String,multiple:{type:Boolean,default:void 0},onBatchStart:Function,onReject:Function,onStart:Function,onError:Function,onSuccess:Function,onProgress:Function,beforeUpload:Function,customRequest:Function,withCredentials:{type:Boolean,default:void 0},openFileDialogOnClick:{type:Boolean,default:void 0},prefixCls:String,id:String,onMouseenter:Function,onMouseleave:Function,onClick:Function}};function wa(a,e,t,n){for(var o=-1,r=a==null?0:a.length;++o<r;){var l=a[o];e(n,l,t(l),a)}return n}function _a(a){return function(e,t,n){for(var o=-1,r=Object(e),l=n(e),d=l.length;d--;){var g=l[++o];if(t(r[g],g,r)===!1)break}return e}}var Ia=_a();function Ta(a,e){return a&&Ia(a,e,gn)}function ka(a,e){return function(t,n){if(t==null)return t;if(!hn(t))return a(t,n);for(var o=t.length,r=-1,l=Object(t);++r<o&&n(l[r],r,l)!==!1;);return t}}var Ca=ka(Ta);function Da(a,e,t,n){return Ca(a,function(o,r,l){e(n,o,t(o),l)}),n}function Sa(a,e){return function(t,n){var o=bn(t)?wa:Da,r=e?e():{};return o(t,a,ca(n),r)}}var Fa=Sa(function(a,e,t){a[t?0:1].push(e)},function(){return[[],[]]}),Ra=["componentTag","prefixCls","disabled","id","multiple","accept","capture","directory","openFileDialogOnClick","onMouseenter","onMouseleave"];const Oa=Ce({compatConfig:{MODE:3},name:"AjaxUploader",inheritAttrs:!1,props:rn(),setup:function(e,t){var n=t.slots,o=t.attrs,r=t.expose,l=X(rt()),d={},g=X(),u=!1,R=function(){var s=zt(We.mark(function D(b,v){var P,_,A,Z,ee,p,k,O,F;return We.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:if(P=e.beforeUpload,_=b,!P){I.next=14;break}return I.prev=3,I.next=6,P(b,v);case 6:_=I.sent,I.next=12;break;case 9:I.prev=9,I.t0=I.catch(3),_=!1;case 12:if(_!==!1){I.next=14;break}return I.abrupt("return",{origin:b,parsedFile:null,action:null,data:null});case 14:if(A=e.action,typeof A!="function"){I.next=21;break}return I.next=18,A(b);case 18:Z=I.sent,I.next=22;break;case 21:Z=A;case 22:if(ee=e.data,typeof ee!="function"){I.next=29;break}return I.next=26,ee(b);case 26:p=I.sent,I.next=30;break;case 29:p=ee;case 30:return k=(Ht(_)==="object"||typeof _=="string")&&_?_:b,k instanceof File?O=k:O=new File([k],b.name,{type:b.type}),F=O,F.uid=b.uid,I.abrupt("return",{origin:b,data:p,parsedFile:F,action:Z});case 35:case"end":return I.stop()}},D,null,[[3,9]])}));return function(b,v){return s.apply(this,arguments)}}(),U=function(D){var b=D.data,v=D.origin,P=D.action,_=D.parsedFile;if(u){var A=e.onStart,Z=e.customRequest,ee=e.name,p=e.headers,k=e.withCredentials,O=e.method,F=v.uid,L=Z||va,I={action:P,filename:ee,data:b,file:_,headers:p,withCredentials:k,method:O||"post",onProgress:function(M){var V=e.onProgress;V==null||V(M,_)},onSuccess:function(M,V){var $=e.onSuccess;$==null||$(M,_,V),delete d[F]},onError:function(M,V){var $=e.onError;$==null||$(M,V,_),delete d[F]}};A(v),d[F]=L(I)}},j=function(){l.value=rt()},z=function(D){if(D){var b=D.uid?D.uid:D;d[b]&&d[b].abort&&d[b].abort(),delete d[b]}else Object.keys(d).forEach(function(v){d[v]&&d[v].abort&&d[v].abort(),delete d[v]})};Ue(function(){u=!0}),Nt(function(){u=!1,z()});var W=function(D){var b=Ve(D),v=b.map(function(P){return P.uid=rt(),R(P,b)});Promise.all(v).then(function(P){var _=e.onBatchStart;_==null||_(P.map(function(A){var Z=A.origin,ee=A.parsedFile;return{file:Z,parsedFile:ee}})),P.filter(function(A){return A.parsedFile!==null}).forEach(function(A){U(A)})})},y=function(D){var b=e.accept,v=e.directory,P=D.target.files,_=Ve(P).filter(function(A){return!v||st(A,b)});W(_),j()},C=function(D){var b=g.value;if(b){var v=e.onClick;b.click(),v&&v(D)}},S=function(D){D.key==="Enter"&&C(D)},x=function(D){var b=e.multiple;if(D.preventDefault(),D.type!=="dragover")if(e.directory)ya(Array.prototype.slice.call(D.dataTransfer.items),W,function(A){return st(A,e.accept)});else{var v=Fa(Array.prototype.slice.call(D.dataTransfer.files),function(A){return st(A,e.accept)}),P=v[0],_=v[1];b===!1&&(P=P.slice(0,1)),W(P),_.length&&e.onReject&&e.onReject(_)}};return r({abort:z}),function(){var s,D,b=e.componentTag,v=e.prefixCls,P=e.disabled,_=e.id,A=e.multiple,Z=e.accept,ee=e.capture,p=e.directory,k=e.openFileDialogOnClick,O=e.onMouseenter,F=e.onMouseleave,L=Ke(e,Ra),I=(s={},ne(s,v,!0),ne(s,"".concat(v,"-disabled"),P),ne(s,o.class,!!o.class),s),B=p?{directory:"directory",webkitdirectory:"webkitdirectory"}:{},M=P?{}:{onClick:k?C:function(){},onKeydown:k?S:function(){},onMouseenter:O,onMouseleave:F,onDrop:x,onDragover:x,tabindex:"0"};return m(b,J(J({},M),{},{class:I,role:"button",style:o.style}),{default:function(){return[m("input",J(J(J({},yn(L,{aria:!0,data:!0})),{},{id:_,type:"file",ref:g,onClick:function(f){return f.stopPropagation()},key:l.value,style:{display:"none"},accept:Z},B),{},{multiple:A,onChange:y},ee!=null?{capture:ee}:{}),null),(D=n.default)===null||D===void 0?void 0:D.call(n)]}})}}});function it(){}const Ut=Ce({compatConfig:{MODE:3},name:"Upload",inheritAttrs:!1,props:gt(rn(),{componentTag:"span",prefixCls:"rc-upload",data:{},headers:{},name:"file",multipart:!1,onStart:it,onError:it,onSuccess:it,multiple:!1,beforeUpload:null,customRequest:null,withCredentials:!1,openFileDialogOnClick:!0}),setup:function(e,t){var n=t.slots,o=t.attrs,r=t.expose,l=X(),d=function(u){var R;(R=l.value)===null||R===void 0||R.abort(u)};return r({abort:d}),function(){return m(Oa,J(J(J({},e),o),{},{ref:l}),n)}}});var Pa={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z"}}]},name:"paper-clip",theme:"outlined"};function Et(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),n.forEach(function(o){xa(a,o,t[o])})}return a}function xa(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var It=function(e,t){var n=Et({},e,t.attrs);return m(Ne,Et({},n,{icon:Pa}),null)};It.displayName="PaperClipOutlined";It.inheritAttrs=!1;var $a={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z",fill:e}},{tag:"path",attrs:{d:"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z",fill:t}},{tag:"path",attrs:{d:"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z",fill:t}},{tag:"path",attrs:{d:"M276 368a28 28 0 1056 0 28 28 0 10-56 0z",fill:t}},{tag:"path",attrs:{d:"M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z",fill:e}}]}},name:"picture",theme:"twotone"};function jt(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),n.forEach(function(o){La(a,o,t[o])})}return a}function La(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var Tt=function(e,t){var n=jt({},e,t.attrs);return m(Ne,jt({},n,{icon:$a}),null)};Tt.displayName="PictureTwoTone";Tt.inheritAttrs=!1;var Ua={icon:function(e,t){return{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M534 352V136H232v752h560V394H576a42 42 0 01-42-42z",fill:t}},{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z",fill:e}}]}},name:"file",theme:"twotone"};function At(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),n.forEach(function(o){Ea(a,o,t[o])})}return a}function Ea(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var kt=function(e,t){var n=At({},e,t.attrs);return m(Ne,At({},n,{icon:Ua}),null)};kt.displayName="FileTwoTone";kt.inheritAttrs=!1;function sn(){return{capture:[Boolean,String],type:String,name:String,defaultFileList:Array,fileList:Array,action:[String,Function],directory:{type:Boolean,default:void 0},data:[Object,Function],method:String,headers:Object,showUploadList:{type:[Boolean,Object],default:void 0},multiple:{type:Boolean,default:void 0},accept:String,beforeUpload:Function,onChange:Function,"onUpdate:fileList":Function,onDrop:Function,listType:String,onPreview:Function,onDownload:Function,onReject:Function,onRemove:Function,remove:Function,supportServerRender:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},prefixCls:String,customRequest:Function,withCredentials:{type:Boolean,default:void 0},openFileDialogOnClick:{type:Boolean,default:void 0},locale:{type:Object,default:void 0},id:String,previewFile:Function,transformFile:Function,iconRender:Function,isImageUrl:Function,progress:Object,itemRender:Function,maxCount:Number,height:[Number,String],removeIcon:Function,downloadIcon:Function,previewIcon:Function}}function ja(){return{listType:String,onPreview:Function,onDownload:Function,onRemove:Function,items:Array,progress:Object,prefixCls:String,showRemoveIcon:{type:Boolean,default:void 0},showDownloadIcon:{type:Boolean,default:void 0},showPreviewIcon:{type:Boolean,default:void 0},removeIcon:Function,downloadIcon:Function,previewIcon:Function,locale:{type:Object,default:void 0},previewFile:Function,iconRender:Function,isImageUrl:Function,appendAction:Function,appendActionVisible:{type:Boolean,default:void 0},itemRender:Function}}function He(a){return J(J({},a),{},{lastModified:a.lastModified,lastModifiedDate:a.lastModifiedDate,name:a.name,size:a.size,type:a.type,uid:a.uid,percent:0,originFileObj:a})}function qe(a,e){var t=Ve(e),n=t.findIndex(function(o){var r=o.uid;return r===a.uid});return n===-1?t.push(a):t[n]=a,t}function lt(a,e){var t=a.uid!==void 0?"uid":"name";return e.filter(function(n){return n[t]===a[t]})[0]}function Aa(a,e){var t=a.uid!==void 0?"uid":"name",n=e.filter(function(o){return o[t]!==a[t]});return n.length===e.length?null:n}var Ma=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=e.split("/"),n=t[t.length-1],o=n.split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(o)||[""])[0]},ln=function(e){return e.indexOf("image/")===0},Ba=function(e){if(e.type&&!e.thumbUrl)return ln(e.type);var t=e.thumbUrl||e.url||"",n=Ma(t);return/^data:image\//.test(t)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(n)?!0:!(/^data:/.test(t)||n)},Ie=200;function Va(a){return new Promise(function(e){if(!a.type||!ln(a.type)){e("");return}var t=document.createElement("canvas");t.width=Ie,t.height=Ie,t.style.cssText="position: fixed; left: 0; top: 0; width: ".concat(Ie,"px; height: ").concat(Ie,"px; z-index: 9999; display: none;"),document.body.appendChild(t);var n=t.getContext("2d"),o=new Image;o.onload=function(){var r=o.width,l=o.height,d=Ie,g=Ie,u=0,R=0;r>l?(g=l*(Ie/r),R=-(g-d)/2):(d=r*(Ie/l),u=-(d-g)/2),n.drawImage(o,u,R,d,g);var U=t.toDataURL();document.body.removeChild(t),e(U)},o.src=window.URL.createObjectURL(a)})}var Na={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z"}}]},name:"download",theme:"outlined"};function Mt(a){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable}))),n.forEach(function(o){za(a,o,t[o])})}return a}function za(a,e,t){return e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var Ct=function(e,t){var n=Mt({},e,t.attrs);return m(Ne,Mt({},n,{icon:Na}),null)};Ct.displayName="DownloadOutlined";Ct.inheritAttrs=!1;var Ha=function(){return{prefixCls:String,locale:{type:Object,default:void 0},file:Object,items:Array,listType:String,isImgUrl:Function,showRemoveIcon:{type:Boolean,default:void 0},showDownloadIcon:{type:Boolean,default:void 0},showPreviewIcon:{type:Boolean,default:void 0},removeIcon:Function,downloadIcon:Function,previewIcon:Function,iconRender:Function,actionIconRender:Function,itemRender:Function,onPreview:Function,onClose:Function,onDownload:Function,progress:{type:Object,default:void 0}}};const qa=Ce({compatConfig:{MODE:3},name:"ListItem",inheritAttrs:!1,props:Ha(),setup:function(e,t){var n=t.slots,o=t.attrs,r=X(!1),l=X();Ue(function(){l.value=setTimeout(function(){r.value=!0},300)}),Nt(function(){clearTimeout(l.value)});var d=ht("upload",e),g=d.rootPrefixCls,u=ue(function(){return wn("".concat(g.value,"-fade"))});return function(){var R,U,j=e.prefixCls,z=e.locale,W=e.listType,y=e.file,C=e.items,S=e.progress,x=e.iconRender,s=x===void 0?n.iconRender:x,D=e.actionIconRender,b=D===void 0?n.actionIconRender:D,v=e.itemRender,P=v===void 0?n.itemRender:v,_=e.isImgUrl,A=e.showPreviewIcon,Z=e.showRemoveIcon,ee=e.showDownloadIcon,p=e.previewIcon,k=p===void 0?n.previewIcon:p,O=e.removeIcon,F=O===void 0?n.removeIcon:O,L=e.downloadIcon,I=L===void 0?n.downloadIcon:L,B=e.onPreview,M=e.onDownload,V=e.onClose,$=o.class,f=o.style,h="".concat(j,"-span"),K=s({file:y}),Y=m("div",{class:"".concat(j,"-text-icon")},[K]);if(W==="picture"||W==="picture-card")if(y.status==="uploading"||!y.thumbUrl&&!y.url){var oe,se=(oe={},ne(oe,"".concat(j,"-list-item-thumbnail"),!0),ne(oe,"".concat(j,"-list-item-file"),y.status!=="uploading"),oe);Y=m("div",{class:se},[K])}else{var de,we=_!=null&&_(y)?m("img",{src:y.thumbUrl||y.url,alt:y.name,class:"".concat(j,"-list-item-image")},null):K,De=(de={},ne(de,"".concat(j,"-list-item-thumbnail"),!0),ne(de,"".concat(j,"-list-item-file"),_&&!_(y)),de);Y=m("a",{class:De,onClick:function(me){return B(y,me)},href:y.url||y.thumbUrl,target:"_blank",rel:"noopener noreferrer"},[we])}var pe=(R={},ne(R,"".concat(j,"-list-item"),!0),ne(R,"".concat(j,"-list-item-").concat(y.status),!0),ne(R,"".concat(j,"-list-item-list-type-").concat(W),!0),R),Ee=typeof y.linkProps=="string"?JSON.parse(y.linkProps):y.linkProps,Pe=Z?b({customIcon:F?F({file:y}):m(_t,null,null),callback:function(){return V(y)},prefixCls:j,title:z.removeFile}):null,xe=ee&&y.status==="done"?b({customIcon:I?I({file:y}):m(Ct,null,null),callback:function(){return M(y)},prefixCls:j,title:z.downloadFile}):null,$e=W!=="picture-card"&&m("span",{key:"download-delete",class:["".concat(j,"-list-item-card-actions"),{picture:W==="picture"}]},[xe,Pe]),G="".concat(j,"-list-item-name"),je=y.url?[m("a",J(J({key:"view",target:"_blank",rel:"noopener noreferrer",class:G,title:y.name},Ee),{},{href:y.url,onClick:function(me){return B(y,me)}}),[y.name]),$e]:[m("span",{key:"view",class:G,onClick:function(me){return B(y,me)},title:y.name},[y.name]),$e],_e={pointerEvents:"none",opacity:.5},Ze=A?m("a",{href:y.url||y.thumbUrl,target:"_blank",rel:"noopener noreferrer",style:y.url||y.thumbUrl?void 0:_e,onClick:function(me){return B(y,me)},title:z.previewFile},[k?k({file:y}):m(ia,null,null)]):null,et=W==="picture-card"&&y.status!=="uploading"&&m("span",{class:"".concat(j,"-list-item-actions")},[Ze,y.status==="done"&&xe,Pe]),c;if(y.response&&typeof y.response=="string")c=y.response;else{var T,ce;c=((T=y.error)===null||T===void 0?void 0:T.statusText)||((ce=y.error)===null||ce===void 0?void 0:ce.message)||z.uploadError}var ie=m("span",{class:h},[Y,je]),re=m("div",{class:pe},[m("div",{class:"".concat(j,"-list-item-info")},[ie]),et,r.value&&m(_n,u.value,{default:function(){return[bt(m("div",{class:"".concat(j,"-list-item-progress")},["percent"in y?m(ua,J(J({},S),{},{type:"line",percent:y.percent}),null):null]),[[qt,y.status==="uploading"]])]}})]),be=(U={},ne(U,"".concat(j,"-list-").concat(W,"-container"),!0),ne(U,"".concat($),!!$),U),ge=y.status==="error"?m(Jt,{title:c,getPopupContainer:function(me){return me.parentNode}},{default:function(){return[re]}}):re;return m("div",{class:be,style:f,ref:X},[P?P({originNode:ge,file:y,fileList:C,actions:{download:M.bind(null,y),preview:B.bind(null,y),remove:V.bind(null,y)}}):ge])}}});var Ja=function(e,t){var n,o=t.slots;return Dn((n=o.default)===null||n===void 0?void 0:n.call(o))[0]};const Ga=Ce({compatConfig:{MODE:3},name:"AUploadList",props:gt(ja(),{listType:"text",progress:{strokeWidth:2,showInfo:!1},showRemoveIcon:!0,showDownloadIcon:!1,showPreviewIcon:!0,previewFile:Va,isImageUrl:Ba,items:[],appendActionVisible:!0}),setup:function(e,t){var n=t.slots,o=t.expose,r=X(!1),l=Sn();Ue(function(){r.value==!0}),In(function(){e.listType!=="picture"&&e.listType!=="picture-card"||(e.items||[]).forEach(function(S){typeof document>"u"||typeof window>"u"||!window.FileReader||!window.File||!(S.originFileObj instanceof File||S.originFileObj instanceof Blob)||S.thumbUrl!==void 0||(S.thumbUrl="",e.previewFile&&e.previewFile(S.originFileObj).then(function(x){S.thumbUrl=x||"",l.update()}))})});var d=function(x,s){if(e.onPreview)return s==null||s.preventDefault(),e.onPreview(x)},g=function(x){typeof e.onDownload=="function"?e.onDownload(x):x.url&&window.open(x.url)},u=function(x){var s;(s=e.onRemove)===null||s===void 0||s.call(e,x)},R=function(x){var s=x.file,D=e.iconRender||n.iconRender;if(D)return D({file:s,listType:e.listType});var b=s.status==="uploading",v=e.isImageUrl&&e.isImageUrl(s)?m(Tt,null,null):m(kt,null,null),P=b?m(Dt,null,null):m(It,null,null);return e.listType==="picture"?P=b?m(Dt,null,null):v:e.listType==="picture-card"&&(P=b?e.locale.uploading:v),P},U=function(x){var s=x.customIcon,D=x.callback,b=x.prefixCls,v=x.title,P={type:"text",size:"small",title:v,onClick:function(){D()},class:"".concat(b,"-list-item-card-actions-btn")};return Fn(s)?m(Ye,P,{icon:function(){return s}}):m(Ye,P,{default:function(){return[m("span",null,[s])]}})};o({handlePreview:d,handleDownload:g});var j=ht("upload",e),z=j.prefixCls,W=j.direction,y=ue(function(){var S;return S={},ne(S,"".concat(z.value,"-list"),!0),ne(S,"".concat(z.value,"-list-").concat(e.listType),!0),ne(S,"".concat(z.value,"-list-rtl"),W.value==="rtl"),S}),C=ue(function(){return J(J(J({},Tn("".concat(z.value,"-").concat(e.listType==="picture-card"?"animate-inline":"animate"))),kn("".concat(z.value,"-").concat(e.listType==="picture-card"?"animate-inline":"animate"))),{},{class:y.value,appear:r.value})});return function(){var S=e.listType,x=e.locale,s=e.isImageUrl,D=e.items,b=D===void 0?[]:D,v=e.showPreviewIcon,P=e.showRemoveIcon,_=e.showDownloadIcon,A=e.removeIcon,Z=e.previewIcon,ee=e.downloadIcon,p=e.progress,k=e.appendAction,O=e.itemRender,F=e.appendActionVisible,L=k==null?void 0:k();return m(Cn,J(J({},C.value),{},{tag:"div"}),{default:function(){return[b.map(function(B){var M=B.uid;return m(qa,{key:M,locale:x,prefixCls:z.value,file:B,items:b,progress:p,listType:S,isImgUrl:s,showPreviewIcon:v,showRemoveIcon:P,showDownloadIcon:_,onPreview:d,onDownload:g,onClose:u,removeIcon:A,previewIcon:Z,downloadIcon:ee,itemRender:O},J(J({},n),{},{iconRender:R,actionIconRender:U}))}),k?bt(m(Ja,{key:"__ant_upload_appendAction"},{default:function(){return L}}),[[qt,!!F]]):null]}})}}});var Ka=["class","style"],Be="__LIST_IGNORE_".concat(Date.now(),"__");const Je=Ce({compatConfig:{MODE:3},name:"AUpload",inheritAttrs:!1,props:gt(sn(),{type:"select",multiple:!1,action:"",data:{},accept:"",showUploadList:!0,listType:"text",disabled:!1,supportServerRender:!0}),setup:function(e,t){var n=t.slots,o=t.attrs,r=t.expose,l=da(),d=Rn(e.defaultFileList||[],{value:On(e,"fileList"),postState:function(k){var O=Date.now();return(k??[]).map(function(F,L){return!F.uid&&!Object.isFrozen(F)&&(F.uid="__AUTO__".concat(O,"_").concat(L,"__")),F})}}),g=St(d,2),u=g[0],R=g[1],U=X("drop"),j=X();Ue(function(){nt(e.fileList!==void 0||o.value===void 0,"Upload","`value` is not a valid prop, do you mean `fileList`?"),nt(e.transformFile===void 0,"Upload","`transformFile` is deprecated. Please use `beforeUpload` directly."),nt(e.remove===void 0,"Upload","`remove` props is deprecated. Please use `remove` event.")});var z=function(k,O,F){var L,I,B=Ve(O);e.maxCount===1?B=B.slice(-1):e.maxCount&&(B=B.slice(0,e.maxCount)),R(B);var M={file:k,fileList:B};F&&(M.event=F),(L=e["onUpdate:fileList"])===null||L===void 0||L.call(e,M.fileList),(I=e.onChange)===null||I===void 0||I.call(e,M),l.onFieldChange()},W=function(){var p=zt(We.mark(function k(O,F){var L,I,B,M;return We.wrap(function($){for(;;)switch($.prev=$.next){case 0:if(L=e.beforeUpload,I=e.transformFile,B=O,!L){$.next=13;break}return $.next=5,L(O,F);case 5:if(M=$.sent,M!==!1){$.next=8;break}return $.abrupt("return",!1);case 8:if(delete O[Be],M!==Be){$.next=12;break}return Object.defineProperty(O,Be,{value:!0,configurable:!0}),$.abrupt("return",!1);case 12:Ht(M)==="object"&&M&&(B=M);case 13:if(!I){$.next=17;break}return $.next=16,I(B);case 16:B=$.sent;case 17:return $.abrupt("return",B);case 18:case"end":return $.stop()}},k)}));return function(O,F){return p.apply(this,arguments)}}(),y=function(k){var O=k.filter(function(I){return!I.file[Be]});if(O.length){var F=O.map(function(I){return He(I.file)}),L=Ve(u.value);F.forEach(function(I){L=qe(I,L)}),F.forEach(function(I,B){var M=I;if(O[B].parsedFile)I.status="uploading";else{var V=I.originFileObj,$;try{$=new File([V],V.name,{type:V.type})}catch{$=new Blob([V],{type:V.type}),$.name=V.name,$.lastModifiedDate=new Date,$.lastModified=new Date().getTime()}$.uid=I.uid,M=$}z(M,L)})}},C=function(k,O,F){try{typeof k=="string"&&(k=JSON.parse(k))}catch{}if(lt(O,u.value)){var L=He(O);L.status="done",L.percent=100,L.response=k,L.xhr=F;var I=qe(L,u.value);z(L,I)}},S=function(k,O){if(lt(O,u.value)){var F=He(O);F.status="uploading",F.percent=k.percent;var L=qe(F,u.value);z(F,L,k)}},x=function(k,O,F){if(lt(F,u.value)){var L=He(F);L.error=k,L.response=O,L.status="error";var I=qe(L,u.value);z(L,I)}},s=function(k){var O,F=e.onRemove||e.remove;Promise.resolve(typeof F=="function"?F(k):F).then(function(L){if(L!==!1){var I=Aa(k,u.value);if(I){var B,M;O=J(J({},k),{},{status:"removed"}),(B=u.value)===null||B===void 0||B.forEach(function(V){var $=O.uid!==void 0?"uid":"name";V[$]===O[$]&&!Object.isFrozen(V)&&(V.status="removed")}),(M=j.value)===null||M===void 0||M.abort(O),z(O,I)}}})},D=function(k){if(U.value=k.type,k.type==="drop"){var O;(O=e.onDrop)===null||O===void 0||O.call(e,k)}};r({onBatchStart:y,onSuccess:C,onProgress:S,onError:x,fileList:u,upload:j});var b=ht("upload",e),v=b.prefixCls,P=b.direction,_=Pn("Upload",xn.Upload,ue(function(){return e.locale})),A=St(_,1),Z=A[0],ee=function(k,O){var F=e.removeIcon,L=e.previewIcon,I=e.downloadIcon,B=e.previewFile,M=e.onPreview,V=e.onDownload,$=e.disabled,f=e.isImageUrl,h=e.progress,K=e.itemRender,Y=e.iconRender,oe=e.showUploadList,se=typeof oe=="boolean"?{}:oe,de=se.showDownloadIcon,we=se.showPreviewIcon,De=se.showRemoveIcon;return oe?m(Ga,{listType:e.listType,items:u.value,previewFile:B,onPreview:M,onDownload:V,onRemove:s,showRemoveIcon:!$&&De,showPreviewIcon:we,showDownloadIcon:de,removeIcon:F,previewIcon:L,downloadIcon:I,iconRender:Y,locale:Z.value,isImageUrl:f,progress:h,itemRender:K,appendActionVisible:O,appendAction:k},J({},n)):k==null?void 0:k()};return function(){var p,k,O,F=e.listType,L=e.disabled,I=e.type;o.class,o.style;var B=Ke(o,Ka),M=J(J(J({onBatchStart:y,onError:x,onProgress:S,onSuccess:C},B),e),{},{id:(p=e.id)!==null&&p!==void 0?p:l.id.value,prefixCls:v.value,beforeUpload:W,onChange:void 0});if(delete M.remove,(!n.default||L)&&delete M.id,I==="drag"){var V,$,f=at(v.value,(V={},ne(V,"".concat(v.value,"-drag"),!0),ne(V,"".concat(v.value,"-drag-uploading"),u.value.some(function(oe){return oe.status==="uploading"})),ne(V,"".concat(v.value,"-drag-hover"),U.value==="dragover"),ne(V,"".concat(v.value,"-disabled"),L),ne(V,"".concat(v.value,"-rtl"),P.value==="rtl"),V),o.class);return m("span",null,[m("div",{class:f,onDrop:D,onDragover:D,onDragleave:D,style:o.style},[m(Ut,J(J({},M),{},{ref:j,class:"".concat(v.value,"-btn")}),J({default:function(){return[m("div",{class:"".concat(v.value,"-drag-container")},[($=n.default)===null||$===void 0?void 0:$.call(n)])]}},n))]),ee()])}var h=at(v.value,(k={},ne(k,"".concat(v.value,"-select"),!0),ne(k,"".concat(v.value,"-select-").concat(F),!0),ne(k,"".concat(v.value,"-disabled"),L),ne(k,"".concat(v.value,"-rtl"),P.value==="rtl"),k)),K=$n((O=n.default)===null||O===void 0?void 0:O.call(n)),Y=function(se){return m("div",{class:h,style:se},[m(Ut,J(J({},M),{},{ref:j}),n)])};return F==="picture-card"?m("span",{class:at("".concat(v.value,"-picture-card-wrapper"),o.class)},[ee(Y,!!(K&&K.length))]):m("span",{class:o.class},[Y(K&&K.length?void 0:{display:"none"}),ee()])}}});var Wa=["height"],Ya=["style"];const Ge=Ce({compatConfig:{MODE:3},name:"AUploadDragger",inheritAttrs:!1,props:sn(),setup:function(e,t){var n=t.slots,o=t.attrs;return function(){var r=e.height,l=Ke(e,Wa),d=o.style,g=Ke(o,Ya),u=J(J(J({},l),g),{},{type:"drag",style:J(J({},d),{},{height:typeof r=="number"?"".concat(r,"px"):r})});return m(Je,u,n)}}});var Xa=Ge;const Qa=Ln(Je,{Dragger:Ge,LIST_IGNORE:Be,install:function(e){return e.component(Je.name,Je),e.component(Ge.name,Ge),e}}),Za={class:"nc-icon",viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},eo=H("path",{fill:"currentColor",d:"M7 15h2c0 1.08 1.37 2 3 2s3-.92 3-2c0-1.1-1.04-1.5-3.24-2.03C9.64 12.44 7 11.78 7 9c0-1.79 1.47-3.31 3.5-3.82V3h3v2.18C15.53 5.69 17 7.21 17 9h-2c0-1.08-1.37-2-3-2s-3 .92-3 2c0 1.1 1.04 1.5 3.24 2.03C14.36 11.56 17 12.22 17 15c0 1.79-1.47 3.31-3.5 3.82V21h-3v-2.18C8.47 18.31 7 16.79 7 15"},null,-1),to=[eo];function no(a,e){return q(),ye("svg",Za,[...to])}const ao={name:"mdi-currency-usd",render:no},oo={class:"px-5"},ro={key:0},so={class:"mb-4"},io={class:"mr-3 pt-2 text-gray-500 text-xs"},lo={href:"https://docs.nocodb.com/bases/import-base-from-airtable#get-airtable-credentials",class:"prose-sm underline text-grey text-xs",target:"_blank",rel:"noopener"},co={class:"prose-lg self-center my-4 text-gray-500"},uo={class:"mt-0 my-2"},fo={class:"my-2"},mo={class:"my-2"},po={class:"my-2"},vo={class:"my-2"},go={class:"my-2"},ho={href:"https://github.com/nocodb/nocodb/issues/2052",target:"_blank",rel:"noopener noreferrer"},bo=H("br",null,null,-1),yo={class:"prose-sm",href:"https://github.com/nocodb/nocodb/discussions/2122",target:"_blank",rel:"noopener noreferrer"},wo={key:1},_o={class:"mb-4 prose-xl font-bold"},Io={key:0,class:"flex items-center"},To={class:"text-red-500 ml-2 log-message"},ko={key:1,class:"flex items-center"},Co={class:"text-green-500 ml-2 log-message"},Do={key:1,class:"flex items-center"},So={class:"text-green-500 ml-2"},Fo={class:"flex justify-center items-center"},Ro={key:0},pr=Ce({__name:"AirtableImport",props:{modelValue:{type:Boolean},baseId:{},sourceId:{}},emits:["update:modelValue"],setup(a,{emit:e}){const t=e,{$api:n}=dt(),o=n.instance.defaults.baseURL,{$state:r,$poller:l}=dt(),d=Gt(),{refreshCommandPalette:g}=Un(),{loadTables:u}=d,{getJobsForBase:R,loadJobsForBase:U}=aa(),j=X(!1),z=X(1),W=X([]),y=X(),C=X(!1),S=X(!1),x=X(!1),s=X({id:"",type:"Airtable",details:{syncInterval:"15mins",syncDirection:"Airtable to NocoDB",syncRetryCount:1,apiKey:"",appId:"",shareId:"",syncSourceUrlOrId:"",options:{syncViews:!0,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0,syncUsers:!1}}}),D=async(f,h)=>{W.value.push({msg:f,status:h}),await Bn(()=>{var Y,oe;const K=(oe=(Y=y.value)==null?void 0:Y.$el)==null?void 0:oe.firstElementChild;K&&(K.scrollTop=K.scrollHeight)})},b=async(f,h)=>{f===Se.COMPLETED?(j.value=!0,await u(),D("Done!",f),g()):f===Se.FAILED&&(await u(),S.value=!0,D(h.error.message,f),g())},v=f=>{D(f.message,"progress")},P=ue(()=>({"details.apiKey":[pt()],"details.syncSourceUrlOrId":[pt()]})),_=ue({get:()=>a.modelValue,set:f=>t("update:modelValue",f)}),A=Qe.useForm,{validateInfos:Z}=A(s,P),ee=ue(()=>!s.value.details.apiKey||!s.value.details.syncSourceUrlOrId),p=X(!1);async function k(){p.value=!0,await O(),await I()}async function O(){try{const{id:f,...h}=s.value;f!==""?await $fetch(`/api/v1/db/meta/syncs/${f}`,{baseURL:o,method:"PATCH",headers:{"xc-auth":r.token.value},body:h}):s.value=await $fetch(`/api/v1/db/meta/projects/${a.baseId}/syncs/${a.sourceId}`,{baseURL:o,method:"POST",headers:{"xc-auth":r.token.value},body:h})}catch(f){ve.error(await Le(f))}}async function F(f){if(x.value)return;x.value=!0,await U(a.baseId);const h=await R(a.baseId),K=f?{id:f}:h.sort((Y,oe)=>new Date(oe.created_at).getTime()-new Date(Y.created_at).getTime()).find(Y=>Y.base_id===a.baseId&&Y.status!==Se.COMPLETED&&Y.status!==Se.FAILED);if(!K){x.value=!1;return}l.subscribe({id:K.id},Y=>{Y.status!=="close"?(z.value=2,Y.status?b(Y.status,Y.data):v(Y.data)):(x.value=!1,p.value=!1)})}async function L(){const f=await $fetch(`/api/v1/db/meta/projects/${a.baseId}/syncs/${a.sourceId}`,{baseURL:o,method:"GET",headers:{"xc-auth":r.token.value}}),{list:h}=f;h&&h[0]?(h[0].details=h[0].details||{},s.value=V(h[0]),s.value.details.syncSourceUrlOrId=h[0].details.appId&&h[0].details.appId.length>0?h[0].details.syncSourceUrlOrId:h[0].details.shareId,F()):s.value={id:"",type:"Airtable",details:{syncInterval:"15mins",syncDirection:"Airtable to NocoDB",syncRetryCount:1,apiKey:"",appId:"",shareId:"",syncSourceUrlOrId:"",options:{syncViews:!0,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0,syncUsers:!1}}}}async function I(){try{const f=await $fetch(`/api/v1/db/meta/syncs/${s.value.id}/trigger`,{baseURL:o,method:"POST",headers:{"xc-auth":r.token.value}});x.value=!1,F(f.id)}catch(f){ve.error(await Le(f))}}async function B(){ft.confirm({title:"Are you sure you want to abort this job?",type:"warn",content:"This is a highly experimental feature and only marks job as not started, please don't abort the job unless you are sure job is stuck.",onOk:async()=>{try{await $fetch(`/api/v1/db/meta/syncs/${s.value.id}/abort`,{baseURL:o,method:"POST",headers:{"xc-auth":r.token.value}}),z.value=1,W.value=[],S.value=!1,C.value=!1}catch(f){ve.error(await Le(f))}}})}function M(){z.value=1,W.value=[],S.value=!1,C.value=!1}function V(f){var h;return(h=f.details)!=null&&h.options||(f.details.options={syncViews:!1,syncData:!0,syncRollup:!1,syncLookup:!0,syncFormula:!1,syncAttachment:!0},f.details.options.syncViews=f.syncViews,delete f.syncViews),f}Kt(()=>s.value.details.syncSourceUrlOrId,f=>{if(s.value.details){const h=f&&f.match(/(exp|shr).{14}/g);s.value.details.shareId=h?h[0]:"";const K=f&&f.match(/(app).{14}/g);s.value.details.appId=K?K[0]:""}}),Ue(async()=>{s.value.id&&F(),await L()});function $(f){let h="";for(const Y of document.querySelectorAll(".nc-modal-airtable-import .log-message"))h+=`${Y.textContent}
`;const K=document.createElement("a");K.setAttribute("href",`data:text/plain;charset=utf-8,${encodeURIComponent(h)}`),K.setAttribute("download",f),K.style.display="none",document.body.appendChild(K),K.click(),document.body.removeChild(K)}return(f,h)=>{const K=la,Y=an,oe=tn,se=on,de=nn,we=Jt,De=Qe,pe=Ye,Ee=ao,Pe=Mn,xe=ft,$e=En("e");return q(),te(xe,{visible:i(_),"onUpdate:visible":h[14]||(h[14]=G=>ct(_)?_.value=G:null),class:ut([{active:i(_)},"p-2"]),closable:i(z)!==2,keyboard:i(z)!==2,"mask-closable":i(z)!==2,width:"max(30vw, 600px)","wrap-class-name":"nc-modal-airtable-import",onKeydown:h[15]||(h[15]=Wt(G=>_.value=!1,["esc"]))},{footer:E(()=>[i(z)===1?(q(),ye("div",Ro,[m(pe,{key:"back",onClick:h[13]||(h[13]=G=>_.value=!1)},{default:E(()=>[ae(N(f.$t("general.cancel")),1)]),_:1}),bt((q(),te(pe,{key:"submit",type:"primary",class:"nc-btn-airtable-import",loading:i(p),disabled:i(ee),onClick:k},{default:E(()=>[ae(N(f.$t("activity.import")),1)]),_:1},8,["loading","disabled"])),[[$e,["c:sync-airtable:save-and-sync"]]])])):he("",!0)]),default:E(()=>[H("div",oo,[H("div",{class:"mt-5 prose-xl font-weight-bold",onDblclick:h[0]||(h[0]=G=>C.value=!0)},N(f.$t("title.quickImportAirtable")),33),i(z)===1?(q(),ye("div",ro,[H("div",so,[H("span",io,N(f.$t("general.credentials")),1),H("a",lo,N(f.$t("msg.info.airtable.credentials")),1)]),m(De,{ref:"form",model:i(s),name:"quick-import-airtable-form",layout:"horizontal",class:"m-0"},{default:E(()=>[m(Y,Ft(Rt(i(Z)["details.apiKey"])),{default:E(()=>[m(K,{value:i(s).details.apiKey,"onUpdate:value":h[1]||(h[1]=G=>i(s).details.apiKey=G),class:"nc-input-api-key",placeholder:`${f.$t("labels.apiKey")} / ${f.$t("labels.personalAccessToken")}`,size:"large"},null,8,["value","placeholder"])]),_:1},16),m(Y,Ft(Rt(i(Z)["details.syncSourceUrlOrId"])),{default:E(()=>[m(oe,{value:i(s).details.syncSourceUrlOrId,"onUpdate:value":h[2]||(h[2]=G=>i(s).details.syncSourceUrlOrId=G),class:"nc-input-shared-base",placeholder:`${f.$t("labels.sharedBaseUrl")}`,size:"large"},null,8,["value","placeholder"])]),_:1},16),H("div",co,N(f.$t("title.advancedSettings")),1),m(se,{class:"mt-2 mb-5"}),H("div",uo,[m(de,{checked:i(s).details.options.syncData,"onUpdate:checked":h[3]||(h[3]=G=>i(s).details.options.syncData=G)},{default:E(()=>[ae(N(f.$t("labels.importData")),1)]),_:1},8,["checked"])]),H("div",fo,[m(de,{checked:i(s).details.options.syncViews,"onUpdate:checked":h[4]||(h[4]=G=>i(s).details.options.syncViews=G)},{default:E(()=>[ae(N(f.$t("labels.importSecondaryViews")),1)]),_:1},8,["checked"])]),H("div",mo,[m(de,{checked:i(s).details.options.syncRollup,"onUpdate:checked":h[5]||(h[5]=G=>i(s).details.options.syncRollup=G)},{default:E(()=>[ae(N(f.$t("labels.importRollupColumns")),1)]),_:1},8,["checked"])]),H("div",po,[m(de,{checked:i(s).details.options.syncLookup,"onUpdate:checked":h[6]||(h[6]=G=>i(s).details.options.syncLookup=G)},{default:E(()=>[ae(N(f.$t("labels.importLookupColumns")),1)]),_:1},8,["checked"])]),H("div",vo,[m(de,{checked:i(s).details.options.syncAttachment,"onUpdate:checked":h[7]||(h[7]=G=>i(s).details.options.syncAttachment=G)},{default:E(()=>[ae(N(f.$t("labels.importAttachmentColumns")),1)]),_:1},8,["checked"])]),H("div",go,[m(we,{placement:"top"},{title:E(()=>[H("span",null,N(f.$t("title.comingSoon")),1)]),default:E(()=>[m(de,{checked:i(s).details.options.syncFormula,"onUpdate:checked":h[8]||(h[8]=G=>i(s).details.options.syncFormula=G),disabled:""},{default:E(()=>[ae(N(f.$t("labels.importFormulaColumns")),1)]),_:1},8,["checked"])]),_:1})])]),_:1},8,["model"]),m(se),H("div",null,[H("a",ho,N(f.$t("general.questions"))+" / "+N(f.$t("general.help"))+" - "+N(f.$t("general.reachOut")),1),bo,H("div",null,[ae(N(f.$t("general.betaNote"))+" ",1),H("a",yo,N(f.$t("general.moreInfo")),1),ae(" . ")])])])):he("",!0),i(z)===2?(q(),ye("div",wo,[H("div",_o,N(f.$t("general.logs")),1),m(Pe,{ref_key:"logRef",ref:y,"body-style":{backgroundColor:"#000000",height:"400px",overflow:"auto"}},{default:E(()=>[i(j)||i(S)?(q(),te(pe,{key:0,class:"!absolute mr-1 mb-1 z-1 right-0 bottom-0 opacity-40 hover:opacity-100",size:"small",onClick:h[9]||(h[9]=G=>$("at-import-logs.txt"))},{default:E(()=>[(q(),te(Te(("iconMap"in f?f.iconMap:i(ke)).download),{class:"text-green-500"}))]),_:1})):he("",!0),(q(!0),ye(jn,null,An(i(W),({msg:G,status:je},_e)=>(q(),ye("div",{key:_e},[je===i(Se).FAILED?(q(),ye("div",Io,[(q(),te(Te(("iconMap"in f?f.iconMap:i(ke)).closeCircle),{class:"text-red-500"})),H("span",To,N(G),1)])):(q(),ye("div",ko,[m(Ee,{class:"text-green-500"}),H("span",Co,N(G),1)]))]))),128)),!i(W)||!i(W).length||i(W)[i(W).length-1].status!==i(Se).COMPLETED&&i(W)[i(W).length-1].status!==i(Se).FAILED?(q(),ye("div",Do,[(q(),te(Te(("iconMap"in f?f.iconMap:i(ke)).loading),{class:"text-green-500 animate-spin"})),H("span",So,N(f.$t("labels.importing")),1)])):he("",!0)]),_:1},512),H("div",Fo,[i(j)?(q(),te(pe,{key:0,class:"mt-4",size:"large",onClick:h[10]||(h[10]=G=>_.value=!1)},{default:E(()=>[ae(N(f.$t("labels.goToDashboard")),1)]),_:1})):i(S)?(q(),te(pe,{key:1,class:"mt-4 uppercase",size:"large",danger:"",onClick:h[11]||(h[11]=G=>M())},{default:E(()=>[ae(N(f.$t("general.cancel")),1)]),_:1})):i(C)?(q(),te(pe,{key:2,class:"mt-4 uppercase",size:"large",danger:"",onClick:h[12]||(h[12]=G=>B())},{default:E(()=>[ae(N(f.$t("general.abort")),1)]),_:1})):he("",!0)])])):he("",!0)])]),_:1},8,["visible","class","closable","keyboard","mask-closable"])}}});class cn{constructor(e){Q(this,"progressCallback");this.progressCallback=e}progress(e){var t;(t=this.progressCallback)==null||t.call(this,e)}init(){}parse(){throw new Error("'parse' method is not implemented")}parseData(){throw new Error("'parseData' method is not implemented")}parseTemplate(){throw new Error("'parseTemplate' method is not implemented")}getColumns(){throw new Error("'getColumns' method is not implemented")}getTemplate(){throw new Error("'getTemplate' method is not implemented")}getData(){throw new Error("'getData' method is not implemented")}}const Oo={number:w.Number,string:w.SingleLineText,date:w.DateTime,boolean:w.Checkbox,object:w.JSON},Bt=(a,e)=>e.reduce((t,n)=>t&&t[n],a);class vt extends cn{constructor(t,n={},o){super(o);Q(this,"config");Q(this,"data");Q(this,"_jsonData");Q(this,"jsonData");Q(this,"base");Q(this,"columns");this.config=n,this._jsonData=t,this.base={tables:[]},this.jsonData=[],this.data=[],this.columns={}}async init(){this.progress("Initializing json parser");const t=typeof this._jsonData=="string"?JSON.parse(this._jsonData):JSON.parse(new TextDecoder().decode(this._jsonData));this.jsonData=Array.isArray(t)?t:[t]}getColumns(){return this.columns}getData(){return this.data}parse(){this.progress("Parsing json data");const t=this.jsonData,n="table",o={table_name:n,ref_table_name:n,columns:[]};this.data[n]=[];for(const r of Object.keys(t[0])){const l=this._parseColumn([r],t);o.columns.push(...l)}this.config.shouldImportData&&this._parseTableData(o),this.base.tables.push(o)}getTemplate(){return this.base}_parseColumn(t=[],n=this.jsonData,o=t.reduce((r,l)=>r&&r[l],this.jsonData[0])){const r=[];if(o&&typeof o=="object"&&!Array.isArray(o)&&this.config.normalizeNested)for(const l of Object.keys(o)){const d=this._parseColumn([...t,l],this.jsonData,o[l]);r.push(...d)}else{const l=t.join(" ").trim(),d=t.join("_").replace(/\W/g,"_").trim(),g={title:l,column_name:d,ref_column_name:d,uidt:w.SingleLineText,path:t};if(this.config.autoSelectFieldTypes){g.uidt=Oo[typeof o]||w.SingleLineText;const u=n.map(R=>Bt(R,t));Object.assign(g,Vn(u,g.uidt))}r.push(g)}return r}_parseTableData(t){for(const n of this.jsonData){const o={};for(let r=0;r<t.columns.length;r++){const l=Bt(n,t.columns[r].path||[]);t.columns[r].uidt===w.Checkbox?o[t.columns[r].ref_column_name]=yt(l):t.columns[r].uidt===w.SingleSelect||t.columns[r].uidt===w.MultiSelect?o[t.columns[r].ref_column_name]=(l||"").toString().trim()||null:t.columns[r].uidt===w.JSON?o[t.columns[r].ref_column_name]=JSON.stringify(l):o[t.columns[r].column_name]=l}this.data[t.ref_table_name].push(o)}}}class Po extends vt{constructor(t,n,o,r){super({},n,r);Q(this,"url");Q(this,"$api");this.url=t,this.$api=o}async init(){this.progress("Downloading json file");const t=await this.$api.utils.axiosRequestMake({apiMeta:{url:this.url}});this._jsonData=t,await super.init()}}class Vt{constructor(e,t={},n){Q(this,"config");Q(this,"source");Q(this,"detectedColumnTypes");Q(this,"distinctValues");Q(this,"headers");Q(this,"tables");Q(this,"base");Q(this,"data",{});Q(this,"columnValues");Q(this,"progressCallback");this.config=t,this.source=e,this.base={tables:[]},this.detectedColumnTypes={},this.distinctValues={},this.headers={},this.columnValues={},this.tables={},this.progressCallback=n}async init(){}initTemplate(e,t,n){const o=+n.every(d=>d===null||typeof d=="string"),r={id:0,Id:0},l={table_name:t,ref_table_name:t,columns:[]};this.headers[e]=[],this.tables[e]=[];for(const[d,g]of n.entries()){const u=(o&&g.toString().trim()||`Field ${d+1}`).trim();let R=(o&&g.toString().trim()||`field_${d+1}`).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;R in r;)R=`${R}${++r[R]}`;r[R]=0,this.detectedColumnTypes[d]={},this.distinctValues[d]=new Set,this.columnValues[d]=[],l.columns.push({title:u,column_name:R,ref_column_name:R,meta:{},uidt:w.SingleLineText,key:d}),this.headers[e].push(R),this.tables[e]=l}}detectInitialUidt(e){return!isNaN(Number(e))&&!isNaN(parseFloat(e))?w.Number:Nn(e)?w.DateTime:mt(e)?w.Checkbox:w.SingleLineText}detectColumnType(e,t){for(let n=0;n<t.length;n++){if(!t[n])continue;const o=[t[n]],r={uidt:this.detectInitialUidt(t[n])};Yt(o)?r.uidt=w.LongText:r.uidt===w.SingleLineText?Xt(o)?r.uidt=w.Email:Qt(o)?r.uidt=w.URL:mt(o)?r.uidt=w.Checkbox:t[n]&&n<this.config.maxRowsToParse&&(this.columnValues[n].push(t[n]),r.uidt=w.SingleSelect):r.uidt===w.Number?zn(o)&&(r.uidt=w.Decimal):r.uidt===w.DateTime&&t[n]&&n<this.config.maxRowsToParse&&this.columnValues[n].push(t[n]),r.uidt in this.detectedColumnTypes[n]||(this.detectedColumnTypes[n]={...this.detectedColumnTypes[n],[r.uidt]:0}),this.detectedColumnTypes[n][r.uidt]+=1,t[n]&&this.distinctValues[n].add(t[n])}}getPossibleUidt(e){const t=this.detectedColumnTypes[e],n=Object.keys(t).length;return n===0?w.SingleLineText:n===2&&w.Number in t&&w.Decimal in t?w.Decimal:n>1?w.LongText in t?w.LongText:w.SingleLineText:Object.keys(t)[0]}updateTemplate(e){for(let t=0;t<this.headers[e].length;t++){const n=this.getPossibleUidt(t);if(this.columnValues[t].length>0){if(n===w.DateTime){const o={};if(this.columnValues[t].slice(1,this.config.maxRowsToParse).every(r=>{const l=r.split(" ").length===1;return l&&(o[Xe(r)]=(o[Xe(r)]||0)+1),l})){this.tables[e].columns[t].uidt=w.Date;const r=Object.keys(o);this.tables[e].columns[t].meta.date_format=r.length?r.reduce((l,d)=>o[l]>o[d]?l:d):"YYYY/MM/DD"}else this.tables[e].columns[t].uidt=n}else n===w.SingleSelect||n===w.MultiSelect?(this.tables[e].columns[t].uidt=w.SingleLineText,Object.assign(this.tables[e].columns[t],Zt(this.columnValues[t]))):this.tables[e].columns[t].uidt=n;delete this.columnValues[t]}else this.tables[e].columns[t].uidt=n}}async _parseTableData(e,t,n){return new Promise((o,r)=>{const l=this;let d=0;if(l.config.shouldImportData){l.progress(`Processing ${n} data`),d=0;const g=this.config.importFromURL?t:t.originFileObj;xt.parse(g,{download:l.config.importFromURL,skipEmptyLines:"greedy",step(u){if(d+=1,u&&d>=+l.config.firstRowAsHeaders+1){const R={};for(let U=0;U<l.headers[e].length;U++){const j=l.tables[e].columns[U],z=u.data[U]===""?null:u.data[U];j.uidt===w.Checkbox?R[j.column_name]=yt(z):j.uidt===w.SingleSelect||j.uidt===w.MultiSelect?R[j.column_name]=(z||"").toString().trim()||null:R[j.column_name]=z}l.data[n].push(R)}d%1e3===0&&l.progress(`Processed ${d} rows of ${n}`)},complete(){l.progress(`Processed ${n} data`),o(!0)},error(u){r(u)}})}else o(!0)})}async _parseTableMeta(e,t){return new Promise((n,o)=>{const r=this;let l=0;const d=(this.config.importFromURL?t.split("/").pop():t.name).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();this.data[d]=[];const g=this.config.importFromURL?t:t.originFileObj;xt.parse(g,{download:r.config.importFromURL,skipEmptyLines:"greedy",step(u){l+=1,u&&(l===1?r.config.firstRowAsHeaders?r.initTemplate(e,d,u.data):(r.initTemplate(e,d,[...Array(u.data.length)].map((R,U)=>`field_${U+1}`)),r.config.autoSelectFieldTypes&&r.detectColumnType(e,u.data)):r.config.autoSelectFieldTypes&&r.detectColumnType(e,u.data))},async complete(){r.updateTemplate(e),r.base.tables.push(r.tables[e]),r.progress(`Processed ${d} metadata`),await r._parseTableData(e,t,d),n(!0)},error(u){o(u)}})})}async parse(){this.config.importFromURL?await this._parseTableMeta(0,this.source):await Promise.all(this.source.map((e,t)=>(async(n,o)=>{this.progress(`Parsing ${n.name}`),await this._parseTableMeta(o,n)})(e,t)))}getColumns(){return this.base.tables.map(e=>e.columns)}getData(){return this.data}getTemplate(){return this.base}progress(e){var t;(t=this.progressCallback)==null||t.call(this,e)}}const xo={d:w.DateTime,b:w.Checkbox,n:w.Number,s:w.SingleLineText};class un extends cn{constructor(t={},n={},o=null,r){super(r);Q(this,"config");Q(this,"excelData");Q(this,"base");Q(this,"data",{});Q(this,"wb");Q(this,"xlsx");this.config=n,this.excelData=t,this.base={tables:[]},this.xlsx=o}async init(){this.progress("Initializing excel parser"),this.xlsx=this.xlsx||await wt(()=>import("./C2piJvdv.js"),[],import.meta.url);const t={cellText:!0,cellDates:!0};this.wb=this.xlsx.read(new Uint8Array(this.excelData),{type:"array",...t})}async parse(){this.progress("Parsing excel file");const t={};await Promise.all(this.wb.SheetNames.map(n=>(async o=>{this.progress(`Parsing sheet ${n}`),await new Promise(r=>{const l={id:0,Id:0};let d=(o||"table").replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;d in t;)d=`${d}${++t[d]}`;t[d]=0;const g={table_name:d,ref_table_name:d,columns:[]},u=this.wb.Sheets[o];if(!u||!u["!ref"])return r(!0);const R=this.xlsx.utils.decode_range(u["!ref"]);let U=this.xlsx.utils.sheet_to_json(u,{header:1,blankrows:!1,defval:null});const j=new Date(1899,11,30,0,0,0),z=j.getTime()+(new Date().getTimezoneOffset()-j.getTimezoneOffset())*6e4,W=24*60*60*1e3,y=C=>{const S=this.xlsx.SSF.parse_date_code((C.getTime()-z)/W,{date1904:this.wb.Workbook.WBProps.date1904});return new Date(S.y,S.m,S.d,S.H,S.M,S.S)};U=U.map(C=>C.map(S=>S instanceof Date?y(S):S));for(let C=0;C<U[0].length;C++){const S=(this.config.firstRowAsHeaders&&U[0]&&U[0][C]&&U[0][C].toString().trim()||`Field ${C+1}`).trim();let x=(this.config.firstRowAsHeaders&&U[0]&&U[0][C]&&U[0][C].toString().trim()||`field_${C+1}`).replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/g,"_").trim();for(;x in l;)x=`${x}${++l[x]}`;l[x]=0;const s={title:S,column_name:x,ref_column_name:x,meta:{},uidt:w.SingleLineText};if(this.config.autoSelectFieldTypes){const D=this.xlsx.utils.encode_cell({c:R.s.c+C,r:+this.config.firstRowAsHeaders}),b=u[D]||{};if(s.uidt=this.config.importDataOnly?xo[b.t]||w.SingleLineText:w.SingleLineText,s.uidt===w.SingleLineText&&this.config.importDataOnly)if(Yt(U,C))s.uidt=w.LongText;else if(Xt(U,C))s.uidt=w.Email;else if(Qt(U,C))s.uidt=w.URL;else{const v=U.slice(+this.config.firstRowAsHeaders).map(P=>P[C]).filter(P=>P!=null&&P.toString().trim()!=="");mt(v,C)?s.uidt=w.Checkbox:Object.assign(s,Zt(v))}else if(s.uidt===w.Number)U.slice(1,this.config.maxRowsToParse).some(v=>v&&v[C]&&parseInt(v[C])!==+v[C])&&(s.uidt=w.Decimal),U.slice(1,this.config.maxRowsToParse).every((v,P)=>{const _=this.xlsx.utils.encode_cell({c:R.s.c+C,r:P+ +this.config.firstRowAsHeaders}),A=u[_];return!A||A.w&&A.w.startsWith("$")})&&(s.uidt=w.Currency),U.slice(1,this.config.maxRowsToParse).some((v,P)=>{const _=this.xlsx.utils.encode_cell({c:R.s.c+C,r:P+ +this.config.firstRowAsHeaders}),A=u[_];return!A||A.w&&!(!isNaN(Number(A.w))&&!isNaN(parseFloat(A.w)))})&&(s.uidt=w.SingleLineText);else if(s.uidt===w.DateTime){const v={};U.slice(1,this.config.maxRowsToParse).every((P,_)=>{const A=this.xlsx.utils.encode_cell({c:R.s.c+C,r:_+ +this.config.firstRowAsHeaders}),Z=u[A],ee=!Z||Z.w&&Z.w.split(" ").length===1;return ee&&Z&&(v[Xe(Z.w)]=(v[Xe(Z.w)]||0)+1),ee})&&(s.uidt=w.Date,s.meta.date_format=Object.keys(v).reduce((P,_)=>v[P]>v[_]?P:_)||"YYYY/MM/DD")}}g.columns.push(s)}if(this.base.tables.push(g),this.data[d]=[],this.config.shouldImportData){this.progress(`Parsing data from ${d}`);let C=0;for(const S of U.slice(1)){const x={};for(let s=0;s<g.columns.length;s++)if(!this.config.autoSelectFieldTypes||!this.config.importDataOnly){const D=this.xlsx.utils.encode_cell({c:R.s.c+s,r:C+ +this.config.firstRowAsHeaders}),b=u[D];x[g.columns[s].column_name]=b&&b.w||S[s]}else if(g.columns[s].uidt===w.Checkbox)x[g.columns[s].column_name]=yt(S[s]);else if(g.columns[s].uidt===w.Currency){const D=this.xlsx.utils.encode_cell({c:R.s.c+s,r:C+ +this.config.firstRowAsHeaders}),b=u[D];x[g.columns[s].column_name]=b&&typeof(b==null?void 0:b.w)=="string"&&b.w.replace(/[^\d.]+/g,"")||S[s]}else if(g.columns[s].uidt===w.SingleSelect||g.columns[s].uidt===w.MultiSelect)x[g.columns[s].column_name]=(S[s]||"").toString().trim()||null;else if(g.columns[s].uidt===w.Date){const D=this.xlsx.utils.encode_cell({c:R.s.c+s,r:C+ +this.config.firstRowAsHeaders}),b=u[D];x[g.columns[s].column_name]=b&&b.w||S[s]}else g.columns[s].uidt===w.SingleLineText||g.columns[s].uidt===w.LongText?x[g.columns[s].column_name]=S[s]===null||S[s]===void 0?null:`${S[s]}`:x[g.columns[s].column_name]=S[s];this.data[d].push(x),C++}}r(!0)})})(n)))}getTemplate(){return this.base}getData(){return this.data}getColumns(){return this.base.tables.map(t=>t.columns)}}class $o extends un{constructor(t,n,o,r=null,l){super({},n,r,l);Q(this,"url");Q(this,"excelData");Q(this,"$api");this.url=t,this.excelData=null,this.$api=o}async init(){this.progress("Downloading excel file");const t=await this.$api.utils.axiosRequestMake({apiMeta:{url:this.url}});this.excelData=t.data,await super.init()}}const Lo=""+new URL("importWorker-B-m8OMQZ.js",import.meta.url).href,Uo=en(()=>wt(()=>import("./l7cnUQYi.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url).then(a=>a.default||a)),Eo=en(()=>wt(()=>import("./BDzLU6qG.js"),__vite__mapDeps([25,26,1,2,27,28,29]),import.meta.url).then(a=>a.default||a)),jo={class:"px-5"},Ao={class:"prose-xl font-weight-bold my-5"},Mo={class:"flex items-center gap-2"},Bo={class:"py-6"},Vo={class:"ant-upload-text"},No={class:"ant-upload-hint"},zo={class:"flex items-center gap-2"},Ho={class:"pb-3 pt-3"},qo={class:"flex items-center gap-2"},Jo={class:"pr-10 pt-5"},Go={key:0},Ko={class:"mb-4"},Wo={class:"prose-lg"},Yo={class:"caption"},Xo={class:"caption"},Qo=Ce({__name:"QuickImport",props:{modelValue:{type:Boolean},importType:{},baseId:{},sourceId:{},importDataOnly:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(a,{expose:e,emit:t}){const n=Yn(a,["importType","importDataOnly","baseId","sourceId"]),o=t,{$api:r}=dt(),{appInfo:l}=Ot(),d=ta(),g=typeof Worker<"u";let u;const{t:R}=Hn(),U=X("Parsing Data ..."),{tables:j}=Pt(Gt()),z=qn(),{loadProjectTables:W}=z,{baseTables:y}=Pt(z),C=X("uploadTab"),S=X(),x=X(),s=X(!1),D=X(!1),b=X(),v=X(),P=X([]),_=X(!1),A=X(!1),Z=Qe.useForm,ee={fileList:[],url:"",jsonEditor:{},parserConfig:{maxRowsToParse:500,normalizeNested:!0,autoSelectFieldTypes:!0,firstRowAsHeaders:!0,shouldImportData:!0,importDataOnly:!0}},p=Jn(ee),{token:k}=Ot(),O=ue(()=>a.importType==="json"),F=ue(()=>a.importType==="csv"),L=ue(()=>a.importType==="excel"),I=ue(()=>({url:[pt(),oa,F.value?ra:sa]})),{validate:B,validateInfos:M}=Z(p,I),V=ue(()=>L.value?{header:`${R("title.quickImportExcel")}`,uploadHint:R("msg.info.excelSupport"),urlInputLabel:R("msg.info.excelURL"),loadUrlDirective:["c:quick-import:excel:load-url"],acceptTypes:".xls, .xlsx, .xlsm, .ods, .ots"}:F.value?{header:`${R("title.quickImportCSV")}`,uploadHint:"",urlInputLabel:R("msg.info.csvURL"),loadUrlDirective:["c:quick-import:csv:load-url"],acceptTypes:".csv"}:O.value?{header:`${R("title.quickImportJSON")}`,uploadHint:"",acceptTypes:".json"}:{}),$=Gn(n,"modelValue",o);g&&Kt($,async c=>{c?u=await Kn(Lo):u==null||u.terminate()},{immediate:!0});const f=ue(()=>{var c;if(C.value==="uploadTab")return!(p.fileList.length>0);if(C.value==="urlTab")return M.url.validateStatus?M.url.validateStatus==="error":!0;if(C.value==="jsonEditorTab")return!((c=S.value)!=null&&c.isValid)}),h=X(!1),K=ue(()=>{var c;return!((c=x.value)!=null&&c.isValid)||h.value}),Y=ue(()=>{var c;return!((c=S.value)!=null&&c.isValid)}),oe=ue(()=>"max(60vw, 600px)");let se;async function de(){if(s.value=!0,A.value=!0,y.value.get(a.baseId)||await W(a.baseId),C.value==="uploadTab")F.value||g&&u?await _e(p.fileList):await _e(p.fileList[0].data);else if(C.value==="urlTab")try{await B(),await _e(p.url)}catch(c){ve.error(await Le(c))}else C.value==="jsonEditorTab"&&await _e(JSON.stringify(p.jsonEditor))}async function we(){try{if(!se&&!u){ve.error(R("msg.error.templateGeneratorNotFound"));return}D.value=!0,await x.value.importTemplate()}catch(c){return ve.error(await Le(c))}finally{D.value=!1,_.value=!1,Object.assign(p,ee)}$.value=!1}function De(c){c.map(T=>ve.error(`${R("msg.error.fileUploadFailed")} ${T.name}`))}function pe(c){const T=c.file.status;if(T&&T!=="uploading"&&T!=="removed")if(F.value||g&&u)p.fileList.find(ce=>ce.uid===c.file.uid)||p.fileList.push({...c.file,status:"done"});else{const ce=new FileReader;ce.onload=ie=>{const re=p.fileList.find(be=>be.uid===c.file.uid);ie.target&&ie.target.result&&(re?re.data=ie.target.result:re||p.fileList.push({...c.file,status:"done",data:ie.target.result}))},ce.readAsArrayBuffer(c.file.originFileObj)}T==="done"?ve.success(`Uploaded file ${c.file.name} successfully`):T==="error"&&ve.error(`${R("msg.error.fileUploadFailed")} ${c.file.name}`)}function Ee(){var c;(c=S.value)==null||c.format()}function Pe(c,T=[]){var ie;let ce=1;for(;T.includes(c)||(ie=y.value.get(a.baseId))!=null&&ie.some(re=>{const be=re.table_name.split("___");let ge=re.table_name;return be.length>1&&(ge=be[1]),ge===`${c}`||re.table_name===`${c}`});)c=`${c}_${ce++}`;return c}function xe(c){if(F.value)switch(C.value){case"uploadTab":return new Vt(c,{...p.parserConfig,importFromURL:!1});case"urlTab":return new Vt(c,{...p.parserConfig,importFromURL:!0})}else if(L.value)switch(C.value){case"uploadTab":return new un(c,p.parserConfig);case"urlTab":return new $o(c,p.parserConfig,r)}else if(O.value)switch(C.value){case"uploadTab":return new vt(c,p.parserConfig);case"urlTab":return new Po(c,p.parserConfig,r);case"jsonEditorTab":return new vt(c,p.parserConfig)}return null}e({handleChange:pe});const $e=c=>{p.fileList.forEach(T=>{T.uid===c.file.uid&&(T.status="done",pe({file:T,fileList:p.fileList}))}),c.onSuccess()},G=c=>{const T=c.size/1024/1024>5;return T&&ve.error(`File ${c.name} is too big. The accepted file size is less than 5MB.`),!T||Qa.LIST_IGNORE};function je(c){let T;if(F.value)switch(C.value){case"uploadTab":T={config:{...p.parserConfig,importFromURL:!1},value:c,importType:Re.CSV,importSource:Oe.FILE};break;case"urlTab":T={config:{...p.parserConfig,importFromURL:!0},value:c,importType:Re.CSV,importSource:Oe.FILE};break}else if(L.value)switch(C.value){case"uploadTab":T={config:Fe(p.parserConfig),value:c,importType:Re.EXCEL,importSource:Oe.FILE};break;case"urlTab":T={config:Fe(p.parserConfig),value:c,importType:Re.EXCEL,importSource:Oe.URL};break}else if(O.value)switch(C.value){case"uploadTab":T={config:Fe(p.parserConfig),value:c,importType:Re.JSON,importSource:Oe.FILE};break;case"urlTab":T={config:Fe(p.parserConfig),value:c,importType:Re.JSON,importSource:Oe.URL};break;case"jsonEditorTab":T={config:Fe(p.parserConfig),value:c,importType:Re.JSON,importSource:Oe.STRING};break}return T}async function _e(c){b.value=null,v.value=null,P.value=[];try{if(g&&u){u.postMessage([ze.INIT_SDK,{baseURL:d.public.ncBackendUrl||l.value.ncSiteUrl||Xn,token:k.value}]);let T=Fe(c);Array.isArray(T)&&(T=T.map(re=>Fe(re)));const ce=je(T);u.postMessage([ze.SET_TABLES,i(j).map(re=>({table_name:re.table_name,title:re.title}))]),u.postMessage([ze.SET_CONFIG,{importDataOnly:a.importDataOnly,importColumns:!!P.value,importData:!!v.value}]);const ie=await new Promise((re,be)=>{const ge=fe=>{const[me,Ae]=fe.data;switch(me){case ot.PROCESSED_DATA:re(Ae),u==null||u.removeEventListener("message",ge,!1);break;case ot.PROGRESS:U.value=Ae;break;case ot.ERROR:be(Ae),u==null||u.removeEventListener("message",ge,!1);break}};u==null||u.addEventListener("message",ge,!1),u==null||u.postMessage([ze.PROCESS,ce])});b.value=ie.templateData,P.value=ie.importColumns,v.value=ie.importData}else{if(se=xe(c),!se){ve.error(R("msg.error.templateGeneratorNotFound"));return}if(await se.init(),await se.parse(),b.value=se.getTemplate(),a.importDataOnly)P.value=se.getColumns();else{const T=[];b.value.tables=b.value.tables.map(ce=>{const ie=Pe(ce.table_name,T);return T.push(ie),{...ce,table_name:ie}})}v.value=se.getData()}_.value=!0}catch(T){console.log(T),ve.error(await Le(T))}finally{A.value=!1,s.value=!1}}const Ze=()=>{h.value=!0},et=()=>{h.value=!1};return Ue(()=>{p.parserConfig.importDataOnly=a.importDataOnly,p.parserConfig.autoSelectFieldTypes=a.importDataOnly}),(c,T)=>{const ce=Uo,ie=Xa,re=Qn,be=Eo,ge=tn,fe=an,me=Qe,Ae=Zn,dn=on,tt=nn,fn=ea,Me=Ye,mn=ft;return q(),te(mn,{visible:i($),"onUpdate:visible":T[9]||(T[9]=le=>ct($)?$.value=le:null),class:ut({active:i($)}),width:i(oe),"wrap-class-name":"nc-modal-quick-import",onKeydown:T[10]||(T[10]=Wt(le=>$.value=!1,["esc"]))},{footer:E(()=>[i(_)?(q(),te(Me,{key:"back",class:"!rounded-md",onClick:T[7]||(T[7]=le=>_.value=!1)},{default:E(()=>[ae(N(c.$t("general.back")),1)]),_:1})):(q(),te(Me,{key:"cancel",class:"!rounded-md",onClick:T[8]||(T[8]=le=>$.value=!1)},{default:E(()=>[ae(N(c.$t("general.cancel")),1)]),_:1})),i(C)==="jsonEditorTab"&&!i(_)?(q(),te(Me,{key:"format",class:"!rounded-md",disabled:i(Y),onClick:Ee},{default:E(()=>[ae(N(c.$t("labels.formatJson")),1)]),_:1},8,["disabled"])):he("",!0),i(_)?(q(),te(Me,{key:"import",type:"primary",class:"!rounded-md",loading:i(D),disabled:i(K),onClick:we},{default:E(()=>[ae(N(c.$t("activity.import")),1)]),_:1},8,["loading","disabled"])):(q(),te(Me,{key:"pre-import",type:"primary",class:"nc-btn-import !rounded-md",loading:i(s),disabled:i(f),onClick:de},{default:E(()=>[ae(N(c.$t("activity.import")),1)]),_:1},8,["loading","disabled"]))]),default:E(()=>[m(fn,{spinning:i(A),tip:i(U),size:"large"},{default:E(()=>[H("div",jo,[H("div",Ao,N(i(V).header),1),H("div",{class:ut(["mt-5",{"mb-4":i(_)}])},[i(_)?(q(),te(ce,{key:0,ref_key:"templateEditorRef",ref:x,"base-template":i(b),"import-data":i(v),"import-columns":i(P),"import-data-only":c.importDataOnly,"quick-import-type":c.importType,"max-rows-to-parse":i(p).parserConfig.maxRowsToParse,"base-id":c.baseId,"source-id":c.sourceId,"import-worker":i(u),class:"nc-quick-import-template-editor",onImport:we,onError:Ze,onChange:et},null,8,["base-template","import-data","import-columns","import-data-only","quick-import-type","max-rows-to-parse","base-id","source-id","import-worker"])):(q(),te(Ae,{key:1,activeKey:i(C),"onUpdate:activeKey":T[3]||(T[3]=le=>ct(C)?C.value=le:null),"hide-add":"",type:"editable-card","tab-position":"top"},{default:E(()=>[m(re,{key:"uploadTab",closable:!1},{tab:E(()=>[H("div",Mo,[(q(),te(Te(("iconMap"in c?c.iconMap:i(ke)).fileUpload))),ae(" "+N(c.$t("general.upload")),1)])]),default:E(()=>[H("div",Bo,[m(ie,{fileList:i(p).fileList,"onUpdate:fileList":T[0]||(T[0]=le=>i(p).fileList=le),name:"file",class:"nc-input-import !scrollbar-thin-dull","list-type":"picture",accept:i(V).acceptTypes,"max-count":i(F)?5:1,multiple:!0,"custom-request":$e,"before-upload":G,onChange:pe,onReject:De},{removeIcon:E(()=>[(q(),te(Te(("iconMap"in c?c.iconMap:i(ke)).deleteListItem)))]),default:E(()=>[(q(),te(Te(("iconMap"in c?c.iconMap:i(ke)).plusCircle),{size:"large"})),H("p",Vo,N(c.$t("msg.info.import.clickOrDrag")),1),H("p",No,N(i(V).uploadHint),1)]),_:1},8,["fileList","accept","max-count"])])]),_:1}),i(O)?(q(),te(re,{key:"jsonEditorTab",closable:!1},{tab:E(()=>[H("span",zo,[(q(),te(Te(("iconMap"in c?c.iconMap:i(ke)).json))),ae(" "+N(c.$t("title.jsonEditor")),1)])]),default:E(()=>[H("div",Ho,[m(be,{ref_key:"jsonEditorRef",ref:S,modelValue:i(p).jsonEditor,"onUpdate:modelValue":T[1]||(T[1]=le=>i(p).jsonEditor=le),class:"min-h-60 max-h-80"},null,8,["modelValue"])])]),_:1})):(q(),te(re,{key:"urlTab",closable:!1},{tab:E(()=>[H("span",qo,[(q(),te(Te(("iconMap"in c?c.iconMap:i(ke)).link))),ae(" "+N(c.$t("datatype.URL")),1)])]),default:E(()=>[H("div",Jo,[m(me,{model:i(p),name:"quick-import-url-form",layout:"vertical",class:"mb-0 !ml-0.5"},{default:E(()=>[m(fe,Wn({label:i(V).urlInputLabel},i(M).url),{default:E(()=>[m(ge,{value:i(p).url,"onUpdate:value":T[2]||(T[2]=le=>i(p).url=le),size:"large",class:"!rounded-md"},null,8,["value"])]),_:1},16,["label"])]),_:1},8,["model"])])]),_:1}))]),_:1},8,["activeKey"]))],2),i(_)?he("",!0):(q(),ye("div",Go,[m(dn),H("div",Ko,[H("span",Wo,N(c.$t("title.advancedSettings")),1),i(F)||i(L)?(q(),te(fe,{key:0,class:"!my-2"},{default:E(()=>[m(tt,{checked:i(p).parserConfig.firstRowAsHeaders,"onUpdate:checked":T[4]||(T[4]=le=>i(p).parserConfig.firstRowAsHeaders=le)},{default:E(()=>[H("span",Yo,N(c.$t("labels.firstRowAsHeaders")),1)]),_:1},8,["checked"])]),_:1})):he("",!0),i(O)?(q(),te(fe,{key:1,class:"!my-2"},{default:E(()=>[m(tt,{checked:i(p).parserConfig.normalizeNested,"onUpdate:checked":T[5]||(T[5]=le=>i(p).parserConfig.normalizeNested=le)},{default:E(()=>[H("span",Xo,N(c.$t("labels.flattenNested")),1)]),_:1},8,["checked"])]),_:1})):he("",!0),c.importDataOnly?he("",!0):(q(),te(fe,{key:2,class:"!my-2"},{default:E(()=>[m(tt,{checked:i(p).parserConfig.shouldImportData,"onUpdate:checked":T[6]||(T[6]=le=>i(p).parserConfig.shouldImportData=le)},{default:E(()=>[ae(N(c.$t("labels.importData")),1)]),_:1},8,["checked"])]),_:1}))])]))])]),_:1},8,["spinning","tip"])]),_:1},8,["visible","class","width"])}}}),Zo=na(Qo,[["__scopeId","data-v-f3ddec40"]]),vr=Object.freeze(Object.defineProperty({__proto__:null,default:Zo},Symbol.toStringTag,{value:"Module"}));export{vr as Q,pr as _,Zo as a};
