@acpaas-ui/ngx-forms 4.4.0 → 4.6.3

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.
@@ -100,11 +100,11 @@ export class DatepickerComponent {
100
100
  * @return {?}
101
101
  */
102
102
  writeValue(value) {
103
+ this.selectedDate = typeof value === 'string'
104
+ ? this.isISODateFormat(value) ? new Date(value) : DateHelper.parseDate(value, 'DD/MM/YYYY', true)
105
+ : value;
103
106
  /** @type {?} */
104
- const date = DateHelper.parseDate(value, 'DD/MM/YYYY', true);
105
- /** @type {?} */
106
- const dateString = date ? this.formatDate(date) : '';
107
- this.selectedDate = date;
107
+ const dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';
108
108
  this.formControl.setValue(dateString);
109
109
  }
110
110
  /**
@@ -194,6 +194,17 @@ export class DatepickerComponent {
194
194
  this.blur.emit(e);
195
195
  this.onTouched(e);
196
196
  }
197
+ /**
198
+ * @private
199
+ * @param {?} value
200
+ * @return {?}
201
+ */
202
+ isISODateFormat(value) {
203
+ if (typeof value !== 'string') {
204
+ return false;
205
+ }
206
+ return value.match(/\d{4}-\d{2}-\d{2}T.*/);
207
+ }
197
208
  }
