nxt-dropzone-wrapper 13.0.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.
@@ -0,0 +1,497 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, EventEmitter, PLATFORM_ID, Directive, Inject, Optional, Input, Output, Component, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/common';
4
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
5
+ import _dz from 'dropzone';
6
+
7
+ const DROPZONE_CONFIG = new InjectionToken('DROPZONE_CONFIG');
8
+ const DropzoneEvents = [
9
+ 'error',
10
+ 'success',
11
+ 'sending',
12
+ 'canceled',
13
+ 'complete',
14
+ 'processing',
15
+ 'drop',
16
+ 'dragStart',
17
+ 'dragEnd',
18
+ 'dragEnter',
19
+ 'dragOver',
20
+ 'dragLeave',
21
+ 'thumbnail',
22
+ 'addedFile',
23
+ 'addedFiles',
24
+ 'removedFile',
25
+ 'uploadProgress',
26
+ 'maxFilesReached',
27
+ 'maxFilesExceeded',
28
+ 'errorMultiple',
29
+ 'successMultiple',
30
+ 'sendingMultiple',
31
+ 'canceledMultiple',
32
+ 'completeMultiple',
33
+ 'processingMultiple',
34
+ 'reset',
35
+ 'queueComplete',
36
+ 'totalUploadProgress'
37
+ ];
38
+ class DropzoneConfig {
39
+ constructor(config = {}) {
40
+ this.assign(config);
41
+ }
42
+ assign(config = {}, target) {
43
+ target = target || this;
44
+ for (const key in config) {
45
+ if (config[key] != null && !(Array.isArray(config[key])) &&
46
+ typeof config[key] === 'object' && !(config[key] instanceof HTMLElement)) {
47
+ target[key] = {};
48
+ this.assign(config[key], target[key]);
49
+ }
50
+ else {
51
+ target[key] = config[key];
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ // Fix until Dropzone types are updated
58
+ const Dropzone = _dz.Dropzone;
59
+ class DropzoneDirective {
60
+ constructor(zone, renderer, elementRef, differs, platformId, defaults) {
61
+ this.zone = zone;
62
+ this.renderer = renderer;
63
+ this.elementRef = elementRef;
64
+ this.differs = differs;
65
+ this.platformId = platformId;
66
+ this.defaults = defaults;
67
+ this.configDiff = null;
68
+ this.disabled = false;
69
+ this.DZ_INIT = new EventEmitter();
70
+ this.DZ_ERROR = new EventEmitter();
71
+ this.DZ_SUCCESS = new EventEmitter();
72
+ this.DZ_SENDING = new EventEmitter();
73
+ this.DZ_CANCELED = new EventEmitter();
74
+ this.DZ_COMPLETE = new EventEmitter();
75
+ this.DZ_PROCESSING = new EventEmitter();
76
+ this.DZ_DROP = new EventEmitter();
77
+ this.DZ_DRAGSTART = new EventEmitter();
78
+ this.DZ_DRAGEND = new EventEmitter();
79
+ this.DZ_DRAGENTER = new EventEmitter();
80
+ this.DZ_DRAGOVER = new EventEmitter();
81
+ this.DZ_DRAGLEAVE = new EventEmitter();
82
+ this.DZ_THUMBNAIL = new EventEmitter();
83
+ this.DZ_ADDEDFILE = new EventEmitter();
84
+ this.DZ_ADDEDFILES = new EventEmitter();
85
+ this.DZ_REMOVEDFILE = new EventEmitter();
86
+ this.DZ_UPLOADPROGRESS = new EventEmitter();
87
+ this.DZ_MAXFILESREACHED = new EventEmitter();
88
+ this.DZ_MAXFILESEXCEEDED = new EventEmitter();
89
+ this.DZ_ERRORMULTIPLE = new EventEmitter();
90
+ this.DZ_SUCCESSMULTIPLE = new EventEmitter();
91
+ this.DZ_SENDINGMULTIPLE = new EventEmitter();
92
+ this.DZ_CANCELEDMULTIPLE = new EventEmitter();
93
+ this.DZ_COMPLETEMULTIPLE = new EventEmitter();
94
+ this.DZ_PROCESSINGMULTIPLE = new EventEmitter();
95
+ this.DZ_RESET = new EventEmitter();
96
+ this.DZ_QUEUECOMPLETE = new EventEmitter();
97
+ this.DZ_TOTALUPLOADPROGRESS = new EventEmitter();
98
+ const dz = Dropzone;
99
+ dz.autoDiscover = false;
100
+ }
101
+ ngOnInit() {
102
+ if (!isPlatformBrowser(this.platformId)) {
103
+ return;
104
+ }
105
+ const params = new DropzoneConfig(this.defaults);
106
+ params.assign(this.config); // Custom configuration
107
+ this.renderer.addClass(this.elementRef.nativeElement, (params.maxFiles === 1) ? 'dz-single' : 'dz-multiple');
108
+ this.renderer.removeClass(this.elementRef.nativeElement, (params.maxFiles === 1) ? 'dz-multiple' : 'dz-single');
109
+ this.zone.runOutsideAngular(() => {
110
+ this.instance = new Dropzone(this.elementRef.nativeElement, params);
111
+ });
112
+ if (this.disabled) {
113
+ this.instance.disable();
114
+ }
115
+ if (this.DZ_INIT.observers.length) {
116
+ this.zone.run(() => {
117
+ this.DZ_INIT.emit(this.instance);
118
+ });
119
+ }
120
+ // Add auto reset handling for events
121
+ this.instance.on('success', () => {
122
+ if (params.autoReset != null) {
123
+ setTimeout(() => this.reset(), params.autoReset);
124
+ }
125
+ });
126
+ this.instance.on('error', () => {
127
+ if (params.errorReset != null) {
128
+ setTimeout(() => this.reset(), params.errorReset);
129
+ }
130
+ });
131
+ this.instance.on('canceled', () => {
132
+ if (params.cancelReset != null) {
133
+ setTimeout(() => this.reset(), params.cancelReset);
134
+ }
135
+ });
136
+ // Add native Dropzone event handling
137
+ DropzoneEvents.forEach((eventName) => {
138
+ this.instance.on(eventName.toLowerCase(), (...args) => {
139
+ args = (args.length === 1) ? args[0] : args;
140
+ const output = `DZ_${eventName.toUpperCase()}`;
141
+ const emitter = this[output];
142
+ if (emitter.observers.length > 0) {
143
+ this.zone.run(() => {
144
+ emitter.emit(args);
145
+ });
146
+ }
147
+ });
148
+ });
149
+ if (!this.configDiff) {
150
+ this.configDiff = this.differs.find(this.config || {}).create();
151
+ this.configDiff.diff(this.config || {});
152
+ }
153
+ }
154
+ ngOnDestroy() {
155
+ if (this.instance) {
156
+ this.zone.runOutsideAngular(() => {
157
+ this.instance.destroy();
158
+ });
159
+ this.instance = null;
160
+ }
161
+ }
162
+ ngDoCheck() {
163
+ if (!this.disabled && this.configDiff) {
164
+ const changes = this.configDiff.diff(this.config || {});
165
+ if (changes && this.instance) {
166
+ this.ngOnDestroy();
167
+ this.ngOnInit();
168
+ }
169
+ }
170
+ }
171
+ ngOnChanges(changes) {
172
+ if (this.instance && changes['disabled']) {
173
+ if (changes['disabled'].currentValue !== changes['disabled'].previousValue) {
174
+ if (changes['disabled'].currentValue === false) {
175
+ this.zone.runOutsideAngular(() => {
176
+ this.instance.enable();
177
+ });
178
+ }
179
+ else if (changes['disabled'].currentValue === true) {
180
+ this.zone.runOutsideAngular(() => {
181
+ this.instance.disable();
182
+ });
183
+ }
184
+ }
185
+ }
186
+ }
187
+ dropzone() {
188
+ return this.instance;
189
+ }
190
+ reset(cancel) {
191
+ if (this.instance) {
192
+ this.zone.runOutsideAngular(() => {
193
+ this.instance.removeAllFiles(cancel);
194
+ });
195
+ }
196
+ }
197
+ }
198
+ DropzoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneDirective, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: PLATFORM_ID }, { token: DROPZONE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
199
+ DropzoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DropzoneDirective, selector: "[dropzone]", inputs: { disabled: "disabled", config: ["dropzone", "config"] }, outputs: { DZ_INIT: "init", DZ_ERROR: "error", DZ_SUCCESS: "success", DZ_SENDING: "sending", DZ_CANCELED: "canceled", DZ_COMPLETE: "complete", DZ_PROCESSING: "processing", DZ_DROP: "drop", DZ_DRAGSTART: "dragStart", DZ_DRAGEND: "dragEnd", DZ_DRAGENTER: "dragEnter", DZ_DRAGOVER: "dragOver", DZ_DRAGLEAVE: "dragLeave", DZ_THUMBNAIL: "thumbnail", DZ_ADDEDFILE: "addedFile", DZ_ADDEDFILES: "addedFiles", DZ_REMOVEDFILE: "removedFile", DZ_UPLOADPROGRESS: "uploadProgress", DZ_MAXFILESREACHED: "maxFilesReached", DZ_MAXFILESEXCEEDED: "maxFilesExceeded", DZ_ERRORMULTIPLE: "errorMultiple", DZ_SUCCESSMULTIPLE: "successMultiple", DZ_SENDINGMULTIPLE: "sendingMultiple", DZ_CANCELEDMULTIPLE: "canceledMultiple", DZ_COMPLETEMULTIPLE: "completeMultiple", DZ_PROCESSINGMULTIPLE: "processingMultiple", DZ_RESET: "reset", DZ_QUEUECOMPLETE: "queueComplete", DZ_TOTALUPLOADPROGRESS: "totalUploadProgress" }, exportAs: ["ngxDropzone"], usesOnChanges: true, ngImport: i0 });
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneDirective, decorators: [{
201
+ type: Directive,
202
+ args: [{
203
+ selector: '[dropzone]',
204
+ exportAs: 'ngxDropzone'
205
+ }]
206
+ }], ctorParameters: function () {
207
+ return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: Object, decorators: [{
208
+ type: Inject,
209
+ args: [PLATFORM_ID]
210
+ }] }, { type: undefined, decorators: [{
211
+ type: Optional
212
+ }, {
213
+ type: Inject,
214
+ args: [DROPZONE_CONFIG]
215
+ }] }];
216
+ }, propDecorators: { disabled: [{
217
+ type: Input
218
+ }], config: [{
219
+ type: Input,
220
+ args: ['dropzone']
221
+ }], DZ_INIT: [{
222
+ type: Output,
223
+ args: ['init']
224
+ }], DZ_ERROR: [{
225
+ type: Output,
226
+ args: ['error']
227
+ }], DZ_SUCCESS: [{
228
+ type: Output,
229
+ args: ['success']
230
+ }], DZ_SENDING: [{
231
+ type: Output,
232
+ args: ['sending']
233
+ }], DZ_CANCELED: [{
234
+ type: Output,
235
+ args: ['canceled']
236
+ }], DZ_COMPLETE: [{
237
+ type: Output,
238
+ args: ['complete']
239
+ }], DZ_PROCESSING: [{
240
+ type: Output,
241
+ args: ['processing']
242
+ }], DZ_DROP: [{
243
+ type: Output,
244
+ args: ['drop']
245
+ }], DZ_DRAGSTART: [{
246
+ type: Output,
247
+ args: ['dragStart']
248
+ }], DZ_DRAGEND: [{
249
+ type: Output,
250
+ args: ['dragEnd']
251
+ }], DZ_DRAGENTER: [{
252
+ type: Output,
253
+ args: ['dragEnter']
254
+ }], DZ_DRAGOVER: [{
255
+ type: Output,
256
+ args: ['dragOver']
257
+ }], DZ_DRAGLEAVE: [{
258
+ type: Output,
259
+ args: ['dragLeave']
260
+ }], DZ_THUMBNAIL: [{
261
+ type: Output,
262
+ args: ['thumbnail']
263
+ }], DZ_ADDEDFILE: [{
264
+ type: Output,
265
+ args: ['addedFile']
266
+ }], DZ_ADDEDFILES: [{
267
+ type: Output,
268
+ args: ['addedFiles']
269
+ }], DZ_REMOVEDFILE: [{
270
+ type: Output,
271
+ args: ['removedFile']
272
+ }], DZ_UPLOADPROGRESS: [{
273
+ type: Output,
274
+ args: ['uploadProgress']
275
+ }], DZ_MAXFILESREACHED: [{
276
+ type: Output,
277
+ args: ['maxFilesReached']
278
+ }], DZ_MAXFILESEXCEEDED: [{
279
+ type: Output,
280
+ args: ['maxFilesExceeded']
281
+ }], DZ_ERRORMULTIPLE: [{
282
+ type: Output,
283
+ args: ['errorMultiple']
284
+ }], DZ_SUCCESSMULTIPLE: [{
285
+ type: Output,
286
+ args: ['successMultiple']
287
+ }], DZ_SENDINGMULTIPLE: [{
288
+ type: Output,
289
+ args: ['sendingMultiple']
290
+ }], DZ_CANCELEDMULTIPLE: [{
291
+ type: Output,
292
+ args: ['canceledMultiple']
293
+ }], DZ_COMPLETEMULTIPLE: [{
294
+ type: Output,
295
+ args: ['completeMultiple']
296
+ }], DZ_PROCESSINGMULTIPLE: [{
297
+ type: Output,
298
+ args: ['processingMultiple']
299
+ }], DZ_RESET: [{
300
+ type: Output,
301
+ args: ['reset']
302
+ }], DZ_QUEUECOMPLETE: [{
303
+ type: Output,
304
+ args: ['queueComplete']
305
+ }], DZ_TOTALUPLOADPROGRESS: [{
306
+ type: Output,
307
+ args: ['totalUploadProgress']
308
+ }] } });
309
+
310
+ class DropzoneComponent {
311
+ constructor(platformId) {
312
+ this.platformId = platformId;
313
+ this.disabled = false;
314
+ this.message = 'Click or drag files to upload';
315
+ this.placeholder = '';
316
+ this.useDropzoneClass = true;
317
+ this.DZ_INIT = new EventEmitter();
318
+ this.DZ_ERROR = new EventEmitter();
319
+ this.DZ_SUCCESS = new EventEmitter();
320
+ this.DZ_SENDING = new EventEmitter();
321
+ this.DZ_CANCELED = new EventEmitter();
322
+ this.DZ_COMPLETE = new EventEmitter();
323
+ this.DZ_PROCESSING = new EventEmitter();
324
+ this.DZ_DROP = new EventEmitter();
325
+ this.DZ_DRAGSTART = new EventEmitter();
326
+ this.DZ_DRAGEND = new EventEmitter();
327
+ this.DZ_DRAGENTER = new EventEmitter();
328
+ this.DZ_DRAGOVER = new EventEmitter();
329
+ this.DZ_DRAGLEAVE = new EventEmitter();
330
+ this.DZ_THUMBNAIL = new EventEmitter();
331
+ this.DZ_ADDEDFILE = new EventEmitter();
332
+ this.DZ_ADDEDFILES = new EventEmitter();
333
+ this.DZ_REMOVEDFILE = new EventEmitter();
334
+ this.DZ_UPLOADPROGRESS = new EventEmitter();
335
+ this.DZ_MAXFILESREACHED = new EventEmitter();
336
+ this.DZ_MAXFILESEXCEEDED = new EventEmitter();
337
+ this.DZ_ERRORMULTIPLE = new EventEmitter();
338
+ this.DZ_SUCCESSMULTIPLE = new EventEmitter();
339
+ this.DZ_SENDINGMULTIPLE = new EventEmitter();
340
+ this.DZ_CANCELEDMULTIPLE = new EventEmitter();
341
+ this.DZ_COMPLETEMULTIPLE = new EventEmitter();
342
+ this.DZ_PROCESSINGMULTIPLE = new EventEmitter();
343
+ this.DZ_RESET = new EventEmitter();
344
+ this.DZ_QUEUECOMPLETE = new EventEmitter();
345
+ this.DZ_TOTALUPLOADPROGRESS = new EventEmitter();
346
+ }
347
+ ngOnInit() {
348
+ if (!isPlatformBrowser(this.platformId)) {
349
+ return;
350
+ }
351
+ window.setTimeout(() => {
352
+ DropzoneEvents.forEach((eventName) => {
353
+ if (this.directiveRef) {
354
+ const output = `DZ_${eventName.toUpperCase()}`;
355
+ const directiveOutput = output;
356
+ const componentOutput = output;
357
+ this.directiveRef[directiveOutput] = this[componentOutput];
358
+ }
359
+ });
360
+ }, 0);
361
+ }
362
+ getPlaceholder() {
363
+ return 'url(' + encodeURI(this.placeholder) + ')';
364
+ }
365
+ }
366
+ DropzoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
367
+ DropzoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DropzoneComponent, selector: "dropzone", inputs: { disabled: "disabled", config: "config", message: "message", placeholder: "placeholder", useDropzoneClass: "useDropzoneClass" }, outputs: { DZ_INIT: "init", DZ_ERROR: "error", DZ_SUCCESS: "success", DZ_SENDING: "sending", DZ_CANCELED: "canceled", DZ_COMPLETE: "complete", DZ_PROCESSING: "processing", DZ_DROP: "drop", DZ_DRAGSTART: "dragStart", DZ_DRAGEND: "dragEnd", DZ_DRAGENTER: "dragEnter", DZ_DRAGOVER: "dragOver", DZ_DRAGLEAVE: "dragLeave", DZ_THUMBNAIL: "thumbnail", DZ_ADDEDFILE: "addedFile", DZ_ADDEDFILES: "addedFiles", DZ_REMOVEDFILE: "removedFile", DZ_UPLOADPROGRESS: "uploadProgress", DZ_MAXFILESREACHED: "maxFilesReached", DZ_MAXFILESEXCEEDED: "maxFilesExceeded", DZ_ERRORMULTIPLE: "errorMultiple", DZ_SUCCESSMULTIPLE: "successMultiple", DZ_SENDINGMULTIPLE: "sendingMultiple", DZ_CANCELEDMULTIPLE: "canceledMultiple", DZ_COMPLETEMULTIPLE: "completeMultiple", DZ_PROCESSINGMULTIPLE: "processingMultiple", DZ_RESET: "reset", DZ_QUEUECOMPLETE: "queueComplete", DZ_TOTALUPLOADPROGRESS: "totalUploadProgress" }, viewQueries: [{ propertyName: "directiveRef", first: true, predicate: DropzoneDirective, descendants: true, static: true }], exportAs: ["ngxDropzone"], ngImport: i0, template: "<div class=\"dz-wrapper\" [class.dropzone]=\"useDropzoneClass\" [dropzone]=\"config\" [disabled]=\"disabled\" (init)=\"DZ_INIT.emit($event)\">\n <div class=\"dz-message\" [class.disabled]=\"disabled\" [class.dz-placeholder]=\"placeholder\">\n <div class=\"dz-text\" [innerHTML]=\"config?.dictDefaultMessage || message\"></div>\n\n <div *ngIf=\"placeholder\" class=\"dz-image\" [style.background-image]=\"getPlaceholder()\"></div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", styles: ["dropzone{display:block;width:100%;height:auto}dropzone[fxflex]{display:flex;flex-direction:inherit;min-width:0;min-height:0}dropzone[fxflex]>.dropzone.dz-wrapper{flex:1 1 auto;min-width:0;min-height:0;-webkit-box-flex:1}dropzone[fxlayout]{align-items:inherit;align-content:inherit;justify-content:inherit;-webkit-box-align:inherit;-webkit-box-pack:inherit}dropzone[fxlayout]>.dropzone.dz-wrapper.dz-single{display:flex;flex-direction:column;align-items:center;align-content:center;justify-content:center;-webkit-box-align:center;-webkit-box-pack:center}dropzone[fxlayout]>.dropzone.dz-wrapper.dz-multiple{display:flex;flex-flow:row wrap;align-items:flex-start;align-content:flex-start;justify-content:space-between;-webkit-box-align:flex-start;-webkit-box-pack:flex-start}dropzone>.dropzone.dz-wrapper{position:relative;overflow:auto;width:100%;min-height:0;max-height:100%;padding:0;border:none;color:#666;background:transparent}dropzone>.dropzone.dz-wrapper .dz-message{position:relative;display:inline-block;overflow:auto;width:calc(100% - 16px);min-width:calc(100% - 16px);min-height:40px;max-width:calc(100% - 16px);max-height:100%;margin:8px;border:2px dashed #aaa;background-color:#eee}dropzone>.dropzone.dz-wrapper .dz-message .dz-text{position:absolute;top:50%;width:100%;padding:8px 16px;text-align:center;transform:translateY(-50%)}dropzone>.dropzone.dz-wrapper .dz-message .dz-image{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:50% 50%}dropzone>.dropzone.dz-wrapper .dz-message.disabled{cursor:not-allowed}dropzone>.dropzone.dz-wrapper .dz-message.disabled .dz-text{opacity:.5}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder{border-color:rgba(#aaa,0)}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder .dz-text{position:absolute;z-index:1;top:0;right:10%;left:10%;opacity:0;font-weight:700;background-color:rgba(#fff,.5);transform:translateY(-50%);transition:filter .25s ease-in-out,opacity .25s ease-in-out,border-color .25s ease-in-out}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled){border-color:#aaa}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled) .dz-text{opacity:1}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled) .dz-image{filter:blur(8px)}dropzone>.dropzone.dz-wrapper .dz-preview{margin:8px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-details{padding:24px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-progress{width:80%;margin-left:-40%;border:1px solid #aaa;border-radius:4px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-progress .dz-upload{background-color:#666}dropzone>.dropzone.dz-wrapper .dz-preview .dz-filename span{display:block;overflow:hidden;width:100%;max-width:100%;text-overflow:ellipsis}dropzone>.dropzone.dz-wrapper .dz-preview .dz-filename span:hover{overflow:visible;white-space:normal;word-wrap:break-word}dropzone>.dropzone.dz-wrapper.dz-single .dz-message{width:100%;height:100%}dropzone>.dropzone.dz-wrapper.dz-single.dz-started .dz-message{display:none}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview{width:calc(100% - 16px);height:100%}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview .dz-image{width:100%;height:100%;border-radius:0}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview .dz-image img{display:block;width:100%;height:auto;margin:0}dropzone>.dropzone.dz-wrapper.dz-single .dz-error-message{top:50%;left:50%;transform:translate(-50%) translateY(100%)}dropzone>.dropzone.dz-wrapper.dz-multiple.dz-started .dz-message{display:inline-block}\n", "@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,.3);background:#fff;padding:20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom,#eee,#ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:#000000e6;line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:#fffc}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:#fff6;padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom,#666,#444);position:absolute;top:0;left:0;bottom:0;width:0;transition:width .3s ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom,#be2626,#a92222);padding:.5em 1.2em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:\"\";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}\n"], directives: [{ type: DropzoneDirective, selector: "[dropzone]", inputs: ["disabled", "dropzone"], outputs: ["init", "error", "success", "sending", "canceled", "complete", "processing", "drop", "dragStart", "dragEnd", "dragEnter", "dragOver", "dragLeave", "thumbnail", "addedFile", "addedFiles", "removedFile", "uploadProgress", "maxFilesReached", "maxFilesExceeded", "errorMultiple", "successMultiple", "sendingMultiple", "canceledMultiple", "completeMultiple", "processingMultiple", "reset", "queueComplete", "totalUploadProgress"], exportAs: ["ngxDropzone"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneComponent, decorators: [{
369
+ type: Component,
370
+ args: [{ selector: 'dropzone', exportAs: 'ngxDropzone', encapsulation: ViewEncapsulation.None, template: "<div class=\"dz-wrapper\" [class.dropzone]=\"useDropzoneClass\" [dropzone]=\"config\" [disabled]=\"disabled\" (init)=\"DZ_INIT.emit($event)\">\n <div class=\"dz-message\" [class.disabled]=\"disabled\" [class.dz-placeholder]=\"placeholder\">\n <div class=\"dz-text\" [innerHTML]=\"config?.dictDefaultMessage || message\"></div>\n\n <div *ngIf=\"placeholder\" class=\"dz-image\" [style.background-image]=\"getPlaceholder()\"></div>\n </div>\n\n <ng-content></ng-content>\n</div>\n", styles: ["dropzone{display:block;width:100%;height:auto}dropzone[fxflex]{display:flex;flex-direction:inherit;min-width:0;min-height:0}dropzone[fxflex]>.dropzone.dz-wrapper{flex:1 1 auto;min-width:0;min-height:0;-webkit-box-flex:1}dropzone[fxlayout]{align-items:inherit;align-content:inherit;justify-content:inherit;-webkit-box-align:inherit;-webkit-box-pack:inherit}dropzone[fxlayout]>.dropzone.dz-wrapper.dz-single{display:flex;flex-direction:column;align-items:center;align-content:center;justify-content:center;-webkit-box-align:center;-webkit-box-pack:center}dropzone[fxlayout]>.dropzone.dz-wrapper.dz-multiple{display:flex;flex-flow:row wrap;align-items:flex-start;align-content:flex-start;justify-content:space-between;-webkit-box-align:flex-start;-webkit-box-pack:flex-start}dropzone>.dropzone.dz-wrapper{position:relative;overflow:auto;width:100%;min-height:0;max-height:100%;padding:0;border:none;color:#666;background:transparent}dropzone>.dropzone.dz-wrapper .dz-message{position:relative;display:inline-block;overflow:auto;width:calc(100% - 16px);min-width:calc(100% - 16px);min-height:40px;max-width:calc(100% - 16px);max-height:100%;margin:8px;border:2px dashed #aaa;background-color:#eee}dropzone>.dropzone.dz-wrapper .dz-message .dz-text{position:absolute;top:50%;width:100%;padding:8px 16px;text-align:center;transform:translateY(-50%)}dropzone>.dropzone.dz-wrapper .dz-message .dz-image{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:50% 50%}dropzone>.dropzone.dz-wrapper .dz-message.disabled{cursor:not-allowed}dropzone>.dropzone.dz-wrapper .dz-message.disabled .dz-text{opacity:.5}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder{border-color:rgba(#aaa,0)}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder .dz-text{position:absolute;z-index:1;top:0;right:10%;left:10%;opacity:0;font-weight:700;background-color:rgba(#fff,.5);transform:translateY(-50%);transition:filter .25s ease-in-out,opacity .25s ease-in-out,border-color .25s ease-in-out}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled){border-color:#aaa}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled) .dz-text{opacity:1}dropzone>.dropzone.dz-wrapper .dz-message.dz-placeholder:hover:not(.disabled) .dz-image{filter:blur(8px)}dropzone>.dropzone.dz-wrapper .dz-preview{margin:8px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-details{padding:24px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-progress{width:80%;margin-left:-40%;border:1px solid #aaa;border-radius:4px}dropzone>.dropzone.dz-wrapper .dz-preview .dz-progress .dz-upload{background-color:#666}dropzone>.dropzone.dz-wrapper .dz-preview .dz-filename span{display:block;overflow:hidden;width:100%;max-width:100%;text-overflow:ellipsis}dropzone>.dropzone.dz-wrapper .dz-preview .dz-filename span:hover{overflow:visible;white-space:normal;word-wrap:break-word}dropzone>.dropzone.dz-wrapper.dz-single .dz-message{width:100%;height:100%}dropzone>.dropzone.dz-wrapper.dz-single.dz-started .dz-message{display:none}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview{width:calc(100% - 16px);height:100%}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview .dz-image{width:100%;height:100%;border-radius:0}dropzone>.dropzone.dz-wrapper.dz-single .dz-preview .dz-image img{display:block;width:100%;height:auto;margin:0}dropzone>.dropzone.dz-wrapper.dz-single .dz-error-message{top:50%;left:50%;transform:translate(-50%) translateY(100%)}dropzone>.dropzone.dz-wrapper.dz-multiple.dz-started .dz-message{display:inline-block}\n", "@keyframes passing-through{0%{opacity:0;transform:translateY(40px)}30%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes slide-in{0%{opacity:0;transform:translateY(40px)}30%{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,.3);background:#fff;padding:20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-message .dz-button{background:none;color:inherit;border:none;padding:0;font:inherit;cursor:pointer;outline:inherit}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom,#eee,#ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:#000000e6;line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,.8);background-color:#fffc}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:#fff6;padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{transform:scale(1.05);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom,#666,#444);position:absolute;top:0;left:0;bottom:0;width:0;transition:width .3s ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom,#be2626,#a92222);padding:.5em 1.2em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:\"\";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}\n"] }]
371
+ }], ctorParameters: function () {
372
+ return [{ type: Object, decorators: [{
373
+ type: Inject,
374
+ args: [PLATFORM_ID]
375
+ }] }];
376
+ }, propDecorators: { disabled: [{
377
+ type: Input
378
+ }], config: [{
379
+ type: Input
380
+ }], message: [{
381
+ type: Input
382
+ }], placeholder: [{
383
+ type: Input
384
+ }], useDropzoneClass: [{
385
+ type: Input
386
+ }], DZ_INIT: [{
387
+ type: Output,
388
+ args: ['init']
389
+ }], DZ_ERROR: [{
390
+ type: Output,
391
+ args: ['error']
392
+ }], DZ_SUCCESS: [{
393
+ type: Output,
394
+ args: ['success']
395
+ }], DZ_SENDING: [{
396
+ type: Output,
397
+ args: ['sending']
398
+ }], DZ_CANCELED: [{
399
+ type: Output,
400
+ args: ['canceled']
401
+ }], DZ_COMPLETE: [{
402
+ type: Output,
403
+ args: ['complete']
404
+ }], DZ_PROCESSING: [{
405
+ type: Output,
406
+ args: ['processing']
407
+ }], DZ_DROP: [{
408
+ type: Output,
409
+ args: ['drop']
410
+ }], DZ_DRAGSTART: [{
411
+ type: Output,
412
+ args: ['dragStart']
413
+ }], DZ_DRAGEND: [{
414
+ type: Output,
415
+ args: ['dragEnd']
416
+ }], DZ_DRAGENTER: [{
417
+ type: Output,
418
+ args: ['dragEnter']
419
+ }], DZ_DRAGOVER: [{
420
+ type: Output,
421
+ args: ['dragOver']
422
+ }], DZ_DRAGLEAVE: [{
423
+ type: Output,
424
+ args: ['dragLeave']
425
+ }], DZ_THUMBNAIL: [{
426
+ type: Output,
427
+ args: ['thumbnail']
428
+ }], DZ_ADDEDFILE: [{
429
+ type: Output,
430
+ args: ['addedFile']
431
+ }], DZ_ADDEDFILES: [{
432
+ type: Output,
433
+ args: ['addedFiles']
434
+ }], DZ_REMOVEDFILE: [{
435
+ type: Output,
436
+ args: ['removedFile']
437
+ }], DZ_UPLOADPROGRESS: [{
438
+ type: Output,
439
+ args: ['uploadProgress']
440
+ }], DZ_MAXFILESREACHED: [{
441
+ type: Output,
442
+ args: ['maxFilesReached']
443
+ }], DZ_MAXFILESEXCEEDED: [{
444
+ type: Output,
445
+ args: ['maxFilesExceeded']
446
+ }], DZ_ERRORMULTIPLE: [{
447
+ type: Output,
448
+ args: ['errorMultiple']
449
+ }], DZ_SUCCESSMULTIPLE: [{
450
+ type: Output,
451
+ args: ['successMultiple']
452
+ }], DZ_SENDINGMULTIPLE: [{
453
+ type: Output,
454
+ args: ['sendingMultiple']
455
+ }], DZ_CANCELEDMULTIPLE: [{
456
+ type: Output,
457
+ args: ['canceledMultiple']
458
+ }], DZ_COMPLETEMULTIPLE: [{
459
+ type: Output,
460
+ args: ['completeMultiple']
461
+ }], DZ_PROCESSINGMULTIPLE: [{
462
+ type: Output,
463
+ args: ['processingMultiple']
464
+ }], DZ_RESET: [{
465
+ type: Output,
466
+ args: ['reset']
467
+ }], DZ_QUEUECOMPLETE: [{
468
+ type: Output,
469
+ args: ['queueComplete']
470
+ }], DZ_TOTALUPLOADPROGRESS: [{
471
+ type: Output,
472
+ args: ['totalUploadProgress']
473
+ }], directiveRef: [{
474
+ type: ViewChild,
475
+ args: [DropzoneDirective, { static: true }]
476
+ }] } });
477
+
478
+ class DropzoneModule {
479
+ }
480
+ DropzoneModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
481
+ DropzoneModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneModule, declarations: [DropzoneComponent, DropzoneDirective], imports: [CommonModule], exports: [CommonModule, DropzoneComponent, DropzoneDirective] });
482
+ DropzoneModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneModule, imports: [[CommonModule], CommonModule] });
483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DropzoneModule, decorators: [{
484
+ type: NgModule,
485
+ args: [{
486
+ imports: [CommonModule],
487
+ declarations: [DropzoneComponent, DropzoneDirective],
488
+ exports: [CommonModule, DropzoneComponent, DropzoneDirective]
489
+ }]
490
+ }] });
491
+
492
+ /**
493
+ * Generated bundle index. Do not edit.
494
+ */
495
+
496
+ export { DROPZONE_CONFIG, DropzoneComponent, DropzoneConfig, DropzoneDirective, DropzoneModule };
497
+ //# sourceMappingURL=nxt-dropzone-wrapper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nxt-dropzone-wrapper.mjs","sources":["../../../projects/lib/src/lib/dropzone.interfaces.ts","../../../projects/lib/src/lib/dropzone.directive.ts","../../../projects/lib/src/lib/dropzone.component.ts","../../../projects/lib/src/lib/dropzone.component.html","../../../projects/lib/src/lib/dropzone.module.ts","../../../projects/lib/src/nxt-dropzone-wrapper.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DROPZONE_CONFIG = new InjectionToken('DROPZONE_CONFIG');\n\nexport type DropzoneEvent = 'error' | 'success' | 'sending' | 'canceled' | 'complete' |\n 'processing' | 'drop' | 'dragStart' | 'dragEnd' | 'dragEnter' | 'dragOver' | 'dragLeave' |\n 'thumbnail' | 'addedFile' | 'addedFiles' | 'removedFile' | 'uploadProgress' | 'maxFilesReached' |\n 'maxFilesExceeded' | 'errorMultiple' | 'successMultiple' | 'sendingMultiple' | 'canceledMultiple' |\n 'completeMultiple' | 'processingMultiple' | 'reset' | 'queueComplete' | 'totalUploadProgress';\n\nexport const DropzoneEvents: DropzoneEvent[] = [\n 'error',\n 'success',\n 'sending',\n 'canceled',\n 'complete',\n 'processing',\n\n 'drop',\n 'dragStart',\n 'dragEnd',\n 'dragEnter',\n 'dragOver',\n 'dragLeave',\n\n 'thumbnail',\n 'addedFile',\n 'addedFiles',\n 'removedFile',\n 'uploadProgress',\n 'maxFilesReached',\n 'maxFilesExceeded',\n\n 'errorMultiple',\n 'successMultiple',\n 'sendingMultiple',\n 'canceledMultiple',\n 'completeMultiple',\n 'processingMultiple',\n\n 'reset',\n 'queueComplete',\n 'totalUploadProgress'\n];\n\nexport interface DropzoneConfigInterface {\n timeout?: number,\n\n autoReset?: number | null,\n errorReset?: number | null,\n cancelReset?: number | null,\n\n url?: string | DropzoneUrlFunction,\n method?: string | DropzoneMethodFunction,\n\n params?: any | DropzoneParamsFunction,\n headers?: any | DropzoneHeadersFunction,\n\n init?: DropzoneInitFunction,\n accept?: DropzoneAcceptFunction,\n resize?: DropzoneResizeFunction,\n fallback?: DropzoneFallbackFunction,\n renameFile?: DropzoneRenameFileFunction,\n transformFile?: DropzoneTransformFileFunction,\n chunksUploaded?: DropzoneChunksUploadedFunction,\n\n withCredentials?: boolean,\n\n previewsContainer?: any,\n hiddenInputContainer?: any,\n\n clickable?: string | string[] | boolean,\n paramName?: any,\n capture?: string,\n maxFiles?: number,\n maxFilesize?: number,\n filesizeBase?: number,\n acceptedFiles?: string,\n forceFallback?: boolean,\n addRemoveLinks?: boolean,\n uploadMultiple?: boolean,\n parallelUploads?: number,\n resizeWidth?: number,\n resizeHeight?: number,\n resizeMethod?: 'contain' | 'crop',\n resizeQuality?: number,\n resizeMimeType?: string,\n thumbnailWidth?: number,\n thumbnailHeight?: number,\n thumbnailMethod?: 'contain' | 'crop',\n previewTemplate?: string,\n autoQueue?: boolean,\n autoProcessQueue?: boolean,\n ignoreHiddenFiles?: boolean,\n maxThumbnailFilesize?: number,\n createImageThumbnails?: boolean,\n\n chunking?: boolean,\n chunkSize?: number,\n retryChunks?: boolean,\n forceChunking?: boolean,\n retryChunksLimit?: number,\n parallelChunkUploads?: boolean,\n\n dictFileSizeUnits?: any,\n\n dictDefaultMessage?: string,\n dictFallbackMessage?: string,\n\n dictFileTooBig?: string,\n dictResponseError?: string,\n dictInvalidFileType?: string,\n\n dictRemoveFile?: string,\n dictCancelUpload?: string,\n dictUploadCanceled?: string,\n dictFallbackText?: string,\n dictMaxFilesExceeded?: string,\n dictRemoveFileConfirmation?: string,\n dictCancelUploadConfirmation?: string\n}\n\nexport class DropzoneConfig implements DropzoneConfigInterface {\n timeout?: number;\n\n autoReset?: number;\n errorReset?: number;\n cancelReset?: number;\n\n url?: string | DropzoneUrlFunction;\n method?: string | DropzoneMethodFunction;\n\n params?: any | DropzoneParamsFunction;\n headers?: any | DropzoneHeadersFunction;\n\n init?: DropzoneInitFunction;\n accept?: DropzoneAcceptFunction;\n resize?: DropzoneResizeFunction;\n fallback?: DropzoneFallbackFunction;\n renameFile?: DropzoneRenameFileFunction;\n transformFile?: DropzoneTransformFileFunction;\n chunksUploaded?: DropzoneChunksUploadedFunction;\n\n withCredentials?: boolean;\n\n previewsContainer?: any;\n hiddenInputContainer?: any;\n\n clickable?: string | string[] | boolean;\n paramName?: any;\n capture?: string;\n maxFiles?: number;\n maxFilesize?: number;\n filesizeBase?: number;\n acceptedFiles?: string;\n forceFallback?: boolean;\n addRemoveLinks?: boolean;\n uploadMultiple?: boolean;\n parallelUploads?: number;\n resizeWidth?: number;\n resizeHeight?: number;\n resizeMethod?: 'contain' | 'crop';\n resizeQuality?: number;\n resizeMimeType?: string;\n thumbnailWidth?: number;\n thumbnailHeight?: number;\n thumbnailMethod?: 'contain' | 'crop';\n previewTemplate?: string;\n autoQueue?: boolean;\n autoProcessQueue?: boolean;\n ignoreHiddenFiles?: boolean;\n maxThumbnailFilesize?: number;\n createImageThumbnails?: boolean;\n\n chunking?: boolean;\n chunkSize?: number;\n retryChunks?: boolean;\n forceChunking?: boolean;\n retryChunksLimit?: number;\n parallelChunkUploads?: boolean;\n\n dictFileSizeUnits?: any;\n\n dictDefaultMessage?: string;\n dictFallbackMessage?: string;\n\n dictFileTooBig?: string;\n dictResponseError?: string;\n dictInvalidFileType?: string;\n\n dictRemoveFile?: string;\n dictCancelUpload?: string;\n dictUploadCanceled?: string;\n dictFallbackText?: string;\n dictMaxFilesExceeded?: string;\n dictRemoveFileConfirmation?: string;\n dictCancelUploadConfirmation?: string;\n\n constructor(config: DropzoneConfigInterface = {}) {\n this.assign(config);\n }\n\n assign(config: DropzoneConfigInterface | any = {}, target?: any) {\n target = target || this;\n\n for (const key in config) {\n if (config[key] != null && !(Array.isArray(config[key])) &&\n typeof config[key] === 'object' && !(config[key] instanceof HTMLElement)) {\n target[key] = {};\n\n this.assign(config[key], target[key]);\n } else {\n target[key] = config[key];\n }\n }\n }\n}\n\nexport type DropzoneUrlFunction = (files: any) => string;\nexport type DropzoneMethodFunction = (files: any) => string;\n\nexport type DropzoneParamsFunction = (files: any, xhr: any, chunk?: any) => any;\nexport type DropzoneHeadersFunction = () => any;\n\nexport type DropzoneInitFunction = () => any;\nexport type DropzoneFallbackFunction = () => HTMLElement;\n\nexport type DropzoneAcceptFunction = (file: File, done: (error?: string | Error) => void) => any;\nexport type DropzoneResizeFunction = (file: File, width: number, height: number, resizeMethod: string) => any;\n\nexport type DropzoneRenameFileFunction = (file: File) => string;\nexport type DropzoneTransformFileFunction = (file: File, done: (file?: string | Blob) => void) => any;\nexport type DropzoneChunksUploadedFunction = (file: File, done: (error?: string | Error) => void) => any;\n","import _dz from 'dropzone';\n// Fix until Dropzone types are updated\nconst Dropzone: typeof _dz = (_dz as any).Dropzone;\n\nimport { PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NgZone, Inject, Optional, ElementRef, Renderer2, Directive,\n OnInit, OnDestroy, DoCheck, OnChanges, Input, Output, EventEmitter,\n SimpleChanges, KeyValueDiffer, KeyValueDiffers } from '@angular/core';\n\nimport { DROPZONE_CONFIG, DropzoneConfig, DropzoneConfigInterface,\n DropzoneEvent, DropzoneEvents } from './dropzone.interfaces';\n\n@Directive({\n selector: '[dropzone]',\n exportAs: 'ngxDropzone'\n})\nexport class DropzoneDirective implements OnInit, OnDestroy, DoCheck, OnChanges {\n private instance: any;\n\n private configDiff: KeyValueDiffer<string, any> | null = null;\n\n @Input() disabled: boolean = false;\n\n @Input('dropzone') config?: DropzoneConfigInterface;\n\n @Output('init' ) DZ_INIT = new EventEmitter<any>();\n\n @Output('error' ) DZ_ERROR = new EventEmitter<any>();\n @Output('success' ) DZ_SUCCESS = new EventEmitter<any>();\n @Output('sending' ) DZ_SENDING = new EventEmitter<any>();\n @Output('canceled' ) DZ_CANCELED = new EventEmitter<any>();\n @Output('complete' ) DZ_COMPLETE = new EventEmitter<any>();\n @Output('processing' ) DZ_PROCESSING = new EventEmitter<any>();\n\n @Output('drop' ) DZ_DROP = new EventEmitter<any>();\n @Output('dragStart' ) DZ_DRAGSTART = new EventEmitter<any>();\n @Output('dragEnd' ) DZ_DRAGEND = new EventEmitter<any>();\n @Output('dragEnter' ) DZ_DRAGENTER = new EventEmitter<any>();\n @Output('dragOver' ) DZ_DRAGOVER = new EventEmitter<any>();\n @Output('dragLeave' ) DZ_DRAGLEAVE = new EventEmitter<any>();\n\n @Output('thumbnail' ) DZ_THUMBNAIL = new EventEmitter<any>();\n @Output('addedFile' ) DZ_ADDEDFILE = new EventEmitter<any>();\n @Output('addedFiles' ) DZ_ADDEDFILES = new EventEmitter<any>();\n @Output('removedFile' ) DZ_REMOVEDFILE = new EventEmitter<any>();\n @Output('uploadProgress' ) DZ_UPLOADPROGRESS = new EventEmitter<any>();\n @Output('maxFilesReached' ) DZ_MAXFILESREACHED = new EventEmitter<any>();\n @Output('maxFilesExceeded' ) DZ_MAXFILESEXCEEDED = new EventEmitter<any>();\n\n @Output('errorMultiple' ) DZ_ERRORMULTIPLE = new EventEmitter<any>();\n @Output('successMultiple' ) DZ_SUCCESSMULTIPLE = new EventEmitter<any>();\n @Output('sendingMultiple' ) DZ_SENDINGMULTIPLE = new EventEmitter<any>();\n @Output('canceledMultiple' ) DZ_CANCELEDMULTIPLE = new EventEmitter<any>();\n @Output('completeMultiple' ) DZ_COMPLETEMULTIPLE = new EventEmitter<any>();\n @Output('processingMultiple' ) DZ_PROCESSINGMULTIPLE = new EventEmitter<any>();\n\n @Output('reset' ) DZ_RESET = new EventEmitter<any>();\n @Output('queueComplete' ) DZ_QUEUECOMPLETE = new EventEmitter<any>();\n @Output('totalUploadProgress' ) DZ_TOTALUPLOADPROGRESS = new EventEmitter<any>();\n\n constructor(private zone: NgZone, private renderer: Renderer2, private elementRef: ElementRef,\n private differs: KeyValueDiffers, @Inject(PLATFORM_ID) private platformId: Object,\n @Optional() @Inject(DROPZONE_CONFIG) private defaults: DropzoneConfigInterface) {\n const dz = Dropzone;\n\n dz.autoDiscover = false;\n }\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const params = new DropzoneConfig(this.defaults);\n\n params.assign(this.config); // Custom configuration\n\n this.renderer.addClass(this.elementRef.nativeElement,\n (params.maxFiles === 1) ? 'dz-single' : 'dz-multiple');\n\n this.renderer.removeClass(this.elementRef.nativeElement,\n (params.maxFiles === 1) ? 'dz-multiple' : 'dz-single');\n\n this.zone.runOutsideAngular(() => {\n this.instance = new Dropzone(this.elementRef.nativeElement, params);\n });\n\n if (this.disabled) {\n this.instance.disable();\n }\n\n if (this.DZ_INIT.observers.length) {\n this.zone.run(() => {\n this.DZ_INIT.emit(this.instance);\n });\n }\n\n // Add auto reset handling for events\n this.instance.on('success', () => {\n if (params.autoReset != null) {\n setTimeout(() => this.reset(), params.autoReset);\n }\n });\n\n this.instance.on('error', () => {\n if (params.errorReset != null) {\n setTimeout(() => this.reset(), params.errorReset);\n }\n });\n\n this.instance.on('canceled', () => {\n if (params.cancelReset != null) {\n setTimeout(() => this.reset(), params.cancelReset);\n }\n });\n\n // Add native Dropzone event handling\n DropzoneEvents.forEach((eventName: DropzoneEvent) => {\n this.instance.on(eventName.toLowerCase(), (...args: any[]) => {\n args = (args.length === 1) ? args[0] : args;\n\n const output = `DZ_${eventName.toUpperCase()}`;\n\n const emitter = this[output as keyof DropzoneDirective] as EventEmitter<any>;\n\n if (emitter.observers.length > 0) {\n this.zone.run(() => {\n emitter.emit(args);\n });\n }\n });\n });\n\n if (!this.configDiff) {\n this.configDiff = this.differs.find(this.config || {}).create();\n\n this.configDiff.diff(this.config || {});\n }\n }\n\n ngOnDestroy(): void {\n if (this.instance) {\n this.zone.runOutsideAngular(() => {\n this.instance.destroy();\n });\n\n this.instance = null;\n }\n }\n\n ngDoCheck(): void {\n if (!this.disabled && this.configDiff) {\n const changes = this.configDiff.diff(this.config || {});\n\n if (changes && this.instance) {\n this.ngOnDestroy();\n\n this.ngOnInit();\n }\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.instance && changes['disabled']) {\n if (changes['disabled'].currentValue !== changes['disabled'].previousValue) {\n if (changes['disabled'].currentValue === false) {\n this.zone.runOutsideAngular(() => {\n this.instance.enable();\n });\n } else if (changes['disabled'].currentValue === true) {\n this.zone.runOutsideAngular(() => {\n this.instance.disable();\n });\n }\n }\n }\n }\n\n public dropzone(): any {\n return this.instance;\n }\n\n public reset(cancel?: boolean): void {\n if (this.instance) {\n this.zone.runOutsideAngular(() => {\n this.instance.removeAllFiles(cancel);\n });\n }\n }\n}\n","import { PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Component,\n OnInit, Input, Output, EventEmitter,\n ViewChild, ViewEncapsulation } from '@angular/core';\n\nimport { DropzoneDirective } from './dropzone.directive';\n\nimport { DropzoneEvent, DropzoneEvents, DropzoneConfigInterface } from './dropzone.interfaces';\n\n@Component({\n selector: 'dropzone',\n exportAs: 'ngxDropzone',\n templateUrl: './dropzone.component.html',\n styleUrls: [\n './dropzone.component.css',\n '../../../../node_modules/dropzone/dist/min/dropzone.min.css'\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class DropzoneComponent implements OnInit {\n @Input() disabled: boolean = false;\n\n @Input() config?: DropzoneConfigInterface;\n\n @Input() message: string = 'Click or drag files to upload';\n @Input() placeholder: string = '';\n\n @Input() useDropzoneClass: boolean = true;\n\n @Output('init' ) DZ_INIT = new EventEmitter<any>();\n\n @Output('error' ) DZ_ERROR = new EventEmitter<any>();\n @Output('success' ) DZ_SUCCESS = new EventEmitter<any>();\n @Output('sending' ) DZ_SENDING = new EventEmitter<any>();\n @Output('canceled' ) DZ_CANCELED = new EventEmitter<any>();\n @Output('complete' ) DZ_COMPLETE = new EventEmitter<any>();\n @Output('processing' ) DZ_PROCESSING = new EventEmitter<any>();\n\n @Output('drop' ) DZ_DROP = new EventEmitter<any>();\n @Output('dragStart' ) DZ_DRAGSTART = new EventEmitter<any>();\n @Output('dragEnd' ) DZ_DRAGEND = new EventEmitter<any>();\n @Output('dragEnter' ) DZ_DRAGENTER = new EventEmitter<any>();\n @Output('dragOver' ) DZ_DRAGOVER = new EventEmitter<any>();\n @Output('dragLeave' ) DZ_DRAGLEAVE = new EventEmitter<any>();\n\n @Output('thumbnail' ) DZ_THUMBNAIL = new EventEmitter<any>();\n @Output('addedFile' ) DZ_ADDEDFILE = new EventEmitter<any>();\n @Output('addedFiles' ) DZ_ADDEDFILES = new EventEmitter<any>();\n @Output('removedFile' ) DZ_REMOVEDFILE = new EventEmitter<any>();\n @Output('uploadProgress' ) DZ_UPLOADPROGRESS = new EventEmitter<any>();\n @Output('maxFilesReached' ) DZ_MAXFILESREACHED = new EventEmitter<any>();\n @Output('maxFilesExceeded' ) DZ_MAXFILESEXCEEDED = new EventEmitter<any>();\n\n @Output('errorMultiple' ) DZ_ERRORMULTIPLE = new EventEmitter<any>();\n @Output('successMultiple' ) DZ_SUCCESSMULTIPLE = new EventEmitter<any>();\n @Output('sendingMultiple' ) DZ_SENDINGMULTIPLE = new EventEmitter<any>();\n @Output('canceledMultiple' ) DZ_CANCELEDMULTIPLE = new EventEmitter<any>();\n @Output('completeMultiple' ) DZ_COMPLETEMULTIPLE = new EventEmitter<any>();\n @Output('processingMultiple' ) DZ_PROCESSINGMULTIPLE = new EventEmitter<any>();\n\n @Output('reset' ) DZ_RESET = new EventEmitter<any>();\n @Output('queueComplete' ) DZ_QUEUECOMPLETE = new EventEmitter<any>();\n @Output('totalUploadProgress' ) DZ_TOTALUPLOADPROGRESS = new EventEmitter<any>();\n\n @ViewChild(DropzoneDirective, { static: true }) directiveRef?: DropzoneDirective;\n\n constructor(@Inject(PLATFORM_ID) private platformId: Object) {}\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n window.setTimeout(() => {\n DropzoneEvents.forEach((eventName: DropzoneEvent) => {\n if (this.directiveRef) {\n const output = `DZ_${eventName.toUpperCase()}`;\n\n const directiveOutput = output as keyof DropzoneDirective;\n const componentOutput = output as keyof DropzoneComponent;\n\n this.directiveRef[directiveOutput] = this[componentOutput] as any;\n }\n });\n }, 0);\n }\n\n public getPlaceholder(): string {\n return 'url(' + encodeURI(this.placeholder) + ')';\n }\n}\n","<div class=\"dz-wrapper\" [class.dropzone]=\"useDropzoneClass\" [dropzone]=\"config\" [disabled]=\"disabled\" (init)=\"DZ_INIT.emit($event)\">\n <div class=\"dz-message\" [class.disabled]=\"disabled\" [class.dz-placeholder]=\"placeholder\">\n <div class=\"dz-text\" [innerHTML]=\"config?.dictDefaultMessage || message\"></div>\n\n <div *ngIf=\"placeholder\" class=\"dz-image\" [style.background-image]=\"getPlaceholder()\"></div>\n </div>\n\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { DropzoneComponent } from './dropzone.component';\nimport { DropzoneDirective } from './dropzone.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [DropzoneComponent, DropzoneDirective],\n exports: [CommonModule, DropzoneComponent, DropzoneDirective]\n})\nexport class DropzoneModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}