huply 0.0.4 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -24,9 +24,21 @@ Recommended step for projects with integrated module bundler (e.g. Webpack) or t
24
24
  1. Add ``lang`` - Attribute to html-Tag. Otherwise english or the defined fallback language is used as default language.
25
25
  ``<html lang="en">``
26
26
 
27
- 2. Execute init-function:
27
+ 2. Add input field
28
+
29
+ ````
30
+ <input
31
+ accept=".jpeg,.jpg,.png"
32
+ multiple
33
+ class="huply-test"
34
+ />
28
35
  ````
29
- new Huply().init();
36
+
37
+ 3. Execute init-function:
38
+
39
+ ````
40
+ const el = document.querySelector('.huply-test');
41
+ new Huply(el).init();
30
42
  ````
31
43
 
32
44
  ## Configuration
@@ -73,7 +85,7 @@ Every Huply-Instance can be modified by parameters:
73
85
  allowedFileTypes: ['.jpeg', '.png', '.jpg'],
74
86
  chunkSize: 5
75
87
  };
76
- new Huply(options).init();
88
+ new Huply(el, options).init();
77
89
  ```
78
90
 
79
91
  #### dropzoneTheme
@@ -86,7 +98,7 @@ const options = {
86
98
  dropzoneTheme: 'sm',
87
99
  ...
88
100
  };
89
- new Huply(options).init();
101
+ new Huply(el, options).init();
90
102
  ```
91
103
 
92
104
  #### maxConcurrentUploads
@@ -99,7 +111,7 @@ const options = {
99
111
  maxConcurrentUploads: 3,
100
112
  ...
101
113
  };
102
- new Huply(options).init();
114
+ new Huply(el, options).init();
103
115
  ```
104
116
 
105
117
  #### maxFileSize
@@ -112,7 +124,7 @@ const options = {
112
124
  maxFileSize: 3,
113
125
  ...
114
126
  };
115
- new Huply(options).init();
127
+ new Huply(el, options).init();
116
128
  ```
117
129
 
118
130
  #### uploadUrl
@@ -125,7 +137,7 @@ const options = {
125
137
  uploadUrl: 'https://my-backend.url/upload',
126
138
  ...
127
139
  };
128
- new Huply(options).init();
140
+ new Huply(el, options).init();
129
141
  ```
130
142
 
131
143
  #### deleteUrl
@@ -138,7 +150,7 @@ const options = {
138
150
  deleteUrl: 'https://my-backend.url/upload/{{filename}},
139
151
  ...
140
152
  };
141
- new Huply(options).init();
153
+ new Huply(el, options).init();
142
154
  ```
143
155
 
144
156
  #### headers
@@ -153,7 +165,7 @@ const options = {
153
165
  },
154
166
  ...
155
167
  };
156
- new Huply(options).init();
168
+ new Huply(el, options).init();
157
169
  ```
158
170
 
159
171
  #### preloadedFiles
@@ -177,7 +189,7 @@ const options = {
177
189
  ],
178
190
  ...
179
191
  };
180
- new Huply(options).init();
192
+ new Huply(el, options).init();
181
193
  ```
182
194
 
183
195
  #### allowedFileTypes
@@ -188,7 +200,7 @@ const options = {
188
200
  allowedFileTypes: ['.jpg', '.jpeg', '.png'],
189
201
  ...
190
202
  };
191
- new Huply(options).init();
203
+ new Huply(el, options).init();
192
204
  ```
193
205
 
194
206
  #### chunkSize
@@ -202,7 +214,7 @@ const options = {
202
214
  chunkSize: 3,
203
215
  ...
204
216
  };
205
- new Huply(options).init();
217
+ new Huply(el, options).init();
206
218
  ```
207
219
 
208
220
  ### Data-attributes
@@ -227,6 +239,12 @@ It is also possible to add parameters as data-attributes:
227
239
  />
228
240
  ```
229
241
 
242
+ and initialize it:
243
+
244
+ ```
245
+ new Huply(el).init();
246
+ ```
247
+
230
248
  ## Translation
231
249
 
232
250
  You can choose between english (en) and german (de) as default translations. Add a lang-attribute to HTML-Tag: ``<html lang="en">``.
@@ -258,7 +276,7 @@ If you need additional functionality, you can subscribe to events published by h
258
276
  A file was added.
259
277
 
260
278
  ```
261
- const huply = new Huply().init();
279
+ const huply = new Huply(el).init();
262
280
  huply.on('fileAdded', function(fileItem) {
263
281
 
264
282
  });