198
209
  DatepickerComponent.decorators = [
199
210
  { type: Component, args: [{
@@ -312,4 +323,4 @@ if (false) {
312
323
  */
313
324
  DatepickerComponent.prototype.ref;
314
325
  }
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNwYWFzLXVpL25neC1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXVCLFdBQVcsRUFBZSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEVBQy9CLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZUFBZSxHQUVoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQVcsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFtQi9ELE1BQU0sT0FBTyxtQkFBbUI7Ozs7Ozs7OztJQXNCOUIsWUFDeUMsY0FBYyw2QkFBNkIsRUFDekMsZ0JBQWdCLCtCQUErQixFQUMvQyxjQUFjLCtCQUErQixFQUMvRSxlQUFnQyxFQUMvQixXQUF3QixFQUN4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dUQ7Ozs7O0lBRXZELHdDQUFzRDs7Ozs7SUFoSXBELDBDQUFrRjs7Ozs7SUFDbEYsNENBQXdGOzs7OztJQUN4RiwwQ0FBc0Y7O0lBQ3RGLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQWdDOzs7OztJQUNoQyxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVIZWxwZXIsIERhdGVSYW5nZX0gZnJvbSAnQGFjcGFhcy11aS9qcy1kYXRlLXV0aWxzJztcbmltcG9ydCB7Rmx5b3V0RGlyZWN0aXZlfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG4gIENhbGVuZGFyU2VydmljZSxcbiAgRGF0ZXBpY2tlclJlc3VsdCxcbn0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtY2FsZW5kYXInO1xuXG5pbXBvcnQge1xuICBEQVRFUElDS0VSX0RBVEVfTUFTSyxcbiAgREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMsXG4gIERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVJcbn0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci5jb25mJztcbmltcG9ydCB7RGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnN9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGVwaWNrZXIudHlwZXMnO1xuaW1wb3J0IHtJbnRlcnZhbCwgSW50ZXJ2YWxCdWlsZGVyfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9LCB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBWaWV3Q2hpbGQoRmx5b3V0RGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSkgZmx5b3V0OiBGbHlvdXREaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnZGQvbW0veXl5eSc7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZic7XG5cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHB1YmxpYyBkYXRlTWFzayA9IHttYXNrOiBEQVRFUElDS0VSX0RBVEVfTUFTSywgc2hvd01hc2tPbkhvdmVyOiBmYWxzZX07XG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHB1YmxpYyBpc0Rpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcnZhbDogSW50ZXJ2YWwuSUludGVydmFsPERhdGU+O1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVzdHJveWVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHByaXZhdGUgbW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgICBASW5qZWN0KENBTEVOREFSX1dFRUtEQVlfTEFCRUxTKSBwcml2YXRlIHdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIEBJbmplY3QoREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMpIHByaXZhdGUgZXJyb3JMYWJlbHMgPSBEQVRFUElDS0VSX0RFRkFVTFRfRVJST1JfTEFCRUxTLFxuICAgIHB1YmxpYyBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZH0pO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGZvcm1hdCwgJ1lZWVktTU0tREQnLCB0cnVlKTtcbiAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBDaGFuZ2UgdmFsdWUgd2l0aCBvcmlnaW5hbCB2YWx1ZSAoYW5kIG5vdCBudWxsIG9yICcnKSBzbyB3ZSBjYW4gYWRkIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0ZSBmdW5jdGlvblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUludGVydmFsKCkge1xuICAgIGlmICghdGhpcy5taW4gJiYgIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhbiBpbnRlcnZhbCBpZiBtaW4vbWF4IGlzIGZpbGxlZCBpblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBJbnRlcnZhbEJ1aWxkZXIuZGF0ZUludGVydmFsKHRoaXMubWluID8gbmV3IERhdGUodGhpcy5taW4pIDogbnVsbCwgdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsKVxuICAgICAgLm5vdCgpXG4gICAgICAuYnVpbGQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodmFsdWUsICdERC9NTS9ZWVlZJywgdHJ1ZSk7XG4gICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUgPyB0aGlzLmZvcm1hdERhdGUoZGF0ZSkgOiAnJztcblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGVGcm9tQ2FsZW5kYXIocmVzdWx0OiBEYXRlcGlja2VyUmVzdWx0KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdC5jb21wbGV0ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1hdERhdGUocmVzdWx0LmRhdGUpKTtcbiAgICAgIHRoaXMuZmx5b3V0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShkYXRlLCAnREQvTU0vWVlZWScsIHtcbiAgICAgIGxlYWRpbmdaZXJvOiB0cnVlLFxuICAgICAgbW9udGhMYWJlbHM6IHRoaXMubW9udGhMYWJlbHMsXG4gICAgICB3ZWVrZGF5TGFiZWxzOiB0aGlzLndlZWtkYXlMYWJlbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY3RybDogRm9ybUNvbnRyb2wpOiBEYXRlcGlja2VyVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgLy8gbm8gZXJyb3Igb24gZW1wdHkgdmFsdWUgKGFkZCByZXF1aXJlZCB2YWxpZGF0b3IgaW4gYXBwKVxuICAgIGlmIChjdHJsLnZhbHVlID09PSAnJyB8fCBjdHJsLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB0aHJvdyBmb3JtYXQgZXJyb3IgaWYgbm8gdmFsaWQgZGF0ZSB3YXMgcHJvdmlkZWRcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUoY3RybC52YWx1ZSk7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmb3JtYXQ6IHRoaXMuZXJyb3JMYWJlbHMuRVJST1JTX0lOVkFMSURfREFURSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbm8gZXJyb3IgaWYgdmFsaWQgZGF0ZSBhbiBubyByYW5nZSBwcm92aWRlZFxuICAgIGlmICghdGhpcy5yYW5nZSB8fCAhdGhpcy5yYW5nZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHRocm93IGVycm9yIHdoZW4gb3V0IG9mIHJhbmdlXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZUZvckRhdGUoZGF0ZSwgdGhpcy5yYW5nZSk7XG5cbiAgICByZXR1cm4gcmFuZ2UuaW5kZXhPZihkYXRlLmdldERhdGUoKSkgPj0gMCA/IHtcbiAgICAgIHJhbmdlOiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX1JBTkdFLFxuICAgIH0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJsdXIoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIuZW1pdChlKTtcbiAgICB0aGlzLm9uVG91Y2hlZChlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbn1cbiJdfQ==
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNwYWFzLXVpL25neC1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXVCLFdBQVcsRUFBZSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEVBQy9CLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZUFBZSxHQUVoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQVcsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFtQi9ELE1BQU0sT0FBTyxtQkFBbUI7Ozs7Ozs7OztJQXNCOUIsWUFDeUMsY0FBYyw2QkFBNkIsRUFDekMsZ0JBQWdCLCtCQUErQixFQUMvQyxjQUFjLCtCQUErQixFQUMvRSxlQUFnQyxFQUMvQixXQUF3QixFQUN4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O29CQUNMLEtBQUs7a0JBQ0wsS0FBSztrQkFFTCxLQUFLOzJCQUVMLEtBQUs7bUJBRUwsTUFBTTs7OztJQVhQLHFDQUFvRTs7SUFDcEUsaUNBQW9COztJQUNwQixtQ0FBc0I7O0lBQ3RCLDBDQUFvQzs7SUFDcEMsb0NBQTBCOztJQUMxQixrQ0FDaUI7O0lBQ2pCLGtDQUNpQjs7SUFDakIsMkNBQTZCOztJQUU3QixtQ0FBMkM7O0lBRTNDLHVDQUF1RTs7SUFDdkUsMENBQWdDOztJQUNoQywyQ0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQTBDOzs7OztJQUUxQyxrREFBdUU7Ozs7O0lBaUl2RSx1Q0FBdUQ7Ozs7O0lBRXZELHdDQUFzRDs7Ozs7SUFoSXBELDBDQUFrRjs7Ozs7SUFDbEYsNENBQXdGOzs7OztJQUN4RiwwQ0FBc0Y7O0lBQ3RGLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQWdDOzs7OztJQUNoQyxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVIZWxwZXIsIERhdGVSYW5nZX0gZnJvbSAnQGFjcGFhcy11aS9qcy1kYXRlLXV0aWxzJztcbmltcG9ydCB7Rmx5b3V0RGlyZWN0aXZlfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG4gIENhbGVuZGFyU2VydmljZSxcbiAgRGF0ZXBpY2tlclJlc3VsdCxcbn0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtY2FsZW5kYXInO1xuXG5pbXBvcnQge1xuICBEQVRFUElDS0VSX0RBVEVfTUFTSyxcbiAgREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMsXG4gIERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVJcbn0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci5jb25mJztcbmltcG9ydCB7RGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnN9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGVwaWNrZXIudHlwZXMnO1xuaW1wb3J0IHtJbnRlcnZhbCwgSW50ZXJ2YWxCdWlsZGVyfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9LCB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBWaWV3Q2hpbGQoRmx5b3V0RGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSkgZmx5b3V0OiBGbHlvdXREaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnZGQvbW0veXl5eSc7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZic7XG5cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHB1YmxpYyBkYXRlTWFzayA9IHttYXNrOiBEQVRFUElDS0VSX0RBVEVfTUFTSywgc2hvd01hc2tPbkhvdmVyOiBmYWxzZX07XG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHB1YmxpYyBpc0Rpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcnZhbDogSW50ZXJ2YWwuSUludGVydmFsPERhdGU+O1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVzdHJveWVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHByaXZhdGUgbW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgICBASW5qZWN0KENBTEVOREFSX1dFRUtEQVlfTEFCRUxTKSBwcml2YXRlIHdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIEBJbmplY3QoREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMpIHByaXZhdGUgZXJyb3JMYWJlbHMgPSBEQVRFUElDS0VSX0RFRkFVTFRfRVJST1JfTEFCRUxTLFxuICAgIHB1YmxpYyBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZH0pO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGZvcm1hdCwgJ1lZWVktTU0tREQnLCB0cnVlKTtcbiAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBDaGFuZ2UgdmFsdWUgd2l0aCBvcmlnaW5hbCB2YWx1ZSAoYW5kIG5vdCBudWxsIG9yICcnKSBzbyB3ZSBjYW4gYWRkIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0ZSBmdW5jdGlvblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUludGVydmFsKCkge1xuICAgIGlmICghdGhpcy5taW4gJiYgIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhbiBpbnRlcnZhbCBpZiBtaW4vbWF4IGlzIGZpbGxlZCBpblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBJbnRlcnZhbEJ1aWxkZXIuZGF0ZUludGVydmFsKHRoaXMubWluID8gbmV3IERhdGUodGhpcy5taW4pIDogbnVsbCwgdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsKVxuICAgICAgLm5vdCgpXG4gICAgICAuYnVpbGQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICA/IHRoaXMuaXNJU09EYXRlRm9ybWF0KHZhbHVlKSA/IG5ldyBEYXRlKHZhbHVlKSA6IERhdGVIZWxwZXIucGFyc2VEYXRlKHZhbHVlLCAnREQvTU0vWVlZWScsIHRydWUpXG4gICAgICA6IHZhbHVlO1xuICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB0aGlzLnNlbGVjdGVkRGF0ZSA/IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSkgOiAnJztcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGVGcm9tQ2FsZW5kYXIocmVzdWx0OiBEYXRlcGlja2VyUmVzdWx0KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdC5jb21wbGV0ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1hdERhdGUocmVzdWx0LmRhdGUpKTtcbiAgICAgIHRoaXMuZmx5b3V0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShkYXRlLCAnREQvTU0vWVlZWScsIHtcbiAgICAgIGxlYWRpbmdaZXJvOiB0cnVlLFxuICAgICAgbW9udGhMYWJlbHM6IHRoaXMubW9udGhMYWJlbHMsXG4gICAgICB3ZWVrZGF5TGFiZWxzOiB0aGlzLndlZWtkYXlMYWJlbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY3RybDogRm9ybUNvbnRyb2wpOiBEYXRlcGlja2VyVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgLy8gbm8gZXJyb3Igb24gZW1wdHkgdmFsdWUgKGFkZCByZXF1aXJlZCB2YWxpZGF0b3IgaW4gYXBwKVxuICAgIGlmIChjdHJsLnZhbHVlID09PSAnJyB8fCBjdHJsLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB0aHJvdyBmb3JtYXQgZXJyb3IgaWYgbm8gdmFsaWQgZGF0ZSB3YXMgcHJvdmlkZWRcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUoY3RybC52YWx1ZSk7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmb3JtYXQ6IHRoaXMuZXJyb3JMYWJlbHMuRVJST1JTX0lOVkFMSURfREFURSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbm8gZXJyb3IgaWYgdmFsaWQgZGF0ZSBhbiBubyByYW5nZSBwcm92aWRlZFxuICAgIGlmICghdGhpcy5yYW5nZSB8fCAhdGhpcy5yYW5nZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHRocm93IGVycm9yIHdoZW4gb3V0IG9mIHJhbmdlXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZUZvckRhdGUoZGF0ZSwgdGhpcy5yYW5nZSk7XG5cbiAgICByZXR1cm4gcmFuZ2UuaW5kZXhPZihkYXRlLmdldERhdGUoKSkgPj0gMCA/IHtcbiAgICAgIHJhbmdlOiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX1JBTkdFLFxuICAgIH0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJsdXIoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIuZW1pdChlKTtcbiAgICB0aGlzLm9uVG91Y2hlZChlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGlzSVNPRGF0ZUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXGR7NH0tXFxkezJ9LVxcZHsyfVQuKi8pO1xuICB9XG59XG4iXX0=
@@ -9,8 +9,10 @@ import { Uploader } from '../../classes/uploader.class';
9
9
  export class UploadComponent {
10
10
  constructor() {
11
11
  this.id = '';
12
+ this.accept = [];
12
13
  this.ariaLabelRemove = 'Verwijder';
13
14
  this.disabled = false;
15
+ this.multiple = true;
14
16
  this.options = UPLOAD_OPTIONS_DEFAULT;
15
17
  this.selectUploadedFiles = new EventEmitter();
16
18
  this.uploadedFiles = [];
@@ -52,14 +54,16 @@ export class UploadComponent {
52
54
  UploadComponent.decorators = [
53
55
  { type: Component, args: [{
54
56
  selector: 'aui-upload',
55
- template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone (invalidFiles)=\"onInvalidFiles($event)\" (queuedFiles)=\"onQueuedFiles($event)\" (uploadedFiles)=\"onUploadedFiles($event)\" [ariaId]=\"ariaId\"\n [disabled]=\"disabled\" [id]=\"id\"\n [uploader]=\"uploader\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
57
+ template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone (invalidFiles)=\"onInvalidFiles($event)\" (queuedFiles)=\"onQueuedFiles($event)\" (uploadedFiles)=\"onUploadedFiles($event)\" [ariaId]=\"ariaId\"\n [disabled]=\"disabled\" [id]=\"id\" [accept]=\"accept\" [multiple]=\"multiple\"\n [uploader]=\"uploader\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
56
58
  styles: [".m-upload__button>.m-upload__input{display:none}"]
57
59
  }] }
58
60
  ];
59
61
  UploadComponent.propDecorators = {
60
62
  id: [{ type: Input }],
63
+ accept: [{ type: Input }],
61
64
  ariaLabelRemove: [{ type: Input }],
62
65
  disabled: [{ type: Input }],
66
+ multiple: [{ type: Input }],
63
67
  options: [{ type: Input }],
64
68
  selectUploadedFiles: [{ type: Output }]
65
69
  };
@@ -67,10 +71,14 @@ if (false) {
67
71
  /** @type {?} */
68
72
  UploadComponent.prototype.id;
69
73
  /** @type {?} */
74
+ UploadComponent.prototype.accept;
75
+ /** @type {?} */
70
76
  UploadComponent.prototype.ariaLabelRemove;
71
77
  /** @type {?} */
72
78
  UploadComponent.prototype.disabled;
73
79
  /** @type {?} */
80
+ UploadComponent.prototype.multiple;
81
+ /** @type {?} */
74
82
  UploadComponent.prototype.options;
75
83
  /** @type {?} */
76
84
  UploadComponent.prototype.selectUploadedFiles;
@@ -85,4 +93,4 @@ if (false) {
85
93
  /** @type {?} */
86
94
  UploadComponent.prototype.queuedFiles;
87
95
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFTdEQsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRa0IsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLG9CQUFlLEdBQUcsV0FBVyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFrQixzQkFBc0IsQ0FBQztRQUMvQyx3QkFBbUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUlyRixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7SUFxQmxDLENBQUM7Ozs7SUFuQlEsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVNLGVBQWUsQ0FBQyxLQUFlO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFTSxjQUFjLENBQUMsS0FBb0I7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7Ozs7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7OztZQXRDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBSXRCLDBnQ0FBc0M7O2FBQ3ZDOzs7aUJBRUUsS0FBSzs4QkFDTCxLQUFLO3VCQUNMLEtBQUs7c0JBQ0wsS0FBSztrQ0FDTCxNQUFNOzs7O0lBSlAsNkJBQXdCOztJQUN4QiwwQ0FBOEM7O0lBQzlDLG1DQUFpQzs7SUFDakMsa0NBQWdFOztJQUNoRSw4Q0FBNEY7O0lBRTVGLG1DQUFnQjs7SUFDaEIsaUNBQWM7O0lBQ2Qsd0NBQW9DOztJQUNwQyx1Q0FBd0M7O0lBQ3hDLHNDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7SW52YWxpZEZpbGUsIFVwbG9hZE9wdGlvbnN9IGZyb20gJy4uLy4uL3R5cGVzL3VwbG9hZC50eXBlcyc7XG5pbXBvcnQge1VQTE9BRF9PUFRJT05TX0RFRkFVTFR9IGZyb20gJy4uLy4uL3VwbG9hZC5jb25mJztcbmltcG9ydCB7VXBsb2FkZXJ9IGZyb20gJy4uLy4uL2NsYXNzZXMvdXBsb2FkZXIuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdXBsb2FkJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4vdXBsb2FkLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYXJpYUxhYmVsUmVtb3ZlID0gJ1ZlcndpamRlcic7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogVXBsb2FkT3B0aW9ucyA9IFVQTE9BRF9PUFRJT05TX0RFRkFVTFQ7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0VXBsb2FkZWRGaWxlczogRXZlbnRFbWl0dGVyPG9iamVjdFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0W10+KCk7XG5cbiAgcHVibGljIHVwbG9hZGVyO1xuICBwdWJsaWMgYXJpYUlkO1xuICBwdWJsaWMgdXBsb2FkZWRGaWxlczogb2JqZWN0W10gPSBbXTtcbiAgcHVibGljIGludmFsaWRGaWxlczogSW52YWxpZEZpbGVbXSA9IFtdO1xuICBwdWJsaWMgcXVldWVkRmlsZXM6IEZpbGVbXSA9IFtdO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgIHRoaXMuYXJpYUlkID0gJ2F1aS11cGxvYWQtJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICB9XG4gICAgdGhpcy51cGxvYWRlciA9IG5ldyBVcGxvYWRlcih0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIG9uVXBsb2FkZWRGaWxlcyhmaWxlczogb2JqZWN0W10pIHtcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnVwbG9hZGVkRmlsZXMuY29uY2F0KGZpbGVzKTtcbiAgICB0aGlzLnNlbGVjdFVwbG9hZGVkRmlsZXMuZW1pdCh0aGlzLnVwbG9hZGVkRmlsZXMpO1xuICB9XG5cbiAgcHVibGljIG9uSW52YWxpZEZpbGVzKGZpbGVzOiBJbnZhbGlkRmlsZVtdKSB7XG4gICAgdGhpcy5pbnZhbGlkRmlsZXMgPSBmaWxlcztcbiAgfVxuXG4gIHB1YmxpYyBvblF1ZXVlZEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICB0aGlzLnF1ZXVlZEZpbGVzID0gdGhpcy5xdWV1ZWRGaWxlcy5jb25jYXQoZmlsZXMpO1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFTdEQsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRa0IsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixvQkFBZSxHQUFHLFdBQVcsQ0FBQztRQUM5QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsWUFBTyxHQUFrQixzQkFBc0IsQ0FBQztRQUMvQyx3QkFBbUIsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUlyRixrQkFBYSxHQUFhLEVBQUUsQ0FBQztRQUM3QixpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7SUFxQmxDLENBQUM7Ozs7SUFuQlEsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7OztJQUVNLGVBQWUsQ0FBQyxLQUFlO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFTSxjQUFjLENBQUMsS0FBb0I7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7Ozs7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7OztZQXhDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBSXRCLHNqQ0FBc0M7O2FBQ3ZDOzs7aUJBRUUsS0FBSztxQkFDTCxLQUFLOzhCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3NCQUNMLEtBQUs7a0NBQ0wsTUFBTTs7OztJQU5QLDZCQUF3Qjs7SUFDeEIsaUNBQTRCOztJQUM1QiwwQ0FBOEM7O0lBQzlDLG1DQUFpQzs7SUFDakMsbUNBQWdDOztJQUNoQyxrQ0FBZ0U7O0lBQ2hFLDhDQUE0Rjs7SUFFNUYsbUNBQWdCOztJQUNoQixpQ0FBYzs7SUFDZCx3Q0FBb0M7O0lBQ3BDLHVDQUF3Qzs7SUFDeEMsc0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtJbnZhbGlkRmlsZSwgVXBsb2FkT3B0aW9uc30gZnJvbSAnLi4vLi4vdHlwZXMvdXBsb2FkLnR5cGVzJztcbmltcG9ydCB7VVBMT0FEX09QVElPTlNfREVGQVVMVH0gZnJvbSAnLi4vLi4vdXBsb2FkLmNvbmYnO1xuaW1wb3J0IHtVcGxvYWRlcn0gZnJvbSAnLi4vLi4vY2xhc3Nlcy91cGxvYWRlci5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS11cGxvYWQnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi91cGxvYWQuY29tcG9uZW50LnNjc3MnLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGlkID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhY2NlcHQgPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGFyaWFMYWJlbFJlbW92ZSA9ICdWZXJ3aWpkZXInO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IFVwbG9hZE9wdGlvbnMgPSBVUExPQURfT1BUSU9OU19ERUZBVUxUO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdFVwbG9hZGVkRmlsZXM6IEV2ZW50RW1pdHRlcjxvYmplY3RbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdFtdPigpO1xuXG4gIHB1YmxpYyB1cGxvYWRlcjtcbiAgcHVibGljIGFyaWFJZDtcbiAgcHVibGljIHVwbG9hZGVkRmlsZXM6IG9iamVjdFtdID0gW107XG4gIHB1YmxpYyBpbnZhbGlkRmlsZXM6IEludmFsaWRGaWxlW10gPSBbXTtcbiAgcHVibGljIHF1ZXVlZEZpbGVzOiBGaWxlW10gPSBbXTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICB0aGlzLmFyaWFJZCA9ICdhdWktdXBsb2FkLScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG4gICAgfVxuICAgIHRoaXMudXBsb2FkZXIgPSBuZXcgVXBsb2FkZXIodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVwbG9hZGVkRmlsZXMoZmlsZXM6IG9iamVjdFtdKSB7XG4gICAgdGhpcy51cGxvYWRlZEZpbGVzID0gdGhpcy51cGxvYWRlZEZpbGVzLmNvbmNhdChmaWxlcyk7XG4gICAgdGhpcy5zZWxlY3RVcGxvYWRlZEZpbGVzLmVtaXQodGhpcy51cGxvYWRlZEZpbGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkludmFsaWRGaWxlcyhmaWxlczogSW52YWxpZEZpbGVbXSkge1xuICAgIHRoaXMuaW52YWxpZEZpbGVzID0gZmlsZXM7XG4gIH1cblxuICBwdWJsaWMgb25RdWV1ZWRGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgdGhpcy5xdWV1ZWRGaWxlcyA9IHRoaXMucXVldWVkRmlsZXMuY29uY2F0KGZpbGVzKTtcbiAgfVxufVxuIl19
@@ -3,14 +3,19 @@
3
3
  * Generated from: lib/upload/components/upload-zone/upload-zone.component.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
6
+ import { Component, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2, ViewChild } from '@angular/core';
7
7
  import { Uploader } from '../../classes/uploader.class';
8
8
  export class UploadZoneComponent {
9
- constructor() {
9
+ /**
10
+ * @param {?} renderer
11
+ */
12
+ constructor(renderer) {
13
+ this.renderer = renderer;
10
14
  this.disabled = false;
11
15
  this.multiple = true;
12
16
  this.id = '';
13
17
  this.ariaId = '';
18
+ this.accept = [];
14
19
  this.uploadedFiles = new EventEmitter();
15
20
  this.queuedFiles = new EventEmitter();
16
21
  this.invalidFiles = new EventEmitter();
@@ -58,6 +63,29 @@ export class UploadZoneComponent {
58
63
  const files = this.fileListToArray(this.fileInput.nativeElement.files);
59
64
  this.handleFiles(files);
60
65
  }
66
+ /**
67
+ * @param {?} event
68
+ * @return {?}
69
+ */
70
+ onFileClick(event) {
71
+ // When removing a file make sure you can add it again later
72
+ // See: https://stackoverflow.com/questions/59870335/ng2-file-upload-not-allowing-me-to-add-same-doc-after-ive-removed-it-from-que
73
+ event.target.value = '';
74
+ }
75
+ /**
76
+ * @return {?}
77
+ */
78
+ ngAfterViewInit() {
79
+ if (this.multiple !== false) {
80
+ this.renderer.setProperty(this.fileInput.nativeElement, 'multiple', 'multiple');
81
+ }
82
+ if (this.accept) {
83
+ this.renderer.setProperty(this.fileInput.nativeElement, 'accept', this.accept.join());
84
+ }
85
+ if (this.disabled) {
86
+ this.renderer.setProperty(this.fileInput.nativeElement, 'disabled', 'disabled');
87
+ }
88
+ }
61
89
  /**
62
90
  * @protected
63
91
  * @param {?} files
@@ -124,9 +152,13 @@ export class UploadZoneComponent {
124
152
  UploadZoneComponent.decorators = [
125
153
  { type: Component, args: [{
126
154
  selector: 'aui-upload-zone',
127
- template: "<div *ngIf=\"uploader.options.type === 'drop'\" [class.is-disabled]=\"disabled\" class=\"m-upload\">\n <div class=\"m-upload__inner\">\n <div class=\"m-upload__dropzone\">\n <input #fileInput (change)=\"updateFiles()\" *ngIf=\"multiple\" [attr.aria-labelledby]=\"ariaId\" [disabled]=\"disabled\" [id]=\"id\"\n class=\"m-upload__input\" multiple type=\"file\">\n <input #fileInput (change)=\"updateFiles()\" *ngIf=\"!multiple\" [attr.aria-labelledby]=\"ariaId\" [disabled]=\"disabled\"\n [id]=\"id\" class=\"m-upload__input\" type=\"file\">\n\n <div *ngIf=\"!uploadProgress || uploadProgress === 0\" class=\"m-upload__content\">\n <p [id]=\"ariaId\" class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </p>\n </div>\n\n <ng-container *ngIf=\"uploadProgress > 0\">\n <p class=\"m-upload__uploads u-text-bold u-margin-bottom-xs\">\n <ng-container *ngFor=\"let file of uploadingFiles; let last = last\">\n {{ file.name }}\n <ng-container *ngIf=\"!last\">,</ng-container>\n </ng-container>\n </p>\n <aui-progress-bar [value]=\"uploadProgress\" max=\"100\"></aui-progress-bar>\n </ng-container>\n </div>\n </div>\n\n <small class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </small>\n</div>\n\n<button (click)=\"triggerFile()\" *ngIf=\"uploader.options.type === 'button'\" [disabled]=\"disabled\" class=\"a-button m-upload__button\"\n type=\"button\">\n <span [id]=\"ariaId\"><ng-content select=\".m-upload__button\"></ng-content></span>\n <input #fileInput (change)=\"updateFiles()\" [attr.aria-labelledby]=\"ariaId\" [disabled]=\"disabled\" [id]=\"id\"\n class=\"m-upload__input\" multiple=\"multiple\" type=\"file\">\n</button>\n"
155
+ template: "<div *ngIf=\"uploader.options.type === 'drop'\" [class.is-disabled]=\"disabled\" class=\"m-upload\">\n <div class=\"m-upload__inner\">\n <div class=\"m-upload__dropzone\">\n\n <input\n #fileInput\n type=\"file\"\n class=\"m-upload__input\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaId\"\n (change)=\"updateFiles()\"\n (click)=\"onFileClick($event)\">\n\n <div *ngIf=\"!uploadProgress || uploadProgress === 0\" class=\"m-upload__content\">\n <p [id]=\"ariaId\" class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </p>\n </div>\n\n <ng-container *ngIf=\"uploadProgress > 0\">\n <p class=\"m-upload__uploads u-text-bold u-margin-bottom-xs\">\n <ng-container *ngFor=\"let file of uploadingFiles; let last = last\">\n {{ file.name }}\n <ng-container *ngIf=\"!last\">,</ng-container>\n </ng-container>\n </p>\n <aui-progress-bar [value]=\"uploadProgress\" max=\"100\"></aui-progress-bar>\n </ng-container>\n </div>\n </div>\n\n <small class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </small>\n</div>\n\n<button (click)=\"triggerFile()\" *ngIf=\"uploader.options.type === 'button'\" [disabled]=\"disabled\" class=\"a-button m-upload__button\"\n type=\"button\">\n <span [id]=\"ariaId\"><ng-content select=\".m-upload__button\"></ng-content></span>\n <input\n #fileInput\n type=\"file\"\n class=\"m-upload__input\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaId\"\n (change)=\"updateFiles()\"\n (click)=\"onFileClick($event)\">\n</button>\n"
128
156
  }] }
129
157
  ];
158
+ /** @nocollapse */
159
+ UploadZoneComponent.ctorParameters = () => [
160
+ { type: Renderer2 }
161
+ ];
130
162
  UploadZoneComponent.propDecorators = {
131
163
  fileInput: [{ type: ViewChild, args: ['fileInput', { static: false },] }],
132
164
  uploader: [{ type: Input }],
@@ -134,6 +166,7 @@ UploadZoneComponent.propDecorators = {
134
166
  multiple: [{ type: Input }],
135
167
  id: [{ type: Input }],
136
168
  ariaId: [{ type: Input }],
169
+ accept: [{ type: Input }],
137
170
  uploadedFiles: [{ type: Output }],
138
171
  queuedFiles: [{ type: Output }],
139
172
  invalidFiles: [{ type: Output }],
@@ -155,6 +188,8 @@ if (false) {
155
188
  /** @type {?} */
156
189
  UploadZoneComponent.prototype.ariaId;
157
190
  /** @type {?} */
191
+ UploadZoneComponent.prototype.accept;
192
+ /** @type {?} */
158
193
  UploadZoneComponent.prototype.uploadedFiles;
159
194
  /** @type {?} */
160
195
  UploadZoneComponent.prototype.queuedFiles;
@@ -168,5 +203,10 @@ if (false) {
168
203
  UploadZoneComponent.prototype.uploadProgress;
169
204
  /** @type {?} */
170
205
  UploadZoneComponent.prototype.uploadingFiles;
206
+ /**
207
+ * @type {?}
208
+ * @private
209
+ */
210
+ UploadZoneComponent.prototype.renderer;
171
211
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXpvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjcGFhcy11aS9uZ3gtZm9ybXMvIiwic291cmNlcyI6WyJsaWIvdXBsb2FkL2NvbXBvbmVudHMvdXBsb2FkLXpvbmUvdXBsb2FkLXpvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUcxRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFNdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQVFrQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWCxrQkFBYSxHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBQ3JFLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDL0QsaUJBQVksR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFeEYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7SUF3RTVCLENBQUM7Ozs7O0lBcEVRLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFHTSxXQUFXLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBR00sTUFBTSxDQUFDLEtBQVU7UUFDdEIs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RSxDQUFDLFFBQVEsQ0FBQzs7OztJQTVCaEMsd0NBQStEOztJQUUvRCx1Q0FBbUM7O0lBQ25DLHVDQUFpQzs7SUFDakMsdUNBQWdDOztJQUNoQyxpQ0FBd0I7O0lBQ3hCLHFDQUE0Qjs7SUFDNUIsNENBQXNGOztJQUN0RiwwQ0FBZ0Y7O0lBQ2hGLDJDQUErRjs7SUFFL0YsMENBQTJCOztJQUMzQix5Q0FBMEI7O0lBQzFCLDZDQUEwQjs7SUFDMUIsNkNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ludmFsaWRGaWxlfSBmcm9tICcuLi8uLi90eXBlcy91cGxvYWQudHlwZXMnO1xuaW1wb3J0IHtVcGxvYWRlcn0gZnJvbSAnLi4vLi4vY2xhc3Nlcy91cGxvYWRlci5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS11cGxvYWQtem9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtem9uZS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZFpvbmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7c3RhdGljOiBmYWxzZX0pIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBwdWJsaWMgdXBsb2FkZXI6IFVwbG9hZGVyO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG11bHRpcGxlID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGlkID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcmlhSWQgPSAnJztcbiAgQE91dHB1dCgpIHB1YmxpYyB1cGxvYWRlZEZpbGVzOiBFdmVudEVtaXR0ZXI8b2JqZWN0W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3RbXT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBxdWV1ZWRGaWxlczogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBpbnZhbGlkRmlsZXM6IEV2ZW50RW1pdHRlcjxJbnZhbGlkRmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8SW52YWxpZEZpbGVbXT4oKTtcblxuICBwdWJsaWMgaGFzRHJhZ092ZXIgPSBmYWxzZTtcbiAgcHVibGljIGNsYXNzTmFtZXM6IHN0cmluZztcbiAgcHVibGljIHVwbG9hZFByb2dyZXNzID0gMDtcbiAgcHVibGljIHVwbG9hZGluZ0ZpbGVzOiBGaWxlW107XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcmV2ZW50QW5kU3RvcChldmVudCk7XG4gICAgdGhpcy5oYXNEcmFnT3ZlciA9IHRydWU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJldmVudEFuZFN0b3AoZXZlbnQpO1xuICAgIHRoaXMuaGFzRHJhZ092ZXIgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZlbnRBbmRTdG9wKGV2ZW50KTtcbiAgICB0aGlzLmhhc0RyYWdPdmVyID0gZmFsc2U7XG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLmZpbGVMaXN0VG9BcnJheShldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIHRoaXMuaGFuZGxlRmlsZXMoZmlsZXMpO1xuICB9XG5cbiAgcHVibGljIHRyaWdnZXJGaWxlKCkge1xuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVGaWxlcygpIHtcbiAgICBjb25zdCBmaWxlczogYW55W10gPSB0aGlzLmZpbGVMaXN0VG9BcnJheSh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmZpbGVzKTtcbiAgICB0aGlzLmhhbmRsZUZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVGaWxlcyhmaWxlcykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy51cGxvYWRlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcbiAgICB0aGlzLmludmFsaWRGaWxlcy5lbWl0KHJlc3BvbnNlLmludmFsaWRGaWxlcyk7XG5cbiAgICBpZiAodGhpcy51cGxvYWRlci5vcHRpb25zLmF1dG9VcGxvYWQgJiYgcmVzcG9uc2UudmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwbG9hZEZpbGVzKHJlc3BvbnNlLnZhbGlkRmlsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXVlZEZpbGVzLmVtaXQocmVzcG9uc2UudmFsaWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwbG9hZEZpbGVzKGZpbGVzKSB7XG4gICAgLy8gUmVzZXQgcHJvZ3Jlc3NcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gMDtcbiAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzID0gZmlsZXM7XG5cbiAgICAvLyB1cGxvYWRcbiAgICB0aGlzLnVwbG9hZGVyLnVwbG9hZEZpbGVzKGZpbGVzKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnByb2dyZXNzKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IE1hdGguZmxvb3IocmVzcG9uc2UucHJvZ3Jlc3MgKiAxMDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVzLmVtaXQocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWxlTGlzdFRvQXJyYXkobGlzdDogRmlsZUxpc3QpOiBvYmplY3RbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obGlzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmVudEFuZFN0b3AoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIl19
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXpvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFjcGFhcy11aS9uZ3gtZm9ybXMvIiwic291cmNlcyI6WyJsaWIvdXBsb2FkL2NvbXBvbmVudHMvdXBsb2FkLXpvbmUvdXBsb2FkLXpvbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3BJLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQU10RCxNQUFNLE9BQU8sbUJBQW1COzs7O0lBa0I5QixZQUNVLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFmYixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsT0FBRSxHQUFHLEVBQUUsQ0FBQztRQUNSLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1gsa0JBQWEsR0FBMkIsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUNyRSxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQy9ELGlCQUFZLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRXhGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBS3ZCLENBQUM7Ozs7O0lBR0csVUFBVSxDQUFDLEtBQVU7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDOzs7OztJQUdNLFdBQVcsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFHTSxNQUFNLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDOztjQUNuQixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUM7Ozs7SUFFTSxXQUFXOztjQUNWLEtBQUssR0FBVSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUM3RSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLEtBQUs7UUFDdEIsNERBQTREO1FBQzVELGtJQUFrSTtRQUNsSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7OztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQUU7UUFDakgsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUFFO1FBQzNHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUFFO0lBQ3pHLENBQUM7Ozs7OztJQUVTLFdBQVcsQ0FBQyxLQUFLOztjQUNuQixRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7Ozs7OztJQUVTLFdBQVcsQ0FBQyxLQUFLO1FBQ3pCLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUU1QixTQUFTO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUzs7OztRQUN4QyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1gsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO2dCQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUMzRDtZQUNELElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQzs7OztRQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUMsRUFDRixDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBRVMsZUFBZSxDQUFDLElBQWM7UUFDdEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7OztJQUVTLGNBQWMsQ0FBQyxLQUFVO1FBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7O1lBMUdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix1c0RBQTJDO2FBQzVDOzs7O1lBUndGLFNBQVM7Ozt3QkFVL0YsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7dUJBRXRDLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO2lCQUNMLEtBQUs7cUJBQ0wsS0FBSztxQkFDTCxLQUFLOzRCQUNMLE1BQU07MEJBQ04sTUFBTTsyQkFDTixNQUFNO3lCQVdOLFlBQVksU0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7MEJBTW5DLFlBQVksU0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7cUJBTXBDLFlBQVksU0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Ozs7SUFqQ2hDLHdDQUErRDs7SUFFL0QsdUNBQW1DOztJQUNuQyx1Q0FBaUM7O0lBQ2pDLHVDQUFnQzs7SUFDaEMsaUNBQXdCOztJQUN4QixxQ0FBNEI7O0lBQzVCLHFDQUE0Qjs7SUFDNUIsNENBQXNGOztJQUN0RiwwQ0FBZ0Y7O0lBQ2hGLDJDQUErRjs7SUFFL0YsMENBQTJCOztJQUMzQix5Q0FBMEI7O0lBQzFCLDZDQUEwQjs7SUFDMUIsNkNBQThCOzs7OztJQUc1Qix1Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtJbnZhbGlkRmlsZX0gZnJvbSAnLi4vLi4vdHlwZXMvdXBsb2FkLnR5cGVzJztcbmltcG9ydCB7VXBsb2FkZXJ9IGZyb20gJy4uLy4uL2NsYXNzZXMvdXBsb2FkZXIuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdXBsb2FkLXpvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLXpvbmUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRab25lQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHtzdGF0aWM6IGZhbHNlfSkgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB1cGxvYWRlcjogVXBsb2FkZXI7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGUgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgaWQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFyaWFJZCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWNjZXB0ID0gW107XG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBsb2FkZWRGaWxlczogRXZlbnRFbWl0dGVyPG9iamVjdFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0W10+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcXVldWVkRmlsZXM6IEV2ZW50RW1pdHRlcjxGaWxlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaW52YWxpZEZpbGVzOiBFdmVudEVtaXR0ZXI8SW52YWxpZEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEludmFsaWRGaWxlW10+KCk7XG5cbiAgcHVibGljIGhhc0RyYWdPdmVyID0gZmFsc2U7XG4gIHB1YmxpYyBjbGFzc05hbWVzOiBzdHJpbmc7XG4gIHB1YmxpYyB1cGxvYWRQcm9ncmVzcyA9IDA7XG4gIHB1YmxpYyB1cGxvYWRpbmdGaWxlczogRmlsZVtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJldmVudEFuZFN0b3AoZXZlbnQpO1xuICAgIHRoaXMuaGFzRHJhZ092ZXIgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZlbnRBbmRTdG9wKGV2ZW50KTtcbiAgICB0aGlzLmhhc0RyYWdPdmVyID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uRHJvcChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcmV2ZW50QW5kU3RvcChldmVudCk7XG4gICAgdGhpcy5oYXNEcmFnT3ZlciA9IGZhbHNlO1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5maWxlTGlzdFRvQXJyYXkoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICB0aGlzLmhhbmRsZUZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmlnZ2VyRmlsZSgpIHtcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlRmlsZXMoKSB7XG4gICAgY29uc3QgZmlsZXM6IGFueVtdID0gdGhpcy5maWxlTGlzdFRvQXJyYXkodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5maWxlcyk7XG4gICAgdGhpcy5oYW5kbGVGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBwdWJsaWMgb25GaWxlQ2xpY2soZXZlbnQpIHtcbiAgICAvLyBXaGVuIHJlbW92aW5nIGEgZmlsZSBtYWtlIHN1cmUgeW91IGNhbiBhZGQgaXQgYWdhaW4gbGF0ZXJcbiAgICAvLyBTZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU5ODcwMzM1L25nMi1maWxlLXVwbG9hZC1ub3QtYWxsb3dpbmctbWUtdG8tYWRkLXNhbWUtZG9jLWFmdGVyLWl2ZS1yZW1vdmVkLWl0LWZyb20tcXVlXG4gICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUgIT09IGZhbHNlKSB7IHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCwgJ211bHRpcGxlJywgJ211bHRpcGxlJyk7IH1cbiAgICBpZiAodGhpcy5hY2NlcHQpIHsgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LCAnYWNjZXB0JywgdGhpcy5hY2NlcHQuam9pbigpKTsgfVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7IHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7IH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVGaWxlcyhmaWxlcykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy51cGxvYWRlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcbiAgICB0aGlzLmludmFsaWRGaWxlcy5lbWl0KHJlc3BvbnNlLmludmFsaWRGaWxlcyk7XG5cbiAgICBpZiAodGhpcy51cGxvYWRlci5vcHRpb25zLmF1dG9VcGxvYWQgJiYgcmVzcG9uc2UudmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnVwbG9hZEZpbGVzKHJlc3BvbnNlLnZhbGlkRmlsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1ZXVlZEZpbGVzLmVtaXQocmVzcG9uc2UudmFsaWRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHVwbG9hZEZpbGVzKGZpbGVzKSB7XG4gICAgLy8gUmVzZXQgcHJvZ3Jlc3NcbiAgICB0aGlzLnVwbG9hZFByb2dyZXNzID0gMDtcbiAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzID0gZmlsZXM7XG5cbiAgICAvLyB1cGxvYWRcbiAgICB0aGlzLnVwbG9hZGVyLnVwbG9hZEZpbGVzKGZpbGVzKS5zdWJzY3JpYmUoXG4gICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnByb2dyZXNzKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRQcm9ncmVzcyA9IE1hdGguZmxvb3IocmVzcG9uc2UucHJvZ3Jlc3MgKiAxMDApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNwb25zZS5kYXRhKSB7XG4gICAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVzLmVtaXQocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmaWxlTGlzdFRvQXJyYXkobGlzdDogRmlsZUxpc3QpOiBvYmplY3RbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obGlzdCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmVudEFuZFN0b3AoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuIl19
@@ -110,11 +110,11 @@ var DatepickerComponent = /** @class */ (function () {
110
110
  * @return {?}
111
111
  */
112
112
  function (value) {
113
+ this.selectedDate = typeof value === 'string'
114
+ ? this.isISODateFormat(value) ? new Date(value) : DateHelper.parseDate(value, 'DD/MM/YYYY', true)
115
+ : value;
113
116
  /** @type {?} */
114
- var date = DateHelper.parseDate(value, 'DD/MM/YYYY', true);
115
- /** @type {?} */
116
- var dateString = date ? this.formatDate(date) : '';
117
- this.selectedDate = date;
117
+ var dateString = this.selectedDate ? this.formatDate(this.selectedDate) : '';
118
118
  this.formControl.setValue(dateString);
119
119
  };
120
120
  /**
@@ -232,6 +232,22 @@ var DatepickerComponent = /** @class */ (function () {
232
232
  this.blur.emit(e);
233
233
  this.onTouched(e);
234
234
  };
235
+ /**
236
+ * @private
237
+ * @param {?} value
238
+ * @return {?}
239
+ */
240
+ DatepickerComponent.prototype.isISODateFormat = /**
241
+ * @private
242
+ * @param {?} value
243
+ * @return {?}
244
+ */
245
+ function (value) {
246
+ if (typeof value !== 'string') {
247
+ return false;
248
+ }
249
+ return value.match(/\d{4}-\d{2}-\d{2}T.*/);
250
+ };
235
251
  DatepickerComponent.decorators = [
236
252
  { type: Component, args: [{
237
253
  selector: 'aui-datepicker',
@@ -352,4 +368,4 @@ if (false) {
352
368
  */
353
369
  DatepickerComponent.prototype.ref;
354
370
  }
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNwYWFzLXVpL25neC1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXVCLFdBQVcsRUFBZSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEVBQy9CLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZUFBZSxHQUVoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQVcsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFL0Q7SUF1Q0UsNkJBQ3lDLFdBQTJDLEVBQ3pDLGFBQStDLEVBQy9DLFdBQTZDLEVBQy9FLGVBQWdDLEVBQy9CLFdBQXdCLEVBQ3hCLEdBQXNCO1FBTFMsNEJBQUEsRUFBQSwyQ0FBMkM7UUFDekMsOEJBQUEsRUFB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aUNBQW9COztJQUNwQixtQ0FBc0I7O0lBQ3RCLDBDQUFvQzs7SUFDcEMsb0NBQTBCOztJQUMxQixrQ0FDaUI7O0lBQ2pCLGtDQUNpQjs7SUFDakIsMkNBQTZCOztJQUU3QixtQ0FBMkM7O0lBRTNDLHVDQUF1RTs7SUFDdkUsMENBQWdDOztJQUNoQywyQ0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQTBDOzs7OztJQUUxQyxrREFBdUU7Ozs7O0lBaUl2RSx1Q0FBdUQ7Ozs7O0lBRXZELHdDQUFzRDs7Ozs7SUFoSXBELDBDQUFrRjs7Ozs7SUFDbEYsNENBQXdGOzs7OztJQUN4RiwwQ0FBc0Y7O0lBQ3RGLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQWdDOzs7OztJQUNoQyxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVIZWxwZXIsIERhdGVSYW5nZX0gZnJvbSAnQGFjcGFhcy11aS9qcy1kYXRlLXV0aWxzJztcbmltcG9ydCB7Rmx5b3V0RGlyZWN0aXZlfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG4gIENhbGVuZGFyU2VydmljZSxcbiAgRGF0ZXBpY2tlclJlc3VsdCxcbn0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtY2FsZW5kYXInO1xuXG5pbXBvcnQge1xuICBEQVRFUElDS0VSX0RBVEVfTUFTSyxcbiAgREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMsXG4gIERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVJcbn0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci5jb25mJztcbmltcG9ydCB7RGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnN9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGVwaWNrZXIudHlwZXMnO1xuaW1wb3J0IHtJbnRlcnZhbCwgSW50ZXJ2YWxCdWlsZGVyfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9LCB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBWaWV3Q2hpbGQoRmx5b3V0RGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSkgZmx5b3V0OiBGbHlvdXREaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnZGQvbW0veXl5eSc7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZic7XG5cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHB1YmxpYyBkYXRlTWFzayA9IHttYXNrOiBEQVRFUElDS0VSX0RBVEVfTUFTSywgc2hvd01hc2tPbkhvdmVyOiBmYWxzZX07XG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHB1YmxpYyBpc0Rpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcnZhbDogSW50ZXJ2YWwuSUludGVydmFsPERhdGU+O1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVzdHJveWVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHByaXZhdGUgbW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgICBASW5qZWN0KENBTEVOREFSX1dFRUtEQVlfTEFCRUxTKSBwcml2YXRlIHdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIEBJbmplY3QoREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMpIHByaXZhdGUgZXJyb3JMYWJlbHMgPSBEQVRFUElDS0VSX0RFRkFVTFRfRVJST1JfTEFCRUxTLFxuICAgIHB1YmxpYyBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZH0pO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGZvcm1hdCwgJ1lZWVktTU0tREQnLCB0cnVlKTtcbiAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBDaGFuZ2UgdmFsdWUgd2l0aCBvcmlnaW5hbCB2YWx1ZSAoYW5kIG5vdCBudWxsIG9yICcnKSBzbyB3ZSBjYW4gYWRkIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0ZSBmdW5jdGlvblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUludGVydmFsKCkge1xuICAgIGlmICghdGhpcy5taW4gJiYgIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhbiBpbnRlcnZhbCBpZiBtaW4vbWF4IGlzIGZpbGxlZCBpblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBJbnRlcnZhbEJ1aWxkZXIuZGF0ZUludGVydmFsKHRoaXMubWluID8gbmV3IERhdGUodGhpcy5taW4pIDogbnVsbCwgdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsKVxuICAgICAgLm5vdCgpXG4gICAgICAuYnVpbGQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUodmFsdWUsICdERC9NTS9ZWVlZJywgdHJ1ZSk7XG4gICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUgPyB0aGlzLmZvcm1hdERhdGUoZGF0ZSkgOiAnJztcblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZGF0ZTtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGVGcm9tQ2FsZW5kYXIocmVzdWx0OiBEYXRlcGlja2VyUmVzdWx0KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdC5jb21wbGV0ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1hdERhdGUocmVzdWx0LmRhdGUpKTtcbiAgICAgIHRoaXMuZmx5b3V0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShkYXRlLCAnREQvTU0vWVlZWScsIHtcbiAgICAgIGxlYWRpbmdaZXJvOiB0cnVlLFxuICAgICAgbW9udGhMYWJlbHM6IHRoaXMubW9udGhMYWJlbHMsXG4gICAgICB3ZWVrZGF5TGFiZWxzOiB0aGlzLndlZWtkYXlMYWJlbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY3RybDogRm9ybUNvbnRyb2wpOiBEYXRlcGlja2VyVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgLy8gbm8gZXJyb3Igb24gZW1wdHkgdmFsdWUgKGFkZCByZXF1aXJlZCB2YWxpZGF0b3IgaW4gYXBwKVxuICAgIGlmIChjdHJsLnZhbHVlID09PSAnJyB8fCBjdHJsLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB0aHJvdyBmb3JtYXQgZXJyb3IgaWYgbm8gdmFsaWQgZGF0ZSB3YXMgcHJvdmlkZWRcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUoY3RybC52YWx1ZSk7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmb3JtYXQ6IHRoaXMuZXJyb3JMYWJlbHMuRVJST1JTX0lOVkFMSURfREFURSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbm8gZXJyb3IgaWYgdmFsaWQgZGF0ZSBhbiBubyByYW5nZSBwcm92aWRlZFxuICAgIGlmICghdGhpcy5yYW5nZSB8fCAhdGhpcy5yYW5nZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHRocm93IGVycm9yIHdoZW4gb3V0IG9mIHJhbmdlXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZUZvckRhdGUoZGF0ZSwgdGhpcy5yYW5nZSk7XG5cbiAgICByZXR1cm4gcmFuZ2UuaW5kZXhPZihkYXRlLmdldERhdGUoKSkgPj0gMCA/IHtcbiAgICAgIHJhbmdlOiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX1JBTkdFLFxuICAgIH0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJsdXIoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIuZW1pdChlKTtcbiAgICB0aGlzLm9uVG91Y2hlZChlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbn1cbiJdfQ==
371
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWNwYWFzLXVpL25neC1mb3Jtcy8iLCJzb3VyY2VzIjpbImxpYi9kYXRlcGlja2VyL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQXVCLFdBQVcsRUFBZSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoSCxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEVBQy9CLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsZUFBZSxHQUVoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsK0JBQStCLEVBQy9CLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQVcsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFL0Q7SUF1Q0UsNkJBQ3lDLFdBQTJDLEVBQ3pDLGFBQStDLEVBQy9DLFdBQTZDLEVBQy9FLGVBQWdDLEVBQy9CLFdBQXdCLEVBQ3hCLEdBQXNCO1FBTFMsNEJBQUEsRUFBQSwyQ0FBMkM7UUFDekMsOEJBQUEsRUFB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QjtnREFDNUIsTUFBTSxTQUFDLHVCQUF1QjtnREFDOUIsTUFBTSxTQUFDLHVCQUF1QjtnQkF2RGpDLGVBQWU7Z0JBUmEsV0FBVztnQkFidkMsaUJBQWlCOzs7eUJBb0RoQixTQUFTLFNBQUMsZUFBZSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztxQkFDekMsS0FBSzt1QkFDTCxLQUFLOzhCQUNMLEtBQUs7d0JBQ0wsS0FBSztzQkFDTCxLQUFLO3NCQUVMLEtBQUs7K0JBRUwsS0FBSzt1QkFFTCxNQUFNOztJQW1KVCwwQkFBQztDQUFBLEFBaExELElBZ0xDO1NBL0pZLG1CQUFtQjs7O0lBQzlCLHFDQUFvRTs7SUFDcEUsaUNBQW9COztJQUNwQixtQ0FBc0I7O0lBQ3RCLDBDQUFvQzs7SUFDcEMsb0NBQTBCOztJQUMxQixrQ0FDaUI7O0lBQ2pCLGtDQUNpQjs7SUFDakIsMkNBQTZCOztJQUU3QixtQ0FBMkM7O0lBRTNDLHVDQUF1RTs7SUFDdkUsMENBQWdDOztJQUNoQywyQ0FBMEI7O0lBQzFCLHlDQUEwQjs7SUFDMUIsdUNBQTBDOzs7OztJQUUxQyxrREFBdUU7Ozs7O0lBaUl2RSx1Q0FBdUQ7Ozs7O0lBRXZELHdDQUFzRDs7Ozs7SUFoSXBELDBDQUFrRjs7Ozs7SUFDbEYsNENBQXdGOzs7OztJQUN4RiwwQ0FBc0Y7O0lBQ3RGLDhDQUF1Qzs7Ozs7SUFDdkMsMENBQWdDOzs7OztJQUNoQyxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RhdGVIZWxwZXIsIERhdGVSYW5nZX0gZnJvbSAnQGFjcGFhcy11aS9qcy1kYXRlLXV0aWxzJztcbmltcG9ydCB7Rmx5b3V0RGlyZWN0aXZlfSBmcm9tICdAYWNwYWFzLXVpL25neC1mbHlvdXQnO1xuaW1wb3J0IHtcbiAgQ0FMRU5EQVJfREVGQVVMVF9NT05USF9MQUJFTFMsXG4gIENBTEVOREFSX0RFRkFVTFRfV0VFS0RBWV9MQUJFTFMsXG4gIENBTEVOREFSX01PTlRIX0xBQkVMUyxcbiAgQ0FMRU5EQVJfV0VFS0RBWV9MQUJFTFMsXG4gIENhbGVuZGFyU2VydmljZSxcbiAgRGF0ZXBpY2tlclJlc3VsdCxcbn0gZnJvbSAnQGFjcGFhcy11aS9uZ3gtY2FsZW5kYXInO1xuXG5pbXBvcnQge1xuICBEQVRFUElDS0VSX0RBVEVfTUFTSyxcbiAgREFURVBJQ0tFUl9ERUZBVUxUX0VSUk9SX0xBQkVMUyxcbiAgREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMsXG4gIERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVJcbn0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci5jb25mJztcbmltcG9ydCB7RGF0ZXBpY2tlclZhbGlkYXRpb25FcnJvcnN9IGZyb20gJy4uLy4uL3R5cGVzL2RhdGVwaWNrZXIudHlwZXMnO1xuaW1wb3J0IHtJbnRlcnZhbCwgSW50ZXJ2YWxCdWlsZGVyfSBmcm9tICdAYWNwYWFzLXVpL25neC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtcbiAgICAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9LCB7XG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSwgLy8gdHNsaW50OmRpc2FibGUtbGluZTpuby1mb3J3YXJkLXJlZlxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBWaWV3Q2hpbGQoRmx5b3V0RGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSkgZmx5b3V0OiBGbHlvdXREaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnZGQvbW0veXl5eSc7XG4gIEBJbnB1dCgpIHJhbmdlOiBEYXRlUmFuZ2U7XG4gIEBJbnB1dCgpXG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogJ29mZic7XG5cbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIHB1YmxpYyBkYXRlTWFzayA9IHttYXNrOiBEQVRFUElDS0VSX0RBVEVfTUFTSywgc2hvd01hc2tPbkhvdmVyOiBmYWxzZX07XG4gIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IERhdGU7XG4gIHB1YmxpYyBpc0Rpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpbnRlcnZhbDogSW50ZXJ2YWwuSUludGVydmFsPERhdGU+O1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVzdHJveWVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDQUxFTkRBUl9NT05USF9MQUJFTFMpIHByaXZhdGUgbW9udGhMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX01PTlRIX0xBQkVMUyxcbiAgICBASW5qZWN0KENBTEVOREFSX1dFRUtEQVlfTEFCRUxTKSBwcml2YXRlIHdlZWtkYXlMYWJlbHMgPSBDQUxFTkRBUl9ERUZBVUxUX1dFRUtEQVlfTEFCRUxTLFxuICAgIEBJbmplY3QoREFURVBJQ0tFUl9FUlJPUl9MQUJFTFMpIHByaXZhdGUgZXJyb3JMYWJlbHMgPSBEQVRFUElDS0VSX0RFRkFVTFRfRVJST1JfTEFCRUxTLFxuICAgIHB1YmxpYyBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVJbnRlcnZhbCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRoaXMuaXNEaXNhYmxlZH0pO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IGZvcm1hdCA9IHZhbHVlLnNwbGl0KERBVEVQSUNLRVJfU0VQQVJBVE9SX0NIQVIpLnJldmVyc2UoKS5qb2luKCctJyk7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IERhdGVIZWxwZXIucGFyc2VEYXRlKGZvcm1hdCwgJ1lZWVktTU0tREQnLCB0cnVlKTtcbiAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBkYXRlO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShkYXRlLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBDaGFuZ2UgdmFsdWUgd2l0aCBvcmlnaW5hbCB2YWx1ZSAoYW5kIG5vdCBudWxsIG9yICcnKSBzbyB3ZSBjYW4gYWRkIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0ZSBmdW5jdGlvblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKCcnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5jb21wb25lbnREZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUludGVydmFsKCkge1xuICAgIGlmICghdGhpcy5taW4gJiYgIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBhbiBpbnRlcnZhbCBpZiBtaW4vbWF4IGlzIGZpbGxlZCBpblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBJbnRlcnZhbEJ1aWxkZXIuZGF0ZUludGVydmFsKHRoaXMubWluID8gbmV3IERhdGUodGhpcy5taW4pIDogbnVsbCwgdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsKVxuICAgICAgLm5vdCgpXG4gICAgICAuYnVpbGQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICA/IHRoaXMuaXNJU09EYXRlRm9ybWF0KHZhbHVlKSA/IG5ldyBEYXRlKHZhbHVlKSA6IERhdGVIZWxwZXIucGFyc2VEYXRlKHZhbHVlLCAnREQvTU0vWVlZWScsIHRydWUpXG4gICAgICA6IHZhbHVlO1xuICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB0aGlzLnNlbGVjdGVkRGF0ZSA/IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSkgOiAnJztcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGRhdGVTdHJpbmcpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkICYmIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzRGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdERhdGVGcm9tQ2FsZW5kYXIocmVzdWx0OiBEYXRlcGlja2VyUmVzdWx0KTogdm9pZCB7XG4gICAgaWYgKHJlc3VsdC5jb21wbGV0ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1hdERhdGUocmVzdWx0LmRhdGUpKTtcbiAgICAgIHRoaXMuZmx5b3V0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZShkYXRlLCAnREQvTU0vWVlZWScsIHtcbiAgICAgIGxlYWRpbmdaZXJvOiB0cnVlLFxuICAgICAgbW9udGhMYWJlbHM6IHRoaXMubW9udGhMYWJlbHMsXG4gICAgICB3ZWVrZGF5TGFiZWxzOiB0aGlzLndlZWtkYXlMYWJlbHMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY3RybDogRm9ybUNvbnRyb2wpOiBEYXRlcGlja2VyVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgLy8gbm8gZXJyb3Igb24gZW1wdHkgdmFsdWUgKGFkZCByZXF1aXJlZCB2YWxpZGF0b3IgaW4gYXBwKVxuICAgIGlmIChjdHJsLnZhbHVlID09PSAnJyB8fCBjdHJsLnZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyB0aHJvdyBmb3JtYXQgZXJyb3IgaWYgbm8gdmFsaWQgZGF0ZSB3YXMgcHJvdmlkZWRcbiAgICBjb25zdCBkYXRlID0gRGF0ZUhlbHBlci5wYXJzZURhdGUoY3RybC52YWx1ZSk7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmb3JtYXQ6IHRoaXMuZXJyb3JMYWJlbHMuRVJST1JTX0lOVkFMSURfREFURSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbm8gZXJyb3IgaWYgdmFsaWQgZGF0ZSBhbiBubyByYW5nZSBwcm92aWRlZFxuICAgIGlmICghdGhpcy5yYW5nZSB8fCAhdGhpcy5yYW5nZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIHRocm93IGVycm9yIHdoZW4gb3V0IG9mIHJhbmdlXG4gICAgY29uc3QgcmFuZ2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5nZXRSYW5nZUZvckRhdGUoZGF0ZSwgdGhpcy5yYW5nZSk7XG5cbiAgICByZXR1cm4gcmFuZ2UuaW5kZXhPZihkYXRlLmdldERhdGUoKSkgPj0gMCA/IHtcbiAgICAgIHJhbmdlOiB0aGlzLmVycm9yTGFiZWxzLkVSUk9SU19JTlZBTElEX1JBTkdFLFxuICAgIH0gOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUJsdXIoZTogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJsdXIuZW1pdChlKTtcbiAgICB0aGlzLm9uVG91Y2hlZChlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IChyZXM6IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGlzSVNPRGF0ZUZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlLm1hdGNoKC9cXGR7NH0tXFxkezJ9LVxcZHsyfVQuKi8pO1xuICB9XG59XG4iXX0=
@@ -9,8 +9,10 @@ import { Uploader } from '../../classes/uploader.class';
9
9
  var UploadComponent = /** @class */ (function () {
10
10
  function UploadComponent() {
11
11
  this.id = '';
12
+ this.accept = [];
12
13
  this.ariaLabelRemove = 'Verwijder';
13
14
  this.disabled = false;
15
+ this.multiple = true;
14
16
  this.options = UPLOAD_OPTIONS_DEFAULT;
15
17
  this.selectUploadedFiles = new EventEmitter();
16
18
  this.uploadedFiles = [];
@@ -66,14 +68,16 @@ var UploadComponent = /** @class */ (function () {
66
68
  UploadComponent.decorators = [
67
69
  { type: Component, args: [{
68
70
  selector: 'aui-upload',
69
- template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone (invalidFiles)=\"onInvalidFiles($event)\" (queuedFiles)=\"onQueuedFiles($event)\" (uploadedFiles)=\"onUploadedFiles($event)\" [ariaId]=\"ariaId\"\n [disabled]=\"disabled\" [id]=\"id\"\n [uploader]=\"uploader\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
71
+ template: "<div class=\"m-upload aui-upload\">\n <aui-upload-zone (invalidFiles)=\"onInvalidFiles($event)\" (queuedFiles)=\"onQueuedFiles($event)\" (uploadedFiles)=\"onUploadedFiles($event)\" [ariaId]=\"ariaId\"\n [disabled]=\"disabled\" [id]=\"id\" [accept]=\"accept\" [multiple]=\"multiple\"\n [uploader]=\"uploader\">\n <div class=\"m-upload__message\">\n <ng-content select=\".m-upload__message\"></ng-content>\n </div>\n <div class=\"m-upload__description\">\n <ng-content select=\".m-upload__description\"></ng-content>\n </div>\n <div class=\"m-upload__button\">\n <ng-content select=\".m-upload__button\"></ng-content>\n </div>\n </aui-upload-zone>\n <aui-validation-list [ariaLabelRemove]=\"ariaLabelRemove\" [invalidFiles]=\"invalidFiles\"></aui-validation-list>\n <aui-upload-queue (uploadedFiles)=\"onUploadedFiles($event)\" *ngIf=\"!options?.autoUpload\" [ariaLabelRemove]=\"ariaLabelRemove\"\n [files]=\"queuedFiles\" [uploader]=\"uploader\"></aui-upload-queue>\n</div>\n",
70
72
  styles: [".m-upload__button>.m-upload__input{display:none}"]
71
73
  }] }
72
74
  ];
73
75
  UploadComponent.propDecorators = {
74
76
  id: [{ type: Input }],
77
+ accept: [{ type: Input }],
75
78
  ariaLabelRemove: [{ type: Input }],
76
79
  disabled: [{ type: Input }],
80
+ multiple: [{ type: Input }],
77
81
  options: [{ type: Input }],
78
82
  selectUploadedFiles: [{ type: Output }]
79
83
  };
@@ -84,10 +88,14 @@ if (false) {
84
88
  /** @type {?} */
85
89
  UploadComponent.prototype.id;
86
90
  /** @type {?} */
91
+ UploadComponent.prototype.accept;
92
+ /** @type {?} */
87
93
  UploadComponent.prototype.ariaLabelRemove;
88
94
  /** @type {?} */
89
95
  UploadComponent.prototype.disabled;
90
96
  /** @type {?} */
97
+ UploadComponent.prototype.multiple;
98
+ /** @type {?} */
91
99
  UploadComponent.prototype.options;
92
100
  /** @type {?} */
93
101
  UploadComponent.prototype.selectUploadedFiles;
@@ -102,4 +110,4 @@ if (false) {
102
110
  /** @type {?} */
103
111
  UploadComponent.prototype.queuedFiles;
104
112
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFdEQ7SUFBQTtRQVFrQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1Isb0JBQWUsR0FBRyxXQUFXLENBQUM7UUFDOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixZQUFPLEdBQWtCLHNCQUFzQixDQUFDO1FBQy9DLHdCQUFtQixHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBSXJGLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQXFCbEMsQ0FBQzs7OztJQW5CUSxrQ0FBUTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7SUFFTSx5Q0FBZTs7OztJQUF0QixVQUF1QixLQUFlO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFTSx3Q0FBYzs7OztJQUFyQixVQUFzQixLQUFvQjtRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOzs7OztJQUVNLHVDQUFhOzs7O0lBQXBCLFVBQXFCLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnQkF0Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUl0QiwwZ0NBQXNDOztpQkFDdkM7OztxQkFFRSxLQUFLO2tDQUNMLEtBQUs7MkJBQ0wsS0FBSzswQkFDTCxLQUFLO3NDQUNMLE1BQU07O0lBMkJULHNCQUFDO0NBQUEsQUF2Q0QsSUF1Q0M7U0FoQ1ksZUFBZTs7O0lBQzFCLDZCQUF3Qjs7SUFDeEIsMENBQThDOztJQUM5QyxtQ0FBaUM7O0lBQ2pDLGtDQUFnRTs7SUFDaEUsOENBQTRGOztJQUU1RixtQ0FBZ0I7O0lBQ2hCLGlDQUFjOztJQUNkLHdDQUFvQzs7SUFDcEMsdUNBQXdDOztJQUN4QyxzQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ludmFsaWRGaWxlLCBVcGxvYWRPcHRpb25zfSBmcm9tICcuLi8uLi90eXBlcy91cGxvYWQudHlwZXMnO1xuaW1wb3J0IHtVUExPQURfT1BUSU9OU19ERUZBVUxUfSBmcm9tICcuLi8uLi91cGxvYWQuY29uZic7XG5pbXBvcnQge1VwbG9hZGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL3VwbG9hZGVyLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXVwbG9hZCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL3VwbG9hZC5jb21wb25lbnQuc2NzcycsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgaWQgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFyaWFMYWJlbFJlbW92ZSA9ICdWZXJ3aWpkZXInO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IFVwbG9hZE9wdGlvbnMgPSBVUExPQURfT1BUSU9OU19ERUZBVUxUO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdFVwbG9hZGVkRmlsZXM6IEV2ZW50RW1pdHRlcjxvYmplY3RbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdFtdPigpO1xuXG4gIHB1YmxpYyB1cGxvYWRlcjtcbiAgcHVibGljIGFyaWFJZDtcbiAgcHVibGljIHVwbG9hZGVkRmlsZXM6IG9iamVjdFtdID0gW107XG4gIHB1YmxpYyBpbnZhbGlkRmlsZXM6IEludmFsaWRGaWxlW10gPSBbXTtcbiAgcHVibGljIHF1ZXVlZEZpbGVzOiBGaWxlW10gPSBbXTtcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICB0aGlzLmFyaWFJZCA9ICdhdWktdXBsb2FkLScgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG4gICAgfVxuICAgIHRoaXMudXBsb2FkZXIgPSBuZXcgVXBsb2FkZXIodGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVwbG9hZGVkRmlsZXMoZmlsZXM6IG9iamVjdFtdKSB7XG4gICAgdGhpcy51cGxvYWRlZEZpbGVzID0gdGhpcy51cGxvYWRlZEZpbGVzLmNvbmNhdChmaWxlcyk7XG4gICAgdGhpcy5zZWxlY3RVcGxvYWRlZEZpbGVzLmVtaXQodGhpcy51cGxvYWRlZEZpbGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkludmFsaWRGaWxlcyhmaWxlczogSW52YWxpZEZpbGVbXSkge1xuICAgIHRoaXMuaW52YWxpZEZpbGVzID0gZmlsZXM7XG4gIH1cblxuICBwdWJsaWMgb25RdWV1ZWRGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgdGhpcy5xdWV1ZWRGaWxlcyA9IHRoaXMucXVldWVkRmlsZXMuY29uY2F0KGZpbGVzKTtcbiAgfVxufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhY3BhYXMtdWkvbmd4LWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFdEQ7SUFBQTtRQVFrQixPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLG9CQUFlLEdBQUcsV0FBVyxDQUFDO1FBQzlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixZQUFPLEdBQWtCLHNCQUFzQixDQUFDO1FBQy9DLHdCQUFtQixHQUEyQixJQUFJLFlBQVksRUFBWSxDQUFDO1FBSXJGLGtCQUFhLEdBQWEsRUFBRSxDQUFDO1FBQzdCLGlCQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUNqQyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQXFCbEMsQ0FBQzs7OztJQW5CUSxrQ0FBUTs7O0lBQWY7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7Ozs7SUFFTSx5Q0FBZTs7OztJQUF0QixVQUF1QixLQUFlO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7Ozs7SUFFTSx3Q0FBYzs7OztJQUFyQixVQUFzQixLQUFvQjtRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDOzs7OztJQUVNLHVDQUFhOzs7O0lBQXBCLFVBQXFCLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnQkF4Q0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUl0QixzakNBQXNDOztpQkFDdkM7OztxQkFFRSxLQUFLO3lCQUNMLEtBQUs7a0NBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7MEJBQ0wsS0FBSztzQ0FDTCxNQUFNOztJQTJCVCxzQkFBQztDQUFBLEFBekNELElBeUNDO1NBbENZLGVBQWU7OztJQUMxQiw2QkFBd0I7O0lBQ3hCLGlDQUE0Qjs7SUFDNUIsMENBQThDOztJQUM5QyxtQ0FBaUM7O0lBQ2pDLG1DQUFnQzs7SUFDaEMsa0NBQWdFOztJQUNoRSw4Q0FBNEY7O0lBRTVGLG1DQUFnQjs7SUFDaEIsaUNBQWM7O0lBQ2Qsd0NBQW9DOztJQUNwQyx1Q0FBd0M7O0lBQ3hDLHNDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7SW52YWxpZEZpbGUsIFVwbG9hZE9wdGlvbnN9IGZyb20gJy4uLy4uL3R5cGVzL3VwbG9hZC50eXBlcyc7XG5pbXBvcnQge1VQTE9BRF9PUFRJT05TX0RFRkFVTFR9IGZyb20gJy4uLy4uL3VwbG9hZC5jb25mJztcbmltcG9ydCB7VXBsb2FkZXJ9IGZyb20gJy4uLy4uL2NsYXNzZXMvdXBsb2FkZXIuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdXBsb2FkJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4vdXBsb2FkLmNvbXBvbmVudC5zY3NzJyxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgYWNjZXB0ID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBhcmlhTGFiZWxSZW1vdmUgPSAnVmVyd2lqZGVyJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXBsZSA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBVcGxvYWRPcHRpb25zID0gVVBMT0FEX09QVElPTlNfREVGQVVMVDtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RVcGxvYWRlZEZpbGVzOiBFdmVudEVtaXR0ZXI8b2JqZWN0W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxvYmplY3RbXT4oKTtcblxuICBwdWJsaWMgdXBsb2FkZXI7XG4gIHB1YmxpYyBhcmlhSWQ7XG4gIHB1YmxpYyB1cGxvYWRlZEZpbGVzOiBvYmplY3RbXSA9IFtdO1xuICBwdWJsaWMgaW52YWxpZEZpbGVzOiBJbnZhbGlkRmlsZVtdID0gW107XG4gIHB1YmxpYyBxdWV1ZWRGaWxlczogRmlsZVtdID0gW107XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5pZCkge1xuICAgICAgdGhpcy5hcmlhSWQgPSAnYXVpLXVwbG9hZC0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xuICAgIH1cbiAgICB0aGlzLnVwbG9hZGVyID0gbmV3IFVwbG9hZGVyKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VcGxvYWRlZEZpbGVzKGZpbGVzOiBvYmplY3RbXSkge1xuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IHRoaXMudXBsb2FkZWRGaWxlcy5jb25jYXQoZmlsZXMpO1xuICAgIHRoaXMuc2VsZWN0VXBsb2FkZWRGaWxlcy5lbWl0KHRoaXMudXBsb2FkZWRGaWxlcyk7XG4gIH1cblxuICBwdWJsaWMgb25JbnZhbGlkRmlsZXMoZmlsZXM6IEludmFsaWRGaWxlW10pIHtcbiAgICB0aGlzLmludmFsaWRGaWxlcyA9IGZpbGVzO1xuICB9XG5cbiAgcHVibGljIG9uUXVldWVkRmlsZXMoZmlsZXM6IEZpbGVbXSkge1xuICAgIHRoaXMucXVldWVkRmlsZXMgPSB0aGlzLnF1ZXVlZEZpbGVzLmNvbmNhdChmaWxlcyk7XG4gIH1cbn1cbiJdfQ==