@progress-chef/platform-shared-components 0.0.85 → 0.0.87

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.
@@ -1,8 +1,8 @@
1
1
  @font-face {
2
2
  font-family: "IconFont";
3
- src: url('IconFont.woff2?t=1725358548849') format('woff2'),
4
- url('IconFont.woff?t=1725358548849') format('woff'),
5
- url('IconFont.ttf?t=1725358548849') format('truetype');
3
+ src: url('IconFont.woff2?t=1726131749666') format('woff2'),
4
+ url('IconFont.woff?t=1726131749666') format('woff'),
5
+ url('IconFont.ttf?t=1726131749666') format('truetype');
6
6
  }
7
7
 
8
8
  .iconfont {
@@ -90,6 +90,7 @@
90
90
  .icon-skill-definition:before { content: "\e94a"; }
91
91
  .icon-node-cohort:before { content: "\e94b"; }
92
92
  .icon-skill-assembly:before { content: "\e94c"; }
93
+ .icon-caret-right:before { content: "\e94d"; }
93
94
 
94
95
 
95
96
  /**
@@ -1,8 +1,8 @@
1
1
  @font-face {
2
2
  font-family: "IconFont";
3
- src: url('IconFont.woff2?t=1725358548849') format('woff2'),
4
- url('IconFont.woff?t=1725358548849') format('woff'),
5
- url('IconFont.ttf?t=1725358548849') format('truetype');
3
+ src: url('IconFont.woff2?t=1726131749666') format('woff2'),
4
+ url('IconFont.woff?t=1726131749666') format('woff'),
5
+ url('IconFont.ttf?t=1726131749666') format('truetype');
6
6
  }
7
7
 
8
8
  .iconfont {
@@ -90,6 +90,7 @@
90
90
  .icon-skill-definition:before { content: "\e94a"; }
91
91
  .icon-node-cohort:before { content: "\e94b"; }
92
92
  .icon-skill-assembly:before { content: "\e94c"; }
93
+ .icon-caret-right:before { content: "\e94d"; }
93
94
 
94
95
 
95
96
  /**
Binary file
Binary file
Binary file
@@ -5,7 +5,9 @@ import * as i1 from "@angular/common";
5
5
  import * as i2 from "@progress/kendo-angular-upload";
6
6
  import * as i3 from "@angular/forms";
7
7
  export class UploaderComponent {
8
- constructor() {
8
+ constructor(renderer, elRef) {
9
+ this.renderer = renderer;
10
+ this.elRef = elRef;
9
11
  this.uploadSaveUrl = "node/enrollment/v1/bulk-enroll"; // should represent an actual API endpoint
10
12
  this.uploadRemoveUrl = "";
11
13
  this.control = new FormControl();
@@ -13,7 +15,8 @@ export class UploaderComponent {
13
15
  this.isDisabled = false;
14
16
  this.hasExternalDropzone = false;
15
17
  this.showFileList = true;
16
- this.autoUpload = true;
18
+ this.autoUpload = false;
19
+ this.showDefaultActionButtons = false; // pass it as true if need to show default action buttons of kendo upload when autoupload is false
17
20
  this.actionsLayout = "end";
18
21
  this.multiple = false;
19
22
  this.batch = false;
@@ -49,6 +52,9 @@ export class UploaderComponent {
49
52
  ngOnInit() {
50
53
  this.updateAllowedExtensionsText();
51
54
  }
55
+ ngAfterViewInit() {
56
+ this.setActionButtonClass();
57
+ }
52
58
  updateAllowedExtensionsText() {
53
59
  if (this.restrictions && this.restrictions.allowedExtensions && this.restrictions.allowedExtensions.length > 0) {
54
60
  this.allowedExtensionsText = `Only ${this.restrictions.allowedExtensions.join(', ').toUpperCase()} ${this.restrictions.allowedExtensions.length > 1 ? 'are ' : 'is '} allowed`;
@@ -66,6 +72,14 @@ export class UploaderComponent {
66
72
  this.control.enable();
67
73
  }
68
74
  }
75
+ if (changes['showDefaultActionButtons']) {
76
+ this.setActionButtonClass(changes['showDefaultActionButtons'].currentValue);
77
+ }
78
+ if (changes['restrictions']) {
79
+ if (changes['restrictions']?.currentValue?.allowedExtensions) {
80
+ this.updateAllowedExtensionsText();
81
+ }
82
+ }
69
83
  }
70
84
  removeEventHandler(event) {
71
85
  this.onRemoveEvent.emit(event);
@@ -109,13 +123,24 @@ export class UploaderComponent {
109
123
  focusHandler() {
110
124
  this.onFocusEvent.emit();
111
125
  }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "lib-uploader", inputs: { uploadSaveUrl: "uploadSaveUrl", uploadRemoveUrl: "uploadRemoveUrl", control: "control", model: "model", isDisabled: "isDisabled", hasExternalDropzone: "hasExternalDropzone", showFileList: "showFileList", autoUpload: "autoUpload", actionsLayout: "actionsLayout", multiple: "multiple", batch: "batch", concurrent: "concurrent", withCredentials: "withCredentials", restrictions: "restrictions", chunkSettings: "chunkSettings" }, outputs: { onRemoveEvent: "onRemoveEvent", onCancelEvent: "onCancelEvent", onUploadEvent: "onUploadEvent", onResumeEvent: "onResumeEvent", onSelectEvent: "onSelectEvent", onSuccessEvent: "onSuccessEvent", onUploadProgressEvent: "onUploadProgressEvent", onValueChangeEvent: "onValueChangeEvent", onErrorEvent: "onErrorEvent", onPauseEvent: "onPauseEvent", onCompleteEvent: "onCompleteEvent", onBlurEvent: "onBlurEvent", onFocusEvent: "onFocusEvent", onclearEvent: "onclearEvent" }, queries: [{ propertyName: "fileTemplate", first: true, predicate: ["uploadTemplate"], descendants: true }], viewQueries: [{ propertyName: "kendoUpload", first: true, predicate: ["libUploader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2.UploadDropZoneComponent, selector: "kendo-uploaddropzone", inputs: ["zoneId", "icon", "iconClass", "svgIcon"], exportAs: ["kendoUploadDropZone"] }, { kind: "component", type: i2.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "multiple", "disabled", "showFileList", "tabindex", "zoneId", "tabIndex", "accept", "restrictions", "focusableId", "actionsLayout"], outputs: ["blur", "cancel", "clear", "complete", "error", "focus", "pause", "remove", "resume", "select", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
126
+ setActionButtonClass(showDefaultActionButtons = this.showDefaultActionButtons) {
127
+ if (this.kendoUpload) {
128
+ const uploadElement = this.elRef.nativeElement.querySelector('kendo-upload');
129
+ if (!this.autoUpload && !showDefaultActionButtons) {
130
+ this.renderer.addClass(uploadElement, 'custom-upload');
131
+ }
132
+ else {
133
+ this.renderer?.removeClass(uploadElement, 'custom-upload');
134
+ }
135
+ }
136
+ }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "lib-uploader", inputs: { uploadSaveUrl: "uploadSaveUrl", uploadRemoveUrl: "uploadRemoveUrl", control: "control", model: "model", isDisabled: "isDisabled", hasExternalDropzone: "hasExternalDropzone", showFileList: "showFileList", autoUpload: "autoUpload", showDefaultActionButtons: "showDefaultActionButtons", actionsLayout: "actionsLayout", multiple: "multiple", batch: "batch", concurrent: "concurrent", withCredentials: "withCredentials", restrictions: "restrictions", chunkSettings: "chunkSettings" }, outputs: { onRemoveEvent: "onRemoveEvent", onCancelEvent: "onCancelEvent", onUploadEvent: "onUploadEvent", onResumeEvent: "onResumeEvent", onSelectEvent: "onSelectEvent", onSuccessEvent: "onSuccessEvent", onUploadProgressEvent: "onUploadProgressEvent", onValueChangeEvent: "onValueChangeEvent", onErrorEvent: "onErrorEvent", onPauseEvent: "onPauseEvent", onCompleteEvent: "onCompleteEvent", onBlurEvent: "onBlurEvent", onFocusEvent: "onFocusEvent", onclearEvent: "onclearEvent" }, queries: [{ propertyName: "fileTemplate", first: true, predicate: ["uploadTemplate"], descendants: true }], viewQueries: [{ propertyName: "kendoUpload", first: true, predicate: ["libUploader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [":host ::ng-deep .custom-upload .k-actions{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2.UploadDropZoneComponent, selector: "kendo-uploaddropzone", inputs: ["zoneId", "icon", "iconClass", "svgIcon"], exportAs: ["kendoUploadDropZone"] }, { kind: "component", type: i2.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "multiple", "disabled", "showFileList", "tabindex", "zoneId", "tabIndex", "accept", "restrictions", "focusableId", "actionsLayout"], outputs: ["blur", "cancel", "clear", "complete", "error", "focus", "pause", "remove", "resume", "select", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
114
139
  }
115
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, decorators: [{
116
141
  type: Component,
117
- args: [{ selector: 'lib-uploader', template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n" }]
118
- }], propDecorators: { uploadSaveUrl: [{
142
+ args: [{ selector: 'lib-uploader', template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [":host ::ng-deep .custom-upload .k-actions{display:none!important}\n"] }]
143
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { uploadSaveUrl: [{
119
144
  type: Input
120
145
  }], uploadRemoveUrl: [{
121
146
  type: Input
@@ -131,6 +156,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
131
156
  type: Input
132
157
  }], autoUpload: [{
133
158
  type: Input
159
+ }], showDefaultActionButtons: [{
160
+ type: Input
134
161
  }], actionsLayout: [{
135
162
  type: Input
136
163
  }], multiple: [{
@@ -180,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
180
207
  type: ViewChild,
181
208
  args: ['libUploader']
182
209
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdXBsb2FkZXIvdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdXBsb2FkZXIvdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0MsS0FBSyxFQUFVLFlBQVksRUFBZSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBb0I3QyxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsa0JBQWEsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLDBDQUEwQztRQUM1RixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixrQkFBYSxHQUE2QyxLQUFLLENBQUM7UUFDaEUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLGVBQVUsR0FBWSxJQUFJLENBQUMsQ0FBQyw4REFBOEQ7UUFDMUYsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsaUJBQVksR0FBcUI7WUFDeEMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDO1lBQ3BDLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLFdB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WTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSztnQkFNSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUN5QixZQUFZO3NCQUEzQyxZQUFZO3VCQUFDLGdCQUFnQjtnQkFDSixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdGFibGUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgSW5wdXQsIE9uSW5pdCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGaWxlSW5mbywgRmlsZVJlc3RyaWN0aW9ucywgQ2h1bmtTZXR0aW5ncywgU2VsZWN0RXZlbnQsXG4gIFJlbW92ZUV2ZW50LFxuICBFcnJvckV2ZW50LFxuICBDYW5jZWxFdmVudCxcbiAgUGF1c2VFdmVudCxcbiAgUmVzdW1lRXZlbnQsXG4gIFN1Y2Nlc3NFdmVudCxcbiAgVXBsb2FkRXZlbnQsXG4gIFVwbG9hZFByb2dyZXNzRXZlbnQsXG4gIFVwbG9hZENvbXBvbmVudCxcbiAgRmlsZVN0YXRlXG59IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXVwbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoKSB1cGxvYWRTYXZlVXJsID0gXCJub2RlL2Vucm9sbG1lbnQvdjEvYnVsay1lbnJvbGxcIjsgLy8gc2hvdWxkIHJlcHJlc2VudCBhbiBhY3R1YWwgQVBJIGVuZHBvaW50XG4gIEBJbnB1dCgpIHVwbG9hZFJlbW92ZVVybCA9IFwiXCI7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBJbnB1dCgpIG1vZGVsOiBBcnJheTxGaWxlSW5mbz4gPSBbXTtcbiAgQElucHV0KCkgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNFeHRlcm5hbERyb3B6b25lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dGaWxlTGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9VcGxvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhY3Rpb25zTGF5b3V0OiBcInN0YXJ0XCIgfCBcImNlbnRlclwiIHwgXCJlbmRcIiB8IFwic3RyZXRjaGVkXCIgPSBcImVuZFwiO1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBiYXRjaDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb25jdXJyZW50OiBib29sZWFuID0gdHJ1ZTsgLyoqdG8gdXBsb2FkIHRoZSBmaWxlcyBvbmUgYnkgb25lLCBzZXQgdGhpcyBvcHRpb24gdG8gZmFsc2UgKi9cbiAgQElucHV0KCkgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcmVzdHJpY3Rpb25zOiBGaWxlUmVzdHJpY3Rpb25zID0ge1xuICAgIGFsbG93ZWRFeHRlbnNpb25zOiBbXCIucG5nXCIsIFwiLmpwZWdcIl0sXG4gICAgbWF4RmlsZVNpemU6IDQxOTQzMDQsXG4gICAgbWluRmlsZVNpemU6IDUsXG4gIH07XG4gIEBJbnB1dCgpIGNodW5rU2V0dGluZ3M6IENodW5rU2V0dGluZ3MgfCBib29sZWFuID0ge1xuICAgIHNpemU6IDEwMjQwMCxcbiAgICBhdXRvUmV0cnlBZnRlcjogMTAwMCxcbiAgICBtYXhBdXRvUmV0cmllczogMCxcbiAgICByZXN1bWFibGU6IHRydWUgLyoqdG8gdXBsb2FkIHRoZSBmaWxlcyB3aXRob3V0IGFsbG93aW5nIHRoZSB1c2VyIHRvIHBhdXNlIHRoZSB1cGxvYWQgcHJvY2Vzcywgc2V0IHRoaXMgcGFyYW1ldGVyIHRvIGZhbHNlICovXG4gIH07XG4gIEBPdXRwdXQoKSBvblJlbW92ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxSZW1vdmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQ2FuY2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPENhbmNlbEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25VcGxvYWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VXBsb2FkRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblJlc3VtZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXN1bWVFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uU2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25TdWNjZXNzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1Y2Nlc3NFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uVXBsb2FkUHJvZ3Jlc3NFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VXBsb2FkUHJvZ3Jlc3NFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uVmFsdWVDaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZUluZm9bXT4oKTtcbiAgQE91dHB1dCgpIG9uRXJyb3JFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RXJyb3JFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uUGF1c2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8UGF1c2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQ29tcGxldGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25CbHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uRm9jdXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25jbGVhckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBDb250ZW50Q2hpbGQoJ3VwbG9hZFRlbXBsYXRlJykgZmlsZVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBWaWV3Q2hpbGQoJ2xpYlVwbG9hZGVyJykga2VuZG9VcGxvYWQhOiBVcGxvYWRDb21wb25lbnQ7XG5cbiAgYWxsb3dlZEV4dGVuc2lvbnNUZXh0OiBzdHJpbmcgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFsbG93ZWRFeHRlbnNpb25zVGV4dCgpO1xuICB9XG5cbiAgdXBkYXRlQWxsb3dlZEV4dGVuc2lvbnNUZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlc3RyaWN0aW9ucyAmJiB0aGlzLnJlc3RyaWN0aW9ucy5hbGxvd2VkRXh0ZW5zaW9ucyAmJiB0aGlzLnJlc3RyaWN0aW9ucy5hbGxvd2VkRXh0ZW5zaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmFsbG93ZWRFeHRlbnNpb25zVGV4dCA9IGBPbmx5ICR7dGhpcy5yZXN0cmljdGlvbnMuYWxsb3dlZEV4dGVuc2lvbnMuam9pbignLCAnKS50b1VwcGVyQ2FzZSgpfSAke3RoaXMucmVzdHJpY3Rpb25zLmFsbG93ZWRFeHRlbnNpb25zLmxlbmd0aCA+IDEgPyAnYXJlICcgOiAnaXMgJ30gYWxsb3dlZGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnNUZXh0ID0gJyc7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpc0Rpc2FibGVkJ10pIHtcbiAgICAgIGlmIChjaGFuZ2VzWydpc0Rpc2FibGVkJ10/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmVuYWJsZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUV2ZW50SGFuZGxlcihldmVudDogUmVtb3ZlRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVtb3ZlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBjYW5jZWxFdmVudEhhbmRsZXIoZXZlbnQ6IENhbmNlbEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdXBsb2FkRXZlbnRIYW5kbGVyKGV2ZW50OiBVcGxvYWRFdmVudCkge1xuICAgIHRoaXMub25VcGxvYWRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHJlc3VtZUV2ZW50SGFuZGxlcihldmVudDogUmVzdW1lRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzdW1lRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBzZWxlY3RFdmVudEhhbmRsZXIoZXZlbnQ6IFNlbGVjdEV2ZW50KSB7XG4gICAgdGhpcy5vblNlbGVjdEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG4gIHN1Y2Nlc3NFdmVudEhhbmRsZXIoZXZlbnQ6IFN1Y2Nlc3NFdmVudCkge1xuICAgIHRoaXMub25TdWNjZXNzRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbiAgdXBsb2FkUHJvZ3Jlc3NFdmVudEhhbmRsZXIoZXZlbnQ6IFVwbG9hZFByb2dyZXNzRXZlbnQpIHtcbiAgICB0aGlzLm9uVXBsb2FkUHJvZ3Jlc3NFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuICB2YWx1ZUNoYW5nZUV2ZW50SGFuZGxlcihldmVudDogRmlsZUluZm9bXSkge1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZXJyb3JFdmVudEhhbmRsZXIoZXZlbnQ6IEVycm9yRXZlbnQpIHtcbiAgICB0aGlzLm9uRXJyb3JFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHBhdXNlRXZlbnRIYW5kbGVyKGV2ZW50OiBQYXVzZUV2ZW50KSB7XG4gICAgdGhpcy5vblBhdXNlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBjbGVhckV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLm9uY2xlYXJFdmVudC5lbWl0KCk7XG4gIH1cbiAgY29tcGxldGVFdmVudEhhbmRsZXIoKSB7XG4gICAgdGhpcy5vbkNvbXBsZXRlRXZlbnQuZW1pdCgpO1xuICB9XG4gIGJsdXJIYW5kbGVyKCkge1xuICAgIHRoaXMub25CbHVyRXZlbnQuZW1pdCgpO1xuICB9XG4gIGZvY3VzSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uRm9jdXNFdmVudC5lbWl0KCk7XG4gIH1cblxufVxuIiwiPGtlbmRvLXVwbG9hZGRyb3B6b25lIHpvbmVJZD1cImRyb3Bab25lXCIgKm5nSWY9XCJoYXNFeHRlcm5hbERyb3B6b25lXCI+XG4gIHt7YWxsb3dlZEV4dGVuc2lvbnNUZXh0fX1cbjwva2VuZG8tdXBsb2FkZHJvcHpvbmU+XG48a2VuZG8tdXBsb2FkICN1cGxvYWRlciBbc2F2ZVVybF09XCJ1cGxvYWRTYXZlVXJsXCIgW3JlbW92ZVVybF09XCJ1cGxvYWRSZW1vdmVVcmxcIiBbYXV0b1VwbG9hZF09XCJhdXRvVXBsb2FkXCJcbiAgW2FjdGlvbnNMYXlvdXRdPVwiYWN0aW9uc0xheW91dFwiIFt3aXRoQ3JlZGVudGlhbHNdPVwid2l0aENyZWRlbnRpYWxzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2JhdGNoXT1cImJhdGNoXCJcbiAgW3Jlc3RyaWN0aW9uc109XCJyZXN0cmljdGlvbnNcIiBbY2h1bmthYmxlXT1cImNodW5rU2V0dGluZ3NcIiBbY29uY3VycmVudF09XCJjb25jdXJyZW50XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgem9uZUlkPVwiZHJvcFpvbmVcIiAoY2FuY2VsKT1cImNhbmNlbEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKGNsZWFyKT1cImNsZWFyRXZlbnRIYW5kbGVyKClcIlxuICAoY29tcGxldGUpPVwiY29tcGxldGVFdmVudEhhbmRsZXIoKVwiIChlcnJvcik9XCJlcnJvckV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKGJsdXIpPVwiYmx1ckhhbmRsZXIoKVwiXG4gIChmb2N1cyk9XCJmb2N1c0hhbmRsZXIoKVwiIChwYXVzZSk9XCJwYXVzZUV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKHJlbW92ZSk9XCJyZW1vdmVFdmVudEhhbmRsZXIoJGV2ZW50KVwiXG4gIChyZXN1bWUpPVwicmVzdW1lRXZlbnRIYW5kbGVyKCRldmVudClcIiAoc2VsZWN0KT1cInNlbGVjdEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKHN1Y2Nlc3MpPVwic3VjY2Vzc0V2ZW50SGFuZGxlcigkZXZlbnQpXCJcbiAgKHVwbG9hZCk9XCJ1cGxvYWRFdmVudEhhbmRsZXIoJGV2ZW50KVwiICh1cGxvYWRQcm9ncmVzcyk9XCJ1cGxvYWRQcm9ncmVzc0V2ZW50SGFuZGxlcigkZXZlbnQpXCJcbiAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlRXZlbnRIYW5kbGVyKCRldmVudClcIiBbc2hvd0ZpbGVMaXN0XT1cInNob3dGaWxlTGlzdFwiICNsaWJVcGxvYWRlcj1cImtlbmRvVXBsb2FkXCI+XG4gIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImZpbGVUZW1wbGF0ZVwiIGtlbmRvVXBsb2FkRmlsZVRlbXBsYXRlIGxldC1maWxlcyBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB7IGZpbGVzOiBmaWxlcywgc3RhdGU6IHN0YXRlIH0gfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9rZW5kby11cGxvYWQ+XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdXBsb2FkZXIvdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkL3NyYy9saWIvYXRvbXMvdXBsb2FkZXIvdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0MsS0FBSyxFQUFVLFlBQVksRUFBZSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBd0MsTUFBTSxlQUFlLENBQUM7QUFDak0sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQW9CN0MsTUFBTSxPQUFPLGlCQUFpQjtJQThDNUIsWUFBb0IsUUFBbUIsRUFBVSxLQUFpQjtRQUE5QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQTdDekQsa0JBQWEsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLDBDQUEwQztRQUM1RixvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1Qiw2QkFBd0IsR0FBWSxLQUFLLENBQUMsQ0FBQyxrR0FBa0c7UUFDN0ksa0JBQWEsR0FBNkMsS0FBSyxDQUFDO1FBQ2hFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQVksSUFBSSxDQUFDLENBQUMsOERBQThE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SztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDeUIsWUFBWTtzQkFBM0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0osV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RhYmxlLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPbkluaXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBGaWxlSW5mbywgRmlsZVJlc3RyaWN0aW9ucywgQ2h1bmtTZXR0aW5ncywgU2VsZWN0RXZlbnQsXG4gIFJlbW92ZUV2ZW50LFxuICBFcnJvckV2ZW50LFxuICBDYW5jZWxFdmVudCxcbiAgUGF1c2VFdmVudCxcbiAgUmVzdW1lRXZlbnQsXG4gIFN1Y2Nlc3NFdmVudCxcbiAgVXBsb2FkRXZlbnQsXG4gIFVwbG9hZFByb2dyZXNzRXZlbnQsXG4gIFVwbG9hZENvbXBvbmVudCxcbiAgRmlsZVN0YXRlXG59IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXVwbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSB1cGxvYWRTYXZlVXJsID0gXCJub2RlL2Vucm9sbG1lbnQvdjEvYnVsay1lbnJvbGxcIjsgLy8gc2hvdWxkIHJlcHJlc2VudCBhbiBhY3R1YWwgQVBJIGVuZHBvaW50XG4gIEBJbnB1dCgpIHVwbG9hZFJlbW92ZVVybCA9IFwiXCI7XG4gIEBJbnB1dCgpIGNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIEBJbnB1dCgpIG1vZGVsOiBBcnJheTxGaWxlSW5mbz4gPSBbXTtcbiAgQElucHV0KCkgaXNEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNFeHRlcm5hbERyb3B6b25lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dGaWxlTGlzdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9VcGxvYWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0RlZmF1bHRBY3Rpb25CdXR0b25zOiBib29sZWFuID0gZmFsc2U7IC8vIHBhc3MgaXQgYXMgdHJ1ZSBpZiBuZWVkIHRvIHNob3cgZGVmYXVsdCBhY3Rpb24gYnV0dG9ucyBvZiBrZW5kbyB1cGxvYWQgd2hlbiBhdXRvdXBsb2FkIGlzIGZhbHNlXG4gIEBJbnB1dCgpIGFjdGlvbnNMYXlvdXQ6IFwic3RhcnRcIiB8IFwiY2VudGVyXCIgfCBcImVuZFwiIHwgXCJzdHJldGNoZWRcIiA9IFwiZW5kXCI7XG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGJhdGNoOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbmN1cnJlbnQ6IGJvb2xlYW4gPSB0cnVlOyAvKip0byB1cGxvYWQgdGhlIGZpbGVzIG9uZSBieSBvbmUsIHNldCB0aGlzIG9wdGlvbiB0byBmYWxzZSAqL1xuICBASW5wdXQoKSB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSByZXN0cmljdGlvbnM6IEZpbGVSZXN0cmljdGlvbnMgPSB7XG4gICAgYWxsb3dlZEV4dGVuc2lvbnM6IFtcIi5wbmdcIiwgXCIuanBlZ1wiXSxcbiAgICBtYXhGaWxlU2l6ZTogNDE5NDMwNCxcbiAgICBtaW5GaWxlU2l6ZTogNSxcbiAgfTtcbiAgQElucHV0KCkgY2h1bmtTZXR0aW5nczogQ2h1bmtTZXR0aW5ncyB8IGJvb2xlYW4gPSB7XG4gICAgc2l6ZTogMTAyNDAwLFxuICAgIGF1dG9SZXRyeUFmdGVyOiAxMDAwLFxuICAgIG1heEF1dG9SZXRyaWVzOiAwLFxuICAgIHJlc3VtYWJsZTogdHJ1ZSAvKip0byB1cGxvYWQgdGhlIGZpbGVzIHdpdGhvdXQgYWxsb3dpbmcgdGhlIHVzZXIgdG8gcGF1c2UgdGhlIHVwbG9hZCBwcm9jZXNzLCBzZXQgdGhpcyBwYXJhbWV0ZXIgdG8gZmFsc2UgKi9cbiAgfTtcbiAgQE91dHB1dCgpIG9uUmVtb3ZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlbW92ZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25DYW5jZWxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FuY2VsRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblVwbG9hZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxVcGxvYWRFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uUmVzdW1lRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3VtZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25TZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblN1Y2Nlc3NFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8U3VjY2Vzc0V2ZW50PigpO1xuICBAT3V0cHV0KCkgb25VcGxvYWRQcm9ncmVzc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxVcGxvYWRQcm9ncmVzc0V2ZW50PigpO1xuICBAT3V0cHV0KCkgb25WYWx1ZUNoYW5nZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlSW5mb1tdPigpO1xuICBAT3V0cHV0KCkgb25FcnJvckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxFcnJvckV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25QYXVzZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXVzZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25Db21wbGV0ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Gb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbmNsZWFyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQENvbnRlbnRDaGlsZCgndXBsb2FkVGVtcGxhdGUnKSBmaWxlVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgQFZpZXdDaGlsZCgnbGliVXBsb2FkZXInKSBrZW5kb1VwbG9hZCE6IFVwbG9hZENvbXBvbmVudDtcblxuXG4gIGFsbG93ZWRFeHRlbnNpb25zVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFsbG93ZWRFeHRlbnNpb25zVGV4dCgpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldEFjdGlvbkJ1dHRvbkNsYXNzKCk7XG4gIH1cblxuICB1cGRhdGVBbGxvd2VkRXh0ZW5zaW9uc1RleHQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmVzdHJpY3Rpb25zICYmIHRoaXMucmVzdHJpY3Rpb25zLmFsbG93ZWRFeHRlbnNpb25zICYmIHRoaXMucmVzdHJpY3Rpb25zLmFsbG93ZWRFeHRlbnNpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnNUZXh0ID0gYE9ubHkgJHt0aGlzLnJlc3RyaWN0aW9ucy5hbGxvd2VkRXh0ZW5zaW9ucy5qb2luKCcsICcpLnRvVXBwZXJDYXNlKCl9ICR7dGhpcy5yZXN0cmljdGlvbnMuYWxsb3dlZEV4dGVuc2lvbnMubGVuZ3RoID4gMSA/ICdhcmUgJyA6ICdpcyAnfSBhbGxvd2VkYDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9uc1RleHQgPSAnJztcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2lzRGlzYWJsZWQnXSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ2lzRGlzYWJsZWQnXT8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydzaG93RGVmYXVsdEFjdGlvbkJ1dHRvbnMnXSkge1xuICAgICAgdGhpcy5zZXRBY3Rpb25CdXR0b25DbGFzcyhjaGFuZ2VzWydzaG93RGVmYXVsdEFjdGlvbkJ1dHRvbnMnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sncmVzdHJpY3Rpb25zJ10pIHtcbiAgICAgIGlmIChjaGFuZ2VzWydyZXN0cmljdGlvbnMnXT8uY3VycmVudFZhbHVlPy5hbGxvd2VkRXh0ZW5zaW9ucykge1xuICAgICAgICB0aGlzLnVwZGF0ZUFsbG93ZWRFeHRlbnNpb25zVGV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUV2ZW50SGFuZGxlcihldmVudDogUmVtb3ZlRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVtb3ZlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBjYW5jZWxFdmVudEhhbmRsZXIoZXZlbnQ6IENhbmNlbEV2ZW50KSB7XG4gICAgdGhpcy5vbkNhbmNlbEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdXBsb2FkRXZlbnRIYW5kbGVyKGV2ZW50OiBVcGxvYWRFdmVudCkge1xuICAgIHRoaXMub25VcGxvYWRFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHJlc3VtZUV2ZW50SGFuZGxlcihldmVudDogUmVzdW1lRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzdW1lRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBzZWxlY3RFdmVudEhhbmRsZXIoZXZlbnQ6IFNlbGVjdEV2ZW50KSB7XG4gICAgdGhpcy5vblNlbGVjdEV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG4gIHN1Y2Nlc3NFdmVudEhhbmRsZXIoZXZlbnQ6IFN1Y2Nlc3NFdmVudCkge1xuICAgIHRoaXMub25TdWNjZXNzRXZlbnQuZW1pdChldmVudCk7XG4gIH1cbiAgdXBsb2FkUHJvZ3Jlc3NFdmVudEhhbmRsZXIoZXZlbnQ6IFVwbG9hZFByb2dyZXNzRXZlbnQpIHtcbiAgICB0aGlzLm9uVXBsb2FkUHJvZ3Jlc3NFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuICB2YWx1ZUNoYW5nZUV2ZW50SGFuZGxlcihldmVudDogRmlsZUluZm9bXSkge1xuICAgIHRoaXMub25WYWx1ZUNoYW5nZUV2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZXJyb3JFdmVudEhhbmRsZXIoZXZlbnQ6IEVycm9yRXZlbnQpIHtcbiAgICB0aGlzLm9uRXJyb3JFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHBhdXNlRXZlbnRIYW5kbGVyKGV2ZW50OiBQYXVzZUV2ZW50KSB7XG4gICAgdGhpcy5vblBhdXNlRXZlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBjbGVhckV2ZW50SGFuZGxlcigpIHtcbiAgICB0aGlzLm9uY2xlYXJFdmVudC5lbWl0KCk7XG4gIH1cbiAgY29tcGxldGVFdmVudEhhbmRsZXIoKSB7XG4gICAgdGhpcy5vbkNvbXBsZXRlRXZlbnQuZW1pdCgpO1xuICB9XG4gIGJsdXJIYW5kbGVyKCkge1xuICAgIHRoaXMub25CbHVyRXZlbnQuZW1pdCgpO1xuICB9XG4gIGZvY3VzSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uRm9jdXNFdmVudC5lbWl0KCk7XG4gIH1cblxuICBzZXRBY3Rpb25CdXR0b25DbGFzcyhzaG93RGVmYXVsdEFjdGlvbkJ1dHRvbnM6IGJvb2xlYW4gPSB0aGlzLnNob3dEZWZhdWx0QWN0aW9uQnV0dG9ucykge1xuICAgIGlmICh0aGlzLmtlbmRvVXBsb2FkKSB7XG4gICAgICBjb25zdCB1cGxvYWRFbGVtZW50ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2tlbmRvLXVwbG9hZCcpO1xuICAgICAgaWYgKCF0aGlzLmF1dG9VcGxvYWQgJiYgIXNob3dEZWZhdWx0QWN0aW9uQnV0dG9ucykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHVwbG9hZEVsZW1lbnQsICdjdXN0b20tdXBsb2FkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyPy5yZW1vdmVDbGFzcyh1cGxvYWRFbGVtZW50LCAnY3VzdG9tLXVwbG9hZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGtlbmRvLXVwbG9hZGRyb3B6b25lIHpvbmVJZD1cImRyb3Bab25lXCIgKm5nSWY9XCJoYXNFeHRlcm5hbERyb3B6b25lXCI+XG4gIHt7YWxsb3dlZEV4dGVuc2lvbnNUZXh0fX1cbjwva2VuZG8tdXBsb2FkZHJvcHpvbmU+XG48a2VuZG8tdXBsb2FkICN1cGxvYWRlciBbc2F2ZVVybF09XCJ1cGxvYWRTYXZlVXJsXCIgW3JlbW92ZVVybF09XCJ1cGxvYWRSZW1vdmVVcmxcIiBbYXV0b1VwbG9hZF09XCJhdXRvVXBsb2FkXCJcbiAgW2FjdGlvbnNMYXlvdXRdPVwiYWN0aW9uc0xheW91dFwiIFt3aXRoQ3JlZGVudGlhbHNdPVwid2l0aENyZWRlbnRpYWxzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2JhdGNoXT1cImJhdGNoXCJcbiAgW3Jlc3RyaWN0aW9uc109XCJyZXN0cmljdGlvbnNcIiBbY2h1bmthYmxlXT1cImNodW5rU2V0dGluZ3NcIiBbY29uY3VycmVudF09XCJjb25jdXJyZW50XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICBbKG5nTW9kZWwpXT1cIm1vZGVsXCIgem9uZUlkPVwiZHJvcFpvbmVcIiAoY2FuY2VsKT1cImNhbmNlbEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKGNsZWFyKT1cImNsZWFyRXZlbnRIYW5kbGVyKClcIlxuICAoY29tcGxldGUpPVwiY29tcGxldGVFdmVudEhhbmRsZXIoKVwiIChlcnJvcik9XCJlcnJvckV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKGJsdXIpPVwiYmx1ckhhbmRsZXIoKVwiXG4gIChmb2N1cyk9XCJmb2N1c0hhbmRsZXIoKVwiIChwYXVzZSk9XCJwYXVzZUV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKHJlbW92ZSk9XCJyZW1vdmVFdmVudEhhbmRsZXIoJGV2ZW50KVwiXG4gIChyZXN1bWUpPVwicmVzdW1lRXZlbnRIYW5kbGVyKCRldmVudClcIiAoc2VsZWN0KT1cInNlbGVjdEV2ZW50SGFuZGxlcigkZXZlbnQpXCIgKHN1Y2Nlc3MpPVwic3VjY2Vzc0V2ZW50SGFuZGxlcigkZXZlbnQpXCJcbiAgKHVwbG9hZCk9XCJ1cGxvYWRFdmVudEhhbmRsZXIoJGV2ZW50KVwiICh1cGxvYWRQcm9ncmVzcyk9XCJ1cGxvYWRQcm9ncmVzc0V2ZW50SGFuZGxlcigkZXZlbnQpXCJcbiAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlRXZlbnRIYW5kbGVyKCRldmVudClcIiBbc2hvd0ZpbGVMaXN0XT1cInNob3dGaWxlTGlzdFwiICNsaWJVcGxvYWRlcj1cImtlbmRvVXBsb2FkXCI+XG4gIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImZpbGVUZW1wbGF0ZVwiIGtlbmRvVXBsb2FkRmlsZVRlbXBsYXRlIGxldC1maWxlcyBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB7IGZpbGVzOiBmaWxlcywgc3RhdGU6IHN0YXRlIH0gfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9rZW5kby11cGxvYWQ+XG4iXX0=
@@ -3277,7 +3277,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3277
3277
  }] });
3278
3278
 
3279
3279
  class UploaderComponent {
3280
- constructor() {
3280
+ constructor(renderer, elRef) {
3281
+ this.renderer = renderer;
3282
+ this.elRef = elRef;
3281
3283
  this.uploadSaveUrl = "node/enrollment/v1/bulk-enroll"; // should represent an actual API endpoint
3282
3284
  this.uploadRemoveUrl = "";
3283
3285
  this.control = new FormControl();
@@ -3285,7 +3287,8 @@ class UploaderComponent {
3285
3287
  this.isDisabled = false;
3286
3288
  this.hasExternalDropzone = false;
3287
3289
  this.showFileList = true;
3288
- this.autoUpload = true;
3290
+ this.autoUpload = false;
3291
+ this.showDefaultActionButtons = false; // pass it as true if need to show default action buttons of kendo upload when autoupload is false
3289
3292
  this.actionsLayout = "end";
3290
3293
  this.multiple = false;
3291
3294
  this.batch = false;
@@ -3321,6 +3324,9 @@ class UploaderComponent {
3321
3324
  ngOnInit() {
3322
3325
  this.updateAllowedExtensionsText();
3323
3326
  }
3327
+ ngAfterViewInit() {
3328
+ this.setActionButtonClass();
3329
+ }
3324
3330
  updateAllowedExtensionsText() {
3325
3331
  if (this.restrictions && this.restrictions.allowedExtensions && this.restrictions.allowedExtensions.length > 0) {
3326
3332
  this.allowedExtensionsText = `Only ${this.restrictions.allowedExtensions.join(', ').toUpperCase()} ${this.restrictions.allowedExtensions.length > 1 ? 'are ' : 'is '} allowed`;
@@ -3338,6 +3344,14 @@ class UploaderComponent {
3338
3344
  this.control.enable();
3339
3345
  }
3340
3346
  }
3347
+ if (changes['showDefaultActionButtons']) {
3348
+ this.setActionButtonClass(changes['showDefaultActionButtons'].currentValue);
3349
+ }
3350
+ if (changes['restrictions']) {
3351
+ if (changes['restrictions']?.currentValue?.allowedExtensions) {
3352
+ this.updateAllowedExtensionsText();
3353
+ }
3354
+ }
3341
3355
  }
3342
3356
  removeEventHandler(event) {
3343
3357
  this.onRemoveEvent.emit(event);
@@ -3381,13 +3395,24 @@ class UploaderComponent {
3381
3395
  focusHandler() {
3382
3396
  this.onFocusEvent.emit();
3383
3397
  }
3384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "lib-uploader", inputs: { uploadSaveUrl: "uploadSaveUrl", uploadRemoveUrl: "uploadRemoveUrl", control: "control", model: "model", isDisabled: "isDisabled", hasExternalDropzone: "hasExternalDropzone", showFileList: "showFileList", autoUpload: "autoUpload", actionsLayout: "actionsLayout", multiple: "multiple", batch: "batch", concurrent: "concurrent", withCredentials: "withCredentials", restrictions: "restrictions", chunkSettings: "chunkSettings" }, outputs: { onRemoveEvent: "onRemoveEvent", onCancelEvent: "onCancelEvent", onUploadEvent: "onUploadEvent", onResumeEvent: "onResumeEvent", onSelectEvent: "onSelectEvent", onSuccessEvent: "onSuccessEvent", onUploadProgressEvent: "onUploadProgressEvent", onValueChangeEvent: "onValueChangeEvent", onErrorEvent: "onErrorEvent", onPauseEvent: "onPauseEvent", onCompleteEvent: "onCompleteEvent", onBlurEvent: "onBlurEvent", onFocusEvent: "onFocusEvent", onclearEvent: "onclearEvent" }, queries: [{ propertyName: "fileTemplate", first: true, predicate: ["uploadTemplate"], descendants: true }], viewQueries: [{ propertyName: "kendoUpload", first: true, predicate: ["libUploader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$8.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2$8.UploadDropZoneComponent, selector: "kendo-uploaddropzone", inputs: ["zoneId", "icon", "iconClass", "svgIcon"], exportAs: ["kendoUploadDropZone"] }, { kind: "component", type: i2$8.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "multiple", "disabled", "showFileList", "tabindex", "zoneId", "tabIndex", "accept", "restrictions", "focusableId", "actionsLayout"], outputs: ["blur", "cancel", "clear", "complete", "error", "focus", "pause", "remove", "resume", "select", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
3398
+ setActionButtonClass(showDefaultActionButtons = this.showDefaultActionButtons) {
3399
+ if (this.kendoUpload) {
3400
+ const uploadElement = this.elRef.nativeElement.querySelector('kendo-upload');
3401
+ if (!this.autoUpload && !showDefaultActionButtons) {
3402
+ this.renderer.addClass(uploadElement, 'custom-upload');
3403
+ }
3404
+ else {
3405
+ this.renderer?.removeClass(uploadElement, 'custom-upload');
3406
+ }
3407
+ }
3408
+ }
3409
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "lib-uploader", inputs: { uploadSaveUrl: "uploadSaveUrl", uploadRemoveUrl: "uploadRemoveUrl", control: "control", model: "model", isDisabled: "isDisabled", hasExternalDropzone: "hasExternalDropzone", showFileList: "showFileList", autoUpload: "autoUpload", showDefaultActionButtons: "showDefaultActionButtons", actionsLayout: "actionsLayout", multiple: "multiple", batch: "batch", concurrent: "concurrent", withCredentials: "withCredentials", restrictions: "restrictions", chunkSettings: "chunkSettings" }, outputs: { onRemoveEvent: "onRemoveEvent", onCancelEvent: "onCancelEvent", onUploadEvent: "onUploadEvent", onResumeEvent: "onResumeEvent", onSelectEvent: "onSelectEvent", onSuccessEvent: "onSuccessEvent", onUploadProgressEvent: "onUploadProgressEvent", onValueChangeEvent: "onValueChangeEvent", onErrorEvent: "onErrorEvent", onPauseEvent: "onPauseEvent", onCompleteEvent: "onCompleteEvent", onBlurEvent: "onBlurEvent", onFocusEvent: "onFocusEvent", onclearEvent: "onclearEvent" }, queries: [{ propertyName: "fileTemplate", first: true, predicate: ["uploadTemplate"], descendants: true }], viewQueries: [{ propertyName: "kendoUpload", first: true, predicate: ["libUploader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [":host ::ng-deep .custom-upload .k-actions{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$8.FileTemplateDirective, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]" }, { kind: "component", type: i2$8.UploadDropZoneComponent, selector: "kendo-uploaddropzone", inputs: ["zoneId", "icon", "iconClass", "svgIcon"], exportAs: ["kendoUploadDropZone"] }, { kind: "component", type: i2$8.UploadComponent, selector: "kendo-upload", inputs: ["autoUpload", "batch", "withCredentials", "saveField", "saveHeaders", "saveMethod", "saveUrl", "responseType", "removeField", "removeHeaders", "removeMethod", "removeUrl", "chunkable", "concurrent", "multiple", "disabled", "showFileList", "tabindex", "zoneId", "tabIndex", "accept", "restrictions", "focusableId", "actionsLayout"], outputs: ["blur", "cancel", "clear", "complete", "error", "focus", "pause", "remove", "resume", "select", "success", "upload", "uploadProgress", "valueChange"], exportAs: ["kendoUpload"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
3386
3411
  }
3387
3412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, decorators: [{
3388
3413
  type: Component,
3389
- args: [{ selector: 'lib-uploader', template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n" }]
3390
- }], propDecorators: { uploadSaveUrl: [{
3414
+ args: [{ selector: 'lib-uploader', template: "<kendo-uploaddropzone zoneId=\"dropZone\" *ngIf=\"hasExternalDropzone\">\n {{allowedExtensionsText}}\n</kendo-uploaddropzone>\n<kendo-upload #uploader [saveUrl]=\"uploadSaveUrl\" [removeUrl]=\"uploadRemoveUrl\" [autoUpload]=\"autoUpload\"\n [actionsLayout]=\"actionsLayout\" [withCredentials]=\"withCredentials\" [multiple]=\"multiple\" [batch]=\"batch\"\n [restrictions]=\"restrictions\" [chunkable]=\"chunkSettings\" [concurrent]=\"concurrent\" [formControl]=\"control\"\n [(ngModel)]=\"model\" zoneId=\"dropZone\" (cancel)=\"cancelEventHandler($event)\" (clear)=\"clearEventHandler()\"\n (complete)=\"completeEventHandler()\" (error)=\"errorEventHandler($event)\" (blur)=\"blurHandler()\"\n (focus)=\"focusHandler()\" (pause)=\"pauseEventHandler($event)\" (remove)=\"removeEventHandler($event)\"\n (resume)=\"resumeEventHandler($event)\" (select)=\"selectEventHandler($event)\" (success)=\"successEventHandler($event)\"\n (upload)=\"uploadEventHandler($event)\" (uploadProgress)=\"uploadProgressEventHandler($event)\"\n (valueChange)=\"valueChangeEventHandler($event)\" [showFileList]=\"showFileList\" #libUploader=\"kendoUpload\">\n <ng-template *ngIf=\"fileTemplate\" kendoUploadFileTemplate let-files let-state=\"state\">\n <ng-container *ngTemplateOutlet=\"fileTemplate; context: { $implicit: { files: files, state: state } }\">\n </ng-container>\n </ng-template>\n</kendo-upload>\n", styles: [":host ::ng-deep .custom-upload .k-actions{display:none!important}\n"] }]
3415
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { uploadSaveUrl: [{
3391
3416
  type: Input
3392
3417
  }], uploadRemoveUrl: [{
3393
3418
  type: Input
@@ -3403,6 +3428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3403
3428
  type: Input
3404
3429
  }], autoUpload: [{
3405
3430
  type: Input
3431
+ }], showDefaultActionButtons: [{
3432
+ type: Input
3406
3433
  }], actionsLayout: [{
3407
3434
  type: Input
3408
3435
  }], multiple: [{