@@ -269,7 +287,7 @@ huply.on('fileAdded', function(fileItem) {
269
287
  A file was uploaded.
270
288
 
271
289
  ```
272
- const huply = new Huply().init();
290
+ const huply = new Huply(el).init();
273
291
  huply.on('fileUploaded', function(fileItem) {
274
292
 
275
293
  });
@@ -280,7 +298,7 @@ huply.on('fileUploaded', function(fileItem) {
280
298
  All files were uploaded.
281
299
 
282
300
  ```
283
- const huply = new Huply().init();
301
+ const huply = new Huply(el).init();
284
302
  huply.on('filesUploaded', function() {
285
303
 
286
304
  });
@@ -291,7 +309,7 @@ huply.on('filesUploaded', function() {
291
309
  A file was deleted.
292
310
 
293
311
  ```
294
- const huply = new Huply().init();
312
+ const huply = new Huply(el).init();
295
313
  huply.on('fileDeleted', function(fileItem) {
296
314
 
297
315
  });
@@ -302,7 +320,7 @@ huply.on('fileDeleted', function(fileItem) {
302
320
  Status of added file changed.
303
321
 
304
322
  ```
305
- const huply = new Huply().init();
323
+ const huply = new Huply(el).init();
306
324
  huply.on('fileDeleted', function(fileItem) {
307
325
 
308
326
  });
package/dist/huply.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var k=Object.defineProperty;var P=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var m=(n,e,t)=>e in n?k(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,L=(n,e)=>{for(var t in e||(e={}))q.call(e,t)&&m(n,t,e[t]);if(P)for(var t of P(e))O.call(e,t)&&m(n,t,e[t]);return n};var o=(n,e,t)=>(m(n,typeof e!="symbol"?e+"":e,t),t);function v(n){return n!=null&&n.constructor===Object}function I(n){return n instanceof Element}function w(n){return n!==void 0}function N(n){return n!=null&&!!(n%1)}function $(n){return n!=null&&parseInt(n,10)===n}class C{constructor(e){o(this,"store");this.store=e}request(e,t){let s=new XMLHttpRequest;return s.open(e,t),v(this.store.options.headers)&&Object.entries(this.store.options.headers).forEach(i=>{s.setRequestHeader(i[0],i[1])}),s}}class z{constructor(e){o(this,"store");this.store=e}upload(){const e=this.store.getFilesWaiting();e.length&&e.forEach(t=>{t.status="uploading",t.uploadProcess=0,this.store.updateFileItem(t),this.store.options.chunkSize?this.sendChunkedFile(t,0):this.sendFile(t)})}sendChunkedFile(e,t){var s;if(this.store.options.chunkSize&&e.size&&e.data){const i=this.store.options.chunkSize*1024,l=t+i,p=Math.min(l,e.size),r=e.data.slice(t,p);let a=new C(this.store).request("POST",this.store.options.uploadUrl);a.setRequestHeader("accept","application/json");const h="bytes "+t+"-"+p+"/"+e.size;a.setRequestHeader("Content-Range",h),a.addEventListener("load",()=>{if(a.status===200){if(a.response){const c=JSON.parse(a.response);c.filename&&(e.name=c.filename)}e.size&&(e.uploadProcess=Math.min(Math.ceil(l/e.size*100),100)),p===e.size?(e.status="uploaded",this.store.updateFileItem(e),this.upload()):(this.store.updateFileItem(e),this.sendChunkedFile(e,l+1))}else e.status="error",this.store.updateFileItem(e),this.upload()});let u=new FormData;u.append("file",r,e.name),((s=this.store.options)==null?void 0:s.maxFileSize)&&u.append("max_file_size",this.store.options.maxFileSize*1024),a.send(u)}}sendFile(e){return e.status="uploading",e.uploadProcess=0,this.store.updateFileItem(e),new Promise((t,s)=>{var p;let i=new C(this.store).request("POST",this.store.options.uploadUrl);i.setRequestHeader("accept","application/json"),i.upload.addEventListener("progress",r=>{e.uploadProcess=r.loaded/r.total*100,this.store.updateFileItem(e)}),i.addEventListener("load",()=>{if(i.status===200){if(t(i.response),i.response){const r=JSON.parse(i.response);r.filename&&(e.name=r.filename)}e.status="uploaded",this.store.updateFileItem(e),this.upload()}else s(i.response),e.status="error",this.store.updateFileItem(e),this.upload()});let l=new FormData;e.data&&l.append("file",e.data),((p=this.store.options)==null?void 0:p.maxFileSize)&&l.append("max_file_size",this.store.options.maxFileSize*1024),i.send(l)})}}function d(n,e){if(w(window.huplyTranslations[n])){let t=window.huplyTranslations[n];return e&&Object.entries(e).forEach(s=>{t=t.replace("{{"+s[0]+"}}",s[1])}),t}else return"{{"+n+"}}"}class f{constructor(e){o(this,"store");this.store=e}checkFileSize(e){var t;return!(((t=this.store.options)==null?void 0:t.maxFileSize)&&e.size>this.store.options.maxFileSize*1024*1024)}checkFileType(e){const t=e.name.split(".");return this.store.options.allowedFileTypes.includes("."+t[t.length-1].toLowerCase())}isValidFile(e){const t=[];return this.checkFileSize(e)||t.push({msg:d("fileItemStatusErrorFileSize",{maxFileSize:this.store.options.maxFileSize})}),this.checkFileType(e)||t.push({msg:d("fileItemStatusErrorFileType",{allowedFileTypes:this.store.options.allowedFileTypes.join(",")})}),t}}function R(){return Math.random().toString(36).substring(2)+Date.now().toString(36)}function V(n){let e=0;const t=Number(n);return N(t)?e=t.toFixed(2).replace(".",","):$(t)&&(e=t),e}class g{constructor(e){o(this,"store");this.store=e}generateFileItem(e){return new Promise(t=>{let s={id:R(),name:e.name,size:e.size,sizeMb:e.size?e.size/1024/1024:0,sizeKb:e.size?Number((e.size/1024).toFixed(0)):0,status:"waiting",uploadProcess:0,data:e,url:""};this.checkIfIsImage(e.name)&&s.size&&s.size<=this.store.maxSizeImageView?this.getDataUrlFromFile(e).then(i=>{s.url=i,t(s)}):t(s)})}getDataUrlFromFile(e){return new Promise(t=>{const s=new FileReader;s.readAsDataURL(e),s.addEventListener("load",function(){t(s.result)},!1)})}getBlobFromUrl(e){return new Promise((t,s)=>{const i=new C(this.store).request("GET",e);i.responseType="blob",i.send(),i.addEventListener("load",()=>{i.status===200?t(i.response):s(!1)})})}checkIfIsImage(e){const t=e.split(".");return this.store.imgExt.includes("."+t[t.length-1])}}class j{constructor(e,t){o(this,"el");var s,i;this.el=e.cloneNode(!0),this.el.setAttribute("name",`${e.getAttribute("name")}_real'`),this.el.classList.add("huply-input"),((s=t.options)==null?void 0:s.allowedFileTypes)&&this.el.setAttribute("accept",(i=t.options)==null?void 0:i.allowedFileTypes.join(",")),this.el.addEventListener("change",l=>{l.preventDefault(),l.target&&[...l.target.files].forEach(p=>{const a=new f(t).isValidFile(p);new g(t).generateFileItem(p).then(h=>{t.addFileItem(h),a.length!==0&&(h.status="error",h.statusMsg=a.map(u=>u.msg).join(", "),t.updateFileItem(h)),new z(t).upload()})})})}render(){return this.el}}class J{constructor(e,t){o(this,"fileItem");o(this,"listElement");o(this,"store");this.fileItem=e,this.store=t,this.store.events.subscribe("fileItemUpdate",s=>{this.fileItem.id===s.id&&(this.updateHeadline(s),this.updateSubline(s),this.updateListEl(s))}),this.store.events.subscribe("fileDeleted",s=>{this.fileItem.id===s.id&&this.listElement.remove()})}render(){const e=this.getListEl();e.appendChild(this.getVisual());const t=document.createElement("div");return t.appendChild(this.getHeadline()),t.appendChild(this.getSubline()),e.appendChild(t),e.appendChild(this.getActions()),this.listElement=e,e}getListEl(){const e=document.createElement("li");return e.classList.add("huply-file-item"),e}updateListEl(e){this.listElement.classList.remove("is-uploading"),this.listElement.classList.remove("is-preloaded"),this.listElement.classList.remove("is-error"),this.listElement.classList.remove("is-deleted"),e.status==="uploading"?this.listElement.classList.add("is-uploading"):e.status==="preloaded"?this.listElement.classList.add("is-preloaded"):e.status==="error"?this.listElement.classList.add("is-error"):e.status==="uploaded"?this.listElement.classList.add("is-uploaded"):e.status==="deleted"&&this.listElement.classList.add("is-deleted")}getSubline(){const e=document.createElement("p");return e.classList.add("huply-file-item-subline"),e.textContent=d("fileItemStatusWaiting"),e}updateSubline(e){var s;const t=this.listElement.querySelector(".huply-file-item-subline");t&&(e.status==="uploading"?e.uploadProcess&&(t.textContent=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)"):e.status==="error"?t.textContent=(s=e.statusMsg)!=null?s:d("fileItemStatusError"):(e.status==="uploaded"||e.status==="preloaded")&&(t.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${V(e.sizeMb)} MB`))}getHeadline(){const e=document.createElement("p");return e.textContent=this.fileItem.name,e.classList.add("huply-file-item-headline"),e}updateHeadline(e){const t=this.listElement.querySelector(".huply-file-item-headline");t&&(t.textContent=e.name)}getVisual(){const e=document.createElement("div");if(e.classList.add("huply-file-item-visual"),new g(this.store).checkIfIsImage(this.fileItem.name))if(this.fileItem.url){const s=document.createElement("img");s.classList.add("is-hidden"),e.appendChild(s),s.setAttribute("src",this.fileItem.url),setTimeout(()=>{s.classList.remove("is-hidden")},5)}else e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48s48-21.49 48-48S178.5 120 152 120zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM463.1 409.3l-136.8-185.9C323.8 218.8 318.1 216 312 216c-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1l-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809c-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.0293 0 .0293 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V409.3z"/></svg>';else e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M365.3 93.38l-74.63-74.64C278.6 6.743 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.35 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM320 464H64.02c-8.836 0-15.1-7.163-16-15.1L48 64.13c-.0004-8.837 7.163-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v288C336 456.8 328.8 464 320 464z"/></svg>';return e}getActions(){const e=document.createElement("div");e.classList.add("huply-file-item-actions");const t=this.getDeleteAction();return e.appendChild(t),e}getDeleteAction(){const e=document.createElement("a");return e.setAttribute("href","#"),e.classList.add("huply-file-item-actions-delete"),e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',e.addEventListener("click",t=>{t.preventDefault(),this.store.deleteFileItem(this.fileItem)}),e}}class K{constructor(e){o(this,"fileList");o(this,"store");this.store=e,this.fileList=document.createElement("ul"),this.fileList.classList.add("huply-file-list"),this.store.options.multiple&&e.events.subscribe("fileAdded",t=>{this.addChild(t)})}render(){return this.fileList}addChild(e){const t=new J(e,this.store);this.fileList.appendChild(t.render())}}class _{constructor(e){o(this,"store");o(this,"dropzone");o(this,"headline");o(this,"subline");o(this,"icon");o(this,"deleteIcon");o(this,"descWrapper");this.store=e,this.store.options.multiple||(e.events.subscribe("fileItemUpdate",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateIcon(t),this.updateDeleteIcon(t),this.updateDescriptionWrapper(t)}),e.events.subscribe("fileDeleted",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateIcon(t),this.updateDeleteIcon(t),this.updateDescriptionWrapper(t)}))}render(){this.dropzone=document.createElement("div"),this.dropzone.classList.add("huply-dropzone"),this.dropzone.appendChild(this.getDeleteIcon());const e=this.getDescriptionWrapper();return e.appendChild(this.getIcon()),e.appendChild(this.getHeadline()),e.appendChild(this.getSubline()),this.dropzone.appendChild(e),this.dropzone.addEventListener("click",()=>{var t;(t=this.store.components.input)==null||t.click()}),this.dropzone.addEventListener("dragover",t=>{var s;t.preventDefault(),(s=this.dropzone)==null||s.classList.add("is-dragover")}),this.dropzone.addEventListener("dragleave",t=>{var s;t.preventDefault(),(s=this.dropzone)==null||s.classList.remove("is-dragover")}),this.dropzone.addEventListener("drop",t=>{t.preventDefault();const s=new z(this.store);if(t.dataTransfer)for(var i=0;i<t.dataTransfer.items.length;i++){const l=t.dataTransfer.items[i].getAsFile();if(l){const r=new f(this.store).isValidFile(l);new g(this.store).generateFileItem(l).then(a=>{this.store.addFileItem(a),r.length!==0&&(a.status="error",a.statusMsg=r.map(h=>h.msg).join(", "),this.store.updateFileItem(a))}),s.upload()}}}),this.dropzone}getDescriptionWrapper(){return this.descWrapper=document.createElement("div"),this.descWrapper.classList.add("huply-dropzone-desc"),this.descWrapper}updateDescriptionWrapper(e){this.descWrapper&&(this.descWrapper.classList.remove("is-uploading"),this.descWrapper.classList.remove("is-preloaded"),this.descWrapper.classList.remove("is-error"),this.descWrapper.classList.remove("is-uploaded"),e.status==="uploading"?this.descWrapper.classList.add("is-uploading"):e.status==="preloaded"?this.descWrapper.classList.add("is-preloaded"):e.status==="error"?this.descWrapper.classList.add("is-error"):e.status==="uploaded"&&this.descWrapper.classList.add("is-uploaded"))}getIcon(){return this.icon=document.createElement("div"),this.icon.classList.add("huply-dropzone-icon-upload"),this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>',this.icon}updateIcon(e){this.icon&&(e.status==="uploading"&&e.uploadProcess===0?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M264 24C264 10.75 274.7 0 288 0C429.4 0 544 114.6 544 256C544 302.6 531.5 346.4 509.7 384C503.1 395.5 488.4 399.4 476.9 392.8C465.5 386.2 461.5 371.5 468.2 360C485.9 329.4 496 293.9 496 255.1C496 141.1 402.9 47.1 288 47.1C274.7 47.1 264 37.25 264 23.1V24z"/></svg>':e.status==="error"?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 304c13.25 0 24-10.75 24-24v-128C280 138.8 269.3 128 256 128S232 138.8 232 152v128C232 293.3 242.8 304 256 304zM256 337.1c-17.36 0-31.44 14.08-31.44 31.44C224.6 385.9 238.6 400 256 400s31.44-14.08 31.44-31.44C287.4 351.2 273.4 337.1 256 337.1z"/></svg>':e.status==="uploaded"?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"/></svg>':e.status==="deleted"&&this.store.getFilesUploading().length===0?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>':e.status==="preloaded"&&(this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M454.7 288.1c-12.78-3.75-26.06 3.594-29.75 16.31C403.3 379.9 333.8 432 255.1 432c-66.53 0-126.8-38.28-156.5-96h100.4c13.25 0 24-10.75 24-24S213.2 288 199.9 288h-160c-13.25 0-24 10.75-24 24v160c0 13.25 10.75 24 24 24s24-10.75 24-24v-102.1C103.7 436.4 176.1 480 255.1 480c99 0 187.4-66.31 215.1-161.3C474.8 305.1 467.4 292.7 454.7 288.1zM472 16C458.8 16 448 26.75 448 40v102.1C408.3 75.55 335.8 32 256 32C157 32 68.53 98.31 40.91 193.3C37.19 206 44.5 219.3 57.22 223c12.84 3.781 26.09-3.625 29.75-16.31C108.7 132.1 178.2 80 256 80c66.53 0 126.8 38.28 156.5 96H312C298.8 176 288 186.8 288 200S298.8 224 312 224h160c13.25 0 24-10.75 24-24v-160C496 26.75 485.3 16 472 16z"/></svg>'))}getDeleteIcon(){return this.deleteIcon=document.createElement("a"),this.deleteIcon.setAttribute("href","#"),this.deleteIcon.classList.add("huply-dropzone-icon-delete"),this.deleteIcon.classList.add("is-hidden"),this.deleteIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',this.deleteIcon.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const t=this.store.files.findIndex(s=>{var i;return((i=this.deleteIcon)==null?void 0:i.getAttribute("data-file-id"))==s.id});t!==-1&&this.store.deleteFileItem(this.store.files[t])}),this.deleteIcon}updateDeleteIcon(e){this.deleteIcon&&(e.status==="uploaded"||e.status==="preloaded"?(this.deleteIcon.classList.remove("is-hidden"),this.deleteIcon.setAttribute("data-file-id",e.id)):this.deleteIcon.classList.add("is-hidden"))}getHeadline(){return this.headline=document.createElement("p"),this.headline.classList.add("huply-dropzone-headline"),this.headline.innerHTML=this.getHeadlineText(),this.headline}getHeadlineText(){var e;return`<strong>${((e=this.store)==null?void 0:e.options.multiple)?d("chooseFiles"):d("chooseFile")}</strong>`}updateHeadline(e){this.headline&&(e.status==="deleted"?this.headline.innerHTML=this.getHeadlineText():this.headline.innerHTML=`<strong>${e.name}</strong>`)}getSubline(){return this.subline=document.createElement("p"),this.subline.innerText=this.getSublineText(),this.subline.classList.add("huply-dropzone-subline"),this.subline}getSublineText(){var t,s;const e=[];return e.push(d("allowedFileTypes",{allowedFileTypes:(t=this.store)==null?void 0:t.options.allowedFileTypes})),e.push(d("maxFileSize",{maxFileSize:(s=this.store)==null?void 0:s.options.maxFileSize})),e.join(", ")}updateSubline(e){var t;this.subline&&(this.subline.classList.remove("is-uploading"),this.subline.classList.remove("is-preloaded"),this.subline.classList.remove("is-error"),this.subline.classList.remove("is-uploaded"),e.status==="uploading"&&e.uploadProcess?this.subline.innerHTML=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)":e.status==="error"?this.subline.innerHTML=(t=e.statusMsg)!=null?t:d("fileItemStatusError"):e.status==="uploaded"||e.status==="preloaded"?this.subline.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${V(e.sizeMb)} MB`:this.subline.innerHTML=this.getSublineText())}}class G{constructor(e){o(this,"store");o(this,"dropzone");o(this,"headline");o(this,"subline");o(this,"uploadIcon");o(this,"deleteIcon");o(this,"descWrapper");this.store=e,this.store.options.multiple||(e.events.subscribe("fileItemUpdate",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateUploadIcon(t),this.updateDeleteIcon(t),this.updateWrapper(t)}),e.events.subscribe("fileDeleted",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateUploadIcon(t),this.updateDeleteIcon(t),this.updateWrapper(t)}))}render(){this.dropzone=document.createElement("div"),this.dropzone.classList.add("huply-dropzone-sm");const e=this.getWrapper();return e.appendChild(this.getHeadline()),e.appendChild(this.getSubline()),e.appendChild(this.getUploadIcon()),e.appendChild(this.getDeleteIcon()),this.dropzone.appendChild(e),this.dropzone.addEventListener("click",()=>{var t;(t=this.store.components.input)==null||t.click()}),this.dropzone.addEventListener("dragover",()=>{var t;(t=this.dropzone)==null||t.classList.add("is-dragover")}),this.dropzone.addEventListener("dragleave",()=>{var t;(t=this.dropzone)==null||t.classList.remove("is-dragover")}),this.dropzone.addEventListener("drop",t=>{t.preventDefault();const s=new z(this.store);if(t.dataTransfer)for(var i=0;i<t.dataTransfer.items.length;i++){const l=t.dataTransfer.items[i].getAsFile();if(l){const r=new f(this.store).isValidFile(l);new g(this.store).generateFileItem(l).then(a=>{this.store.addFileItem(a),r.length!==0&&(a.status="error",a.statusMsg=r.map(h=>h.msg).join(", "),this.store.updateFileItem(a)),s.upload()})}}}),this.dropzone}getWrapper(){return this.descWrapper=document.createElement("div"),this.descWrapper.classList.add("huply-dropzone-sm-wrapper"),this.descWrapper}updateWrapper(e){this.descWrapper&&(this.descWrapper.classList.remove("is-uploading"),this.descWrapper.classList.remove("is-preloaded"),this.descWrapper.classList.remove("is-error"),this.descWrapper.classList.remove("is-uploaded"),e.status==="uploading"?this.descWrapper.classList.add("is-uploading"):e.status==="preloaded"?this.descWrapper.classList.add("is-preloaded"):e.status==="error"?this.descWrapper.classList.add("is-error"):e.status==="uploaded"&&this.descWrapper.classList.add("is-uploaded"))}getDeleteIcon(){return this.deleteIcon=document.createElement("a"),this.deleteIcon.setAttribute("href","#"),this.deleteIcon.classList.add("huply-dropzone-sm-icon-delete"),this.deleteIcon.classList.add("is-hidden"),this.deleteIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',this.deleteIcon.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const t=this.store.files.findIndex(s=>{var i;return((i=this.deleteIcon)==null?void 0:i.getAttribute("data-file-id"))==s.id});t!==-1&&this.store.deleteFileItem(this.store.files[t])}),this.deleteIcon}updateDeleteIcon(e){this.deleteIcon&&(e.status==="uploaded"||e.status==="preloaded"?(this.deleteIcon.classList.remove("is-hidden"),this.deleteIcon.setAttribute("data-file-id",e.id)):this.deleteIcon.classList.add("is-hidden"))}getUploadIcon(){return this.uploadIcon=document.createElement("div"),this.uploadIcon.classList.add("huply-dropzone-sm-icon-upload"),this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>',this.uploadIcon}updateUploadIcon(e){this.uploadIcon&&(e.status==="uploading"&&e.uploadProcess===0?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M264 24C264 10.75 274.7 0 288 0C429.4 0 544 114.6 544 256C544 302.6 531.5 346.4 509.7 384C503.1 395.5 488.4 399.4 476.9 392.8C465.5 386.2 461.5 371.5 468.2 360C485.9 329.4 496 293.9 496 255.1C496 141.1 402.9 47.1 288 47.1C274.7 47.1 264 37.25 264 23.1V24z"/></svg>':e.status==="error"?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 304c13.25 0 24-10.75 24-24v-128C280 138.8 269.3 128 256 128S232 138.8 232 152v128C232 293.3 242.8 304 256 304zM256 337.1c-17.36 0-31.44 14.08-31.44 31.44C224.6 385.9 238.6 400 256 400s31.44-14.08 31.44-31.44C287.4 351.2 273.4 337.1 256 337.1z"/></svg>':e.status==="uploaded"?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"/></svg>':e.status==="deleted"&&this.store.getFilesUploading().length===0?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>':e.status==="preloaded"&&(this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M454.7 288.1c-12.78-3.75-26.06 3.594-29.75 16.31C403.3 379.9 333.8 432 255.1 432c-66.53 0-126.8-38.28-156.5-96h100.4c13.25 0 24-10.75 24-24S213.2 288 199.9 288h-160c-13.25 0-24 10.75-24 24v160c0 13.25 10.75 24 24 24s24-10.75 24-24v-102.1C103.7 436.4 176.1 480 255.1 480c99 0 187.4-66.31 215.1-161.3C474.8 305.1 467.4 292.7 454.7 288.1zM472 16C458.8 16 448 26.75 448 40v102.1C408.3 75.55 335.8 32 256 32C157 32 68.53 98.31 40.91 193.3C37.19 206 44.5 219.3 57.22 223c12.84 3.781 26.09-3.625 29.75-16.31C108.7 132.1 178.2 80 256 80c66.53 0 126.8 38.28 156.5 96H312C298.8 176 288 186.8 288 200S298.8 224 312 224h160c13.25 0 24-10.75 24-24v-160C496 26.75 485.3 16 472 16z"/></svg>'))}getHeadline(){return this.headline=document.createElement("p"),this.headline.classList.add("huply-dropzone-sm-headline"),this.headline.innerHTML=this.getHeadlineText(),this.headline}getHeadlineText(){var e;return`<strong>${((e=this.store)==null?void 0:e.options.multiple)?d("chooseFiles"):d("chooseFile")}</strong>`}updateHeadline(e){this.headline&&(e.status==="deleted"?this.headline.innerHTML=this.getHeadlineText():this.headline.innerHTML=`<strong>${e.name}</strong>`)}getSubline(){return this.subline=document.createElement("p"),this.subline.innerText=this.getSublineText(),this.subline.classList.add("huply-dropzone-sm-subline"),this.subline}getSublineText(){var t,s;const e=[];return e.push(d("allowedFileTypes",{allowedFileTypes:(t=this.store)==null?void 0:t.options.allowedFileTypes})),e.push(d("maxFileSize",{maxFileSize:(s=this.store)==null?void 0:s.options.maxFileSize})),e.join(", ")}updateSubline(e){var t;this.subline&&(this.subline.classList.remove("is-uploading"),this.subline.classList.remove("is-preloaded"),this.subline.classList.remove("is-error"),this.subline.classList.remove("is-uploaded"),e.status==="uploading"&&e.uploadProcess?this.subline.innerHTML=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)":e.status==="error"?this.subline.innerHTML=(t=e.statusMsg)!=null?t:d("fileItemStatusError"):e.status==="uploaded"||e.status==="preloaded"?this.subline.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${e.sizeMb} MB`:this.subline.innerHTML=this.getSublineText())}}class X{constructor(e,t){o(this,"el");o(this,"input");this.el=e,this.input=document.createElement("input"),t.events.subscribe("fileItemUpdate",()=>{this.input.setAttribute("value",JSON.stringify(t.getCategorizedFiles()))}),t.events.subscribe("fileDeleted",()=>{this.input.setAttribute("value",JSON.stringify(t.getCategorizedFiles()))})}render(){this.input.setAttribute("type","hidden");const e=this.el.getAttribute("name");return e&&this.input.setAttribute("name",e),this.input}}class Q{constructor(e,t){o(this,"el");o(this,"store");this.el=e,this.store=t}render(){const e=document.createElement("div");e.classList.add("huply-wrapper");const t=new j(this.el,this.store).render();e.appendChild(t);const s=new X(this.el,this.store).render();e.appendChild(s);let i;this.store.options.dropzoneTheme==="sm"?(i=new G(this.store),e.appendChild(i.render())):(i=new _(this.store),e.appendChild(i.render()));const l=new K(this.store);return e.appendChild(l.render()),this.store.setComponent("input",t),this.store.setComponent("dropzone",i),this.store.setComponent("fileList",l),e}}var Y={chooseFiles:"Dateien ausw\xE4hlen",chooseFile:"Datei ausw\xE4hlen",allowedFileTypes:"Erlaubte Dateitypen: {{allowedFileTypes}}",maxFileSize:"Maximale Dateigr\xF6\xDFe: {{maxFileSize}} MB",fileItemStatusWaiting:"In Warteschlange",fileItemStatusUploading:"Wird hochgeladen",fileItemStatusUploaded:"Erfolgreich hochgeladen",fileItemStatusPreloaded:"Bereits hochgeladen",fileItemStatusError:"Ein Fehler ist aufgetreten.",fileItemStatusErrorFileSize:"Die Dateigr\xF6\xDFe \xFCberschreitet die Maximalgr\xF6\xDFe: {{maxFileSize}} MB",fileItemStatusErrorFileType:"Der Dateityp ist nicht erlaubt. Erlaubte Dateitypen: {{allowedFileTypes}}",delete:"L\xF6schen"},Z={chooseFiles:"Choose files",chooseFile:"Choose file",allowedFileTypes:"Allowed file types: {{allowedFileTypes}}",maxFileSize:"Maximum file size: {{maxFileSize}} MB",fileItemStatusWaiting:"In queue",fileItemStatusUploading:"Uploading ...",fileItemStatusUploaded:"Uploaded",fileItemStatusPreloaded:"Already uploaded",fileItemStatusError:"An error occured.",fileItemStatusErrorFileSize:"The file size exceeds the maximum size: {{maxFileSize}} MB",fileItemStatusErrorFileType:"The file type is not allowed. Allowed file types: {{allowedFileTypes}}",delete:"Delete"};class ee{constructor(){o(this,"events",{})}subscribe(e,t){return w(this.events[e])||(this.events[e]=[]),this.events[e].push(t)}publish(e,t={}){return w(this.events[e])?this.events[e].map(s=>s(t)):[]}}class te{constructor(){o(this,"events");o(this,"files");o(this,"components");o(this,"translations");o(this,"options");o(this,"maxSizeImageView");o(this,"imgExt");this.events=new ee,this.components={},this.files=[],this.translations={},this.options={allowedFileTypes:[],multiple:!1,uploadUrl:"",dropzoneTheme:"lg"},this.maxSizeImageView=2e6,this.imgExt=[".jpg",".jpeg",".png"]}addFileItem(e){!this.options.multiple&&this.files.length&&this.files.forEach(t=>{this.deleteFileItem(t)}),this.files.push(e),this.events.publish("fileAdded",e)}updateFileItem(e){const t=this.files.findIndex(s=>s.id===e.id);t!==-1&&(this.files[t]=e,this.events.publish("fileItemUpdate",e),e.status==="uploaded"&&(this.events.publish("fileUploaded",e),this.getFilesUploading().length===0&&this.events.publish("filesUploaded",e)))}deleteFileItem(e){if(this.options.deleteUrl&&e.status==="uploaded"){let t=new C(this).request("DELETE",this.options.deleteUrl.replace("{{filename}}",encodeURI(e.name)));t.setRequestHeader("accept","application/json");let s=new FormData;s.append("filename",e.name),t.send(s),t.addEventListener("load",()=>{t.status===200?(this.files=this.files.filter(i=>e.id!==i.id),e.status="deleted",this.events.publish("fileDeleted",e)):(e.status="error",this.events.publish("fileItemUpdate",e))})}else e.status="deleted",this.events.publish("fileDeleted",e)}getCategorizedFiles(){return{uploaded:this.getFilesUploaded(),preloaded:this.getFilesPreloaded(),deleted:this.getFilesDeleted()}}getFilesDeleted(){return this.files.filter(e=>e.status==="deleted")}getFilesPreloaded(){return this.files.filter(e=>e.status==="preloaded")}getFilesUploaded(){return this.files.filter(e=>e.status==="uploaded")}getFilesWaiting(){return this.files.filter(e=>e.status==="waiting")}getFilesUploading(){return this.files.filter(e=>e.status==="uploading")}setComponent(e,t){this.components[e]=t}setTranslations(e){this.translations=e}setOptions(e){this.options=e}}class se{constructor(e,t){o(this,"options");o(this,"el");o(this,"store");var i;if(!I(e))throw new Error('Selected element is not type of "Element". Current type: '+typeof e);this.el=e,this.store=new te,this.options=this.parseOptions(t),this.options&&this.store.setOptions(this.options),this.validateOptions(this.options);const s={de:Y,en:Z};if(v(window.huplyTranslations))this.store.setTranslations(window.huplyTranslations);else{const l=(i=document.querySelector("html"))==null?void 0:i.getAttribute("lang");l==="en"||l==="de"?(window.huplyTranslations=s[this.options.lang],this.store.setTranslations(s[this.options.lang])):(window.huplyTranslations=s.en,this.store.setTranslations(s.en))}return this}init(){var e,t,s;if(this.el){const i=new Q(this.el,this.store).render();((e=this.el)==null?void 0:e.parentNode)&&this.el.parentNode.replaceChild(i,this.el),this.el=i.querySelector(this.el.tagName)}if((s=(t=this.options)==null?void 0:t.preloadedFiles)==null?void 0:s.length){const i=new g(this.store);this.options.preloadedFiles.forEach(l=>{l.url&&i.getBlobFromUrl(l.url).then(p=>{i.generateFileItem(new File([p],l.name)).then(r=>{this.store.addFileItem(r),r.status="preloaded",this.store.updateFileItem(r)})})})}return this}parseOptions(e){var S,x,M,E,H,T,y,D,U,W,A,B;let t={multiple:!1,maxConcurrentUploads:3,maxFileSize:5,lang:"de",uploadUrl:"",deleteUrl:"",allowedFileTypes:[".jpg",".jpeg",".png",".pdf"],dropzoneTheme:"lg"};v(e)&&(t=L(L({},t),e)),t.multiple=(S=this.el)==null?void 0:S.hasAttribute("multiple");const s=(x=this.el)==null?void 0:x.getAttribute("data-dropzone-theme");s&&(t.dropzoneTheme=s);const i=(M=this.el)==null?void 0:M.getAttribute("data-max-concurrent-uploads");i&&(t.maxConcurrentUploads=Number(i));const l=(E=this.el)==null?void 0:E.getAttribute("data-max-file-size");l&&(t.maxFileSize=Number(l));const p=(H=this.el)==null?void 0:H.getAttribute("data-upload-url");p&&(t.uploadUrl=p);const r=(T=this.el)==null?void 0:T.getAttribute("data-delete-url");r&&(t.deleteUrl=r);const a=(y=this.el)==null?void 0:y.getAttribute("data-headers");a&&(t.headers=JSON.parse(a));const h=(D=this.el)==null?void 0:D.getAttribute("data-preloaded-files");h&&(t.preloadedFiles=JSON.parse(h));const u=(U=this.el)==null?void 0:U.getAttribute("data-lang");u&&(t.lang=u);const c=(W=this.el)==null?void 0:W.getAttribute("data-translations");c&&(t.translations=JSON.parse(c));const F=(A=this.el)==null?void 0:A.getAttribute("accept");F&&(t.allowedFileTypes=F.split(","));const b=(B=this.el)==null?void 0:B.getAttribute("data-chunk-size");return b&&(t.chunkSize=Number(b)),t}validateOptions(e){if(!e.uploadUrl||e.uploadUrl.length===0)throw new Error('Option "uploadUrl" not set');if(!e.deleteUrl||e.deleteUrl.length===0)throw new Error('Option "deleteUrl" not set')}on(e,t){this.store.events.subscribe(e,t)}}module.exports=se;
1
+ "use strict";var k=Object.defineProperty;var P=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var m=(n,e,t)=>e in n?k(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,L=(n,e)=>{for(var t in e||(e={}))q.call(e,t)&&m(n,t,e[t]);if(P)for(var t of P(e))O.call(e,t)&&m(n,t,e[t]);return n};var o=(n,e,t)=>(m(n,typeof e!="symbol"?e+"":e,t),t);function v(n){return n!=null&&n.constructor===Object}function I(n){return n instanceof Element}function w(n){return n!==void 0}function N(n){return n!=null&&!!(n%1)}function $(n){return n!=null&&parseInt(n,10)===n}class C{constructor(e){o(this,"store");this.store=e}request(e,t){let s=new XMLHttpRequest;return s.withCredentials=!0,s.open(e,t),v(this.store.options.headers)&&Object.entries(this.store.options.headers).forEach(i=>{s.setRequestHeader(i[0],i[1])}),s}}class z{constructor(e){o(this,"store");this.store=e}upload(){const e=this.store.getFilesWaiting();e.length&&e.forEach(t=>{t.status="uploading",t.uploadProcess=0,this.store.updateFileItem(t),this.store.options.chunkSize?this.sendChunkedFile(t,0):this.sendFile(t)})}sendChunkedFile(e,t){var s;if(this.store.options.chunkSize&&e.size&&e.data){const i=this.store.options.chunkSize*1024,l=t+i,p=Math.min(l,e.size),r=e.data.slice(t,p);let a=new C(this.store).request("POST",this.store.options.uploadUrl);a.setRequestHeader("accept","application/json");const h="bytes "+t+"-"+p+"/"+e.size;a.setRequestHeader("Content-Range",h),a.addEventListener("load",()=>{if(a.status===200){if(a.response){const c=JSON.parse(a.response);c.filename&&(e.name=c.filename)}e.size&&(e.uploadProcess=Math.min(Math.ceil(l/e.size*100),100)),p===e.size?(e.status="uploaded",this.store.updateFileItem(e),this.upload()):(this.store.updateFileItem(e),this.sendChunkedFile(e,l+1))}else e.status="error",this.store.updateFileItem(e),this.upload()});let u=new FormData;u.append("file",r,e.name),((s=this.store.options)==null?void 0:s.maxFileSize)&&u.append("max_file_size",this.store.options.maxFileSize*1024),a.send(u)}}sendFile(e){return e.status="uploading",e.uploadProcess=0,this.store.updateFileItem(e),new Promise((t,s)=>{var p;let i=new C(this.store).request("POST",this.store.options.uploadUrl);i.setRequestHeader("accept","application/json"),i.upload.addEventListener("progress",r=>{e.uploadProcess=r.loaded/r.total*100,this.store.updateFileItem(e)}),i.addEventListener("load",()=>{if(i.status===200){if(t(i.response),i.response){const r=JSON.parse(i.response);r.filename&&(e.name=r.filename)}e.status="uploaded",this.store.updateFileItem(e),this.upload()}else s(i.response),e.status="error",this.store.updateFileItem(e),this.upload()});let l=new FormData;e.data&&l.append("file",e.data),((p=this.store.options)==null?void 0:p.maxFileSize)&&l.append("max_file_size",this.store.options.maxFileSize*1024),i.send(l)})}}function d(n,e){if(w(window.huplyTranslations[n])){let t=window.huplyTranslations[n];return e&&Object.entries(e).forEach(s=>{t=t.replace("{{"+s[0]+"}}",s[1])}),t}else return"{{"+n+"}}"}class f{constructor(e){o(this,"store");this.store=e}checkFileSize(e){var t;return!(((t=this.store.options)==null?void 0:t.maxFileSize)&&e.size>this.store.options.maxFileSize*1024*1024)}checkFileType(e){const t=e.name.split(".");return this.store.options.allowedFileTypes.includes("."+t[t.length-1].toLowerCase())}isValidFile(e){const t=[];return this.checkFileSize(e)||t.push({msg:d("fileItemStatusErrorFileSize",{maxFileSize:this.store.options.maxFileSize})}),this.checkFileType(e)||t.push({msg:d("fileItemStatusErrorFileType",{allowedFileTypes:this.store.options.allowedFileTypes.join(",")})}),t}}function R(){return Math.random().toString(36).substring(2)+Date.now().toString(36)}function V(n){let e=0;const t=Number(n);return N(t)?e=t.toFixed(2).replace(".",","):$(t)&&(e=t),e}class g{constructor(e){o(this,"store");this.store=e}generateFileItem(e){return new Promise(t=>{let s={id:R(),name:e.name,size:e.size,sizeMb:e.size?e.size/1024/1024:0,sizeKb:e.size?Number((e.size/1024).toFixed(0)):0,status:"waiting",uploadProcess:0,data:e,url:""};this.checkIfIsImage(e.name)&&s.size&&s.size<=this.store.maxSizeImageView?this.getDataUrlFromFile(e).then(i=>{s.url=i,t(s)}):t(s)})}getDataUrlFromFile(e){return new Promise(t=>{const s=new FileReader;s.readAsDataURL(e),s.addEventListener("load",function(){t(s.result)},!1)})}getBlobFromUrl(e){return new Promise((t,s)=>{const i=new C(this.store).request("GET",e);i.responseType="blob",i.send(),i.addEventListener("load",()=>{i.status===200?t(i.response):s(!1)})})}checkIfIsImage(e){const t=e.split(".");return this.store.imgExt.includes("."+t[t.length-1])}}class j{constructor(e,t){o(this,"el");var s,i;this.el=e.cloneNode(!0),this.el.setAttribute("name",`${e.getAttribute("name")}_real'`),this.el.classList.add("huply-input"),((s=t.options)==null?void 0:s.allowedFileTypes)&&this.el.setAttribute("accept",(i=t.options)==null?void 0:i.allowedFileTypes.join(",")),this.el.addEventListener("change",l=>{l.preventDefault(),l.target&&[...l.target.files].forEach(p=>{const a=new f(t).isValidFile(p);new g(t).generateFileItem(p).then(h=>{t.addFileItem(h),a.length!==0&&(h.status="error",h.statusMsg=a.map(u=>u.msg).join(", "),t.updateFileItem(h)),new z(t).upload()})})})}render(){return this.el}}class J{constructor(e,t){o(this,"fileItem");o(this,"listElement");o(this,"store");this.fileItem=e,this.store=t,this.store.events.subscribe("fileItemUpdate",s=>{this.fileItem.id===s.id&&(this.updateHeadline(s),this.updateSubline(s),this.updateListEl(s))}),this.store.events.subscribe("fileDeleted",s=>{this.fileItem.id===s.id&&this.listElement.remove()})}render(){const e=this.getListEl();e.appendChild(this.getVisual());const t=document.createElement("div");return t.appendChild(this.getHeadline()),t.appendChild(this.getSubline()),e.appendChild(t),e.appendChild(this.getActions()),this.listElement=e,e}getListEl(){const e=document.createElement("li");return e.classList.add("huply-file-item"),e}updateListEl(e){this.listElement.classList.remove("is-uploading"),this.listElement.classList.remove("is-preloaded"),this.listElement.classList.remove("is-error"),this.listElement.classList.remove("is-deleted"),e.status==="uploading"?this.listElement.classList.add("is-uploading"):e.status==="preloaded"?this.listElement.classList.add("is-preloaded"):e.status==="error"?this.listElement.classList.add("is-error"):e.status==="uploaded"?this.listElement.classList.add("is-uploaded"):e.status==="deleted"&&this.listElement.classList.add("is-deleted")}getSubline(){const e=document.createElement("p");return e.classList.add("huply-file-item-subline"),e.textContent=d("fileItemStatusWaiting"),e}updateSubline(e){var s;const t=this.listElement.querySelector(".huply-file-item-subline");t&&(e.status==="uploading"?e.uploadProcess&&(t.textContent=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)"):e.status==="error"?t.textContent=(s=e.statusMsg)!=null?s:d("fileItemStatusError"):(e.status==="uploaded"||e.status==="preloaded")&&(t.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${V(e.sizeMb)} MB`))}getHeadline(){const e=document.createElement("p");return e.textContent=this.fileItem.name,e.classList.add("huply-file-item-headline"),e}updateHeadline(e){const t=this.listElement.querySelector(".huply-file-item-headline");t&&(t.textContent=e.name)}getVisual(){const e=document.createElement("div");if(e.classList.add("huply-file-item-visual"),new g(this.store).checkIfIsImage(this.fileItem.name))if(this.fileItem.url){const s=document.createElement("img");s.classList.add("is-hidden"),e.appendChild(s),s.setAttribute("src",this.fileItem.url),setTimeout(()=>{s.classList.remove("is-hidden")},5)}else e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M152 120c-26.51 0-48 21.49-48 48s21.49 48 48 48s48-21.49 48-48S178.5 120 152 120zM447.1 32h-384C28.65 32-.0091 60.65-.0091 96v320c0 35.35 28.65 64 63.1 64h384c35.35 0 64-28.65 64-64V96C511.1 60.65 483.3 32 447.1 32zM463.1 409.3l-136.8-185.9C323.8 218.8 318.1 216 312 216c-6.113 0-11.82 2.768-15.21 7.379l-106.6 144.1l-37.09-46.1c-3.441-4.279-8.934-6.809-14.77-6.809c-5.842 0-11.33 2.529-14.78 6.809l-75.52 93.81c0-.0293 0 .0293 0 0L47.99 96c0-8.822 7.178-16 16-16h384c8.822 0 16 7.178 16 16V409.3z"/></svg>';else e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M365.3 93.38l-74.63-74.64C278.6 6.743 262.3 0 245.4 0L64-.0001c-35.35 0-64 28.65-64 64l.0065 384c0 35.35 28.65 64 64 64H320c35.2 0 64-28.8 64-64V138.6C384 121.7 377.3 105.4 365.3 93.38zM320 464H64.02c-8.836 0-15.1-7.163-16-15.1L48 64.13c-.0004-8.837 7.163-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v288C336 456.8 328.8 464 320 464z"/></svg>';return e}getActions(){const e=document.createElement("div");e.classList.add("huply-file-item-actions");const t=this.getDeleteAction();return e.appendChild(t),e}getDeleteAction(){const e=document.createElement("a");return e.setAttribute("href","#"),e.classList.add("huply-file-item-actions-delete"),e.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',e.addEventListener("click",t=>{t.preventDefault(),this.store.deleteFileItem(this.fileItem)}),e}}class K{constructor(e){o(this,"fileList");o(this,"store");this.store=e,this.fileList=document.createElement("ul"),this.fileList.classList.add("huply-file-list"),this.store.options.multiple&&e.events.subscribe("fileAdded",t=>{this.addChild(t)})}render(){return this.fileList}addChild(e){const t=new J(e,this.store);this.fileList.appendChild(t.render())}}class _{constructor(e){o(this,"store");o(this,"dropzone");o(this,"headline");o(this,"subline");o(this,"icon");o(this,"deleteIcon");o(this,"descWrapper");this.store=e,this.store.options.multiple||(e.events.subscribe("fileItemUpdate",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateIcon(t),this.updateDeleteIcon(t),this.updateDescriptionWrapper(t)}),e.events.subscribe("fileDeleted",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateIcon(t),this.updateDeleteIcon(t),this.updateDescriptionWrapper(t)}))}render(){this.dropzone=document.createElement("div"),this.dropzone.classList.add("huply-dropzone"),this.dropzone.appendChild(this.getDeleteIcon());const e=this.getDescriptionWrapper();return e.appendChild(this.getIcon()),e.appendChild(this.getHeadline()),e.appendChild(this.getSubline()),this.dropzone.appendChild(e),this.dropzone.addEventListener("click",()=>{var t;(t=this.store.components.input)==null||t.click()}),this.dropzone.addEventListener("dragover",t=>{var s;t.preventDefault(),(s=this.dropzone)==null||s.classList.add("is-dragover")}),this.dropzone.addEventListener("dragleave",t=>{var s;t.preventDefault(),(s=this.dropzone)==null||s.classList.remove("is-dragover")}),this.dropzone.addEventListener("drop",t=>{t.preventDefault();const s=new z(this.store);if(t.dataTransfer)for(var i=0;i<t.dataTransfer.items.length;i++){const l=t.dataTransfer.items[i].getAsFile();if(l){const r=new f(this.store).isValidFile(l);new g(this.store).generateFileItem(l).then(a=>{this.store.addFileItem(a),r.length!==0&&(a.status="error",a.statusMsg=r.map(h=>h.msg).join(", "),this.store.updateFileItem(a))}),s.upload()}}}),this.dropzone}getDescriptionWrapper(){return this.descWrapper=document.createElement("div"),this.descWrapper.classList.add("huply-dropzone-desc"),this.descWrapper}updateDescriptionWrapper(e){this.descWrapper&&(this.descWrapper.classList.remove("is-uploading"),this.descWrapper.classList.remove("is-preloaded"),this.descWrapper.classList.remove("is-error"),this.descWrapper.classList.remove("is-uploaded"),e.status==="uploading"?this.descWrapper.classList.add("is-uploading"):e.status==="preloaded"?this.descWrapper.classList.add("is-preloaded"):e.status==="error"?this.descWrapper.classList.add("is-error"):e.status==="uploaded"&&this.descWrapper.classList.add("is-uploaded"))}getIcon(){return this.icon=document.createElement("div"),this.icon.classList.add("huply-dropzone-icon-upload"),this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>',this.icon}updateIcon(e){this.icon&&(e.status==="uploading"&&e.uploadProcess===0?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M264 24C264 10.75 274.7 0 288 0C429.4 0 544 114.6 544 256C544 302.6 531.5 346.4 509.7 384C503.1 395.5 488.4 399.4 476.9 392.8C465.5 386.2 461.5 371.5 468.2 360C485.9 329.4 496 293.9 496 255.1C496 141.1 402.9 47.1 288 47.1C274.7 47.1 264 37.25 264 23.1V24z"/></svg>':e.status==="error"?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 304c13.25 0 24-10.75 24-24v-128C280 138.8 269.3 128 256 128S232 138.8 232 152v128C232 293.3 242.8 304 256 304zM256 337.1c-17.36 0-31.44 14.08-31.44 31.44C224.6 385.9 238.6 400 256 400s31.44-14.08 31.44-31.44C287.4 351.2 273.4 337.1 256 337.1z"/></svg>':e.status==="uploaded"?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"/></svg>':e.status==="deleted"&&this.store.getFilesUploading().length===0?this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>':e.status==="preloaded"&&(this.icon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M454.7 288.1c-12.78-3.75-26.06 3.594-29.75 16.31C403.3 379.9 333.8 432 255.1 432c-66.53 0-126.8-38.28-156.5-96h100.4c13.25 0 24-10.75 24-24S213.2 288 199.9 288h-160c-13.25 0-24 10.75-24 24v160c0 13.25 10.75 24 24 24s24-10.75 24-24v-102.1C103.7 436.4 176.1 480 255.1 480c99 0 187.4-66.31 215.1-161.3C474.8 305.1 467.4 292.7 454.7 288.1zM472 16C458.8 16 448 26.75 448 40v102.1C408.3 75.55 335.8 32 256 32C157 32 68.53 98.31 40.91 193.3C37.19 206 44.5 219.3 57.22 223c12.84 3.781 26.09-3.625 29.75-16.31C108.7 132.1 178.2 80 256 80c66.53 0 126.8 38.28 156.5 96H312C298.8 176 288 186.8 288 200S298.8 224 312 224h160c13.25 0 24-10.75 24-24v-160C496 26.75 485.3 16 472 16z"/></svg>'))}getDeleteIcon(){return this.deleteIcon=document.createElement("a"),this.deleteIcon.setAttribute("href","#"),this.deleteIcon.classList.add("huply-dropzone-icon-delete"),this.deleteIcon.classList.add("is-hidden"),this.deleteIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',this.deleteIcon.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const t=this.store.files.findIndex(s=>{var i;return((i=this.deleteIcon)==null?void 0:i.getAttribute("data-file-id"))==s.id});t!==-1&&this.store.deleteFileItem(this.store.files[t])}),this.deleteIcon}updateDeleteIcon(e){this.deleteIcon&&(e.status==="uploaded"||e.status==="preloaded"?(this.deleteIcon.classList.remove("is-hidden"),this.deleteIcon.setAttribute("data-file-id",e.id)):this.deleteIcon.classList.add("is-hidden"))}getHeadline(){return this.headline=document.createElement("p"),this.headline.classList.add("huply-dropzone-headline"),this.headline.innerHTML=this.getHeadlineText(),this.headline}getHeadlineText(){var e;return`<strong>${((e=this.store)==null?void 0:e.options.multiple)?d("chooseFiles"):d("chooseFile")}</strong>`}updateHeadline(e){this.headline&&(e.status==="deleted"?this.headline.innerHTML=this.getHeadlineText():this.headline.innerHTML=`<strong>${e.name}</strong>`)}getSubline(){return this.subline=document.createElement("p"),this.subline.innerText=this.getSublineText(),this.subline.classList.add("huply-dropzone-subline"),this.subline}getSublineText(){var t,s;const e=[];return e.push(d("allowedFileTypes",{allowedFileTypes:(t=this.store)==null?void 0:t.options.allowedFileTypes})),e.push(d("maxFileSize",{maxFileSize:(s=this.store)==null?void 0:s.options.maxFileSize})),e.join(", ")}updateSubline(e){var t;this.subline&&(this.subline.classList.remove("is-uploading"),this.subline.classList.remove("is-preloaded"),this.subline.classList.remove("is-error"),this.subline.classList.remove("is-uploaded"),e.status==="uploading"&&e.uploadProcess?this.subline.innerHTML=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)":e.status==="error"?this.subline.innerHTML=(t=e.statusMsg)!=null?t:d("fileItemStatusError"):e.status==="uploaded"||e.status==="preloaded"?this.subline.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${V(e.sizeMb)} MB`:this.subline.innerHTML=this.getSublineText())}}class G{constructor(e){o(this,"store");o(this,"dropzone");o(this,"headline");o(this,"subline");o(this,"uploadIcon");o(this,"deleteIcon");o(this,"descWrapper");this.store=e,this.store.options.multiple||(e.events.subscribe("fileItemUpdate",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateUploadIcon(t),this.updateDeleteIcon(t),this.updateWrapper(t)}),e.events.subscribe("fileDeleted",t=>{this.updateHeadline(t),this.updateSubline(t),this.updateUploadIcon(t),this.updateDeleteIcon(t),this.updateWrapper(t)}))}render(){this.dropzone=document.createElement("div"),this.dropzone.classList.add("huply-dropzone-sm");const e=this.getWrapper();return e.appendChild(this.getHeadline()),e.appendChild(this.getSubline()),e.appendChild(this.getUploadIcon()),e.appendChild(this.getDeleteIcon()),this.dropzone.appendChild(e),this.dropzone.addEventListener("click",()=>{var t;(t=this.store.components.input)==null||t.click()}),this.dropzone.addEventListener("dragover",()=>{var t;(t=this.dropzone)==null||t.classList.add("is-dragover")}),this.dropzone.addEventListener("dragleave",()=>{var t;(t=this.dropzone)==null||t.classList.remove("is-dragover")}),this.dropzone.addEventListener("drop",t=>{t.preventDefault();const s=new z(this.store);if(t.dataTransfer)for(var i=0;i<t.dataTransfer.items.length;i++){const l=t.dataTransfer.items[i].getAsFile();if(l){const r=new f(this.store).isValidFile(l);new g(this.store).generateFileItem(l).then(a=>{this.store.addFileItem(a),r.length!==0&&(a.status="error",a.statusMsg=r.map(h=>h.msg).join(", "),this.store.updateFileItem(a)),s.upload()})}}}),this.dropzone}getWrapper(){return this.descWrapper=document.createElement("div"),this.descWrapper.classList.add("huply-dropzone-sm-wrapper"),this.descWrapper}updateWrapper(e){this.descWrapper&&(this.descWrapper.classList.remove("is-uploading"),this.descWrapper.classList.remove("is-preloaded"),this.descWrapper.classList.remove("is-error"),this.descWrapper.classList.remove("is-uploaded"),e.status==="uploading"?this.descWrapper.classList.add("is-uploading"):e.status==="preloaded"?this.descWrapper.classList.add("is-preloaded"):e.status==="error"?this.descWrapper.classList.add("is-error"):e.status==="uploaded"&&this.descWrapper.classList.add("is-uploaded"))}getDeleteIcon(){return this.deleteIcon=document.createElement("a"),this.deleteIcon.setAttribute("href","#"),this.deleteIcon.classList.add("huply-dropzone-sm-icon-delete"),this.deleteIcon.classList.add("is-hidden"),this.deleteIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M424 80C437.3 80 448 90.75 448 104C448 117.3 437.3 128 424 128H412.4L388.4 452.7C385.9 486.1 358.1 512 324.6 512H123.4C89.92 512 62.09 486.1 59.61 452.7L35.56 128H24C10.75 128 0 117.3 0 104C0 90.75 10.75 80 24 80H93.82L130.5 24.94C140.9 9.357 158.4 0 177.1 0H270.9C289.6 0 307.1 9.358 317.5 24.94L354.2 80H424zM177.1 48C174.5 48 171.1 49.34 170.5 51.56L151.5 80H296.5L277.5 51.56C276 49.34 273.5 48 270.9 48H177.1zM364.3 128H83.69L107.5 449.2C108.1 457.5 115.1 464 123.4 464H324.6C332.9 464 339.9 457.5 340.5 449.2L364.3 128z"/></svg>',this.deleteIcon.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();const t=this.store.files.findIndex(s=>{var i;return((i=this.deleteIcon)==null?void 0:i.getAttribute("data-file-id"))==s.id});t!==-1&&this.store.deleteFileItem(this.store.files[t])}),this.deleteIcon}updateDeleteIcon(e){this.deleteIcon&&(e.status==="uploaded"||e.status==="preloaded"?(this.deleteIcon.classList.remove("is-hidden"),this.deleteIcon.setAttribute("data-file-id",e.id)):this.deleteIcon.classList.add("is-hidden"))}getUploadIcon(){return this.uploadIcon=document.createElement("div"),this.uploadIcon.classList.add("huply-dropzone-sm-icon-upload"),this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>',this.uploadIcon}updateUploadIcon(e){this.uploadIcon&&(e.status==="uploading"&&e.uploadProcess===0?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M264 24C264 10.75 274.7 0 288 0C429.4 0 544 114.6 544 256C544 302.6 531.5 346.4 509.7 384C503.1 395.5 488.4 399.4 476.9 392.8C465.5 386.2 461.5 371.5 468.2 360C485.9 329.4 496 293.9 496 255.1C496 141.1 402.9 47.1 288 47.1C274.7 47.1 264 37.25 264 23.1V24z"/></svg>':e.status==="error"?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 304c13.25 0 24-10.75 24-24v-128C280 138.8 269.3 128 256 128S232 138.8 232 152v128C232 293.3 242.8 304 256 304zM256 337.1c-17.36 0-31.44 14.08-31.44 31.44C224.6 385.9 238.6 400 256 400s31.44-14.08 31.44-31.44C287.4 351.2 273.4 337.1 256 337.1z"/></svg>':e.status==="uploaded"?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M243.8 339.8C232.9 350.7 215.1 350.7 204.2 339.8L140.2 275.8C129.3 264.9 129.3 247.1 140.2 236.2C151.1 225.3 168.9 225.3 179.8 236.2L224 280.4L332.2 172.2C343.1 161.3 360.9 161.3 371.8 172.2C382.7 183.1 382.7 200.9 371.8 211.8L243.8 339.8zM512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256zM256 48C141.1 48 48 141.1 48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48z"/></svg>':e.status==="deleted"&&this.store.getFilesUploading().length===0?this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path d="M303 175C312.4 165.7 327.6 165.7 336.1 175L416.1 255C426.3 264.4 426.3 279.6 416.1 288.1C407.6 298.3 392.4 298.3 383 288.1L344 249.9V384C344 397.3 333.3 408 320 408C306.7 408 296 397.3 296 384V249.9L256.1 288.1C247.6 298.3 232.4 298.3 223 288.1C213.7 279.6 213.7 264.4 223 255L303 175zM144 480C64.47 480 0 415.5 0 336C0 273.3 40.07 219.1 96 200.2V200C96 107.2 171.2 32 264 32C314.9 32 360.4 54.6 391.3 90.31C406.2 83.68 422.6 80 440 80C506.3 80 560 133.7 560 200C560 206.6 559.5 213 558.5 219.3C606.5 240.3 640 288.3 640 344C640 416.4 583.4 475.6 512 479.8V480H144zM264 80C197.7 80 144 133.7 144 200L144 234.1L111.1 245.5C74.64 258.7 48 294.3 48 336C48 389 90.98 432 144 432H506.6L509.2 431.8C555.4 429.2 592 390.8 592 344C592 308 570.4 276.9 539.2 263.3L505.1 248.4L511.1 211.7C511.7 207.9 512 204 512 200C512 160.2 479.8 128 440 128C429.5 128 419.6 130.2 410.8 134.2L378.2 148.7L354.9 121.7C332.8 96.08 300.3 80 263.1 80L264 80z"/></svg>':e.status==="preloaded"&&(this.uploadIcon.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M454.7 288.1c-12.78-3.75-26.06 3.594-29.75 16.31C403.3 379.9 333.8 432 255.1 432c-66.53 0-126.8-38.28-156.5-96h100.4c13.25 0 24-10.75 24-24S213.2 288 199.9 288h-160c-13.25 0-24 10.75-24 24v160c0 13.25 10.75 24 24 24s24-10.75 24-24v-102.1C103.7 436.4 176.1 480 255.1 480c99 0 187.4-66.31 215.1-161.3C474.8 305.1 467.4 292.7 454.7 288.1zM472 16C458.8 16 448 26.75 448 40v102.1C408.3 75.55 335.8 32 256 32C157 32 68.53 98.31 40.91 193.3C37.19 206 44.5 219.3 57.22 223c12.84 3.781 26.09-3.625 29.75-16.31C108.7 132.1 178.2 80 256 80c66.53 0 126.8 38.28 156.5 96H312C298.8 176 288 186.8 288 200S298.8 224 312 224h160c13.25 0 24-10.75 24-24v-160C496 26.75 485.3 16 472 16z"/></svg>'))}getHeadline(){return this.headline=document.createElement("p"),this.headline.classList.add("huply-dropzone-sm-headline"),this.headline.innerHTML=this.getHeadlineText(),this.headline}getHeadlineText(){var e;return`<strong>${((e=this.store)==null?void 0:e.options.multiple)?d("chooseFiles"):d("chooseFile")}</strong>`}updateHeadline(e){this.headline&&(e.status==="deleted"?this.headline.innerHTML=this.getHeadlineText():this.headline.innerHTML=`<strong>${e.name}</strong>`)}getSubline(){return this.subline=document.createElement("p"),this.subline.innerText=this.getSublineText(),this.subline.classList.add("huply-dropzone-sm-subline"),this.subline}getSublineText(){var t,s;const e=[];return e.push(d("allowedFileTypes",{allowedFileTypes:(t=this.store)==null?void 0:t.options.allowedFileTypes})),e.push(d("maxFileSize",{maxFileSize:(s=this.store)==null?void 0:s.options.maxFileSize})),e.join(", ")}updateSubline(e){var t;this.subline&&(this.subline.classList.remove("is-uploading"),this.subline.classList.remove("is-preloaded"),this.subline.classList.remove("is-error"),this.subline.classList.remove("is-uploaded"),e.status==="uploading"&&e.uploadProcess?this.subline.innerHTML=d("fileItemStatusUploading")+" ("+e.uploadProcess.toFixed(0)+"%)":e.status==="error"?this.subline.innerHTML=(t=e.statusMsg)!=null?t:d("fileItemStatusError"):e.status==="uploaded"||e.status==="preloaded"?this.subline.textContent=e.sizeMb&&e.sizeMb<1?`${e.sizeKb} KB`:`${e.sizeMb} MB`:this.subline.innerHTML=this.getSublineText())}}class X{constructor(e,t){o(this,"el");o(this,"input");this.el=e,this.input=document.createElement("input"),t.events.subscribe("fileItemUpdate",()=>{this.input.setAttribute("value",JSON.stringify(t.getCategorizedFiles()))}),t.events.subscribe("fileDeleted",()=>{this.input.setAttribute("value",JSON.stringify(t.getCategorizedFiles()))})}render(){this.input.setAttribute("type","hidden");const e=this.el.getAttribute("name");return e&&this.input.setAttribute("name",e),this.input}}class Q{constructor(e,t){o(this,"el");o(this,"store");this.el=e,this.store=t}render(){const e=document.createElement("div");e.classList.add("huply-wrapper");const t=new j(this.el,this.store).render();e.appendChild(t);const s=new X(this.el,this.store).render();e.appendChild(s);let i;this.store.options.dropzoneTheme==="sm"?(i=new G(this.store),e.appendChild(i.render())):(i=new _(this.store),e.appendChild(i.render()));const l=new K(this.store);return e.appendChild(l.render()),this.store.setComponent("input",t),this.store.setComponent("dropzone",i),this.store.setComponent("fileList",l),e}}var Y={chooseFiles:"Dateien ausw\xE4hlen",chooseFile:"Datei ausw\xE4hlen",allowedFileTypes:"Erlaubte Dateitypen: {{allowedFileTypes}}",maxFileSize:"Maximale Dateigr\xF6\xDFe: {{maxFileSize}} MB",fileItemStatusWaiting:"In Warteschlange",fileItemStatusUploading:"Wird hochgeladen",fileItemStatusUploaded:"Erfolgreich hochgeladen",fileItemStatusPreloaded:"Bereits hochgeladen",fileItemStatusError:"Ein Fehler ist aufgetreten.",fileItemStatusErrorFileSize:"Die Dateigr\xF6\xDFe \xFCberschreitet die Maximalgr\xF6\xDFe: {{maxFileSize}} MB",fileItemStatusErrorFileType:"Der Dateityp ist nicht erlaubt. Erlaubte Dateitypen: {{allowedFileTypes}}",delete:"L\xF6schen"},Z={chooseFiles:"Choose files",chooseFile:"Choose file",allowedFileTypes:"Allowed file types: {{allowedFileTypes}}",maxFileSize:"Maximum file size: {{maxFileSize}} MB",fileItemStatusWaiting:"In queue",fileItemStatusUploading:"Uploading ...",fileItemStatusUploaded:"Uploaded",fileItemStatusPreloaded:"Already uploaded",fileItemStatusError:"An error occured.",fileItemStatusErrorFileSize:"The file size exceeds the maximum size: {{maxFileSize}} MB",fileItemStatusErrorFileType:"The file type is not allowed. Allowed file types: {{allowedFileTypes}}",delete:"Delete"};class ee{constructor(){o(this,"events",{})}subscribe(e,t){return w(this.events[e])||(this.events[e]=[]),this.events[e].push(t)}publish(e,t={}){return w(this.events[e])?this.events[e].map(s=>s(t)):[]}}class te{constructor(){o(this,"events");o(this,"files");o(this,"components");o(this,"translations");o(this,"options");o(this,"maxSizeImageView");o(this,"imgExt");this.events=new ee,this.components={},this.files=[],this.translations={},this.options={allowedFileTypes:[],multiple:!1,uploadUrl:"",dropzoneTheme:"lg"},this.maxSizeImageView=2e6,this.imgExt=[".jpg",".jpeg",".png"]}addFileItem(e){!this.options.multiple&&this.files.length&&this.files.forEach(t=>{this.deleteFileItem(t)}),this.files.push(e),this.events.publish("fileAdded",e)}updateFileItem(e){const t=this.files.findIndex(s=>s.id===e.id);t!==-1&&(this.files[t]=e,this.events.publish("fileItemUpdate",e),e.status==="uploaded"&&(this.events.publish("fileUploaded",e),this.getFilesUploading().length===0&&this.events.publish("filesUploaded",e)))}deleteFileItem(e){if(this.options.deleteUrl&&e.status==="uploaded"){let t=new C(this).request("DELETE",this.options.deleteUrl.replace("{{filename}}",encodeURI(e.name)));t.setRequestHeader("accept","application/json");let s=new FormData;s.append("filename",e.name),t.send(s),t.addEventListener("load",()=>{t.status===200?(this.files=this.files.filter(i=>e.id!==i.id),e.status="deleted",this.events.publish("fileDeleted",e)):(e.status="error",this.events.publish("fileItemUpdate",e))})}else e.status="deleted",this.events.publish("fileDeleted",e)}getCategorizedFiles(){return{uploaded:this.getFilesUploaded(),preloaded:this.getFilesPreloaded(),deleted:this.getFilesDeleted()}}getFilesDeleted(){return this.files.filter(e=>e.status==="deleted")}getFilesPreloaded(){return this.files.filter(e=>e.status==="preloaded")}getFilesUploaded(){return this.files.filter(e=>e.status==="uploaded")}getFilesWaiting(){return this.files.filter(e=>e.status==="waiting")}getFilesUploading(){return this.files.filter(e=>e.status==="uploading")}setComponent(e,t){this.components[e]=t}setTranslations(e){this.translations=e}setOptions(e){this.options=e}}class se{constructor(e,t){o(this,"options");o(this,"el");o(this,"store");var i;if(!I(e))throw new Error('Selected element is not type of "Element". Current type: '+typeof e);this.el=e,this.store=new te,this.options=this.parseOptions(t),this.options&&this.store.setOptions(this.options),this.validateOptions(this.options);const s={de:Y,en:Z};if(v(window.huplyTranslations))this.store.setTranslations(window.huplyTranslations);else{const l=(i=document.querySelector("html"))==null?void 0:i.getAttribute("lang");l==="en"||l==="de"?(window.huplyTranslations=s[this.options.lang],this.store.setTranslations(s[this.options.lang])):(window.huplyTranslations=s.en,this.store.setTranslations(s.en))}return this}init(){var e,t,s;if(this.el){const i=new Q(this.el,this.store).render();((e=this.el)==null?void 0:e.parentNode)&&this.el.parentNode.replaceChild(i,this.el),this.el=i.querySelector(this.el.tagName)}if((s=(t=this.options)==null?void 0:t.preloadedFiles)==null?void 0:s.length){const i=new g(this.store);this.options.preloadedFiles.forEach(l=>{l.url&&i.getBlobFromUrl(l.url).then(p=>{i.generateFileItem(new File([p],l.name)).then(r=>{this.store.addFileItem(r),r.status="preloaded",this.store.updateFileItem(r)})})})}return this}parseOptions(e){var S,x,M,E,H,T,y,D,U,W,A,B;let t={multiple:!1,maxConcurrentUploads:3,maxFileSize:5,lang:"de",uploadUrl:"",deleteUrl:"",allowedFileTypes:[".jpg",".jpeg",".png",".pdf"],dropzoneTheme:"lg"};v(e)&&(t=L(L({},t),e)),t.multiple=(S=this.el)==null?void 0:S.hasAttribute("multiple");const s=(x=this.el)==null?void 0:x.getAttribute("data-dropzone-theme");s&&(t.dropzoneTheme=s);const i=(M=this.el)==null?void 0:M.getAttribute("data-max-concurrent-uploads");i&&(t.maxConcurrentUploads=Number(i));const l=(E=this.el)==null?void 0:E.getAttribute("data-max-file-size");l&&(t.maxFileSize=Number(l));const p=(H=this.el)==null?void 0:H.getAttribute("data-upload-url");p&&(t.uploadUrl=p);const r=(T=this.el)==null?void 0:T.getAttribute("data-delete-url");r&&(t.deleteUrl=r);const a=(y=this.el)==null?void 0:y.getAttribute("data-headers");a&&(t.headers=JSON.parse(a));const h=(D=this.el)==null?void 0:D.getAttribute("data-preloaded-files");h&&(t.preloadedFiles=JSON.parse(h));const u=(U=this.el)==null?void 0:U.getAttribute("data-lang");u&&(t.lang=u);const c=(W=this.el)==null?void 0:W.getAttribute("data-translations");c&&(t.translations=JSON.parse(c));const F=(A=this.el)==null?void 0:A.getAttribute("accept");F&&(t.allowedFileTypes=F.split(","));const b=(B=this.el)==null?void 0:B.getAttribute("data-chunk-size");return b&&(t.chunkSize=Number(b)),t}validateOptions(e){if(!e.uploadUrl||e.uploadUrl.length===0)throw new Error('Option "uploadUrl" not set');if(!e.deleteUrl||e.deleteUrl.length===0)throw new Error('Option "deleteUrl" not set')}on(e,t){this.store.events.subscribe(e,t)}}module.exports=se;
2
2
  //# sourceMappingURL=huply.cjs.js.map