@next-bricks/form 0.16.2 → 0.17.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.
Files changed (43) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/4106.2c3ac870.js +3 -0
  3. package/dist/chunks/4106.2c3ac870.js.map +1 -0
  4. package/dist/chunks/{5381.1951f423.js → 5381.cd0e1c89.js} +2 -2
  5. package/dist/chunks/{5381.1951f423.js.map → 5381.cd0e1c89.js.map} +1 -1
  6. package/dist/chunks/{6660.9f3d609d.js → 6660.e25f0c8c.js} +2 -2
  7. package/dist/chunks/{6660.9f3d609d.js.map → 6660.e25f0c8c.js.map} +1 -1
  8. package/dist/chunks/{7782.79f34fac.js → 7782.d942dcdf.js} +2 -2
  9. package/dist/chunks/7782.d942dcdf.js.map +1 -0
  10. package/dist/chunks/eo-checkbox.f3f6e67c.js.map +1 -1
  11. package/dist/chunks/{eo-dynamic-form-item.8958c43e.js → eo-dynamic-form-item.c0cc4284.js} +2 -2
  12. package/dist/chunks/{eo-dynamic-form-item.8958c43e.js.map → eo-dynamic-form-item.c0cc4284.js.map} +1 -1
  13. package/dist/chunks/{eo-form-item.650ff172.js → eo-form-item.83e55b03.js} +3 -3
  14. package/dist/chunks/{eo-form-item.650ff172.js.map → eo-form-item.83e55b03.js.map} +1 -1
  15. package/dist/chunks/{eo-radio.308a970e.js → eo-radio.0bcfd4c1.js} +3 -3
  16. package/dist/chunks/{eo-radio.308a970e.js.map → eo-radio.0bcfd4c1.js.map} +1 -1
  17. package/dist/chunks/eo-select.6a4726be.js +3 -0
  18. package/dist/chunks/eo-select.6a4726be.js.map +1 -0
  19. package/dist/chunks/{eo-upload-file.c4dd9207.js → eo-upload-file.08a5ad7f.js} +3 -3
  20. package/dist/chunks/{eo-upload-file.c4dd9207.js.map → eo-upload-file.08a5ad7f.js.map} +1 -1
  21. package/dist/chunks/{eo-upload-image.f5cac988.js → eo-upload-image.d68610ef.js} +3 -3
  22. package/dist/chunks/{eo-upload-image.f5cac988.js.map → eo-upload-image.d68610ef.js.map} +1 -1
  23. package/dist/chunks/{main.47ab9158.js → main.1557f57d.js} +2 -2
  24. package/dist/chunks/{main.47ab9158.js.map → main.1557f57d.js.map} +1 -1
  25. package/dist/examples.json +41 -0
  26. package/dist/{index.0d87e04c.js → index.df4d11aa.js} +2 -2
  27. package/dist/{index.0d87e04c.js.map → index.df4d11aa.js.map} +1 -1
  28. package/dist/manifest.json +14 -0
  29. package/dist/types.json +31 -0
  30. package/dist-types/interface.d.ts +4 -0
  31. package/dist-types/select/index.d.ts +7 -2
  32. package/package.json +3 -3
  33. package/dist/chunks/4106.c7cac45f.js +0 -3
  34. package/dist/chunks/4106.c7cac45f.js.map +0 -1
  35. package/dist/chunks/7782.79f34fac.js.map +0 -1
  36. package/dist/chunks/eo-select.b46254b2.js +0 -3
  37. package/dist/chunks/eo-select.b46254b2.js.map +0 -1
  38. /package/dist/chunks/{4106.c7cac45f.js.LICENSE.txt → 4106.2c3ac870.js.LICENSE.txt} +0 -0
  39. /package/dist/chunks/{eo-form-item.650ff172.js.LICENSE.txt → eo-form-item.83e55b03.js.LICENSE.txt} +0 -0
  40. /package/dist/chunks/{eo-radio.308a970e.js.LICENSE.txt → eo-radio.0bcfd4c1.js.LICENSE.txt} +0 -0
  41. /package/dist/chunks/{eo-select.b46254b2.js.LICENSE.txt → eo-select.6a4726be.js.LICENSE.txt} +0 -0
  42. /package/dist/chunks/{eo-upload-file.c4dd9207.js.LICENSE.txt → eo-upload-file.08a5ad7f.js.LICENSE.txt} +0 -0
  43. /package/dist/chunks/{eo-upload-image.f5cac988.js.LICENSE.txt → eo-upload-image.d68610ef.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
- /*! For license information please see eo-upload-file.c4dd9207.js.LICENSE.txt */
2
- (self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[4229,4795],{2343:(e,t,a)=>{"use strict";a.d(t,{g:()=>d});var r=a(3028),o=a(4795),n=a(8657),i=a.n(n),l=(a(5254),a(8633)),u=a(4145);function d(e){var{children:t,itemRender:a,autoUpload:d,onChange:s,uploadName:p="file",action:c,method:h,accept:m,maxCount:g,overMaxCountMode:v="replace",beforeUploadValidators:f=[],beforeUploadUserDataProcessor:b,multiple:x}=e,Z=(0,n.useRef)(null),[y,w]=(0,n.useState)([]);(0,n.useEffect)((()=>{w(e.fileList||[])}),[e.fileList]);var k=e=>e.filter((e=>(0,u.xz)(e,m))),E=function(){var e=(0,o.Z)((function*(e){return(yield Promise.all(e.map((t=>Promise.allSettled([t,(0,u.c7)(t),...f.map((a=>a(t,e)))]))))).map((e=>{var[t,...a]=e,r=t.value,o=[];return a.forEach((e=>{"rejected"===e.status&&o.push(e.reason)})),{file:r,errors:o}}))}));return function(t){return e.apply(this,arguments)}}(),D=function(){var e=(0,o.Z)((function*(e){return Promise.all(e.map(function(){var t=(0,o.Z)((function*(t){var{file:a,errors:r}=t,o=(0,u.sq)();return a.uid=o,{uid:o,file:a,name:a.name,status:r.length?"error":d?"uploading":"done",userData:yield null==b?void 0:b(a,e),errors:r}}));return function(e){return t.apply(this,arguments)}}()))}));return function(t){return e.apply(this,arguments)}}(),C=function(){var e=(0,o.Z)((function*(e){var t,a=[...e],o=[];if(g&&Number(g)>0){var n=y.length;if(n+a.length<=g)o=k(a);else{var i=a.length-(n+a.length-g);"ignore"===v?o=k(a).slice(0,i):(o=k(a).slice(-g,1/0),t=o.length<g?[o.length-g,1/0]:[0,0])}}else o=k(a);var d=yield E(o),m=yield D(d);(m.length||t)&&w((e=>{var a=(t?e.slice(...t):e).concat(m);return null==s||s(a),a})),m.forEach((e=>"uploading"===e.status&&(e=>{var t=new FormData,a=new AbortController;e[u.Ou]=a,t.append(p,e.file,e.file.name);var o=l.http.request(c,{method:h,body:t,signal:a.signal});return o.then((t=>((e,t)=>{w((a=>{var o=a.map((a=>a.uid===e.uid?(0,r.Z)((0,r.Z)({},a),{},{response:t,status:"done"}):a));return null==s||s(o),o}))})(e,t))).catch((t=>((e,t)=>{w((a=>{var o=a.map((a=>{var o;return a.uid===e.uid?(0,r.Z)((0,r.Z)({},a),{},{errors:null===(o=a.errors)||void 0===o?void 0:o.concat(t),status:"error"}):a}));return null==s||s(o),o}))})(e,t))),o})(e)))}));return function(t){return e.apply(this,arguments)}}(),U=function(){var e=(0,o.Z)((function*(e){e.stopPropagation(),C([...e.target.files]),e.target.value=""}));return function(t){return e.apply(this,arguments)}}();return i().createElement(i().Fragment,null,i().createElement("input",{ref:Z,type:"file",multiple:x,accept:m,hidden:!0,onChange:U}),i().createElement("div",{className:"upload-wrapper"},t(y,{upload:()=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.click()},uploadFiles:e=>C(e)}),i().createElement("div",{className:"file-list"},y.map((e=>{var t={remove:()=>(e=>{var t,a;"uploading"===e.status&&(null===(t=e[u.Ou])||void 0===t||t.abort()),a=e,w((e=>{var t=e.filter((e=>e.uid!==a.uid));return null==s||s(t),t}))})(e)};return i().createElement(i().Fragment,{key:e.uid},a(e,y,t))})))))}},2044:(e,t,a)=>{"use strict";a.d(t,{K:()=>r,NS:()=>o,k:()=>n});var r=function(e){return e.UPLOAD="UPLOAD",e.FILE_UPLOADING="FILE_UPLOADING",e.DRAG_UPLOAD_TEXT="DRAG_UPLOAD_TEXT",e}({}),o="bricks/form/eo-upload-file",n={en:{UPLOAD:"Upload",FILE_UPLOADING:"File is still uploading",DRAG_UPLOAD_TEXT:"Drag files here or <strong>click to upload</strong>"},zh:{UPLOAD:"上传",FILE_UPLOADING:"文件上传中",DRAG_UPLOAD_TEXT:"将文件拖动到此处或<strong>点击上传</strong>"}}},4703:(e,t,a)=>{"use strict";a.r(t),a.d(t,{EoUploadFile:()=>ie,EoUploadFileComponent:()=>ze});var r,o,n,i,l,u,d,s,p,c,h,m,g,v,f,b,x,Z,y,w,k,E,D,C,U,M,N,L,P,A,T,O,W,_,S,F,z,B=a(7896),G=a(6666),I=a(3395),R=a(1815),j=a(381),q=a(687),K=a(2604),X=a(8657),V=a.n(X),H=a(2061),J=a(3361),Q=a(8978),Y=a(1391),$=(a(5254),a(9354)),ee=a(7088),te=a(2068),ae=a(2044),re=a(2343),oe=a(2779),ne=a.n(oe);(0,ee.initializeReactI18n)(ae.NS,ae.k);var ie,{defineElement:le,property:ue,event:de}=(0,H.createDecorators)(),se=(0,Q.wrapBrick)("eo-button"),pe=(0,Q.wrapBrick)("eo-icon"),ce=(0,Q.wrapBrick)("eo-easyops-icon"),he=(0,Q.wrapBrick)("eo-form-item");o=le("eo-upload-file",{styleTexts:[$.Z]}),n=ue(),l=ue(),d=ue({type:Boolean}),p=ue({attribute:!1}),h=ue({attribute:!1}),g=ue({type:Boolean}),f=ue(),x=ue({type:Number}),y=ue(),k=ue({type:Boolean}),D=ue(),U=ue({type:Boolean}),N=ue(),P=ue(),T=ue(),W=de({type:"change"});var me=new WeakMap,ge=new WeakMap,ve=new WeakMap,fe=new WeakMap,be=new WeakMap,xe=new WeakMap,Ze=new WeakMap,ye=new WeakMap,we=new WeakMap,ke=new WeakMap,Ee=new WeakMap,De=new WeakMap,Ce=new WeakMap,Ue=new WeakMap,Me=new WeakMap,Ne=new WeakMap,Le=new WeakMap;class Pe extends Y.G{constructor(){super(...arguments),(0,I.Z)(this,Le,{get:Te,set:Ae}),(0,I.Z)(this,me,{writable:!0,value:(z(this),i(this))}),(0,I.Z)(this,ge,{writable:!0,value:u(this)}),(0,I.Z)(this,ve,{writable:!0,value:s(this)}),(0,I.Z)(this,fe,{writable:!0,value:c(this)}),(0,I.Z)(this,be,{writable:!0,value:m(this)}),(0,I.Z)(this,xe,{writable:!0,value:v(this)}),(0,I.Z)(this,Ze,{writable:!0,value:b(this)}),(0,I.Z)(this,ye,{writable:!0,value:Z(this)}),(0,I.Z)(this,we,{writable:!0,value:w(this,"replace")}),(0,I.Z)(this,ke,{writable:!0,value:E(this)}),(0,I.Z)(this,Ee,{writable:!0,value:C(this)}),(0,I.Z)(this,De,{writable:!0,value:M(this,!1)}),(0,I.Z)(this,Ce,{writable:!0,value:L(this)}),(0,I.Z)(this,Ue,{writable:!0,value:A(this,"POST")}),(0,I.Z)(this,Me,{writable:!0,value:O(this,"file")}),(0,I.Z)(this,Ne,{writable:!0,value:_(this)}),(0,G.Z)(this,"handleChange",(e=>{this.value=e,(0,q.Z)(this,Le).emit(e)}))}get label(){return(0,q.Z)(this,me)}set label(e){(0,j.Z)(this,me,e)}get name(){return(0,q.Z)(this,ge)}set name(e){(0,j.Z)(this,ge,e)}get required(){return(0,q.Z)(this,ve)}set required(e){(0,j.Z)(this,ve,e)}get message(){return(0,q.Z)(this,fe)}set message(e){(0,j.Z)(this,fe,e)}get value(){return(0,q.Z)(this,be)}set value(e){(0,j.Z)(this,be,e)}get multiple(){return(0,q.Z)(this,xe)}set multiple(e){(0,j.Z)(this,xe,e)}get accept(){return(0,q.Z)(this,Ze)}set accept(e){(0,j.Z)(this,Ze,e)}get maxCount(){return(0,q.Z)(this,ye)}set maxCount(e){(0,j.Z)(this,ye,e)}get overMaxCountMode(){return(0,q.Z)(this,we)}set overMaxCountMode(e){(0,j.Z)(this,we,e)}get uploadDraggable(){return(0,q.Z)(this,ke)}set uploadDraggable(e){(0,j.Z)(this,ke,e)}get draggableUploadTip(){return(0,q.Z)(this,Ee)}set draggableUploadTip(e){(0,j.Z)(this,Ee,e)}get autoUpload(){return(0,q.Z)(this,De)}set autoUpload(e){(0,j.Z)(this,De,e)}get url(){return(0,q.Z)(this,Ce)}set url(e){(0,j.Z)(this,Ce,e)}get method(){return(0,q.Z)(this,Ue)}set method(e){(0,j.Z)(this,Ue,e)}get uploadName(){return(0,q.Z)(this,Me)}set uploadName(e){(0,j.Z)(this,Me,e)}render(){return V().createElement(ze,{formElement:this.getFormElement(),curElement:this,label:this.label,name:this.name,required:this.required,message:this.message,value:this.value,multiple:this.multiple,accept:this.accept,maxCount:this.maxCount,overMaxCountMode:this.overMaxCountMode,uploadDraggable:this.uploadDraggable,draggableUploadTip:this.draggableUploadTip,autoUpload:this.autoUpload,url:this.url,method:this.method,notRender:this.notRender,helpBrick:this.helpBrick,uploadName:this.uploadName,trigger:"handleChange",onChange:this.handleChange})}}function Ae(e){F(this,e)}function Te(){return S(this)}({e:[i,u,s,c,m,v,b,Z,w,E,C,M,L,A,O,_,S,F,z],c:[ie,r]}=(0,K.Z)(Pe,[[n,1,"label"],[l,1,"name"],[d,1,"required"],[p,1,"message"],[h,1,"value"],[g,1,"multiple"],[f,1,"accept"],[x,1,"maxCount"],[y,1,"overMaxCountMode"],[k,1,"uploadDraggable"],[D,1,"draggableUploadTip"],[U,1,"autoUpload"],[N,1,"url"],[P,1,"method"],[T,1,"uploadName"],[W,1,"change",e=>(0,q.Z)(e,Ne),(e,t)=>(0,j.Z)(e,Ne,t)]],[o],0,(e=>Le.has((0,R.Z)(e))))),r();var Oe={lib:"antd",icon:"upload",theme:"outlined"},We={lib:"easyops",category:"default",icon:"delete"},_e={lib:"antd",theme:"outlined",icon:"close"},Se={lib:"antd",icon:"file-text",theme:"outlined"},Fe={lib:"antd",icon:"loading",theme:"outlined"};function ze(e){var{value:t,multiple:a,accept:r,maxCount:o,overMaxCountMode:n,uploadDraggable:i,draggableUploadTip:l,autoUpload:u,url:d,method:s,uploadName:p,onChange:c}=e,{t:h}=(0,ee.useTranslation)(ae.NS),m=(0,J.useCurrentTheme)(),[g,v]=(0,X.useState)(!1);return V().createElement(he,(0,B.Z)({},e,{validator:e=>null!=e&&e.some((e=>"uploading"===e.status))?h(ae.K.FILE_UPLOADING):""}),V().createElement(re.g,{itemRender:(e,t,a)=>{var{uid:r,file:o,name:n,userData:i,status:l="done",errors:u}=e;return V().createElement("div",{key:r,className:ne()("upload-item-container",l&&"upload-item-container-".concat(l))},V().createElement("div",{className:"upload-item-inner"},V().createElement(pe,(0,B.Z)({className:ne()("upload-item-icon","uploading"===l&&"upload-icon")},"uploading"===l?Fe:Se)),V().createElement("div",{className:"upload-item-infos"},V().createElement("div",{className:"upload-item-file-name"},n)),V().createElement("div",{className:"upload-item-operators"},V().createElement(pe,(0,B.Z)({className:"delete-icon"},"done"===l?We:_e,{onClick:a.remove})))))},fileList:t,multiple:a,accept:r,maxCount:o,overMaxCountMode:n,autoUpload:u,action:d,method:s,uploadName:p,onChange:e=>{null==c||c(e)}},((e,t)=>i?V().createElement("div",{className:ne()("upload-drag-button",g&&"upload-drag-button-drag-over"),onClick:t.upload,onDragEnter:e=>{e.preventDefault(),v(!0)},onDragOver:e=>{e.preventDefault()},onDragLeave:e=>{v(!1)},onDrop:e=>{var a;e.preventDefault(),v(!1),(null===(a=e.dataTransfer.files)||void 0===a?void 0:a.length)&&t.uploadFiles(e.dataTransfer.files)}},V().createElement("div",{className:"upload-drag-button-inner"},V().createElement(ce,{className:"upload-drag-button-icon",category:"colored-common",icon:"dark-v2"==m?"upload-dark":"upload-light"}),V().createElement("div",{className:"upload-drag-text"},V().createElement(te.Trans,{i18nKey:h(ae.K.DRAG_UPLOAD_TEXT),components:{total:V().createElement("strong",null)}})),l&&V().createElement("div",{className:"upload-drag-tip"},l))):V().createElement(se,{icon:Oe,onClick:t.upload},h(ae.K.UPLOAD)))))}},4145:(e,t,a)=>{"use strict";a.d(t,{Ou:()=>o,c7:()=>l,sq:()=>n,xz:()=>i});var r=0,o=Symbol.for("AbortController"),n=(Symbol.for("list-ignore"),()=>"upload-image-".concat(+new Date,"-").concat(++r)),i=(e,t)=>{var a=[].concat(t||[]).reduce(((e,t)=>e.concat(t.split(",").map((e=>e.trim())).filter(Boolean))),[]);if(e&&a.length){var r=(e.name||"").toLowerCase(),o=e.type||"",n=o.split("/")[0];return a.some((e=>{if(["*","*/*"].includes(e))return!0;if(e.startsWith(".")){var t=e.toLowerCase(),a=[t];return[".jpg",".jpeg"].includes(t)&&(a=[".jpg",".jpeg"]),a.some((e=>r.endsWith(e)))}return e.endsWith("/*")?n===e.split("/*")[0]:o===e}))}return!0},l=(e,t)=>new Promise(((a,r)=>{e&&t?e.size<t?a(e):r(new Error("Wrong size!")):a(e)}))},2779:(e,t)=>{var a;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var n=typeof a;if("string"===n||"number"===n)e.push(a);else if(Array.isArray(a)){if(a.length){var i=o.apply(null,a);i&&e.push(i)}}else if("object"===n){if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes("[native code]")){e.push(a.toString());continue}for(var l in a)r.call(a,l)&&a[l]&&e.push(l)}}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(a=function(){return o}.apply(t,[]))||(e.exports=a)}()},9354:(e,t,a)=>{"use strict";a.d(t,{Z:()=>l});var r=a(9601),o=a.n(r),n=a(2609),i=a.n(n)()(o());i.push([e.id,":host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}",""]);const l=i.toString()},4795:(e,t,a)=>{"use strict";function r(e,t,a,r,o,n,i){try{var l=e[n](i),u=l.value}catch(e){return void a(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,a=arguments;return new Promise((function(o,n){var i=e.apply(t,a);function l(e){r(i,o,n,l,u,"next",e)}function u(e){r(i,o,n,l,u,"throw",e)}l(void 0)}))}}a.d(t,{Z:()=>o})}}]);
3
- //# sourceMappingURL=eo-upload-file.c4dd9207.js.map
1
+ /*! For license information please see eo-upload-file.08a5ad7f.js.LICENSE.txt */
2
+ (self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[4229,4795],{2343:(e,t,a)=>{"use strict";a.d(t,{g:()=>d});var r=a(3028),o=a(4795),n=a(8657),i=a.n(n),l=(a(5254),a(8633)),u=a(4145);function d(e){var{children:t,itemRender:a,autoUpload:d,onChange:s,uploadName:p="file",action:c,method:h,accept:m,maxCount:g,overMaxCountMode:v="replace",beforeUploadValidators:f=[],beforeUploadUserDataProcessor:b,multiple:x}=e,Z=(0,n.useRef)(null),[y,w]=(0,n.useState)([]);(0,n.useEffect)((()=>{w(e.fileList||[])}),[e.fileList]);var k=e=>e.filter((e=>(0,u.xz)(e,m))),E=function(){var e=(0,o.Z)((function*(e){return(yield Promise.all(e.map((t=>Promise.allSettled([t,(0,u.c7)(t),...f.map((a=>a(t,e)))]))))).map((e=>{var[t,...a]=e,r=t.value,o=[];return a.forEach((e=>{"rejected"===e.status&&o.push(e.reason)})),{file:r,errors:o}}))}));return function(t){return e.apply(this,arguments)}}(),D=function(){var e=(0,o.Z)((function*(e){return Promise.all(e.map(function(){var t=(0,o.Z)((function*(t){var{file:a,errors:r}=t,o=(0,u.sq)();return a.uid=o,{uid:o,file:a,name:a.name,status:r.length?"error":d?"uploading":"done",userData:yield null==b?void 0:b(a,e),errors:r}}));return function(e){return t.apply(this,arguments)}}()))}));return function(t){return e.apply(this,arguments)}}(),C=function(){var e=(0,o.Z)((function*(e){var t,a=[...e],o=[];if(g&&Number(g)>0){var n=y.length;if(n+a.length<=g)o=k(a);else{var i=a.length-(n+a.length-g);"ignore"===v?o=k(a).slice(0,i):(o=k(a).slice(-g,1/0),t=o.length<g?[o.length-g,1/0]:[0,0])}}else o=k(a);var d=yield E(o),m=yield D(d);(m.length||t)&&w((e=>{var a=(t?e.slice(...t):e).concat(m);return null==s||s(a),a})),m.forEach((e=>"uploading"===e.status&&(e=>{var t=new FormData,a=new AbortController;e[u.Ou]=a,t.append(p,e.file,e.file.name);var o=l.http.request(c,{method:h,body:t,signal:a.signal});return o.then((t=>((e,t)=>{w((a=>{var o=a.map((a=>a.uid===e.uid?(0,r.Z)((0,r.Z)({},a),{},{response:t,status:"done"}):a));return null==s||s(o),o}))})(e,t))).catch((t=>((e,t)=>{w((a=>{var o=a.map((a=>{var o;return a.uid===e.uid?(0,r.Z)((0,r.Z)({},a),{},{errors:null===(o=a.errors)||void 0===o?void 0:o.concat(t),status:"error"}):a}));return null==s||s(o),o}))})(e,t))),o})(e)))}));return function(t){return e.apply(this,arguments)}}(),U=function(){var e=(0,o.Z)((function*(e){e.stopPropagation(),C([...e.target.files]),e.target.value=""}));return function(t){return e.apply(this,arguments)}}();return i().createElement(i().Fragment,null,i().createElement("input",{ref:Z,type:"file",multiple:x,accept:m,hidden:!0,onChange:U}),i().createElement("div",{className:"upload-wrapper"},t(y,{upload:()=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.click()},uploadFiles:e=>C(e)}),i().createElement("div",{className:"file-list"},y.map((e=>{var t={remove:()=>(e=>{var t,a;"uploading"===e.status&&(null===(t=e[u.Ou])||void 0===t||t.abort()),a=e,w((e=>{var t=e.filter((e=>e.uid!==a.uid));return null==s||s(t),t}))})(e)};return i().createElement(i().Fragment,{key:e.uid},a(e,y,t))})))))}},2044:(e,t,a)=>{"use strict";a.d(t,{K:()=>r,NS:()=>o,k:()=>n});var r=function(e){return e.UPLOAD="UPLOAD",e.FILE_UPLOADING="FILE_UPLOADING",e.DRAG_UPLOAD_TEXT="DRAG_UPLOAD_TEXT",e}({}),o="bricks/form/eo-upload-file",n={en:{UPLOAD:"Upload",FILE_UPLOADING:"File is still uploading",DRAG_UPLOAD_TEXT:"Drag files here or <strong>click to upload</strong>"},zh:{UPLOAD:"上传",FILE_UPLOADING:"文件上传中",DRAG_UPLOAD_TEXT:"将文件拖动到此处或<strong>点击上传</strong>"}}},4703:(e,t,a)=>{"use strict";a.r(t),a.d(t,{EoUploadFile:()=>ie,EoUploadFileComponent:()=>ze});var r,o,n,i,l,u,d,s,p,c,h,m,g,v,f,b,x,Z,y,w,k,E,D,C,U,M,N,L,P,A,T,O,W,_,S,F,z,B=a(7896),G=a(6666),I=a(3395),R=a(1815),j=a(381),q=a(687),K=a(2604),X=a(8657),V=a.n(X),H=a(2061),J=a(4734),Q=a(8978),Y=a(1391),$=(a(5254),a(9354)),ee=a(7088),te=a(2068),ae=a(2044),re=a(2343),oe=a(2779),ne=a.n(oe);(0,ee.initializeReactI18n)(ae.NS,ae.k);var ie,{defineElement:le,property:ue,event:de}=(0,H.createDecorators)(),se=(0,Q.wrapBrick)("eo-button"),pe=(0,Q.wrapBrick)("eo-icon"),ce=(0,Q.wrapBrick)("eo-easyops-icon"),he=(0,Q.wrapBrick)("eo-form-item");o=le("eo-upload-file",{styleTexts:[$.Z]}),n=ue(),l=ue(),d=ue({type:Boolean}),p=ue({attribute:!1}),h=ue({attribute:!1}),g=ue({type:Boolean}),f=ue(),x=ue({type:Number}),y=ue(),k=ue({type:Boolean}),D=ue(),U=ue({type:Boolean}),N=ue(),P=ue(),T=ue(),W=de({type:"change"});var me=new WeakMap,ge=new WeakMap,ve=new WeakMap,fe=new WeakMap,be=new WeakMap,xe=new WeakMap,Ze=new WeakMap,ye=new WeakMap,we=new WeakMap,ke=new WeakMap,Ee=new WeakMap,De=new WeakMap,Ce=new WeakMap,Ue=new WeakMap,Me=new WeakMap,Ne=new WeakMap,Le=new WeakMap;class Pe extends Y.G{constructor(){super(...arguments),(0,I.Z)(this,Le,{get:Te,set:Ae}),(0,I.Z)(this,me,{writable:!0,value:(z(this),i(this))}),(0,I.Z)(this,ge,{writable:!0,value:u(this)}),(0,I.Z)(this,ve,{writable:!0,value:s(this)}),(0,I.Z)(this,fe,{writable:!0,value:c(this)}),(0,I.Z)(this,be,{writable:!0,value:m(this)}),(0,I.Z)(this,xe,{writable:!0,value:v(this)}),(0,I.Z)(this,Ze,{writable:!0,value:b(this)}),(0,I.Z)(this,ye,{writable:!0,value:Z(this)}),(0,I.Z)(this,we,{writable:!0,value:w(this,"replace")}),(0,I.Z)(this,ke,{writable:!0,value:E(this)}),(0,I.Z)(this,Ee,{writable:!0,value:C(this)}),(0,I.Z)(this,De,{writable:!0,value:M(this,!1)}),(0,I.Z)(this,Ce,{writable:!0,value:L(this)}),(0,I.Z)(this,Ue,{writable:!0,value:A(this,"POST")}),(0,I.Z)(this,Me,{writable:!0,value:O(this,"file")}),(0,I.Z)(this,Ne,{writable:!0,value:_(this)}),(0,G.Z)(this,"handleChange",(e=>{this.value=e,(0,q.Z)(this,Le).emit(e)}))}get label(){return(0,q.Z)(this,me)}set label(e){(0,j.Z)(this,me,e)}get name(){return(0,q.Z)(this,ge)}set name(e){(0,j.Z)(this,ge,e)}get required(){return(0,q.Z)(this,ve)}set required(e){(0,j.Z)(this,ve,e)}get message(){return(0,q.Z)(this,fe)}set message(e){(0,j.Z)(this,fe,e)}get value(){return(0,q.Z)(this,be)}set value(e){(0,j.Z)(this,be,e)}get multiple(){return(0,q.Z)(this,xe)}set multiple(e){(0,j.Z)(this,xe,e)}get accept(){return(0,q.Z)(this,Ze)}set accept(e){(0,j.Z)(this,Ze,e)}get maxCount(){return(0,q.Z)(this,ye)}set maxCount(e){(0,j.Z)(this,ye,e)}get overMaxCountMode(){return(0,q.Z)(this,we)}set overMaxCountMode(e){(0,j.Z)(this,we,e)}get uploadDraggable(){return(0,q.Z)(this,ke)}set uploadDraggable(e){(0,j.Z)(this,ke,e)}get draggableUploadTip(){return(0,q.Z)(this,Ee)}set draggableUploadTip(e){(0,j.Z)(this,Ee,e)}get autoUpload(){return(0,q.Z)(this,De)}set autoUpload(e){(0,j.Z)(this,De,e)}get url(){return(0,q.Z)(this,Ce)}set url(e){(0,j.Z)(this,Ce,e)}get method(){return(0,q.Z)(this,Ue)}set method(e){(0,j.Z)(this,Ue,e)}get uploadName(){return(0,q.Z)(this,Me)}set uploadName(e){(0,j.Z)(this,Me,e)}render(){return V().createElement(ze,{formElement:this.getFormElement(),curElement:this,label:this.label,name:this.name,required:this.required,message:this.message,value:this.value,multiple:this.multiple,accept:this.accept,maxCount:this.maxCount,overMaxCountMode:this.overMaxCountMode,uploadDraggable:this.uploadDraggable,draggableUploadTip:this.draggableUploadTip,autoUpload:this.autoUpload,url:this.url,method:this.method,notRender:this.notRender,helpBrick:this.helpBrick,uploadName:this.uploadName,trigger:"handleChange",onChange:this.handleChange})}}function Ae(e){F(this,e)}function Te(){return S(this)}({e:[i,u,s,c,m,v,b,Z,w,E,C,M,L,A,O,_,S,F,z],c:[ie,r]}=(0,K.Z)(Pe,[[n,1,"label"],[l,1,"name"],[d,1,"required"],[p,1,"message"],[h,1,"value"],[g,1,"multiple"],[f,1,"accept"],[x,1,"maxCount"],[y,1,"overMaxCountMode"],[k,1,"uploadDraggable"],[D,1,"draggableUploadTip"],[U,1,"autoUpload"],[N,1,"url"],[P,1,"method"],[T,1,"uploadName"],[W,1,"change",e=>(0,q.Z)(e,Ne),(e,t)=>(0,j.Z)(e,Ne,t)]],[o],0,(e=>Le.has((0,R.Z)(e))))),r();var Oe={lib:"antd",icon:"upload",theme:"outlined"},We={lib:"easyops",category:"default",icon:"delete"},_e={lib:"antd",theme:"outlined",icon:"close"},Se={lib:"antd",icon:"file-text",theme:"outlined"},Fe={lib:"antd",icon:"loading",theme:"outlined"};function ze(e){var{value:t,multiple:a,accept:r,maxCount:o,overMaxCountMode:n,uploadDraggable:i,draggableUploadTip:l,autoUpload:u,url:d,method:s,uploadName:p,onChange:c}=e,{t:h}=(0,ee.useTranslation)(ae.NS),m=(0,J.useCurrentTheme)(),[g,v]=(0,X.useState)(!1);return V().createElement(he,(0,B.Z)({},e,{validator:e=>null!=e&&e.some((e=>"uploading"===e.status))?h(ae.K.FILE_UPLOADING):""}),V().createElement(re.g,{itemRender:(e,t,a)=>{var{uid:r,file:o,name:n,userData:i,status:l="done",errors:u}=e;return V().createElement("div",{key:r,className:ne()("upload-item-container",l&&"upload-item-container-".concat(l))},V().createElement("div",{className:"upload-item-inner"},V().createElement(pe,(0,B.Z)({className:ne()("upload-item-icon","uploading"===l&&"upload-icon")},"uploading"===l?Fe:Se)),V().createElement("div",{className:"upload-item-infos"},V().createElement("div",{className:"upload-item-file-name"},n)),V().createElement("div",{className:"upload-item-operators"},V().createElement(pe,(0,B.Z)({className:"delete-icon"},"done"===l?We:_e,{onClick:a.remove})))))},fileList:t,multiple:a,accept:r,maxCount:o,overMaxCountMode:n,autoUpload:u,action:d,method:s,uploadName:p,onChange:e=>{null==c||c(e)}},((e,t)=>i?V().createElement("div",{className:ne()("upload-drag-button",g&&"upload-drag-button-drag-over"),onClick:t.upload,onDragEnter:e=>{e.preventDefault(),v(!0)},onDragOver:e=>{e.preventDefault()},onDragLeave:e=>{v(!1)},onDrop:e=>{var a;e.preventDefault(),v(!1),(null===(a=e.dataTransfer.files)||void 0===a?void 0:a.length)&&t.uploadFiles(e.dataTransfer.files)}},V().createElement("div",{className:"upload-drag-button-inner"},V().createElement(ce,{className:"upload-drag-button-icon",category:"colored-common",icon:"dark-v2"==m?"upload-dark":"upload-light"}),V().createElement("div",{className:"upload-drag-text"},V().createElement(te.Trans,{i18nKey:h(ae.K.DRAG_UPLOAD_TEXT),components:{total:V().createElement("strong",null)}})),l&&V().createElement("div",{className:"upload-drag-tip"},l))):V().createElement(se,{icon:Oe,onClick:t.upload},h(ae.K.UPLOAD)))))}},4145:(e,t,a)=>{"use strict";a.d(t,{Ou:()=>o,c7:()=>l,sq:()=>n,xz:()=>i});var r=0,o=Symbol.for("AbortController"),n=(Symbol.for("list-ignore"),()=>"upload-image-".concat(+new Date,"-").concat(++r)),i=(e,t)=>{var a=[].concat(t||[]).reduce(((e,t)=>e.concat(t.split(",").map((e=>e.trim())).filter(Boolean))),[]);if(e&&a.length){var r=(e.name||"").toLowerCase(),o=e.type||"",n=o.split("/")[0];return a.some((e=>{if(["*","*/*"].includes(e))return!0;if(e.startsWith(".")){var t=e.toLowerCase(),a=[t];return[".jpg",".jpeg"].includes(t)&&(a=[".jpg",".jpeg"]),a.some((e=>r.endsWith(e)))}return e.endsWith("/*")?n===e.split("/*")[0]:o===e}))}return!0},l=(e,t)=>new Promise(((a,r)=>{e&&t?e.size<t?a(e):r(new Error("Wrong size!")):a(e)}))},2779:(e,t)=>{var a;!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var a=arguments[t];if(a){var n=typeof a;if("string"===n||"number"===n)e.push(a);else if(Array.isArray(a)){if(a.length){var i=o.apply(null,a);i&&e.push(i)}}else if("object"===n){if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes("[native code]")){e.push(a.toString());continue}for(var l in a)r.call(a,l)&&a[l]&&e.push(l)}}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(a=function(){return o}.apply(t,[]))||(e.exports=a)}()},9354:(e,t,a)=>{"use strict";a.d(t,{Z:()=>l});var r=a(9601),o=a.n(r),n=a(2609),i=a.n(n)()(o());i.push([e.id,":host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}",""]);const l=i.toString()},4795:(e,t,a)=>{"use strict";function r(e,t,a,r,o,n,i){try{var l=e[n](i),u=l.value}catch(e){return void a(e)}l.done?t(u):Promise.resolve(u).then(r,o)}function o(e){return function(){var t=this,a=arguments;return new Promise((function(o,n){var i=e.apply(t,a);function l(e){r(i,o,n,l,u,"next",e)}function u(e){r(i,o,n,l,u,"throw",e)}l(void 0)}))}}a.d(t,{Z:()=>o})}}]);
3
+ //# sourceMappingURL=eo-upload-file.08a5ad7f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-upload-file.c4dd9207.js","mappings":";qNAgDO,SAASA,EAAOC,GACrB,IAAM,SACJC,EAAQ,WACRC,EAAU,WACVC,EAAU,SACVC,EAAQ,WACRC,EAAa,OAAM,OACnBC,EAAM,OACNC,EAAM,OACNC,EAAM,SACNC,EAAQ,iBACRC,EAAmB,UAAS,uBAC5BC,EAAyB,GAAE,8BAC3BC,EAA6B,SAC7BC,GACEb,EAEEc,GAAWC,EAAAA,EAAAA,QAAyB,OAEnCC,EAAsBC,IAA2BC,EAAAA,EAAAA,UACtD,KAGFC,EAAAA,EAAAA,YAAU,KACRF,EAAwBjB,EAAMoB,UAAY,GAAG,GAC5C,CAACpB,EAAMoB,WAEV,IAAMC,EAAoBC,GACjBA,EAAMC,QAAQC,IAASC,EAAAA,EAAAA,IAAgBD,EAAMhB,KAGhDkB,EAAmB,eAAAC,GAAAC,EAAAA,EAAAA,IAAG,UAAON,GAUjC,aATsBO,QAAQC,IAC5BR,EAAMS,KAAKP,GACTK,QAAQG,WAAW,CACjBR,GACAS,EAAAA,EAAAA,IAAcT,MACXb,EAAuBoB,KAAKG,GAAcA,EAAUV,EAAMF,WAIpDS,KAAII,IAAiC,IAA/BC,KAAUC,GAAgBF,EACvCX,EAAQY,EAAuCE,MAC/CC,EAAkB,GAMxB,OAJAF,EAAgBG,SAASC,IACL,aAAlBA,EAAOC,QAAyBH,EAAOI,KAAKF,EAAOG,OAAO,IAGrD,CAAEpB,OAAMe,SAAQ,GAE3B,IAAC,gBApBwBM,GAAA,OAAAlB,EAAAmB,MAAA,KAAAC,UAAA,KAsBnBC,EAAmB,eAAAC,GAAArB,EAAAA,EAAAA,IAAG,UAC1BsB,GAEA,OAAOrB,QAAQC,IACboB,EAAanB,IAAG,eAAAoB,GAAAvB,EAAAA,EAAAA,IACd,UAAAwB,GAMM,IANC,KACL5B,EAAI,OACJe,GAIDa,EACOC,GAAMC,EAAAA,EAAAA,MAcZ,OAbA9B,EAAK6B,IAAMA,EAaJ,CAAEA,MAAK7B,OAAM+B,KAZP/B,EAAK+B,KAYQb,OAVGH,EAAOiB,OAChC,QACArD,EACA,YACA,OAM8BsD,eAJX7C,aAA6B,EAA7BA,EACrBY,EACA0B,GAE0CX,SAC9C,IAAC,gBAAAmB,GAAA,OAAAP,EAAAL,MAAA,KAAAC,UAAA,EAvBa,IA0BpB,IAAC,gBA9BwBY,GAAA,OAAAV,EAAAH,MAAA,KAAAC,UAAA,KAoGnBa,EAAgB,eAAAC,GAAAjC,EAAAA,EAAAA,IAAG,UAAON,GAC9B,IAEIwC,EAFEC,EAAc,IAAIzC,GACpB0C,EAAwB,GAG5B,GAAIvD,GAAYwD,OAAOxD,GAAY,EAAG,CACpC,IAAMyD,EAAelD,EAAqBwC,OAC1C,GAAIU,EAAeH,EAAYP,QAAU/C,EACvCuD,EAAgB3C,EAAiB0C,OAC5B,CACL,IACMI,EAAaJ,EAAYP,QADbU,EAAeH,EAAYP,OAAS/C,GAG7B,WAArBC,EACFsD,EAAgB3C,EAAiB0C,GAAaK,MAAM,EAAGD,IAEvDH,EAAgB3C,EAAiB0C,GAAaK,OAC3C3D,EACD4D,KAIAP,EADEE,EAAcR,OAAS/C,EACN,CAACuD,EAAcR,OAAS/C,EAAU4D,KAElC,CAAC,EAAG,GAG7B,CACF,MACEL,EAAgB3C,EAAiB0C,GAGnC,IAAMO,QAAuB5C,EAAoBsC,GAC3CO,QAA8BvB,EAAoBsB,IACvDC,EAAsBf,QAAUM,IAC/B7C,GAAyBiC,IACvB,IAAMsB,GACJV,EACIZ,EAAakB,SAASN,GACtBZ,GACJuB,OAAOF,GAET,OADAnE,SAAAA,EAAWoE,GACJA,CAAe,IAG1BD,EAAsB/B,SACnBkC,GAAiC,cAApBA,EAAShC,QAjEPgC,KAClB,IAAMC,EAAW,IAAIC,SACfC,EAAkB,IAAIC,gBAC5BJ,EAASK,EAAAA,IAA4BF,EACrCF,EAASK,OAAO3E,EAAYqE,EAASlD,KAAOkD,EAASlD,KAAM+B,MAE3D,IAAM0B,EAAMC,EAAAA,KAAKC,QAAQ7E,EAAS,CAChCC,SACA6E,KAAMT,EACNU,OAAQR,EAAgBQ,SAO1B,OAJAJ,EACGK,MAAMC,GA9DiBC,EAACd,EAAoBa,KAC/CtE,GAAyBiC,IACvB,IAAMsB,EAAkBtB,EAAanB,KAAK0D,GACjCA,EAAUpC,MAAQqB,EAASrB,KAAGqC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAE5BD,GAAS,IACZF,WACA7C,OAAQ,SAEV+C,IAGN,OADArF,SAAAA,EAAWoE,GACJA,CAAe,GACtB,EAiDoBgB,CAAoBd,EAAUa,KACjDI,OAAOC,GA/CcC,EAACnB,EAAoBkB,KAC7C3E,GAAyBiC,IACvB,IAAMsB,EAAkBtB,EAAanB,KAAK0D,IAAc,IAAAK,EACtD,OAAOL,EAAUpC,MAAQqB,EAASrB,KAAGqC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAE5BD,GAAS,IACZlD,OAAwB,QAAlBuD,EAAEL,EAAUlD,cAAM,IAAAuD,OAAA,EAAhBA,EAAkBrB,OAAOmB,GACjClD,OAAQ,UAEV+C,CAAS,IAGf,OADArF,SAAAA,EAAWoE,GACJA,CAAe,GACtB,EAkCkBqB,CAAkBnB,EAAUkB,KAEzCX,CAAG,EAiDyCc,CAAWrB,IAEhE,IAAC,gBAhDqBsB,GAAA,OAAAnC,EAAAf,MAAA,KAAAC,UAAA,KAkDhBkD,EAAiB,eAAAC,GAAAtE,EAAAA,EAAAA,IAAG,UAAOuE,GAC/BA,EAAMC,kBACNxC,EAAiB,IAAIuC,EAAME,OAAO/E,QAClC6E,EAAME,OAAO/D,MAAQ,EACvB,IAAC,gBAJsBgE,GAAA,OAAAJ,EAAApD,MAAA,KAAAC,UAAA,KAMvB,OACEwD,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,SACEC,IAAK1F,EACL2F,KAAK,OACL5F,SAAUA,EACVL,OAAQA,EACRkG,QAAM,EACNtG,SAAU6F,IAEZM,IAAAA,cAAA,OAAKI,UAAU,kBACZ1G,EAASe,EAAsB,CAC9B4F,OAAQA,KAAA,IAAAC,EAAA,OAAsB,QAAtBA,EAAM/F,EAASgG,eAAO,IAAAD,OAAA,EAAhBA,EAAkBE,OAAO,EACvCC,YAAc1F,GAAUsC,EAAiBtC,KAE3CiF,IAAAA,cAAA,OAAKI,UAAU,aACZ3F,EAAqBe,KAAK2C,IACzB,IAAMuC,EAAU,CACdC,OAAQA,IApGExC,KACiB,IAAAyC,EAXbC,EAWA,cAApB1C,EAAShC,SACuB,QAAlCyE,EAAAzC,EAASK,EAAAA,WAAyB,IAAAoC,GAAlCA,EAAoCE,SAZdD,EAcP1C,EAbjBzD,GAAyBiC,IACvB,IAAMsB,EAAkBtB,EAAa3B,QAClCmD,GAAaA,EAASrB,MAAQ+D,EAAgB/D,MAGjD,OADAjD,SAAAA,EAAWoE,GACJA,CAAe,GAQE,EAgGF8C,CAAa5C,IAE7B,OACE6B,IAAAA,cAACA,IAAAA,SAAc,CAACgB,IAAK7C,EAASrB,KAC3BnD,EAAWwE,EAAU1D,EAAsBiG,GAC7B,MAO/B,iEC/RO,IAAKO,EAAC,SAADA,GAAC,OAADA,EAAC,gBAADA,EAAC,gCAADA,EAAC,oCAADA,CAAC,MAkBAC,EAAK,6BAELC,EAAU,CAAEC,GAdN,CACjBC,OAAQ,SACRC,eAAgB,0BAChBC,iBAAkB,uDAWSC,GARV,CACjBH,OAAQ,KACRC,eAAgB,QAChBC,iBAAkB,qaCSpBE,EAAAA,GAAAA,qBAAoBP,GAAAA,GAAIC,GAAAA,GAExB,IAO2EO,IAPrE,cAAEC,GAAa,SAAEC,GAAQ,MAAEhC,KAAUiC,EAAAA,EAAAA,oBAErCC,IAAgBC,EAAAA,EAAAA,WAA+B,aAC/CC,IAAcD,EAAAA,EAAAA,WAAyC,WACvDE,IAAqBF,EAAAA,EAAAA,WACzB,mBAEIG,IAAkBH,EAAAA,EAAAA,WAAmC,gBAAgBI,EAwB1ER,GAAc,iBAAkB,CAC/BS,WAAY,CAACC,EAAAA,KACbC,EAKCV,KAAUW,EAMVX,KAAUY,EAMVZ,GAAS,CACR1B,KAAMuC,UACNC,EAMDd,GAAS,CACRe,WAAW,IACXC,EAMDhB,GAAS,CACRe,WAAW,IACXE,EAMDjB,GAAS,CACR1B,KAAMuC,UACNK,EAMDlB,KAAUmB,EAMVnB,GAAS,CACR1B,KAAMxC,SACNsF,EAMDpB,KAAUqB,EAMVrB,GAAS,CACR1B,KAAMuC,UACNS,EAMDtB,KAAUuB,EAMVvB,GAAS,CACR1B,KAAMuC,UACNW,EAMDxB,KAAUyB,EAMVzB,KAAU0B,EAMV1B,KAAU2B,EAMV3D,GAAM,CAAEM,KAAM,WAAW,IAAAsD,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QA/G5B,MAAAiB,WAG2BC,EAAAA,EAA+CC,cAAA,SAAApI,YAAAqI,EAAAA,EAAAA,GAAA,KAAAJ,GAAA,CAAAK,IAAAC,GAAAC,IAAAC,MACxEJ,EAAAA,EAAAA,GAAA,KAAArB,GAAA,CAAA0B,UAAA,EAAAnJ,OAAAoJ,EAAA,MAAAC,EAAA,UAMAP,EAAAA,EAAAA,GAAA,KAAAnB,GAAA,CAAAwB,UAAA,EAAAnJ,MAAAsJ,EAAA,SAMAR,EAAAA,EAAAA,GAAA,KAAAlB,GAAA,CAAAuB,UAAA,EAAAnJ,MAAAuJ,EAAA,SAQAT,EAAAA,EAAAA,GAAA,KAAAjB,GAAA,CAAAsB,UAAA,EAAAnJ,MAAAwJ,EAAA,SAQAV,EAAAA,EAAAA,GAAA,KAAAhB,GAAA,CAAAqB,UAAA,EAAAnJ,MAAAyJ,EAAA,SAQAX,EAAAA,EAAAA,GAAA,KAAAf,GAAA,CAAAoB,UAAA,EAAAnJ,MAAA0J,EAAA,SAQAZ,EAAAA,EAAAA,GAAA,KAAAd,GAAA,CAAAmB,UAAA,EAAAnJ,MAAA2J,EAAA,SAMAb,EAAAA,EAAAA,GAAA,KAAAb,GAAA,CAAAkB,UAAA,EAAAnJ,MAAA4J,EAAA,SAQAd,EAAAA,EAAAA,GAAA,KAAAZ,GAAA,CAAAiB,UAAA,EAAAnJ,MAAA6J,EAAA,KAIkD,cAElDf,EAAAA,EAAAA,GAAA,KAAAX,GAAA,CAAAgB,UAAA,EAAAnJ,MAAA8J,EAAA,SAQAhB,EAAAA,EAAAA,GAAA,KAAAV,GAAA,CAAAe,UAAA,EAAAnJ,MAAA+J,EAAA,SAMAjB,EAAAA,EAAAA,GAAA,KAAAT,GAAA,CAAAc,UAAA,EAAAnJ,MAAAgK,EAAA,MAM+B,MAE/BlB,EAAAA,EAAAA,GAAA,KAAAR,GAAA,CAAAa,UAAA,EAAAnJ,MAAAiK,EAAA,SAMAnB,EAAAA,EAAAA,GAAA,KAAAP,GAAA,CAAAY,UAAA,EAAAnJ,MAAAkK,EAAA,KAI0B,WAE1BpB,EAAAA,EAAAA,GAAA,KAAAN,GAAA,CAAAW,UAAA,EAAAnJ,MAAAmK,EAAA,KAI8B,WAE9BrB,EAAAA,EAAAA,GAAA,KAAAL,GAAA,CAAAU,UAAA,EAAAnJ,MAAAoK,EAAA,SAAAC,EAAAA,EAAAA,GAAA,qBAKgBzJ,IACd0J,KAAKtK,MAAQY,GACb2J,EAAAA,EAAAA,GAAAD,KAAI5B,IAAS8B,KAAK5J,EAAa,GAChC,CA5GQ6J,YAAK,OAAAF,EAAAA,EAAAA,GAAA,KAAA9C,GAAA,CAALgD,UAAKC,IAAAC,EAAAA,EAAAA,GAAA,KAAAlD,GAAAiD,EAAA,CAMLzJ,WAAI,OAAAsJ,EAAAA,EAAAA,GAAA,KAAA5C,GAAA,CAAJ1G,SAAIyJ,IAAAC,EAAAA,EAAAA,GAAA,KAAAhD,GAAA+C,EAAA,CAQJE,eAAQ,OAAAL,EAAAA,EAAAA,GAAA,KAAA3C,GAAA,CAARgD,aAAQF,IAAAC,EAAAA,EAAAA,GAAA,KAAA/C,GAAA8C,EAAA,CAQRG,cAAO,OAAAN,EAAAA,EAAAA,GAAA,KAAA1C,GAAA,CAAPgD,YAAOH,IAAAC,EAAAA,EAAAA,GAAA,KAAA9C,GAAA6C,EAAA,CAQP1K,YAAK,OAAAuK,EAAAA,EAAAA,GAAA,KAAAzC,GAAA,CAAL9H,UAAK0K,IAAAC,EAAAA,EAAAA,GAAA,KAAA7C,GAAA4C,EAAA,CAQLnM,eAAQ,OAAAgM,EAAAA,EAAAA,GAAA,KAAAxC,GAAA,CAARxJ,aAAQmM,IAAAC,EAAAA,EAAAA,GAAA,KAAA5C,GAAA2C,EAAA,CAMRxM,aAAM,OAAAqM,EAAAA,EAAAA,GAAA,KAAAvC,GAAA,CAAN9J,WAAMwM,IAAAC,EAAAA,EAAAA,GAAA,KAAA3C,GAAA0C,EAAA,CAQNvM,eAAQ,OAAAoM,EAAAA,EAAAA,GAAA,KAAAtC,GAAA,CAAR9J,aAAQuM,IAAAC,EAAAA,EAAAA,GAAA,KAAA1C,GAAAyC,EAAA,CAMRtM,uBAAgB,OAAAmM,EAAAA,EAAAA,GAAA,KAAArC,GAAA,CAAhB9J,qBAAgBsM,IAAAC,EAAAA,EAAAA,GAAA,KAAAzC,GAAAwC,EAAA,CAQhBI,sBAAe,OAAAP,EAAAA,EAAAA,GAAA,KAAApC,GAAA,CAAf2C,oBAAeJ,IAAAC,EAAAA,EAAAA,GAAA,KAAAxC,GAAAuC,EAAA,CAMfK,yBAAkB,OAAAR,EAAAA,EAAAA,GAAA,KAAAnC,GAAA,CAAlB2C,uBAAkBL,IAAAC,EAAAA,EAAAA,GAAA,KAAAvC,GAAAsC,EAAA,CAQlB7M,iBAAU,OAAA0M,EAAAA,EAAAA,GAAA,KAAAlC,GAAA,CAAVxK,eAAU6M,IAAAC,EAAAA,EAAAA,GAAA,KAAAtC,GAAAqC,EAAA,CAMVM,UAAG,OAAAT,EAAAA,EAAAA,GAAA,KAAAjC,GAAA,CAAH0C,QAAGN,IAAAC,EAAAA,EAAAA,GAAA,KAAArC,GAAAoC,EAAA,CAMHzM,aAAM,OAAAsM,EAAAA,EAAAA,GAAA,KAAAhC,GAAA,CAANtK,WAAMyM,IAAAC,EAAAA,EAAAA,GAAA,KAAApC,GAAAmC,EAAA,CAMN3M,iBAAU,OAAAwM,EAAAA,EAAAA,GAAA,KAAA/B,GAAA,CAAVzK,eAAU2M,IAAAC,EAAAA,EAAAA,GAAA,KAAAnC,GAAAkC,EAAA,CAYnBO,SACE,OACEhH,IAAAA,cAACiH,GAAqB,CACpBC,YAAab,KAAKc,iBAClBC,WAAYf,KACZG,MAAOH,KAAKG,MACZxJ,KAAMqJ,KAAKrJ,KACX2J,SAAUN,KAAKM,SACfC,QAASP,KAAKO,QACd7K,MAAOsK,KAAKtK,MACZzB,SAAU+L,KAAK/L,SACfL,OAAQoM,KAAKpM,OACbC,SAAUmM,KAAKnM,SACfC,iBAAkBkM,KAAKlM,iBACvB0M,gBAAiBR,KAAKQ,gBACtBC,mBAAoBT,KAAKS,mBACzBlN,WAAYyM,KAAKzM,WACjBmN,IAAKV,KAAKU,IACV/M,OAAQqM,KAAKrM,OACbqN,UAAWhB,KAAKgB,UAChBC,UAAWjB,KAAKiB,UAChBxN,WAAYuM,KAAKvM,WACjByN,QAAQ,eACR1N,SAAUwM,KAAKmB,cAGrB,EACD,SAAAvC,GAAAwB,GAAAgB,EAAA,KAAAhB,EAAA,UAAA1B,KAAA,OAAA2C,EAAA,QAAAC,GAAAvC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAuB,EAAAD,EAAAtC,GAAAyC,GAAAlG,GAAAmG,KAAAC,EAAAA,EAAAA,GAAApD,GAAA,EAAApC,EAAA,YAAAC,EAAA,WAAAC,EAAA,eAAAE,EAAA,cAAAE,EAAA,YAAAC,EAAA,eAAAC,EAAA,aAAAC,EAAA,eAAAC,EAAA,uBAAAC,EAAA,sBAAAC,EAAA,yBAAAC,EAAA,iBAAAC,EAAA,UAAAC,EAAA,aAAAC,EAAA,iBAAAC,EAAA,WAAAwE,IAAAzB,EAAAA,EAAAA,GAAAyB,EAAAvD,IAAA,CAAAuD,EAAAtB,KAAAC,EAAAA,EAAAA,GAAAqB,EAAAvD,GAAAiC,KAAA,CAAAtE,GAAA,GAAA6F,GAAAvD,GAAAwD,KAAAC,EAAAA,EAAAA,GAAAF,OAAAH,IAED,IAAMM,GAAoB,CACxBC,IAAK,OACLC,KAAM,SACNC,MAAO,YAGHC,GAAa,CACjBH,IAAK,UACLI,SAAU,UACVH,KAAM,UAGFI,GAAY,CAChBL,IAAK,OACLE,MAAO,WACPD,KAAM,SAGFK,GAAe,CACnBN,IAAK,OACLC,KAAM,YACNC,MAAO,YAGHK,GAAc,CAClBP,IAAK,OACLC,KAAM,UACNC,MAAO,YAOF,SAASrB,GAAsBxN,GACpC,IAAM,MACJsC,EAAK,SACLzB,EAAQ,OACRL,EAAM,SACNC,EAAQ,iBACRC,EAAgB,gBAChB0M,EAAe,mBACfC,EAAkB,WAClBlN,EAAU,IACVmN,EAAG,OACH/M,EAAM,WACNF,EAAU,SACVD,GACEJ,GACE,EAAEmP,IAAMC,EAAAA,GAAAA,gBAAe3H,GAAAA,IACvBoH,GAAQQ,EAAAA,EAAAA,oBAEPC,EAAYC,IAAiBrO,EAAAA,EAAAA,WAAS,GAmD7C,OACEqF,IAAAA,cAACkC,IAAe+G,EAAAA,EAAAA,GAAA,GAAMxP,EAAK,CAAoBkC,UAR9BuN,GACbA,SAAAA,EAAUC,MAAMlO,GAAyB,cAAhBA,EAAKkB,SACzByM,EAAE3H,GAAAA,EAAEK,gBAEN,KAKLtB,IAAAA,cAACxG,GAAAA,EAAM,CACLG,WAhDaA,CACjBwE,EACAxB,EACA+D,KAEA,IAAM,IAAE5D,EAAG,KAAE7B,EAAI,KAAE+B,EAAI,SAAEE,EAAQ,OAAEf,EAAS,OAAM,OAAEH,GAAWmC,EAE/D,OACE6B,IAAAA,cAAA,OACEgB,IAAKlE,EACLsD,UAAWgJ,KACT,wBACAjN,GAAU,yBAAJ+B,OAA6B/B,KAGrC6D,IAAAA,cAAA,OAAKI,UAAU,qBACbJ,IAAAA,cAACgC,IAAWiH,EAAAA,EAAAA,GAAA,CACV7I,UAAWgJ,KACT,mBACW,cAAXjN,GAA0B,gBAEZ,cAAXA,EAAyBwM,GAAcD,KAE9C1I,IAAAA,cAAA,OAAKI,UAAU,qBACbJ,IAAAA,cAAA,OAAKI,UAAU,yBAAyBpD,IAE1CgD,IAAAA,cAAA,OAAKI,UAAU,yBACbJ,IAAAA,cAACgC,IAAWiH,EAAAA,EAAAA,GAAA,CACV7I,UAAU,eACM,SAAXjE,EAAoBoM,GAAaE,GAAS,CAC/CY,QAAS3I,EAAQC,YAInB,EAeJ9F,SAAUkB,EACVzB,SAAUA,EACVL,OAAQA,EACRC,SAAUA,EACVC,iBAAkBA,EAClBP,WAAYA,EACZG,OAAQgN,EACR/M,OAAQA,EACRF,WAAYA,EACZD,SA9DgB8C,IACpB9C,SAAAA,EAAW8C,EAAa,IA+DnB,CAACA,EAA0B2M,IACnBzC,EACL7G,IAAAA,cAAA,OACEI,UAAWgJ,KACT,qBACAL,GAAc,gCAEhBM,QAASC,EAAcjJ,OACvBkJ,YAAc5B,IACZA,EAAE6B,iBACFR,GAAc,EAAK,EAErBS,WAAa9B,IACXA,EAAE6B,gBAAgB,EAEpBE,YAAc/B,IACZqB,GAAc,EAAM,EAEtBW,OAAShC,IAAM,IAAAiC,EACbjC,EAAE6B,iBACFR,GAAc,IACM,QAApBY,EAAAjC,EAAEkC,aAAa9O,aAAK,IAAA6O,OAAA,EAApBA,EAAsB3M,SACpBqM,EAAc7I,YAAYkH,EAAEkC,aAAa9O,MAAM,GAGnDiF,IAAAA,cAAA,OAAKI,UAAU,4BACbJ,IAAAA,cAACiC,GAAkB,CACjB7B,UAAU,0BACVoI,SAAS,iBACTH,KAAe,WAATC,EAAqB,cAAgB,iBAE7CtI,IAAAA,cAAA,OAAKI,UAAU,oBACbJ,IAAAA,cAAC8J,GAAAA,MAAK,CACJC,QAASnB,EAAE3H,GAAAA,EAAEM,kBACbyI,WAAY,CACVC,MAAOjK,IAAAA,cAAA,mBAIZ8G,GACC9G,IAAAA,cAAA,OAAKI,UAAU,mBAAmB0G,KAKxC9G,IAAAA,cAAC8B,GAAa,CACZuG,KAAMF,GACNkB,QAASC,EAAcjJ,QAEtBuI,EAAE3H,GAAAA,EAAEI,WAOnB,4EC1XA,IAAIvE,EAAM,EAEG0B,EAA2B0L,OAAOC,IAAI,mBAItCpN,GAFcmN,OAAOC,IAAI,eAEhBpN,IACb,gBAAPmB,QAAwB,IAAIkM,KAAM,KAAAlM,SAAMpB,IAG7B5B,EAAkBA,CAACD,EAAYoP,KAC1C,IAAMC,EAAgB,GAAgBpM,OAAOmM,GAAW,IAAIE,QAC1D,CAACC,EAAKC,IACJD,EAAItM,OACFuM,EACGC,MAAM,KACNlP,KAAKiL,GAAMA,EAAEkE,SACb3P,OAAOyH,WAEd,IAGF,GAAIxH,GAAQqP,EAAarN,OAAQ,CAC/B,IAAM2N,GAAiB3P,EAAK+B,MAAQ,IAAI6N,cAClCC,EAAW7P,EAAKiF,MAAQ,GACxB6K,EAAeD,EAASJ,MAAM,KAAK,GAEzC,OAAOJ,EAAanB,MAAMlP,IAExB,GAAI,CAAC,IAAK,OAAO+Q,SAAS/Q,GACxB,OAAO,EAIT,GAAIA,EAAOgR,WAAW,KAAM,CAC1B,IAAMC,EAAYjR,EAAO4Q,cACrBM,EAAY,CAACD,GAKjB,MAJI,CAAC,OAAQ,SAASF,SAASE,KAC7BC,EAAY,CAAC,OAAQ,UAGhBA,EAAUhC,MAAMiC,GAAUR,EAAcS,SAASD,IAC1D,CAGA,OAAInR,EAAOoR,SAAS,MACXN,IAAiB9Q,EAAOyQ,MAAM,MAAM,GAIzCI,IAAa7Q,CAIL,GAEhB,CACA,OAAO,CAAI,EAGAyB,EAAgBA,CAACT,EAAYqQ,IACjC,IAAIhQ,SAAQ,CAACiQ,EAASC,KACvBvQ,GAAQqQ,EACVrQ,EAAKwQ,KAAOH,EAAYC,EAAQtQ,GAAQuQ,EAAO,IAAIE,MAAM,gBAEzDH,EAAQtQ,EACV,kBClEJ,OAOC,WACA,aAEA,IAAI0Q,EAAS,CAAC,EAAEC,eAGhB,SAASxC,IAGR,IAFA,IAAIyC,EAAU,GAELC,EAAI,EAAGA,EAAItP,UAAUS,OAAQ6O,IAAK,CAC1C,IAAIC,EAAMvP,UAAUsP,GACpB,GAAKC,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BH,EAAQzP,KAAK2P,QACP,GAAIE,MAAMC,QAAQH,IACxB,GAAIA,EAAI9O,OAAQ,CACf,IAAIkP,EAAQ/C,EAAW7M,MAAM,KAAMwP,GAC/BI,GACHN,EAAQzP,KAAK+P,EAEf,OACM,GAAgB,WAAZH,EAAsB,CAChC,GAAID,EAAIK,WAAaC,OAAOC,UAAUF,WAAaL,EAAIK,SAASA,WAAWpB,SAAS,iBAAkB,CACrGa,EAAQzP,KAAK2P,EAAIK,YACjB,QACD,CAEA,IAAK,IAAIpL,KAAO+K,EACXJ,EAAOY,KAAKR,EAAK/K,IAAQ+K,EAAI/K,IAChC6K,EAAQzP,KAAK4E,EAGhB,CAxBkB,CAyBnB,CAEA,OAAO6K,EAAQW,KAAK,IACrB,CAEqCC,EAAOC,SAC3CtD,EAAWuD,QAAUvD,EACrBqD,EAAOC,QAAUtD,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CApDA,kFCJIwD,QAA0B,GAA4B,KAE1DA,EAAwBxQ,KAAK,CAACqQ,EAAOI,GAAI,wzFAMuL,KAEhO,QAAeD,EAAwBR,wCCbvC,SAASU,EAAmBC,EAAKxB,EAASC,EAAQwB,EAAOC,EAAQjM,EAAK+K,GACpE,IACE,IAAImB,EAAOH,EAAI/L,GAAK+K,GAChBhQ,EAAQmR,EAAKnR,KACnB,CAAE,MAAOsD,GAEP,YADAmM,EAAOnM,EAET,CACI6N,EAAKC,KACP5B,EAAQxP,GAERT,QAAQiQ,QAAQxP,GAAOgD,KAAKiO,EAAOC,EAEvC,CACe,SAAS5R,EAAkB+R,GACxC,OAAO,WACL,IAAIC,EAAOhH,KACTiH,EAAO9Q,UACT,OAAO,IAAIlB,SAAQ,SAAUiQ,EAASC,GACpC,IAAIuB,EAAMK,EAAG7Q,MAAM8Q,EAAMC,GACzB,SAASN,EAAMjR,GACb+Q,EAAmBC,EAAKxB,EAASC,EAAQwB,EAAOC,EAAQ,OAAQlR,EAClE,CACA,SAASkR,EAAOM,GACdT,EAAmBC,EAAKxB,EAASC,EAAQwB,EAAOC,EAAQ,QAASM,EACnE,CACAP,OAAMQ,EACR,GACF,CACF","sources":["webpack:///./src/upload/Upload.tsx","webpack:///./src/upload/upload-file/i18n.ts","webpack:///./src/upload/upload-file/index.tsx","webpack:///./src/upload/utils.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport \"@next-core/theme\";\nimport { http } from \"@next-core/http\";\nimport {\n getUid,\n type FileData,\n symbolForAbortController,\n acceptValidator,\n sizeValidator,\n UploadStatus,\n} from \"./utils.js\";\n\nexport interface UploadActions {\n upload: () => void;\n uploadFiles: (files: FileList | File[]) => void;\n}\n\nexport interface ItemActions {\n remove: () => void;\n}\n\nexport interface UploadProps {\n children: (\n fileDataList: FileData[],\n uploadActions: UploadActions\n ) => React.ReactElement;\n itemRender: (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => React.ReactElement;\n fileList?: FileData[];\n autoUpload?: boolean;\n uploadName?: string;\n action?: string;\n method?: string;\n accept?: string;\n multiple?: boolean;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n beforeUploadValidators?: ((file: File, files: File[]) => Promise<unknown>)[];\n beforeUploadUserDataProcessor?: (\n file: File,\n fileDataList: { file: File; errors: Error[] }[]\n ) => Promise<any>;\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function Upload(props: UploadProps) {\n const {\n children,\n itemRender,\n autoUpload,\n onChange,\n uploadName = \"file\",\n action,\n method,\n accept,\n maxCount,\n overMaxCountMode = \"replace\",\n beforeUploadValidators = [],\n beforeUploadUserDataProcessor,\n multiple,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [internalFileDataList, setInternalFileDataList] = useState<FileData[]>(\n []\n );\n\n useEffect(() => {\n setInternalFileDataList(props.fileList || []);\n }, [props.fileList]);\n\n const beforeLoadFilter = (files: File[]) => {\n return files.filter((file) => acceptValidator(file, accept));\n };\n\n const beforeLoadValidator = async (files: File[]) => {\n const results = await Promise.all(\n files.map((file) =>\n Promise.allSettled([\n file,\n sizeValidator(file),\n ...beforeUploadValidators.map((validator) => validator(file, files)),\n ])\n )\n );\n return results.map(([_file, ...validatorResult]) => {\n const file = (_file as PromiseFulfilledResult<File>).value;\n const errors: Error[] = [];\n\n validatorResult.forEach((result) => {\n result.status === \"rejected\" && errors.push(result.reason);\n });\n\n return { file, errors };\n });\n };\n\n const beforeLoadProcessor = async (\n fileDataList: { file: File; errors: Error[] }[]\n ) => {\n return Promise.all(\n fileDataList.map(\n async ({\n file,\n errors,\n }: {\n file: File & { uid?: string };\n errors: Error[];\n }) => {\n const uid = getUid();\n file.uid = uid;\n const name = file.name;\n\n const status: UploadStatus = errors.length\n ? \"error\"\n : autoUpload\n ? \"uploading\"\n : \"done\";\n\n const userData = await beforeUploadUserDataProcessor?.(\n file,\n fileDataList\n );\n return { uid, file, name, status, userData, errors };\n }\n )\n );\n };\n\n const handleUploadSuccess = (fileData: FileData, response: unknown) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n response,\n status: \"done\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleUploadError = (fileData: FileData, error: Error) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n errors: _fileData.errors?.concat(error),\n status: \"error\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleFileRemove = (removedFileData: FileData) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.filter(\n (fileData) => fileData.uid !== removedFileData.uid\n );\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleRemove = (fileData: FileData) => {\n if (fileData.status === \"uploading\") {\n fileData[symbolForAbortController]?.abort();\n }\n handleFileRemove(fileData);\n };\n\n const uploadFile = (fileData: FileData) => {\n const formData = new FormData();\n const abortController = new AbortController();\n fileData[symbolForAbortController] = abortController;\n formData.append(uploadName, fileData.file!, fileData.file!.name);\n\n const req = http.request(action!, {\n method,\n body: formData,\n signal: abortController.signal,\n });\n\n req\n .then((response) => handleUploadSuccess(fileData, response))\n .catch((error) => handleUploadError(fileData, error));\n\n return req;\n };\n\n const handleFileUpload = async (files: FileList | File[]) => {\n const originFiles = [...files];\n let filteredFiles: File[] = [];\n let existsFilesSlice: [number, number] | undefined;\n\n if (maxCount && Number(maxCount) > 0) {\n const existsLength = internalFileDataList.length;\n if (existsLength + originFiles.length <= maxCount) {\n filteredFiles = beforeLoadFilter(originFiles);\n } else {\n const overCount = existsLength + originFiles.length - maxCount;\n const allowCount = originFiles.length - overCount;\n\n if (overMaxCountMode === \"ignore\") {\n filteredFiles = beforeLoadFilter(originFiles).slice(0, allowCount);\n } else {\n filteredFiles = beforeLoadFilter(originFiles).slice(\n -maxCount,\n Infinity\n );\n\n if (filteredFiles.length < maxCount) {\n existsFilesSlice = [filteredFiles.length - maxCount, Infinity];\n } else {\n existsFilesSlice = [0, 0];\n }\n }\n }\n } else {\n filteredFiles = beforeLoadFilter(originFiles);\n }\n\n const validatedFiles = await beforeLoadValidator(filteredFiles);\n const processedFileDataList = await beforeLoadProcessor(validatedFiles);\n (processedFileDataList.length || existsFilesSlice) &&\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = (\n existsFilesSlice\n ? fileDataList.slice(...existsFilesSlice)\n : fileDataList\n ).concat(processedFileDataList);\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n\n processedFileDataList.forEach(\n (fileData) => fileData.status === \"uploading\" && uploadFile(fileData)\n );\n };\n\n const handleInputChange = async (event: ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n handleFileUpload([...event.target.files!]);\n event.target.value = \"\";\n };\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n multiple={multiple}\n accept={accept}\n hidden\n onChange={handleInputChange}\n />\n <div className=\"upload-wrapper\">\n {children(internalFileDataList, {\n upload: () => inputRef.current?.click(),\n uploadFiles: (files) => handleFileUpload(files),\n })}\n <div className=\"file-list\">\n {internalFileDataList.map((fileData) => {\n const actions = {\n remove: () => handleRemove(fileData),\n };\n return (\n <React.Fragment key={fileData.uid}>\n {itemRender(fileData, internalFileDataList, actions)}\n </React.Fragment>\n );\n })}\n </div>\n </div>\n </>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n DRAG_UPLOAD_TEXT = \"DRAG_UPLOAD_TEXT\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n DRAG_UPLOAD_TEXT: \"Drag files here or <strong>click to upload</strong>\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n DRAG_UPLOAD_TEXT: \"将文件拖动到此处或<strong>点击上传</strong>\",\n};\n\nexport const NS = \"bricks/form/eo-upload-file\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, { useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EasyOpsIcon,\n EasyOpsIconProps,\n} from \"@next-bricks/icons/easyops-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { Trans } from \"react-i18next\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { ItemActions, UploadActions, Upload } from \"../Upload.js\";\nimport { FileData } from \"../utils.js\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsIcon = wrapBrick<EasyOpsIcon, EasyOpsIconProps>(\n \"eo-easyops-icon\"\n);\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadFileProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: FileData[];\n multiple?: boolean;\n accept?: string;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n uploadDraggable?: boolean;\n draggableUploadTip?: string;\n autoUpload?: boolean;\n url?: string;\n method?: string;\n uploadName?: string;\n}\n\n/**\n * 上传文件\n */\nexport\n@defineElement(\"eo-upload-file\", {\n styleTexts: [styleText],\n})\nclass EoUploadFile extends FormItemElementBase implements UploadFileProps {\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: FileData[] | undefined;\n\n /**\n * 是否支持多选\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 接受上传的文件类型,多个之间用 `,` 连接\n */\n @property()\n accessor accept: string | undefined;\n\n /**\n * 最大上传数量\n */\n @property({\n type: Number,\n })\n accessor maxCount: number | undefined;\n\n /**\n * 超出最大上传数量时文件的保留方式\n */\n @property()\n accessor overMaxCountMode: \"ignore\" | \"replace\" = \"replace\";\n\n /**\n * 是否可以拖拽上传\n */\n @property({\n type: Boolean,\n })\n accessor uploadDraggable: boolean | undefined;\n\n /**\n * 拖拽上传的提示信息\n */\n @property()\n accessor draggableUploadTip: string | undefined;\n\n /**\n * 是否自动上传\n */\n @property({\n type: Boolean,\n })\n accessor autoUpload: boolean = false;\n\n /**\n * 自动上传的地址\n */\n @property()\n accessor url: string | undefined;\n\n /**\n * 自动上传的方法\n */\n @property()\n accessor method: string = \"POST\";\n\n /**\n * 自动上传的文件参数名\n */\n @property()\n accessor uploadName: string = \"file\";\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<FileData[]>;\n handleChange = (fileDataList: FileData[]) => {\n this.value = fileDataList;\n this.#change.emit(fileDataList);\n };\n\n render() {\n return (\n <EoUploadFileComponent\n formElement={this.getFormElement()}\n curElement={this}\n label={this.label}\n name={this.name}\n required={this.required}\n message={this.message}\n value={this.value}\n multiple={this.multiple}\n accept={this.accept}\n maxCount={this.maxCount}\n overMaxCountMode={this.overMaxCountMode}\n uploadDraggable={this.uploadDraggable}\n draggableUploadTip={this.draggableUploadTip}\n autoUpload={this.autoUpload}\n url={this.url}\n method={this.method}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n uploadName={this.uploadName}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\nconst fileTextIcon = {\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst loadingIcon = {\n lib: \"antd\",\n icon: \"loading\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\ninterface UploadFileComponentProps extends UploadFileProps, FormItemProps {\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function EoUploadFileComponent(props: UploadFileComponentProps) {\n const {\n value,\n multiple,\n accept,\n maxCount,\n overMaxCountMode,\n uploadDraggable,\n draggableUploadTip,\n autoUpload,\n url,\n method,\n uploadName,\n onChange,\n } = props;\n const { t } = useTranslation(NS);\n const theme = useCurrentTheme();\n\n const [isDragOver, setIsDragOver] = useState(false);\n\n const handleChange = (fileDataList: FileData[]) => {\n onChange?.(fileDataList);\n };\n\n const itemRender = (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => {\n const { uid, file, name, userData, status = \"done\", errors } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\n \"upload-item-container\",\n status && `upload-item-container-${status}`\n )}\n >\n <div className=\"upload-item-inner\">\n <WrappedIcon\n className={classNames(\n \"upload-item-icon\",\n status === \"uploading\" && \"upload-icon\"\n )}\n {...(status === \"uploading\" ? loadingIcon : fileTextIcon)}\n />\n <div className=\"upload-item-infos\">\n <div className=\"upload-item-file-name\">{name}</div>\n </div>\n <div className=\"upload-item-operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: FileData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n multiple={multiple}\n accept={accept}\n maxCount={maxCount}\n overMaxCountMode={overMaxCountMode}\n autoUpload={autoUpload}\n action={url}\n method={method}\n uploadName={uploadName}\n onChange={handleChange}\n >\n {(fileDataList: FileData[], uploadActions: UploadActions) => {\n return uploadDraggable ? (\n <div\n className={classNames(\n \"upload-drag-button\",\n isDragOver && \"upload-drag-button-drag-over\"\n )}\n onClick={uploadActions.upload}\n onDragEnter={(e) => {\n e.preventDefault();\n setIsDragOver(true);\n }}\n onDragOver={(e) => {\n e.preventDefault();\n }}\n onDragLeave={(e) => {\n setIsDragOver(false);\n }}\n onDrop={(e) => {\n e.preventDefault();\n setIsDragOver(false);\n e.dataTransfer.files?.length &&\n uploadActions.uploadFiles(e.dataTransfer.files);\n }}\n >\n <div className=\"upload-drag-button-inner\">\n <WrappedEasyopsIcon\n className=\"upload-drag-button-icon\"\n category=\"colored-common\"\n icon={theme == \"dark-v2\" ? \"upload-dark\" : \"upload-light\"}\n />\n <div className=\"upload-drag-text\">\n <Trans\n i18nKey={t(K.DRAG_UPLOAD_TEXT)}\n components={{\n total: <strong />,\n }}\n />\n </div>\n {draggableUploadTip && (\n <div className=\"upload-drag-tip\">{draggableUploadTip}</div>\n )}\n </div>\n </div>\n ) : (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","let uid = 0;\n\nexport const symbolForAbortController = Symbol.for(\"AbortController\");\n\nexport const LIST_IGNORE = Symbol.for(\"list-ignore\");\n\nexport const getUid = () => {\n return `upload-image-${+new Date()}-${++uid}`;\n};\n\nexport const acceptValidator = (file: File, accepts?: string | string[]) => {\n const validAccepts = ([] as string[]).concat(accepts || []).reduce(\n (pre, cur) =>\n pre.concat(\n cur\n .split(\",\")\n .map((v) => v.trim())\n .filter(Boolean)\n ),\n [] as string[]\n );\n\n if (file && validAccepts.length) {\n const lowerFileName = (file.name || \"\").toLowerCase();\n const mimeType = file.type || \"\";\n const baseMimeType = mimeType.split(\"/\")[0];\n\n return validAccepts.some((accept) => {\n // like *, */*\n if ([\"*\", \"*/*\"].includes(accept)) {\n return true;\n }\n\n // like .jpg, .png\n if (accept.startsWith(\".\")) {\n const lowerType = accept.toLowerCase();\n let affixList = [lowerType];\n if ([\".jpg\", \".jpeg\"].includes(lowerType)) {\n affixList = [\".jpg\", \".jpeg\"];\n }\n\n return affixList.some((affix) => lowerFileName.endsWith(affix));\n }\n\n // like image/*\n if (accept.endsWith(\"/*\")) {\n return baseMimeType === accept.split(\"/*\")[0];\n }\n\n // Full match\n if (mimeType === accept) {\n return true;\n }\n\n return false;\n });\n }\n return true;\n};\n\nexport const sizeValidator = (file: File, limitSize?: number) => {\n return new Promise((resolve, reject) => {\n if (file && limitSize) {\n file.size < limitSize ? resolve(file) : reject(new Error(\"Wrong size!\"));\n } else {\n resolve(file);\n }\n });\n};\n\nexport type UploadStatus = \"uploading\" | \"done\" | \"error\";\n\nexport interface FileData {\n uid: string;\n name: string;\n file?: File & { uid?: string };\n response?: any;\n userData?: any;\n status?: UploadStatus;\n errors?: Error[];\n [symbolForAbortController]?: AbortController;\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}"],"names":["Upload","props","children","itemRender","autoUpload","onChange","uploadName","action","method","accept","maxCount","overMaxCountMode","beforeUploadValidators","beforeUploadUserDataProcessor","multiple","inputRef","useRef","internalFileDataList","setInternalFileDataList","useState","useEffect","fileList","beforeLoadFilter","files","filter","file","acceptValidator","beforeLoadValidator","_ref","_asyncToGenerator","Promise","all","map","allSettled","sizeValidator","validator","_ref2","_file","validatorResult","value","errors","forEach","result","status","push","reason","_x","apply","arguments","beforeLoadProcessor","_ref3","fileDataList","_ref5","_ref4","uid","getUid","name","length","userData","_x3","_x2","handleFileUpload","_ref6","existsFilesSlice","originFiles","filteredFiles","Number","existsLength","allowCount","slice","Infinity","validatedFiles","processedFileDataList","newFileDataList","concat","fileData","formData","FormData","abortController","AbortController","symbolForAbortController","append","req","http","request","body","signal","then","response","handleUploadSuccess","_fileData","_objectSpread","catch","error","handleUploadError","_fileData$errors","uploadFile","_x4","handleInputChange","_ref7","event","stopPropagation","target","_x5","React","ref","type","hidden","className","upload","_inputRef$current","current","click","uploadFiles","actions","remove","_fileData$symbolForAb","removedFileData","abort","handleRemove","key","K","NS","locales","en","UPLOAD","FILE_UPLOADING","DRAG_UPLOAD_TEXT","zh","initializeReactI18n","_EoUploadFile","defineElement","property","createDecorators","WrappedButton","wrapBrick","WrappedIcon","WrappedEasyopsIcon","WrappedFormItem","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","Boolean","_dec5","attribute","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_change","EoUploadFile","FormItemElementBase","constructor","_classPrivateFieldInitSpec","get","_get_change2","set","_set_change2","writable","_initProto","_init_label","_init_name","_init_required","_init_message","_init_value","_init_multiple","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","_init_change","_defineProperty","this","_classPrivateFieldGet","emit","label","v","_classPrivateFieldSet","required","message","uploadDraggable","draggableUploadTip","url","render","EoUploadFileComponent","formElement","getFormElement","curElement","notRender","helpBrick","trigger","handleChange","_set_change","_get_change","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","defaultUploadIcon","lib","icon","theme","deleteIcon","category","closeIcon","fileTextIcon","loadingIcon","t","useTranslation","useCurrentTheme","isDragOver","setIsDragOver","_extends","curValue","some","classNames","onClick","uploadActions","onDragEnter","preventDefault","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","Trans","i18nKey","components","total","Symbol","for","Date","accepts","validAccepts","reduce","pre","cur","split","trim","lowerFileName","toLowerCase","mimeType","baseMimeType","includes","startsWith","lowerType","affixList","affix","endsWith","limitSize","resolve","reject","size","Error","hasOwn","hasOwnProperty","classes","i","arg","argType","Array","isArray","inner","toString","Object","prototype","call","join","module","exports","default","___CSS_LOADER_EXPORT___","id","asyncGeneratorStep","gen","_next","_throw","info","done","fn","self","args","err","undefined"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-upload-file.08a5ad7f.js","mappings":"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","sources":["webpack:///./src/upload/Upload.tsx","webpack:///./src/upload/upload-file/i18n.ts","webpack:///./src/upload/upload-file/index.tsx","webpack:///./src/upload/utils.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/upload/upload-file/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js"],"sourcesContent":["import React, { ChangeEvent, useEffect, useRef, useState } from \"react\";\nimport \"@next-core/theme\";\nimport { http } from \"@next-core/http\";\nimport {\n getUid,\n type FileData,\n symbolForAbortController,\n acceptValidator,\n sizeValidator,\n UploadStatus,\n} from \"./utils.js\";\n\nexport interface UploadActions {\n upload: () => void;\n uploadFiles: (files: FileList | File[]) => void;\n}\n\nexport interface ItemActions {\n remove: () => void;\n}\n\nexport interface UploadProps {\n children: (\n fileDataList: FileData[],\n uploadActions: UploadActions\n ) => React.ReactElement;\n itemRender: (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => React.ReactElement;\n fileList?: FileData[];\n autoUpload?: boolean;\n uploadName?: string;\n action?: string;\n method?: string;\n accept?: string;\n multiple?: boolean;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n beforeUploadValidators?: ((file: File, files: File[]) => Promise<unknown>)[];\n beforeUploadUserDataProcessor?: (\n file: File,\n fileDataList: { file: File; errors: Error[] }[]\n ) => Promise<any>;\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function Upload(props: UploadProps) {\n const {\n children,\n itemRender,\n autoUpload,\n onChange,\n uploadName = \"file\",\n action,\n method,\n accept,\n maxCount,\n overMaxCountMode = \"replace\",\n beforeUploadValidators = [],\n beforeUploadUserDataProcessor,\n multiple,\n } = props;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [internalFileDataList, setInternalFileDataList] = useState<FileData[]>(\n []\n );\n\n useEffect(() => {\n setInternalFileDataList(props.fileList || []);\n }, [props.fileList]);\n\n const beforeLoadFilter = (files: File[]) => {\n return files.filter((file) => acceptValidator(file, accept));\n };\n\n const beforeLoadValidator = async (files: File[]) => {\n const results = await Promise.all(\n files.map((file) =>\n Promise.allSettled([\n file,\n sizeValidator(file),\n ...beforeUploadValidators.map((validator) => validator(file, files)),\n ])\n )\n );\n return results.map(([_file, ...validatorResult]) => {\n const file = (_file as PromiseFulfilledResult<File>).value;\n const errors: Error[] = [];\n\n validatorResult.forEach((result) => {\n result.status === \"rejected\" && errors.push(result.reason);\n });\n\n return { file, errors };\n });\n };\n\n const beforeLoadProcessor = async (\n fileDataList: { file: File; errors: Error[] }[]\n ) => {\n return Promise.all(\n fileDataList.map(\n async ({\n file,\n errors,\n }: {\n file: File & { uid?: string };\n errors: Error[];\n }) => {\n const uid = getUid();\n file.uid = uid;\n const name = file.name;\n\n const status: UploadStatus = errors.length\n ? \"error\"\n : autoUpload\n ? \"uploading\"\n : \"done\";\n\n const userData = await beforeUploadUserDataProcessor?.(\n file,\n fileDataList\n );\n return { uid, file, name, status, userData, errors };\n }\n )\n );\n };\n\n const handleUploadSuccess = (fileData: FileData, response: unknown) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n response,\n status: \"done\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleUploadError = (fileData: FileData, error: Error) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.map((_fileData) => {\n return _fileData.uid === fileData.uid\n ? {\n ..._fileData,\n errors: _fileData.errors?.concat(error),\n status: \"error\" as UploadStatus,\n }\n : _fileData;\n });\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleFileRemove = (removedFileData: FileData) => {\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = fileDataList.filter(\n (fileData) => fileData.uid !== removedFileData.uid\n );\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n };\n\n const handleRemove = (fileData: FileData) => {\n if (fileData.status === \"uploading\") {\n fileData[symbolForAbortController]?.abort();\n }\n handleFileRemove(fileData);\n };\n\n const uploadFile = (fileData: FileData) => {\n const formData = new FormData();\n const abortController = new AbortController();\n fileData[symbolForAbortController] = abortController;\n formData.append(uploadName, fileData.file!, fileData.file!.name);\n\n const req = http.request(action!, {\n method,\n body: formData,\n signal: abortController.signal,\n });\n\n req\n .then((response) => handleUploadSuccess(fileData, response))\n .catch((error) => handleUploadError(fileData, error));\n\n return req;\n };\n\n const handleFileUpload = async (files: FileList | File[]) => {\n const originFiles = [...files];\n let filteredFiles: File[] = [];\n let existsFilesSlice: [number, number] | undefined;\n\n if (maxCount && Number(maxCount) > 0) {\n const existsLength = internalFileDataList.length;\n if (existsLength + originFiles.length <= maxCount) {\n filteredFiles = beforeLoadFilter(originFiles);\n } else {\n const overCount = existsLength + originFiles.length - maxCount;\n const allowCount = originFiles.length - overCount;\n\n if (overMaxCountMode === \"ignore\") {\n filteredFiles = beforeLoadFilter(originFiles).slice(0, allowCount);\n } else {\n filteredFiles = beforeLoadFilter(originFiles).slice(\n -maxCount,\n Infinity\n );\n\n if (filteredFiles.length < maxCount) {\n existsFilesSlice = [filteredFiles.length - maxCount, Infinity];\n } else {\n existsFilesSlice = [0, 0];\n }\n }\n }\n } else {\n filteredFiles = beforeLoadFilter(originFiles);\n }\n\n const validatedFiles = await beforeLoadValidator(filteredFiles);\n const processedFileDataList = await beforeLoadProcessor(validatedFiles);\n (processedFileDataList.length || existsFilesSlice) &&\n setInternalFileDataList((fileDataList) => {\n const newFileDataList = (\n existsFilesSlice\n ? fileDataList.slice(...existsFilesSlice)\n : fileDataList\n ).concat(processedFileDataList);\n onChange?.(newFileDataList);\n return newFileDataList;\n });\n\n processedFileDataList.forEach(\n (fileData) => fileData.status === \"uploading\" && uploadFile(fileData)\n );\n };\n\n const handleInputChange = async (event: ChangeEvent<HTMLInputElement>) => {\n event.stopPropagation();\n handleFileUpload([...event.target.files!]);\n event.target.value = \"\";\n };\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n multiple={multiple}\n accept={accept}\n hidden\n onChange={handleInputChange}\n />\n <div className=\"upload-wrapper\">\n {children(internalFileDataList, {\n upload: () => inputRef.current?.click(),\n uploadFiles: (files) => handleFileUpload(files),\n })}\n <div className=\"file-list\">\n {internalFileDataList.map((fileData) => {\n const actions = {\n remove: () => handleRemove(fileData),\n };\n return (\n <React.Fragment key={fileData.uid}>\n {itemRender(fileData, internalFileDataList, actions)}\n </React.Fragment>\n );\n })}\n </div>\n </div>\n </>\n );\n}\n","export enum K {\n UPLOAD = \"UPLOAD\",\n FILE_UPLOADING = \"FILE_UPLOADING\",\n DRAG_UPLOAD_TEXT = \"DRAG_UPLOAD_TEXT\",\n}\n\nconst en: Locale = {\n UPLOAD: \"Upload\",\n FILE_UPLOADING: \"File is still uploading\",\n DRAG_UPLOAD_TEXT: \"Drag files here or <strong>click to upload</strong>\",\n};\n\nconst zh: Locale = {\n UPLOAD: \"上传\",\n FILE_UPLOADING: \"文件上传中\",\n DRAG_UPLOAD_TEXT: \"将文件拖动到此处或<strong>点击上传</strong>\",\n};\n\nexport const NS = \"bricks/form/eo-upload-file\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","import React, { useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EasyOpsIcon,\n EasyOpsIconProps,\n} from \"@next-bricks/icons/easyops-icon\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"../../form-item/index.js\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { Trans } from \"react-i18next\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { ItemActions, UploadActions, Upload } from \"../Upload.js\";\nimport { FileData } from \"../utils.js\";\nimport classNames from \"classnames\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsIcon = wrapBrick<EasyOpsIcon, EasyOpsIconProps>(\n \"eo-easyops-icon\"\n);\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface UploadFileProps {\n label?: string;\n name?: string;\n required?: boolean;\n message?: Record<string, string>;\n value?: FileData[];\n multiple?: boolean;\n accept?: string;\n maxCount?: number;\n overMaxCountMode?: \"ignore\" | \"replace\";\n uploadDraggable?: boolean;\n draggableUploadTip?: string;\n autoUpload?: boolean;\n url?: string;\n method?: string;\n uploadName?: string;\n}\n\n/**\n * 上传文件\n */\nexport\n@defineElement(\"eo-upload-file\", {\n styleTexts: [styleText],\n})\nclass EoUploadFile extends FormItemElementBase implements UploadFileProps {\n /**\n * 字段说明\n */\n @property()\n accessor label: string | undefined;\n\n /**\n * 字段名称\n */\n @property()\n accessor name: string | undefined;\n\n /**\n * 是否必填\n */\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n /**\n * 校验文本信息\n */\n @property({\n attribute: false,\n })\n accessor message: Record<string, string> | undefined;\n\n /**\n * 值\n */\n @property({\n attribute: false,\n })\n accessor value: FileData[] | undefined;\n\n /**\n * 是否支持多选\n */\n @property({\n type: Boolean,\n })\n accessor multiple: boolean | undefined;\n\n /**\n * 接受上传的文件类型,多个之间用 `,` 连接\n */\n @property()\n accessor accept: string | undefined;\n\n /**\n * 最大上传数量\n */\n @property({\n type: Number,\n })\n accessor maxCount: number | undefined;\n\n /**\n * 超出最大上传数量时文件的保留方式\n */\n @property()\n accessor overMaxCountMode: \"ignore\" | \"replace\" = \"replace\";\n\n /**\n * 是否可以拖拽上传\n */\n @property({\n type: Boolean,\n })\n accessor uploadDraggable: boolean | undefined;\n\n /**\n * 拖拽上传的提示信息\n */\n @property()\n accessor draggableUploadTip: string | undefined;\n\n /**\n * 是否自动上传\n */\n @property({\n type: Boolean,\n })\n accessor autoUpload: boolean = false;\n\n /**\n * 自动上传的地址\n */\n @property()\n accessor url: string | undefined;\n\n /**\n * 自动上传的方法\n */\n @property()\n accessor method: string = \"POST\";\n\n /**\n * 自动上传的文件参数名\n */\n @property()\n accessor uploadName: string = \"file\";\n\n /**\n * 值变化时触发\n */\n @event({ type: \"change\" })\n accessor #change!: EventEmitter<FileData[]>;\n handleChange = (fileDataList: FileData[]) => {\n this.value = fileDataList;\n this.#change.emit(fileDataList);\n };\n\n render() {\n return (\n <EoUploadFileComponent\n formElement={this.getFormElement()}\n curElement={this}\n label={this.label}\n name={this.name}\n required={this.required}\n message={this.message}\n value={this.value}\n multiple={this.multiple}\n accept={this.accept}\n maxCount={this.maxCount}\n overMaxCountMode={this.overMaxCountMode}\n uploadDraggable={this.uploadDraggable}\n draggableUploadTip={this.draggableUploadTip}\n autoUpload={this.autoUpload}\n url={this.url}\n method={this.method}\n notRender={this.notRender}\n helpBrick={this.helpBrick}\n uploadName={this.uploadName}\n trigger=\"handleChange\"\n onChange={this.handleChange}\n />\n );\n }\n}\n\nconst defaultUploadIcon = {\n lib: \"antd\",\n icon: \"upload\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst deleteIcon = {\n lib: \"easyops\",\n category: \"default\",\n icon: \"delete\",\n} as GeneralIconProps;\n\nconst closeIcon = {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"close\",\n} as GeneralIconProps;\n\nconst fileTextIcon = {\n lib: \"antd\",\n icon: \"file-text\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\nconst loadingIcon = {\n lib: \"antd\",\n icon: \"loading\",\n theme: \"outlined\",\n} as GeneralIconProps;\n\ninterface UploadFileComponentProps extends UploadFileProps, FormItemProps {\n onChange?: (fileDataList: FileData[]) => void;\n}\n\nexport function EoUploadFileComponent(props: UploadFileComponentProps) {\n const {\n value,\n multiple,\n accept,\n maxCount,\n overMaxCountMode,\n uploadDraggable,\n draggableUploadTip,\n autoUpload,\n url,\n method,\n uploadName,\n onChange,\n } = props;\n const { t } = useTranslation(NS);\n const theme = useCurrentTheme();\n\n const [isDragOver, setIsDragOver] = useState(false);\n\n const handleChange = (fileDataList: FileData[]) => {\n onChange?.(fileDataList);\n };\n\n const itemRender = (\n fileData: FileData,\n fileDataList: FileData[],\n actions: ItemActions\n ) => {\n const { uid, file, name, userData, status = \"done\", errors } = fileData;\n\n return (\n <div\n key={uid}\n className={classNames(\n \"upload-item-container\",\n status && `upload-item-container-${status}`\n )}\n >\n <div className=\"upload-item-inner\">\n <WrappedIcon\n className={classNames(\n \"upload-item-icon\",\n status === \"uploading\" && \"upload-icon\"\n )}\n {...(status === \"uploading\" ? loadingIcon : fileTextIcon)}\n />\n <div className=\"upload-item-infos\">\n <div className=\"upload-item-file-name\">{name}</div>\n </div>\n <div className=\"upload-item-operators\">\n <WrappedIcon\n className=\"delete-icon\"\n {...(status === \"done\" ? deleteIcon : closeIcon)}\n onClick={actions.remove}\n />\n </div>\n </div>\n </div>\n );\n };\n\n const validator = (curValue: FileData[]) => {\n if (curValue?.some((file) => file.status === \"uploading\")) {\n return t(K.FILE_UPLOADING);\n }\n return \"\";\n };\n\n return (\n <WrappedFormItem {...(props as FormItemProps)} validator={validator}>\n <Upload\n itemRender={itemRender}\n fileList={value}\n multiple={multiple}\n accept={accept}\n maxCount={maxCount}\n overMaxCountMode={overMaxCountMode}\n autoUpload={autoUpload}\n action={url}\n method={method}\n uploadName={uploadName}\n onChange={handleChange}\n >\n {(fileDataList: FileData[], uploadActions: UploadActions) => {\n return uploadDraggable ? (\n <div\n className={classNames(\n \"upload-drag-button\",\n isDragOver && \"upload-drag-button-drag-over\"\n )}\n onClick={uploadActions.upload}\n onDragEnter={(e) => {\n e.preventDefault();\n setIsDragOver(true);\n }}\n onDragOver={(e) => {\n e.preventDefault();\n }}\n onDragLeave={(e) => {\n setIsDragOver(false);\n }}\n onDrop={(e) => {\n e.preventDefault();\n setIsDragOver(false);\n e.dataTransfer.files?.length &&\n uploadActions.uploadFiles(e.dataTransfer.files);\n }}\n >\n <div className=\"upload-drag-button-inner\">\n <WrappedEasyopsIcon\n className=\"upload-drag-button-icon\"\n category=\"colored-common\"\n icon={theme == \"dark-v2\" ? \"upload-dark\" : \"upload-light\"}\n />\n <div className=\"upload-drag-text\">\n <Trans\n i18nKey={t(K.DRAG_UPLOAD_TEXT)}\n components={{\n total: <strong />,\n }}\n />\n </div>\n {draggableUploadTip && (\n <div className=\"upload-drag-tip\">{draggableUploadTip}</div>\n )}\n </div>\n </div>\n ) : (\n <WrappedButton\n icon={defaultUploadIcon}\n onClick={uploadActions.upload}\n >\n {t(K.UPLOAD)}\n </WrappedButton>\n );\n }}\n </Upload>\n </WrappedFormItem>\n );\n}\n","let uid = 0;\n\nexport const symbolForAbortController = Symbol.for(\"AbortController\");\n\nexport const LIST_IGNORE = Symbol.for(\"list-ignore\");\n\nexport const getUid = () => {\n return `upload-image-${+new Date()}-${++uid}`;\n};\n\nexport const acceptValidator = (file: File, accepts?: string | string[]) => {\n const validAccepts = ([] as string[]).concat(accepts || []).reduce(\n (pre, cur) =>\n pre.concat(\n cur\n .split(\",\")\n .map((v) => v.trim())\n .filter(Boolean)\n ),\n [] as string[]\n );\n\n if (file && validAccepts.length) {\n const lowerFileName = (file.name || \"\").toLowerCase();\n const mimeType = file.type || \"\";\n const baseMimeType = mimeType.split(\"/\")[0];\n\n return validAccepts.some((accept) => {\n // like *, */*\n if ([\"*\", \"*/*\"].includes(accept)) {\n return true;\n }\n\n // like .jpg, .png\n if (accept.startsWith(\".\")) {\n const lowerType = accept.toLowerCase();\n let affixList = [lowerType];\n if ([\".jpg\", \".jpeg\"].includes(lowerType)) {\n affixList = [\".jpg\", \".jpeg\"];\n }\n\n return affixList.some((affix) => lowerFileName.endsWith(affix));\n }\n\n // like image/*\n if (accept.endsWith(\"/*\")) {\n return baseMimeType === accept.split(\"/*\")[0];\n }\n\n // Full match\n if (mimeType === accept) {\n return true;\n }\n\n return false;\n });\n }\n return true;\n};\n\nexport const sizeValidator = (file: File, limitSize?: number) => {\n return new Promise((resolve, reject) => {\n if (file && limitSize) {\n file.size < limitSize ? resolve(file) : reject(new Error(\"Wrong size!\"));\n } else {\n resolve(file);\n }\n });\n};\n\nexport type UploadStatus = \"uploading\" | \"done\" | \"error\";\n\nexport interface FileData {\n uid: string;\n name: string;\n file?: File & { uid?: string };\n response?: any;\n userData?: any;\n status?: UploadStatus;\n errors?: Error[];\n [symbolForAbortController]?: AbortController;\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}@keyframes loadingCircle{100%{transform:rotate(360deg)}}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.upload-drag-button{padding:36px 0 24px 0;border-radius:var(--larger-border-radius);background:var(--antd-upload-drag-bg);border:1px dashed var(--antd-upload-drag-border-color);cursor:pointer}.upload-drag-button:hover,\n.upload-drag-button-drag-over{background:var(--antd-upload-drag-hover-bg);border-color:var(--antd-upload-drag-hover-border-color)}.upload-drag-button-inner{display:flex;flex-direction:column;align-items:center;pointer-events:none}.upload-drag-button-icon{height:42px;font-size:153.6px}.upload-drag-text{margin-top:15px;font-size:14px;color:var(--text-color-title);line-height:20px}.upload-drag-text strong{color:var(--color-brand)}.upload-drag-tip{margin-top:8px;font-size:12px;color:var(--text-color-secondary);line-height:17px}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.upload-item-container{padding:2px 8px;border-radius:var(--larger-border-radius);overflow:hidden;cursor:pointer}.upload-item-inner{position:relative;display:flex;align-items:center;gap:5px}.upload-item-icon{font-size:14px}.upload-icon{animation:loadingCircle 1s infinite linear}.upload-item-infos{flex:1;display:flex;flex-direction:column;padding-right:16px;gap:5px}.upload-item-file-name{font-size:12px;line-height:17px}.upload-item-operators{position:absolute;top:1px;right:0}.delete-icon{opacity:0;font-size:14px}.upload-item-container-uploading .upload-item-icon{color:var(--text-color-secondary)}.upload-item-container-uploading .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-uploading .delete-icon{color:var(--text-color-disabled)}.upload-item-container-uploading:hover{background:var(--antd-upload-list-type-picture-bg)}.upload-item-container-uploading:hover .delete-icon{opacity:1}.upload-item-container-uploading .delete-icon:hover{color:var(--text-color-default)}.upload-item-container-done .upload-item-icon,\n.upload-item-container-done .upload-item-file-name{color:var(--text-color-default)}.upload-item-container-done .delete-icon{color:var(--text-color-disabled)}.upload-item-container-done:hover{background:var(--antd-upload-list-type-picture-hover-bg)}.upload-item-container-done:hover .upload-item-icon,\n.upload-item-container-done:hover .upload-item-file-name{color:var(--color-brand)}.upload-item-container-done:hover .delete-icon{opacity:1}.upload-item-container-done .delete-icon:hover{color:var(--color-error)}.upload-item-container-error .upload-item-icon,\n.upload-item-container-error .upload-item-file-name{color:var(--color-error)}.upload-item-container-error .delete-icon{opacity:1;color:var(--color-error)}.upload-item-container-error:hover{background:var(--palette-red-1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}"],"names":["Upload","props","children","itemRender","autoUpload","onChange","uploadName","action","method","accept","maxCount","overMaxCountMode","beforeUploadValidators","beforeUploadUserDataProcessor","multiple","inputRef","useRef","internalFileDataList","setInternalFileDataList","useState","useEffect","fileList","beforeLoadFilter","files","filter","file","acceptValidator","beforeLoadValidator","_ref","_asyncToGenerator","Promise","all","map","allSettled","sizeValidator","validator","_ref2","_file","validatorResult","value","errors","forEach","result","status","push","reason","_x","apply","arguments","beforeLoadProcessor","_ref3","fileDataList","_ref5","_ref4","uid","getUid","name","length","userData","_x3","_x2","handleFileUpload","_ref6","existsFilesSlice","originFiles","filteredFiles","Number","existsLength","allowCount","slice","Infinity","validatedFiles","processedFileDataList","newFileDataList","concat","fileData","formData","FormData","abortController","AbortController","symbolForAbortController","append","req","http","request","body","signal","then","response","handleUploadSuccess","_fileData","_objectSpread","catch","error","handleUploadError","_fileData$errors","uploadFile","_x4","handleInputChange","_ref7","event","stopPropagation","target","_x5","React","ref","type","hidden","className","upload","_inputRef$current","current","click","uploadFiles","actions","remove","_fileData$symbolForAb","removedFileData","abort","handleRemove","key","K","NS","locales","en","UPLOAD","FILE_UPLOADING","DRAG_UPLOAD_TEXT","zh","initializeReactI18n","_EoUploadFile","defineElement","property","createDecorators","WrappedButton","wrapBrick","WrappedIcon","WrappedEasyopsIcon","WrappedFormItem","_dec","styleTexts","styleText","_dec2","_dec3","_dec4","Boolean","_dec5","attribute","_dec6","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_change","EoUploadFile","FormItemElementBase","constructor","_classPrivateFieldInitSpec","get","_get_change2","set","_set_change2","writable","_initProto","_init_label","_init_name","_init_required","_init_message","_init_value","_init_multiple","_init_accept","_init_maxCount","_init_overMaxCountMode","_init_uploadDraggable","_init_draggableUploadTip","_init_autoUpload","_init_url","_init_method","_init_uploadName","_init_change","_defineProperty","this","_classPrivateFieldGet","emit","label","v","_classPrivateFieldSet","required","message","uploadDraggable","draggableUploadTip","url","render","EoUploadFileComponent","formElement","getFormElement","curElement","notRender","helpBrick","trigger","handleChange","_set_change","_get_change","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","defaultUploadIcon","lib","icon","theme","deleteIcon","category","closeIcon","fileTextIcon","loadingIcon","t","useTranslation","useCurrentTheme","isDragOver","setIsDragOver","_extends","curValue","some","classNames","onClick","uploadActions","onDragEnter","preventDefault","onDragOver","onDragLeave","onDrop","_e$dataTransfer$files","dataTransfer","Trans","i18nKey","components","total","Symbol","for","Date","accepts","validAccepts","reduce","pre","cur","split","trim","lowerFileName","toLowerCase","mimeType","baseMimeType","includes","startsWith","lowerType","affixList","affix","endsWith","limitSize","resolve","reject","size","Error","hasOwn","hasOwnProperty","classes","i","arg","argType","Array","isArray","inner","toString","Object","prototype","call","join","module","exports","default","___CSS_LOADER_EXPORT___","id","asyncGeneratorStep","gen","_next","_throw","info","done","fn","self","args","err","undefined"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
- /*! For license information please see eo-upload-image.f5cac988.js.LICENSE.txt */
2
- (self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[1265,4795],{2343:(e,t,r)=>{"use strict";r.d(t,{g:()=>u});var a=r(3028),i=r(4795),n=r(8657),o=r.n(n),l=(r(5254),r(8633)),s=r(4145);function u(e){var{children:t,itemRender:r,autoUpload:u,onChange:c,uploadName:d="file",action:p,method:m,accept:h,maxCount:g,overMaxCountMode:v="replace",beforeUploadValidators:f=[],beforeUploadUserDataProcessor:b,multiple:y}=e,x=(0,n.useRef)(null),[w,Z]=(0,n.useState)([]);(0,n.useEffect)((()=>{Z(e.fileList||[])}),[e.fileList]);var k=e=>e.filter((e=>(0,s.xz)(e,h))),E=function(){var e=(0,i.Z)((function*(e){return(yield Promise.all(e.map((t=>Promise.allSettled([t,(0,s.c7)(t),...f.map((r=>r(t,e)))]))))).map((e=>{var[t,...r]=e,a=t.value,i=[];return r.forEach((e=>{"rejected"===e.status&&i.push(e.reason)})),{file:a,errors:i}}))}));return function(t){return e.apply(this,arguments)}}(),N=function(){var e=(0,i.Z)((function*(e){return Promise.all(e.map(function(){var t=(0,i.Z)((function*(t){var{file:r,errors:a}=t,i=(0,s.sq)();return r.uid=i,{uid:i,file:r,name:r.name,status:a.length?"error":u?"uploading":"done",userData:yield null==b?void 0:b(r,e),errors:a}}));return function(e){return t.apply(this,arguments)}}()))}));return function(t){return e.apply(this,arguments)}}(),P=function(){var e=(0,i.Z)((function*(e){var t,r=[...e],i=[];if(g&&Number(g)>0){var n=w.length;if(n+r.length<=g)i=k(r);else{var o=r.length-(n+r.length-g);"ignore"===v?i=k(r).slice(0,o):(i=k(r).slice(-g,1/0),t=i.length<g?[i.length-g,1/0]:[0,0])}}else i=k(r);var u=yield E(i),h=yield N(u);(h.length||t)&&Z((e=>{var r=(t?e.slice(...t):e).concat(h);return null==c||c(r),r})),h.forEach((e=>"uploading"===e.status&&(e=>{var t=new FormData,r=new AbortController;e[s.Ou]=r,t.append(d,e.file,e.file.name);var i=l.http.request(p,{method:m,body:t,signal:r.signal});return i.then((t=>((e,t)=>{Z((r=>{var i=r.map((r=>r.uid===e.uid?(0,a.Z)((0,a.Z)({},r),{},{response:t,status:"done"}):r));return null==c||c(i),i}))})(e,t))).catch((t=>((e,t)=>{Z((r=>{var i=r.map((r=>{var i;return r.uid===e.uid?(0,a.Z)((0,a.Z)({},r),{},{errors:null===(i=r.errors)||void 0===i?void 0:i.concat(t),status:"error"}):r}));return null==c||c(i),i}))})(e,t))),i})(e)))}));return function(t){return e.apply(this,arguments)}}(),U=function(){var e=(0,i.Z)((function*(e){e.stopPropagation(),P([...e.target.files]),e.target.value=""}));return function(t){return e.apply(this,arguments)}}();return o().createElement(o().Fragment,null,o().createElement("input",{ref:x,type:"file",multiple:y,accept:h,hidden:!0,onChange:U}),o().createElement("div",{className:"upload-wrapper"},t(w,{upload:()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.click()},uploadFiles:e=>P(e)}),o().createElement("div",{className:"file-list"},w.map((e=>{var t={remove:()=>(e=>{var t,r;"uploading"===e.status&&(null===(t=e[s.Ou])||void 0===t||t.abort()),r=e,Z((e=>{var t=e.filter((e=>e.uid!==r.uid));return null==c||c(t),t}))})(e)};return o().createElement(o().Fragment,{key:e.uid},r(e,w,t))})))))}},4993:(e,t,r)=>{"use strict";r.d(t,{K:()=>a,NS:()=>i,k:()=>n});var a=function(e){return e.UPLOAD="UPLOAD",e.FILE_UPLOADING="FILE_UPLOADING",e}({}),i="bricks/form/upload-image",n={en:{UPLOAD:"Upload",FILE_UPLOADING:"File is still uploading"},zh:{UPLOAD:"上传",FILE_UPLOADING:"文件上传中"}}},2277:(e,t,r)=>{"use strict";r.r(t),r.d(t,{UploadImage:()=>H,UploadImageComponent:()=>me});var a,i,n,o,l,s,u,c,d,p,m,h,g,v,f,b,y,x,w,Z,k,E=r(7896),N=r(3028),P=r(6666),U=r(3395),L=r(1815),j=r(381),z=r(687),C=r(2604),O=r(8657),W=r.n(O),D=r(2061),I=r(8978),S=r(9236),_=r(7088),A=r(4993),B=(r(5254),r(5223)),F=r(1391),M=r(2779),R=r.n(M),q=r(2343),G=r(9705);(0,_.initializeReactI18n)(A.NS,A.k);var H,{defineElement:K,property:T,event:V}=(0,D.createDecorators)(),J=(0,I.wrapBrick)("eo-button"),Q=(0,I.wrapBrick)("eo-icon"),X=(0,I.wrapBrick)("eo-form-item");i=K("eo-upload-image",{styleTexts:[B.Z],alias:["form.upload-image"]}),n=T(),l=T(),u=T({attribute:!1}),d=T(),m=T({type:Boolean}),g=T({type:Boolean}),f=T({attribute:!1}),y=V({type:"change"});var Y=new WeakMap,$=new WeakMap,ee=new WeakMap,te=new WeakMap,re=new WeakMap,ae=new WeakMap,ie=new WeakMap,ne=new WeakMap,oe=new WeakMap;class le extends F.G{constructor(){super(...arguments),(0,U.Z)(this,oe,{get:ue,set:se}),(0,U.Z)(this,Y,{writable:!0,value:(k(this),o(this))}),(0,U.Z)(this,$,{writable:!0,value:s(this)}),(0,U.Z)(this,ee,{writable:!0,value:c(this)}),(0,U.Z)(this,te,{writable:!0,value:p(this)}),(0,U.Z)(this,re,{writable:!0,value:h(this)}),(0,U.Z)(this,ae,{writable:!0,value:v(this)}),(0,U.Z)(this,ie,{writable:!0,value:b(this)}),(0,U.Z)(this,ne,{writable:!0,value:x(this)}),(0,P.Z)(this,"handleChange",(e=>{this.value=e,(0,z.Z)(this,oe).emit(e)}))}get name(){return(0,z.Z)(this,Y)}set name(e){(0,j.Z)(this,Y,e)}get label(){return(0,z.Z)(this,$)}set label(e){(0,j.Z)(this,$,e)}get value(){return(0,z.Z)(this,ee)}set value(e){(0,j.Z)(this,ee,e)}get bucketName(){return(0,z.Z)(this,te)}set bucketName(e){(0,j.Z)(this,te,e)}get multiple(){return(0,z.Z)(this,re)}set multiple(e){(0,j.Z)(this,re,e)}get required(){return(0,z.Z)(this,ae)}set required(e){(0,j.Z)(this,ae,e)}get message(){return(0,z.Z)(this,ie)}set message(e){(0,j.Z)(this,ie,e)}render(){return W().createElement(me,{formElement:this.getFormElement(),curElement:this,name:this.name,label:this.label,value:this.value,required:this.required,message:this.message,bucketName:this.bucketName,multiple:this.multiple,notRender:this.notRender,helpBrick:this.helpBrick,onChange:this.handleChange,trigger:"handleChange"})}}function se(e){Z(this,e)}function ue(){return w(this)}({e:[o,s,c,p,h,v,b,x,w,Z,k],c:[H,a]}=(0,C.Z)(le,[[n,1,"name"],[l,1,"label"],[u,1,"value"],[d,1,"bucketName"],[m,1,"multiple"],[g,1,"required"],[f,1,"message"],[y,1,"change",e=>(0,z.Z)(e,ne),(e,t)=>(0,j.Z)(e,ne,t)]],[i],0,(e=>oe.has((0,L.Z)(e))))),a();var ce={lib:"antd",icon:"upload",theme:"outlined"},de={lib:"easyops",category:"default",icon:"delete"},pe={lib:"antd",theme:"outlined",icon:"close"};function me(e){var{value:t,bucketName:r,multiple:a,onChange:i}=e,{t:n}=(0,_.useTranslation)(A.NS);return W().createElement(X,(0,E.Z)({},e,{validator:e=>null!=e&&e.some((e=>"uploading"===e.status))?n(A.K.FILE_UPLOADING):""}),W().createElement(q.g,{itemRender:(e,t,r)=>{var{uid:a,file:i,url:n,name:o,userData:l,status:s="done",errors:u}=e;return W().createElement("div",{key:a,className:R()("image-item",{"image-item-done":"done"===s,"image-item-uploading":"uploading"===s,"image-item-error":"error"===s})},W().createElement("div",{className:"image-item-inner"},W().createElement("img",{className:"image",src:(null==l?void 0:l.url)||n}),W().createElement("div",{className:"infos"},W().createElement("div",{className:"file-name"},o),"uploading"===s&&W().createElement("div",{className:"progress"}),W().createElement("div",{className:"more-info"},"done"===s&&l&&W().createElement("div",{className:"image-size"},"LeaderBoard ".concat(null==l?void 0:l.naturalWidth,"*").concat(null==l?void 0:l.naturalHeight)),"error"===s&&W().createElement("div",{className:"error-info"},null==u?void 0:u.map((e=>e instanceof Error?e.message:e)).join(" ")),("done"===s||"error"===s)&&(null==l?void 0:l.size)&&W().createElement("div",{className:"file-size"},l.size))),W().createElement("div",{className:"operators"},W().createElement(Q,(0,E.Z)({className:"delete-icon"},"done"===s?de:pe,{onClick:r.remove})))))},fileList:t,autoUpload:!0,uploadName:"file",action:"".concat((0,S.getBasePath)(),"api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/").concat(r,"/object"),method:"PUT",accept:"image/*",multiple:a,beforeUploadValidators:[e=>(0,G.ck)(e)],beforeUploadUserDataProcessor:G.sP,onChange:e=>{var t=null==e?void 0:e.map((e=>{var t,a=null!==(t=e.url)&&void 0!==t?t:e.response?"".concat((0,S.getBasePath)(),"api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/").concat(r,"/object/").concat(e.response.data.objectName):void 0;return(0,N.Z)((0,N.Z)({},e),{},{url:a})}));null==i||i(t)}},((e,t)=>W().createElement(J,{icon:ce,onClick:t.upload},n(A.K.UPLOAD)))))}},9705:(e,t,r)=>{"use strict";r.d(t,{ck:()=>o,sP:()=>l});var a=r(4795),i=r(476),n=(e,t)=>new Promise(((r,a)=>{var i="";"string"==typeof e?i=e:e instanceof Blob&&e.type.startsWith("image/")?i=URL.createObjectURL(e):a(new Error("not Image"));var n=new Image;n.src=i,n.onload=()=>{t&&URL.revokeObjectURL(i),r(n)},n.onerror=e=>a(e)})),o=function(){var e=(0,a.Z)((function*(e,t){return new Promise(((r,a)=>{e&&t?n(e,!0).then((i=>{(!t.width||i.naturalWidth<t.width)&&(!t.height||i.naturalHeight<t.height)?r(e):a(new Error("Wrong image size!"))})):r(e)}))}));return function(t,r){return e.apply(this,arguments)}}(),l=function(){var e=(0,a.Z)((function*(e){var t=yield n(e);return{url:t.src,name:e.name,naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,size:i.pipes.unitFormat(e.size,"bytes").join("")}}));return function(t){return e.apply(this,arguments)}}()},4145:(e,t,r)=>{"use strict";r.d(t,{Ou:()=>i,c7:()=>l,sq:()=>n,xz:()=>o});var a=0,i=Symbol.for("AbortController"),n=(Symbol.for("list-ignore"),()=>"upload-image-".concat(+new Date,"-").concat(++a)),o=(e,t)=>{var r=[].concat(t||[]).reduce(((e,t)=>e.concat(t.split(",").map((e=>e.trim())).filter(Boolean))),[]);if(e&&r.length){var a=(e.name||"").toLowerCase(),i=e.type||"",n=i.split("/")[0];return r.some((e=>{if(["*","*/*"].includes(e))return!0;if(e.startsWith(".")){var t=e.toLowerCase(),r=[t];return[".jpg",".jpeg"].includes(t)&&(r=[".jpg",".jpeg"]),r.some((e=>a.endsWith(e)))}return e.endsWith("/*")?n===e.split("/*")[0]:i===e}))}return!0},l=(e,t)=>new Promise(((r,a)=>{e&&t?e.size<t?r(e):a(new Error("Wrong size!")):r(e)}))},2779:(e,t)=>{var r;!function(){"use strict";var a={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var n=typeof r;if("string"===n||"number"===n)e.push(r);else if(Array.isArray(r)){if(r.length){var o=i.apply(null,r);o&&e.push(o)}}else if("object"===n){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var l in r)a.call(r,l)&&r[l]&&e.push(l)}}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},5223:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var a=r(9601),i=r.n(a),n=r(2609),o=r.n(n)()(i());o.push([e.id,":host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.image-item{padding:12px 20px;border-radius:var(--larger-border-radius);cursor:pointer}.image-item-inner{position:relative;display:flex;gap:12px}.image{width:38px;height:38px}.infos{flex:1;display:flex;flex-direction:column}.file-name{font-size:14px;font-weight:var(--font-weight-500);color:var(--text-color-default);line-height:20px;margin-bottom:4px}.progress{width:100%;height:4px;background:#ffffff;border-radius:var(--small-border-radius);margin:8px 0}.more-info{display:flex;align-items:center;gap:10px}.image-size{font-size:12px;color:var(--text-color-default);line-height:18px}.file-size{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.progress-info{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.error-info{font-size:12px;color:var(--color-error);line-height:18px}.operators{position:absolute;top:0;right:0}.delete-icon{opacity:0;font-size:16px}.image-item-done{background:var(--antd-upload-list-type-picture-bg);border:1px solid var(--antd-upload-list-type-picture-border-color)}.image-item-done:hover{background:var(--palette-blue-1);border-color:var(--palette-blue-1)}.image-item-done:hover .delete-icon{opacity:1}.image-item-done .delete-icon{color:var(--text-color-disabled)}.image-item-done .delete-icon:hover{color:var(--color-error)}.image-item-uploading{background:var(--antd-upload-list-type-picture-bg);border:1px dashed var(--antd-upload-list-type-picture-border-color)}.image-item-uploading:hover{background:var(--antd-upload-list-type-picture-hover-bg);border-color:var(--antd-upload-list-type-picture-hover-bg)}.image-item-uploading:hover .delete-icon{opacity:1}.image-item-uploading .delete-icon{color:var(--text-color-disabled)}.image-item-uploading .delete-icon:hover{color:var(--text-color-default)}.image-item-error{background:var(--palette-red-1);border:1px solid var(--theme-orangered-border-color)}.image-item-error .delete-icon{opacity:1;color:var(--color-error)}",""]);const l=o.toString()},4795:(e,t,r)=>{"use strict";function a(e,t,r,a,i,n,o){try{var l=e[n](o),s=l.value}catch(e){return void r(e)}l.done?t(s):Promise.resolve(s).then(a,i)}function i(e){return function(){var t=this,r=arguments;return new Promise((function(i,n){var o=e.apply(t,r);function l(e){a(o,i,n,l,s,"next",e)}function s(e){a(o,i,n,l,s,"throw",e)}l(void 0)}))}}r.d(t,{Z:()=>i})}}]);
3
- //# sourceMappingURL=eo-upload-image.f5cac988.js.map
1
+ /*! For license information please see eo-upload-image.d68610ef.js.LICENSE.txt */
2
+ (self.webpackChunk_next_bricks_form=self.webpackChunk_next_bricks_form||[]).push([[1265,4795],{2343:(e,t,r)=>{"use strict";r.d(t,{g:()=>u});var a=r(3028),i=r(4795),n=r(8657),o=r.n(n),l=(r(5254),r(8633)),s=r(4145);function u(e){var{children:t,itemRender:r,autoUpload:u,onChange:c,uploadName:d="file",action:p,method:m,accept:h,maxCount:g,overMaxCountMode:v="replace",beforeUploadValidators:f=[],beforeUploadUserDataProcessor:b,multiple:y}=e,x=(0,n.useRef)(null),[w,Z]=(0,n.useState)([]);(0,n.useEffect)((()=>{Z(e.fileList||[])}),[e.fileList]);var k=e=>e.filter((e=>(0,s.xz)(e,h))),E=function(){var e=(0,i.Z)((function*(e){return(yield Promise.all(e.map((t=>Promise.allSettled([t,(0,s.c7)(t),...f.map((r=>r(t,e)))]))))).map((e=>{var[t,...r]=e,a=t.value,i=[];return r.forEach((e=>{"rejected"===e.status&&i.push(e.reason)})),{file:a,errors:i}}))}));return function(t){return e.apply(this,arguments)}}(),N=function(){var e=(0,i.Z)((function*(e){return Promise.all(e.map(function(){var t=(0,i.Z)((function*(t){var{file:r,errors:a}=t,i=(0,s.sq)();return r.uid=i,{uid:i,file:r,name:r.name,status:a.length?"error":u?"uploading":"done",userData:yield null==b?void 0:b(r,e),errors:a}}));return function(e){return t.apply(this,arguments)}}()))}));return function(t){return e.apply(this,arguments)}}(),P=function(){var e=(0,i.Z)((function*(e){var t,r=[...e],i=[];if(g&&Number(g)>0){var n=w.length;if(n+r.length<=g)i=k(r);else{var o=r.length-(n+r.length-g);"ignore"===v?i=k(r).slice(0,o):(i=k(r).slice(-g,1/0),t=i.length<g?[i.length-g,1/0]:[0,0])}}else i=k(r);var u=yield E(i),h=yield N(u);(h.length||t)&&Z((e=>{var r=(t?e.slice(...t):e).concat(h);return null==c||c(r),r})),h.forEach((e=>"uploading"===e.status&&(e=>{var t=new FormData,r=new AbortController;e[s.Ou]=r,t.append(d,e.file,e.file.name);var i=l.http.request(p,{method:m,body:t,signal:r.signal});return i.then((t=>((e,t)=>{Z((r=>{var i=r.map((r=>r.uid===e.uid?(0,a.Z)((0,a.Z)({},r),{},{response:t,status:"done"}):r));return null==c||c(i),i}))})(e,t))).catch((t=>((e,t)=>{Z((r=>{var i=r.map((r=>{var i;return r.uid===e.uid?(0,a.Z)((0,a.Z)({},r),{},{errors:null===(i=r.errors)||void 0===i?void 0:i.concat(t),status:"error"}):r}));return null==c||c(i),i}))})(e,t))),i})(e)))}));return function(t){return e.apply(this,arguments)}}(),U=function(){var e=(0,i.Z)((function*(e){e.stopPropagation(),P([...e.target.files]),e.target.value=""}));return function(t){return e.apply(this,arguments)}}();return o().createElement(o().Fragment,null,o().createElement("input",{ref:x,type:"file",multiple:y,accept:h,hidden:!0,onChange:U}),o().createElement("div",{className:"upload-wrapper"},t(w,{upload:()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.click()},uploadFiles:e=>P(e)}),o().createElement("div",{className:"file-list"},w.map((e=>{var t={remove:()=>(e=>{var t,r;"uploading"===e.status&&(null===(t=e[s.Ou])||void 0===t||t.abort()),r=e,Z((e=>{var t=e.filter((e=>e.uid!==r.uid));return null==c||c(t),t}))})(e)};return o().createElement(o().Fragment,{key:e.uid},r(e,w,t))})))))}},4993:(e,t,r)=>{"use strict";r.d(t,{K:()=>a,NS:()=>i,k:()=>n});var a=function(e){return e.UPLOAD="UPLOAD",e.FILE_UPLOADING="FILE_UPLOADING",e}({}),i="bricks/form/upload-image",n={en:{UPLOAD:"Upload",FILE_UPLOADING:"File is still uploading"},zh:{UPLOAD:"上传",FILE_UPLOADING:"文件上传中"}}},2277:(e,t,r)=>{"use strict";r.r(t),r.d(t,{UploadImage:()=>H,UploadImageComponent:()=>me});var a,i,n,o,l,s,u,c,d,p,m,h,g,v,f,b,y,x,w,Z,k,E=r(7896),N=r(3028),P=r(6666),U=r(3395),L=r(1815),j=r(381),z=r(687),C=r(2604),O=r(8657),W=r.n(O),D=r(2061),I=r(8978),S=r(1233),_=r(7088),A=r(4993),B=(r(5254),r(5223)),F=r(1391),M=r(2779),R=r.n(M),q=r(2343),G=r(9705);(0,_.initializeReactI18n)(A.NS,A.k);var H,{defineElement:K,property:T,event:V}=(0,D.createDecorators)(),J=(0,I.wrapBrick)("eo-button"),Q=(0,I.wrapBrick)("eo-icon"),X=(0,I.wrapBrick)("eo-form-item");i=K("eo-upload-image",{styleTexts:[B.Z],alias:["form.upload-image"]}),n=T(),l=T(),u=T({attribute:!1}),d=T(),m=T({type:Boolean}),g=T({type:Boolean}),f=T({attribute:!1}),y=V({type:"change"});var Y=new WeakMap,$=new WeakMap,ee=new WeakMap,te=new WeakMap,re=new WeakMap,ae=new WeakMap,ie=new WeakMap,ne=new WeakMap,oe=new WeakMap;class le extends F.G{constructor(){super(...arguments),(0,U.Z)(this,oe,{get:ue,set:se}),(0,U.Z)(this,Y,{writable:!0,value:(k(this),o(this))}),(0,U.Z)(this,$,{writable:!0,value:s(this)}),(0,U.Z)(this,ee,{writable:!0,value:c(this)}),(0,U.Z)(this,te,{writable:!0,value:p(this)}),(0,U.Z)(this,re,{writable:!0,value:h(this)}),(0,U.Z)(this,ae,{writable:!0,value:v(this)}),(0,U.Z)(this,ie,{writable:!0,value:b(this)}),(0,U.Z)(this,ne,{writable:!0,value:x(this)}),(0,P.Z)(this,"handleChange",(e=>{this.value=e,(0,z.Z)(this,oe).emit(e)}))}get name(){return(0,z.Z)(this,Y)}set name(e){(0,j.Z)(this,Y,e)}get label(){return(0,z.Z)(this,$)}set label(e){(0,j.Z)(this,$,e)}get value(){return(0,z.Z)(this,ee)}set value(e){(0,j.Z)(this,ee,e)}get bucketName(){return(0,z.Z)(this,te)}set bucketName(e){(0,j.Z)(this,te,e)}get multiple(){return(0,z.Z)(this,re)}set multiple(e){(0,j.Z)(this,re,e)}get required(){return(0,z.Z)(this,ae)}set required(e){(0,j.Z)(this,ae,e)}get message(){return(0,z.Z)(this,ie)}set message(e){(0,j.Z)(this,ie,e)}render(){return W().createElement(me,{formElement:this.getFormElement(),curElement:this,name:this.name,label:this.label,value:this.value,required:this.required,message:this.message,bucketName:this.bucketName,multiple:this.multiple,notRender:this.notRender,helpBrick:this.helpBrick,onChange:this.handleChange,trigger:"handleChange"})}}function se(e){Z(this,e)}function ue(){return w(this)}({e:[o,s,c,p,h,v,b,x,w,Z,k],c:[H,a]}=(0,C.Z)(le,[[n,1,"name"],[l,1,"label"],[u,1,"value"],[d,1,"bucketName"],[m,1,"multiple"],[g,1,"required"],[f,1,"message"],[y,1,"change",e=>(0,z.Z)(e,ne),(e,t)=>(0,j.Z)(e,ne,t)]],[i],0,(e=>oe.has((0,L.Z)(e))))),a();var ce={lib:"antd",icon:"upload",theme:"outlined"},de={lib:"easyops",category:"default",icon:"delete"},pe={lib:"antd",theme:"outlined",icon:"close"};function me(e){var{value:t,bucketName:r,multiple:a,onChange:i}=e,{t:n}=(0,_.useTranslation)(A.NS);return W().createElement(X,(0,E.Z)({},e,{validator:e=>null!=e&&e.some((e=>"uploading"===e.status))?n(A.K.FILE_UPLOADING):""}),W().createElement(q.g,{itemRender:(e,t,r)=>{var{uid:a,file:i,url:n,name:o,userData:l,status:s="done",errors:u}=e;return W().createElement("div",{key:a,className:R()("image-item",{"image-item-done":"done"===s,"image-item-uploading":"uploading"===s,"image-item-error":"error"===s})},W().createElement("div",{className:"image-item-inner"},W().createElement("img",{className:"image",src:(null==l?void 0:l.url)||n}),W().createElement("div",{className:"infos"},W().createElement("div",{className:"file-name"},o),"uploading"===s&&W().createElement("div",{className:"progress"}),W().createElement("div",{className:"more-info"},"done"===s&&l&&W().createElement("div",{className:"image-size"},"LeaderBoard ".concat(null==l?void 0:l.naturalWidth,"*").concat(null==l?void 0:l.naturalHeight)),"error"===s&&W().createElement("div",{className:"error-info"},null==u?void 0:u.map((e=>e instanceof Error?e.message:e)).join(" ")),("done"===s||"error"===s)&&(null==l?void 0:l.size)&&W().createElement("div",{className:"file-size"},l.size))),W().createElement("div",{className:"operators"},W().createElement(Q,(0,E.Z)({className:"delete-icon"},"done"===s?de:pe,{onClick:r.remove})))))},fileList:t,autoUpload:!0,uploadName:"file",action:"".concat((0,S.getBasePath)(),"api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/").concat(r,"/object"),method:"PUT",accept:"image/*",multiple:a,beforeUploadValidators:[e=>(0,G.ck)(e)],beforeUploadUserDataProcessor:G.sP,onChange:e=>{var t=null==e?void 0:e.map((e=>{var t,a=null!==(t=e.url)&&void 0!==t?t:e.response?"".concat((0,S.getBasePath)(),"api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/").concat(r,"/object/").concat(e.response.data.objectName):void 0;return(0,N.Z)((0,N.Z)({},e),{},{url:a})}));null==i||i(t)}},((e,t)=>W().createElement(J,{icon:ce,onClick:t.upload},n(A.K.UPLOAD)))))}},9705:(e,t,r)=>{"use strict";r.d(t,{ck:()=>o,sP:()=>l});var a=r(4795),i=r(476),n=(e,t)=>new Promise(((r,a)=>{var i="";"string"==typeof e?i=e:e instanceof Blob&&e.type.startsWith("image/")?i=URL.createObjectURL(e):a(new Error("not Image"));var n=new Image;n.src=i,n.onload=()=>{t&&URL.revokeObjectURL(i),r(n)},n.onerror=e=>a(e)})),o=function(){var e=(0,a.Z)((function*(e,t){return new Promise(((r,a)=>{e&&t?n(e,!0).then((i=>{(!t.width||i.naturalWidth<t.width)&&(!t.height||i.naturalHeight<t.height)?r(e):a(new Error("Wrong image size!"))})):r(e)}))}));return function(t,r){return e.apply(this,arguments)}}(),l=function(){var e=(0,a.Z)((function*(e){var t=yield n(e);return{url:t.src,name:e.name,naturalWidth:t.naturalWidth,naturalHeight:t.naturalHeight,size:i.pipes.unitFormat(e.size,"bytes").join("")}}));return function(t){return e.apply(this,arguments)}}()},4145:(e,t,r)=>{"use strict";r.d(t,{Ou:()=>i,c7:()=>l,sq:()=>n,xz:()=>o});var a=0,i=Symbol.for("AbortController"),n=(Symbol.for("list-ignore"),()=>"upload-image-".concat(+new Date,"-").concat(++a)),o=(e,t)=>{var r=[].concat(t||[]).reduce(((e,t)=>e.concat(t.split(",").map((e=>e.trim())).filter(Boolean))),[]);if(e&&r.length){var a=(e.name||"").toLowerCase(),i=e.type||"",n=i.split("/")[0];return r.some((e=>{if(["*","*/*"].includes(e))return!0;if(e.startsWith(".")){var t=e.toLowerCase(),r=[t];return[".jpg",".jpeg"].includes(t)&&(r=[".jpg",".jpeg"]),r.some((e=>a.endsWith(e)))}return e.endsWith("/*")?n===e.split("/*")[0]:i===e}))}return!0},l=(e,t)=>new Promise(((r,a)=>{e&&t?e.size<t?r(e):a(new Error("Wrong size!")):r(e)}))},2779:(e,t)=>{var r;!function(){"use strict";var a={}.hasOwnProperty;function i(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var n=typeof r;if("string"===n||"number"===n)e.push(r);else if(Array.isArray(r)){if(r.length){var o=i.apply(null,r);o&&e.push(o)}}else if("object"===n){if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]")){e.push(r.toString());continue}for(var l in r)a.call(r,l)&&r[l]&&e.push(l)}}}return e.join(" ")}e.exports?(i.default=i,e.exports=i):void 0===(r=function(){return i}.apply(t,[]))||(e.exports=r)}()},5223:(e,t,r)=>{"use strict";r.d(t,{Z:()=>l});var a=r(9601),i=r.n(a),n=r(2609),o=r.n(n)()(i());o.push([e.id,":host{display:block}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}eo-icon{line-height:0.25em}.upload-wrapper{line-height:initial}.file-list{margin-top:12px;display:flex;flex-direction:column;gap:7px}.image-item{padding:12px 20px;border-radius:var(--larger-border-radius);cursor:pointer}.image-item-inner{position:relative;display:flex;gap:12px}.image{width:38px;height:38px}.infos{flex:1;display:flex;flex-direction:column}.file-name{font-size:14px;font-weight:var(--font-weight-500);color:var(--text-color-default);line-height:20px;margin-bottom:4px}.progress{width:100%;height:4px;background:#ffffff;border-radius:var(--small-border-radius);margin:8px 0}.more-info{display:flex;align-items:center;gap:10px}.image-size{font-size:12px;color:var(--text-color-default);line-height:18px}.file-size{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.progress-info{font-size:12px;font-weight:var(--font-weight-500);color:var(--text-color-disabled);line-height:18px}.error-info{font-size:12px;color:var(--color-error);line-height:18px}.operators{position:absolute;top:0;right:0}.delete-icon{opacity:0;font-size:16px}.image-item-done{background:var(--antd-upload-list-type-picture-bg);border:1px solid var(--antd-upload-list-type-picture-border-color)}.image-item-done:hover{background:var(--palette-blue-1);border-color:var(--palette-blue-1)}.image-item-done:hover .delete-icon{opacity:1}.image-item-done .delete-icon{color:var(--text-color-disabled)}.image-item-done .delete-icon:hover{color:var(--color-error)}.image-item-uploading{background:var(--antd-upload-list-type-picture-bg);border:1px dashed var(--antd-upload-list-type-picture-border-color)}.image-item-uploading:hover{background:var(--antd-upload-list-type-picture-hover-bg);border-color:var(--antd-upload-list-type-picture-hover-bg)}.image-item-uploading:hover .delete-icon{opacity:1}.image-item-uploading .delete-icon{color:var(--text-color-disabled)}.image-item-uploading .delete-icon:hover{color:var(--text-color-default)}.image-item-error{background:var(--palette-red-1);border:1px solid var(--theme-orangered-border-color)}.image-item-error .delete-icon{opacity:1;color:var(--color-error)}",""]);const l=o.toString()},4795:(e,t,r)=>{"use strict";function a(e,t,r,a,i,n,o){try{var l=e[n](o),s=l.value}catch(e){return void r(e)}l.done?t(s):Promise.resolve(s).then(a,i)}function i(e){return function(){var t=this,r=arguments;return new Promise((function(i,n){var o=e.apply(t,r);function l(e){a(o,i,n,l,s,"next",e)}function s(e){a(o,i,n,l,s,"throw",e)}l(void 0)}))}}r.d(t,{Z:()=>i})}}]);
3
+ //# sourceMappingURL=eo-upload-image.d68610ef.js.map