@tft/crispr-forms 13.0.22 → 14.0.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +77 -76
  2. package/esm2020/lib/abstracts/autocomplete-field.abstract.mjs +3 -3
  3. package/esm2020/lib/abstracts/crispr-field.abstract.mjs +8 -5
  4. package/esm2020/lib/crispr-forms.module.mjs +27 -36
  5. package/esm2020/lib/field-container/field-container.component.mjs +12 -34
  6. package/esm2020/lib/field.directive.mjs +7 -28
  7. package/esm2020/lib/form/form.component.mjs +20 -11
  8. package/esm2020/lib/form-group-list/form-group-list.component.mjs +25 -10
  9. package/esm2020/lib/form-group-list/index.mjs +1 -2
  10. package/esm2020/lib/form.helpers.mjs +1 -1
  11. package/esm2020/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +34 -18
  12. package/esm2020/lib/material/autocomplete-field/autocomplete-field.component.mjs +28 -16
  13. package/esm2020/lib/material/button/button.component.mjs +21 -11
  14. package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +20 -11
  15. package/esm2020/lib/material/datepicker-field/datepicker-field.component.mjs +27 -13
  16. package/esm2020/lib/material/divider/divider.component.mjs +12 -7
  17. package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +6 -5
  18. package/esm2020/lib/material/file-upload/file-upload.component.mjs +24 -62
  19. package/esm2020/lib/material/heading/heading.component.mjs +13 -37
  20. package/esm2020/lib/material/image-upload-field/image-upload-field.component.mjs +25 -65
  21. package/esm2020/lib/material/index.mjs +1 -2
  22. package/esm2020/lib/material/info/info.component.mjs +12 -35
  23. package/esm2020/lib/material/input-field/input-field.component.mjs +22 -12
  24. package/esm2020/lib/material/option/option.component.mjs +11 -7
  25. package/esm2020/lib/material/radio-field/radio-field.component.mjs +17 -10
  26. package/esm2020/lib/material/select-field/select-field.component.mjs +29 -15
  27. package/esm2020/lib/material/selected-file/selected-file.component.mjs +11 -32
  28. package/esm2020/lib/material/slider-field/slider-field.component.mjs +20 -10
  29. package/esm2020/lib/material/textarea-field/textarea-field.component.mjs +22 -12
  30. package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +28 -16
  31. package/esm2020/lib/models/button.config.mjs +1 -1
  32. package/esm2020/lib/models/crispr-field.config.mjs +1 -1
  33. package/esm2020/lib/models/datepicker-field.config.mjs +1 -1
  34. package/esm2020/lib/pipes/crispr-pipes.module.mjs +5 -7
  35. package/esm2020/lib/pipes/initial-control-value.pipe.mjs +3 -3
  36. package/esm2020/lib/sub-group/sub-group.component.mjs +8 -8
  37. package/esm2020/lib/sub-group/sub-group.module.mjs +15 -18
  38. package/fesm2015/tft-crispr-forms.mjs +428 -718
  39. package/fesm2015/tft-crispr-forms.mjs.map +1 -1
  40. package/fesm2020/tft-crispr-forms.mjs +422 -712
  41. package/fesm2020/tft-crispr-forms.mjs.map +1 -1
  42. package/lib/abstracts/autocomplete-field.abstract.d.ts +4 -4
  43. package/lib/abstracts/crispr-field.abstract.d.ts +1 -1
  44. package/lib/crispr-forms.module.d.ts +10 -11
  45. package/lib/field-container/field-container.component.d.ts +2 -9
  46. package/lib/field.directive.d.ts +1 -7
  47. package/lib/form/form.component.d.ts +2 -2
  48. package/lib/form-group-list/form-group-list.component.d.ts +3 -3
  49. package/lib/form-group-list/index.d.ts +0 -1
  50. package/lib/form.helpers.d.ts +2 -2
  51. package/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +1 -1
  52. package/lib/material/autocomplete-field/autocomplete-field.component.d.ts +1 -1
  53. package/lib/material/button/button.component.d.ts +1 -1
  54. package/lib/material/checkbox-field/checkbox-field.component.d.ts +3 -3
  55. package/lib/material/datepicker-field/datepicker-field.component.d.ts +5 -6
  56. package/lib/material/divider/divider.component.d.ts +1 -1
  57. package/lib/material/file-upload/file-dropzone.directive.d.ts +1 -1
  58. package/lib/material/file-upload/file-upload.component.d.ts +3 -18
  59. package/lib/material/heading/heading.component.d.ts +1 -9
  60. package/lib/material/image-upload-field/image-upload-field.component.d.ts +3 -18
  61. package/lib/material/index.d.ts +0 -1
  62. package/lib/material/info/info.component.d.ts +1 -9
  63. package/lib/material/input-field/input-field.component.d.ts +3 -3
  64. package/lib/material/option/option.component.d.ts +1 -1
  65. package/lib/material/radio-field/radio-field.component.d.ts +3 -3
  66. package/lib/material/select-field/select-field.component.d.ts +3 -3
  67. package/lib/material/selected-file/selected-file.component.d.ts +1 -8
  68. package/lib/material/slider-field/slider-field.component.d.ts +3 -3
  69. package/lib/material/textarea-field/textarea-field.component.d.ts +3 -4
  70. package/lib/material/unit-conversion-field/unit-conversion-field.component.d.ts +5 -5
  71. package/lib/models/crispr-field.config.d.ts +8 -1
  72. package/lib/models/datepicker-field.config.d.ts +3 -4
  73. package/lib/pipes/initial-control-value.pipe.d.ts +1 -1
  74. package/lib/sub-group/sub-group.component.d.ts +3 -3
  75. package/lib/sub-group/sub-group.module.d.ts +1 -1
  76. package/package.json +12 -14
  77. package/tft-crispr-forms-14.0.1-rc.1.tgz +0 -0
  78. package/esm2020/lib/form-group-list/form-group-list.module.mjs +0 -54
  79. package/esm2020/lib/material/material.module.mjs +0 -200
  80. package/lib/form-group-list/form-group-list.module.d.ts +0 -15
  81. package/lib/material/material.module.d.ts +0 -44
  82. package/tft-crispr-forms-13.0.22.tgz +0 -0
  83. package/tft-crispr-forms.d.ts +0 -5
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, ViewChild, ChangeDetectionStrategy, Optional, Self, NgModule } from '@angular/core';
2
+ import { Component, ElementRef, ViewChild, ChangeDetectionStrategy, Optional, Self, } from '@angular/core';
3
3
  import { NgControl, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
5
  import { MatFormFieldModule } from '@angular/material/form-field';
@@ -8,19 +8,17 @@ import { MatInputModule } from '@angular/material/input';
8
8
  import { FormValidationHandlerModule } from '@tft/form-validation-handler';
9
9
  import { of } from 'rxjs';
10
10
  import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
11
- import { FieldContainerModule } from '../../field-container/field-container.component';
12
- import { SelectedFileModule } from '../selected-file/selected-file.component';
11
+ import { FieldContainerComponent } from '../../field-container/field-container.component';
12
+ import { SelectedFileComponent } from '../selected-file/selected-file.component';
13
13
  import { FileDropzoneDirective } from './file-dropzone.directive';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "@angular/forms";
16
- import * as i2 from "../../field-container/field-container.component";
17
- import * as i3 from "@angular/material/form-field";
18
- import * as i4 from "@angular/material/icon";
19
- import * as i5 from "@angular/material/button";
20
- import * as i6 from "../selected-file/selected-file.component";
16
+ import * as i2 from "@angular/common";
17
+ import * as i3 from "@angular/material/icon";
18
+ import * as i4 from "@angular/material/button";
19
+ import * as i5 from "@angular/material/form-field";
20
+ import * as i6 from "@angular/material/input";
21
21
  import * as i7 from "@tft/form-validation-handler";
22
- import * as i8 from "@angular/material/input";
23
- import * as i9 from "@angular/common";
24
22
  const FileUploadFieldMixin = crisprControlMixin(CrisprFieldComponent);
25
23
  export class FileUploadFieldComponent extends FileUploadFieldMixin {
26
24
  // ngControl: NgControl = null;
@@ -82,64 +80,28 @@ export class FileUploadFieldComponent extends FileUploadFieldMixin {
82
80
  registerOnTouched(fn) {
83
81
  }
84
82
  }
85
- FileUploadFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
86
- FileUploadFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: FileUploadFieldComponent, selector: "crispr-file-upload-field", viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"], components: [{ type: i0.forwardRef(function () { return i2.FieldContainerComponent; }), selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { type: i0.forwardRef(function () { return i3.MatFormField; }), selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i0.forwardRef(function () { return i4.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i0.forwardRef(function () { return i5.MatButton; }), selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i0.forwardRef(function () { return i6.SelectedFileComponent; }), selector: "crispr-selected-file", inputs: ["fileName", "progress", "showProgress", "color"] }], directives: [{ type: i0.forwardRef(function () { return FileDropzoneDirective; }), selector: "[crisprFileDropzone]", inputs: ["crisprFileDropzone"], outputs: ["fileDrop"] }, { type: i0.forwardRef(function () { return i1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i0.forwardRef(function () { return i1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i0.forwardRef(function () { return i7.ControlErrorContainerDirective; }), selector: "[controlErrorContainer], [formGroup]" }, { type: i0.forwardRef(function () { return i8.MatInput; }), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i0.forwardRef(function () { return i1.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i0.forwardRef(function () { return i1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i0.forwardRef(function () { return i7.ControlErrorsDirective; }), selector: "[formControl], [formControlName]" }, { type: i0.forwardRef(function () { return i3.MatLabel; }), selector: "mat-label" }, { type: i0.forwardRef(function () { return i9.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i9.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i0.forwardRef(function () { return i3.MatHint; }), selector: "mat-hint", inputs: ["align", "id"] }], pipes: { "async": i0.forwardRef(function () { return i9.AsyncPipe; }) }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
83
+ FileUploadFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
84
+ FileUploadFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FileUploadFieldComponent, isStandalone: true, selector: "crispr-file-upload-field", viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: SelectedFileComponent, selector: "crispr-selected-file", inputs: ["fileName", "progress", "showProgress", "color"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i7.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i7.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { kind: "directive", type: FileDropzoneDirective, selector: "[crisprFileDropzone]", inputs: ["crisprFileDropzone"], outputs: ["fileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
88
86
  type: Component,
89
- args: [{ selector: 'crispr-file-upload-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"] }]
90
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
91
- type: Optional
92
- }, {
93
- type: Self
94
- }] }]; }, propDecorators: { fileInputRef: [{
95
- type: ViewChild,
96
- args: ['fileInput']
97
- }] } });
98
- export class FileUploadFieldModule {
99
- }
100
- FileUploadFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
101
- FileUploadFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldModule, declarations: [FileUploadFieldComponent, FileDropzoneDirective], imports: [CommonModule,
102
- FieldContainerModule,
103
- ReactiveFormsModule,
104
- MatIconModule,
105
- MatButtonModule,
106
- MatFormFieldModule,
107
- MatInputModule,
108
- SelectedFileModule,
109
- FormValidationHandlerModule], exports: [FileUploadFieldComponent, FileDropzoneDirective] });
110
- FileUploadFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldModule, imports: [[
111
- CommonModule,
112
- FieldContainerModule,
113
- ReactiveFormsModule,
114
- MatIconModule,
115
- MatButtonModule,
116
- MatFormFieldModule,
117
- MatInputModule,
118
- SelectedFileModule,
119
- FormValidationHandlerModule,
120
- ]] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FileUploadFieldModule, decorators: [{
122
- type: NgModule,
123
- args: [{
124
- imports: [
87
+ args: [{ selector: 'crispr-file-upload-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
125
88
  CommonModule,
126
- FieldContainerModule,
89
+ FieldContainerComponent,
127
90
  ReactiveFormsModule,
128
91
  MatIconModule,
129
92
  MatButtonModule,
130
93
  MatFormFieldModule,
131
94
  MatInputModule,
132
- SelectedFileModule,
95
+ SelectedFileComponent,
133
96
  FormValidationHandlerModule,
134
- ],
135
- exports: [
136
- FileUploadFieldComponent,
137
97
  FileDropzoneDirective
138
- ],
139
- declarations: [
140
- FileUploadFieldComponent,
141
- FileDropzoneDirective
142
- ]
143
- }]
144
- }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztB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QUFDLFdBQVc7O0FBbUZ4QixNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBckdyQix3QkFBd0IsRUFrR2pDLHFCQUFxQixhQWhCckIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQiwyQkFBMkIsYUExRmxCLHdCQUF3QixFQThGakMscUJBQXFCO21IQU9aLHFCQUFxQixZQXBCdkI7WUFDUCxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLDJCQUEyQjtTQUM1QjsyRkFVVSxxQkFBcUI7a0JBckJqQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRTt3QkFDWix3QkFBd0I7d0JBQ3hCLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIE9uSW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBOZ01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSB9IGZyb20gJ0B0ZnQvZm9ybS12YWxpZGF0aW9uLWhhbmRsZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJNb2R1bGUgfSBmcm9tICcuLi8uLi9maWVsZC1jb250YWluZXIvZmllbGQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEZpbGVVcGxvYWRGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWxlLXVwbG9hZC1maWVsZC5jb25maWcnO1xuaW1wb3J0IHsgU2VsZWN0ZWRGaWxlTW9kdWxlIH0gZnJvbSAnLi4vc2VsZWN0ZWQtZmlsZS9zZWxlY3RlZC1maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlRHJvcHpvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2ZpbGUtZHJvcHpvbmUuZGlyZWN0aXZlJztcblxuY29uc3QgRmlsZVVwbG9hZEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48RmlsZVVwbG9hZEZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1maWxlLXVwbG9hZC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGaWxlVXBsb2FkRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8RmlsZVVwbG9hZEZpZWxkQ29uZmlnPiA9IHtcbiAgICBhbGxvd011bHRpcGxlRmlsZXM6IGZhbHNlLFxuICAgIGFjY2VwdGVkVHlwZXM6ICcqLionLFxuICAgIGRyb3Bab25lVGV4dDogJ0RST1AgRklMRSBIRVJFJyxcbiAgICBzZWxlY3RGaWxlc0J1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNlbGVjdEJ1dHRvblRleHQ6ICdTRUxFQ1QnLFxuICAgIHNob3dDbGVhckZpbGVzQnV0dG9uOiB0cnVlLFxuICAgIGNsZWFyRmlsZXNCdXR0b25UZXh0OiAnQ0xFQVInLFxuICAgIHVwbG9hZEJ1dHRvblRleHQ6ICdVUExPQUQnLFxuICAgIHVwbG9hZEJ1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNob3dVcGxvYWRQcm9ncmVzczogZmFsc2UsXG4gICAgZGlzYWJsZU9uVXBsb2FkOiB0cnVlXG4gIH1cblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXRSZWY6IEVsZW1lbnRSZWZcblxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdDtcblxuICBpc1VwbG9hZGVkID0gZmFsc2U7XG5cbiAgZmlsZVByb2dyZXNzOiBPYnNlcnZhYmxlPG51bWJlcj5bXSA9IFtdO1xuICBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLy8gbmdDb250cm9sOiBOZ0NvbnRyb2wgPSBudWxsO1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgLy8gU2V0dGluZyB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgdXNpbmdcbiAgICAgIC8vIHRoZSBwcm92aWRlcnMpIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFja1xuICAgID8gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFjayh0aGlzLmdyb3VwLCB0aGlzLmNvbmZpZylcbiAgICA6IG9mKGZhbHNlKTtcbiAgfVxuXG5cbiAgZmlsZXNDaGFuZ2VkKGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGggPiAwICkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gZmlsZXNcbiAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKGZpbGVzKTtcbiAgICB9XG4gIH1cblxuICB1cGxvYWRGaWxlcygpIHtcbiAgICBpZih0aGlzLnNlbGVjdGVkRmlsZXMgJiYgdGhpcy5jb25maWcudXBsb2FkRmlsZXMpIHtcbiAgICAgIHRoaXMuaXNVcGxvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNvbmZpZy51cGxvYWRGaWxlcyh0aGlzLmdyb3VwLCB0aGlzLnNlbGVjdGVkRmlsZXMsIHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0RmlsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKG51bGwpO1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGZhbHNlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSggdmFsdWU6IG51bGwgKSB7XG4gICAgLy8gY2xlYXIgZmlsZSBpbnB1dFxuICAgIC8vIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgLy8gdGhpcy5maWxlID0gbnVsbDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiAoKSA9PiB2b2lkICkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogKCkgPT4gdm9pZCApIHtcbiAgfVxufVxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBTZWxlY3RlZEZpbGVNb2R1bGUsXG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50LFxuICAgIEZpbGVEcm9wem9uZURpcmVjdGl2ZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQsXG4gICAgRmlsZURyb3B6b25lRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZEZpZWxkTW9kdWxlIHtcbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgW2NyaXNwckZpbGVEcm9wem9uZV09XCIhKGRpc2FibGVkJCB8IGFzeW5jKSAmJiAhKGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZClcIlxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICAgIChmaWxlRHJvcCk9XCJmaWxlc0NoYW5nZWQoJGV2ZW50KVwiPlxuXG4gICAgPGlucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIi8+XG4gICAgPGlucHV0XG4gICAgICAjZmlsZUlucHV0XG4gICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIlxuICAgICAgW2FjY2VwdF09XCJjb25maWcuYWNjZXB0ZWRUeXBlc1wiXG4gICAgICBbbXVsdGlwbGVdPVwiY29uZmlnLmFsbG93TXVsdGlwbGVGaWxlc1wiXG4gICAgICAoY2hhbmdlKT1cImZpbGVzQ2hhbmdlZCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiLz5cbiAgICA8bWF0LWxhYmVsPnt7Y29uZmlnLmxhYmVsfX08L21hdC1sYWJlbD5cblxuICAgIDxkaXYgKm5nSWY9XCIhKHNlbGVjdGVkRmlsZXM/Lmxlbmd0aCA+IDApOyBlbHNlIHNlbGVjdGVkRmlsZUxpc3RcIiAgY2xhc3M9XCJkcm9wLWluZm9cIj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImRyb3AtaWNvblwiIGlubGluZT1cInRydWVcIj5jbG91ZF91cGxvYWQ8L21hdC1pY29uPlxuICAgICAgPGgyIGNsYXNzPVwibWF0LWgyXCI+e3tjb25maWcuZHJvcFpvbmVUZXh0fX08L2gyPlxuICAgICAgb3JcbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZFwiXG4gICAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCI+XG4gICAgICAgIHt7Y29uZmlnLnNlbGVjdEJ1dHRvblRleHR9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNzZWxlY3RlZEZpbGVMaXN0PlxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWZpbGVzLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZXMtbGlzdFwiPlxuICAgICAgICAgIDxjcmlzcHItc2VsZWN0ZWQtZmlsZVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2Ygc2VsZWN0ZWRGaWxlczsgbGV0IGkgPSBpbmRleDtcIlxuICAgICAgICAgICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvciA9PT0gJ3ByaW1hcnknID8gJ2FjY2VudCcgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgW2ZpbGVOYW1lXT1cImZpbGUubmFtZVwiXG4gICAgICAgICAgICBbc2hvd1Byb2dyZXNzXT1cImNvbmZpZy5zaG93VXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cImZpbGVQcm9ncmVzcyAmJiAoZmlsZVByb2dyZXNzW2ldIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPC9jcmlzcHItc2VsZWN0ZWQtZmlsZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiICpuZ0lmPVwic2VsZWN0ZWRGaWxlcz8ubGVuZ3RoID4gMFwiPlxuXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgKGNsaWNrKT1cInJlc2V0RmlsZUlucHV0KClcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiKGRpc2FibGVkJCB8IGFzeW5jKSB8fCAoY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkKVwiXG4gICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIFNlbGVjdGVkIEZpbGUocylcIj5cbiAgICAgIHt7Y29uZmlnLmNsZWFyRmlsZXNCdXR0b25UZXh0fX1cbiAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhIWNvbmZpZy51cGxvYWRGaWxlc1wiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICBjbGFzcz1cImZpbGUtaW5wdXQtYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IChjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWQpXCJcbiAgICAgIChjbGljayk9XCJ1cGxvYWRGaWxlcygpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLnVwbG9hZEJ1dHRvblRleHRcIj5cbiAgICAgIHt7IGNvbmZpZy51cGxvYWRCdXR0b25UZXh0IH19XG4gICAgPC9idXR0b24+XG5cbiAgPC9kaXY+XG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG4iXX0=
98
+ ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"] }]
99
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
100
+ type: Optional
101
+ }, {
102
+ type: Self
103
+ }] }]; }, propDecorators: { fileInputRef: [{
104
+ type: ViewChild,
105
+ args: ['fileInput']
106
+ }] } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8s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d0I7a0JBbkJwQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IscUJBQXFCO3FCQUN0Qjs7MEJBK0JFLFFBQVE7OzBCQUFJLElBQUk7NENBWEssWUFBWTtzQkFBbkMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBPbkluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUgfSBmcm9tICdAdGZ0L2Zvcm0tdmFsaWRhdGlvbi1oYW5kbGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4sIENyaXNwckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RzJztcbmltcG9ydCB7IEZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZmllbGQtY29udGFpbmVyL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUgeyBGaWxlVXBsb2FkRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQtZmllbGQuY29uZmlnJztcbmltcG9ydCB7IFNlbGVjdGVkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdGVkLWZpbGUvc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZURyb3B6b25lRGlyZWN0aXZlIH0gZnJvbSAnLi9maWxlLWRyb3B6b25lLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IEZpbGVVcGxvYWRGaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPEZpbGVVcGxvYWRGaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZmlsZS11cGxvYWQtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBTZWxlY3RlZEZpbGVDb21wb25lbnQsXG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlLFxuICAgIEZpbGVEcm9wem9uZURpcmVjdGl2ZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGaWxlVXBsb2FkRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8RmlsZVVwbG9hZEZpZWxkQ29uZmlnPiA9IHtcbiAgICBhbGxvd011bHRpcGxlRmlsZXM6IGZhbHNlLFxuICAgIGFjY2VwdGVkVHlwZXM6ICcqLionLFxuICAgIGRyb3Bab25lVGV4dDogJ0RST1AgRklMRSBIRVJFJyxcbiAgICBzZWxlY3RGaWxlc0J1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNlbGVjdEJ1dHRvblRleHQ6ICdTRUxFQ1QnLFxuICAgIHNob3dDbGVhckZpbGVzQnV0dG9uOiB0cnVlLFxuICAgIGNsZWFyRmlsZXNCdXR0b25UZXh0OiAnQ0xFQVInLFxuICAgIHVwbG9hZEJ1dHRvblRleHQ6ICdVUExPQUQnLFxuICAgIHVwbG9hZEJ1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNob3dVcGxvYWRQcm9ncmVzczogZmFsc2UsXG4gICAgZGlzYWJsZU9uVXBsb2FkOiB0cnVlXG4gIH1cblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXRSZWY6IEVsZW1lbnRSZWZcblxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdDtcblxuICBpc1VwbG9hZGVkID0gZmFsc2U7XG5cbiAgZmlsZVByb2dyZXNzOiBPYnNlcnZhYmxlPG51bWJlcj5bXSA9IFtdO1xuICBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLy8gbmdDb250cm9sOiBOZ0NvbnRyb2wgPSBudWxsO1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgLy8gU2V0dGluZyB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgdXNpbmdcbiAgICAgIC8vIHRoZSBwcm92aWRlcnMpIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFja1xuICAgID8gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFjayh0aGlzLmdyb3VwLCB0aGlzLmNvbmZpZylcbiAgICA6IG9mKGZhbHNlKTtcbiAgfVxuXG5cbiAgZmlsZXNDaGFuZ2VkKGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGggPiAwICkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gZmlsZXNcbiAgICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKGZpbGVzKTtcbiAgICB9XG4gIH1cblxuICB1cGxvYWRGaWxlcygpIHtcbiAgICBpZih0aGlzLnNlbGVjdGVkRmlsZXMgJiYgdGhpcy5jb25maWcudXBsb2FkRmlsZXMpIHtcbiAgICAgIHRoaXMuaXNVcGxvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLmNvbmZpZy51cGxvYWRGaWxlcyh0aGlzLmdyb3VwLCB0aGlzLnNlbGVjdGVkRmlsZXMsIHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0RmlsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIHRoaXMuY29udHJvbC5wYXRjaFZhbHVlKG51bGwpO1xuICAgIHRoaXMuaXNVcGxvYWRlZCA9IGZhbHNlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSggdmFsdWU6IG51bGwgKSB7XG4gICAgLy8gY2xlYXIgZmlsZSBpbnB1dFxuICAgIC8vIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgLy8gdGhpcy5maWxlID0gbnVsbDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiAoKSA9PiB2b2lkICkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogKCkgPT4gdm9pZCApIHtcbiAgfVxufVxuIiwiPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICBbY3Jpc3ByRmlsZURyb3B6b25lXT1cIiEoZGlzYWJsZWQkIHwgYXN5bmMpICYmICEoY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkKVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gICAgKGZpbGVEcm9wKT1cImZpbGVzQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgICA8aW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiLz5cbiAgICA8aW5wdXRcbiAgICAgICNmaWxlSW5wdXRcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICBbYWNjZXB0XT1cImNvbmZpZy5hY2NlcHRlZFR5cGVzXCJcbiAgICAgIFttdWx0aXBsZV09XCJjb25maWcuYWxsb3dNdWx0aXBsZUZpbGVzXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZXNDaGFuZ2VkKCRldmVudC50YXJnZXQuZmlsZXMpXCIvPlxuICAgIDxtYXQtbGFiZWw+e3tjb25maWcubGFiZWx9fTwvbWF0LWxhYmVsPlxuXG4gICAgPGRpdiAqbmdJZj1cIiEoc2VsZWN0ZWRGaWxlcz8ubGVuZ3RoID4gMCk7IGVsc2Ugc2VsZWN0ZWRGaWxlTGlzdFwiICBjbGFzcz1cImRyb3AtaW5mb1wiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZHJvcC1pY29uXCIgaW5saW5lPVwidHJ1ZVwiPmNsb3VkX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICA8aDIgY2xhc3M9XCJtYXQtaDJcIj57e2NvbmZpZy5kcm9wWm9uZVRleHR9fTwvaDI+XG4gICAgICBvclxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlZCQgfCBhc3luYykgfHwgY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICAgICAge3tjb25maWcuc2VsZWN0QnV0dG9uVGV4dH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkRmlsZUxpc3Q+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1maWxlcy1saXN0XCI+XG4gICAgICAgICAgPGNyaXNwci1zZWxlY3RlZC1maWxlXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yID09PSAncHJpbWFyeScgPyAnYWNjZW50JyA6ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbZmlsZU5hbWVdPVwiZmlsZS5uYW1lXCJcbiAgICAgICAgICAgIFtzaG93UHJvZ3Jlc3NdPVwiY29uZmlnLnNob3dVcGxvYWRQcm9ncmVzc1wiXG4gICAgICAgICAgICBbcHJvZ3Jlc3NdPVwiZmlsZVByb2dyZXNzICYmIChmaWxlUHJvZ3Jlc3NbaV0gfCBhc3luYylcIj5cbiAgICAgICAgICA8L2NyaXNwci1zZWxlY3RlZC1maWxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJjb25maWcuaGludCAmJiAoY29udHJvbC52YWxpZCB8fCAhY29udHJvbC50b3VjaGVkKVwiPnt7Y29uZmlnLmhpbnR9fTwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCIgKm5nSWY9XCJzZWxlY3RlZEZpbGVzPy5sZW5ndGggPiAwXCI+XG5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtYnV0dG9uXG4gICAgICAoY2xpY2spPVwicmVzZXRGaWxlSW5wdXQoKVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IChjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWQpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJSZW1vdmUgU2VsZWN0ZWQgRmlsZShzKVwiPlxuICAgICAge3tjb25maWcuY2xlYXJGaWxlc0J1dHRvblRleHR9fVxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIiEhY29uZmlnLnVwbG9hZEZpbGVzXCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgIGNsYXNzPVwiZmlsZS1pbnB1dC1idXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlZCQgfCBhc3luYykgfHwgKGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZClcIlxuICAgICAgKGNsaWNrKT1cInVwbG9hZEZpbGVzKClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcudXBsb2FkQnV0dG9uVGV4dFwiPlxuICAgICAge3sgY29uZmlnLnVwbG9hZEJ1dHRvblRleHQgfX1cbiAgICA8L2J1dHRvbj5cblxuICA8L2Rpdj5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,12 +1,11 @@
1
- import { Component, Input, ChangeDetectionStrategy, NgModule } from '@angular/core';
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { CrisprFieldComponent } from '../../abstracts';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { InfoModule } from '../info/info.component';
5
+ import { InfoComponent } from '../info/info.component';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../info/info.component";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/material/form-field";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/material/form-field";
10
9
  const defaultConfig = {
11
10
  typographyClass: 'mat-h3'
12
11
  };
@@ -16,39 +15,16 @@ export class HeadingComponent extends CrisprFieldComponent {
16
15
  this.defaultConfig = defaultConfig;
17
16
  }
18
17
  }
19
- HeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
- HeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: HeadingComponent, selector: "crispr-heading", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"], components: [{ type: i1.InfoComponent, selector: "crispr-info", inputs: ["info"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.MatSuffix, selector: "[matSuffix]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingComponent, decorators: [{
18
+ HeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
+ HeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: HeadingComponent, isStandalone: true, selector: "crispr-heading", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, decorators: [{
22
21
  type: Component,
23
- args: [{ selector: 'crispr-heading', changeDetection: ChangeDetectionStrategy.OnPush, template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"] }]
22
+ args: [{ selector: 'crispr-heading', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
23
+ CommonModule,
24
+ MatFormFieldModule,
25
+ InfoComponent
26
+ ], template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"] }]
24
27
  }], propDecorators: { config: [{
25
28
  type: Input
26
29
  }] } });
27
- export class HeadingModule {
28
- }
29
- HeadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- HeadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingModule, declarations: [HeadingComponent], imports: [CommonModule,
31
- MatFormFieldModule,
32
- InfoModule], exports: [HeadingComponent] });
33
- HeadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingModule, imports: [[
34
- CommonModule,
35
- MatFormFieldModule,
36
- InfoModule
37
- ]] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: HeadingModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- imports: [
42
- CommonModule,
43
- MatFormFieldModule,
44
- InfoModule
45
- ],
46
- exports: [
47
- HeadingComponent
48
- ],
49
- declarations: [
50
- HeadingComponent
51
- ]
52
- }]
53
- }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFcEQsTUFBTSxhQUFhLEdBQTJCO0lBQzVDLGVBQWUsRUFBRSxRQUFRO0NBQzFCLENBQUE7QUFPRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW1DO0lBTnpFOztRQVFFLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQy9COzs2R0FIWSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwyR0NoQjdCLDZPQVVBOzJGRE1hLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsTUFBTTtzQkFBZCxLQUFLOztBQWlCUixNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQWxCYixnQkFBZ0IsYUFNckIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixVQUFVLGFBUkwsZ0JBQWdCOzJHQWtCaEIsYUFBYSxZQWJiO1lBQ0wsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixVQUFVO1NBQ2I7MkZBU1EsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFVBQVU7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjtxQkFDbkI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjtxQkFDbkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgSGVhZGluZ0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkaW5nLmNvbmZpZyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBJbmZvTW9kdWxlIH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SGVhZGluZ0NvbmZpZz4gPSB7XG4gIHR5cG9ncmFwaHlDbGFzczogJ21hdC1oMydcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1oZWFkaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRpbmdDb21wb25lbnQgZXh0ZW5kcyBDcmlzcHJGaWVsZENvbXBvbmVudDxIZWFkaW5nQ29uZmlnPntcbiAgQElucHV0KCkgY29uZmlnOiBIZWFkaW5nQ29uZmlnO1xuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcbn1cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgSW5mb01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBIZWFkaW5nQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgSGVhZGluZ0NvbXBvbmVudFxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBIZWFkaW5nTW9kdWxlIHtcbn1cbiIsIiAgPGxhYmVsXG4gICAgKm5nSWY9XCIhIWNvbmZpZz8ubGFiZWxcIlxuICAgIFtuZ0NsYXNzXT1cImNvbmZpZy50eXBvZ3JhcGh5Q2xhc3NcIj5cbiAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICA8Y3Jpc3ByLWluZm9cbiAgICAgICpuZ0lmPVwiY29uZmlnLmluZm9cIlxuICAgICAgbWF0U3VmZml4XG4gICAgICBbaW5mb109XCJjb25maWcuaW5mb1wiPlxuICAgIDwvY3Jpc3ByLWluZm8+XG4gIDwvbGFiZWw+XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRXZELE1BQU0sYUFBYSxHQUEyQjtJQUM1QyxlQUFlLEVBQUUsUUFBUTtDQUMxQixDQUFBO0FBYUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFtQztJQVp6RTs7UUFjRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztLQUMvQjs7NkdBSFksZ0JBQWdCO2lHQUFoQixnQkFBZ0IsK0hDdEI3Qiw2T0FVQSwrRURPSSxZQUFZLGdPQUNaLGtCQUFrQixtR0FDbEIsYUFBYTsyRkFHSixnQkFBZ0I7a0JBWjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixhQUFhO3FCQUNkOzhCQUdRLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEhlYWRpbmdDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvaGVhZGluZy5jb25maWcnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJy4uL2luZm8vaW5mby5jb21wb25lbnQnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPEhlYWRpbmdDb25maWc+ID0ge1xuICB0eXBvZ3JhcGh5Q2xhc3M6ICdtYXQtaDMnXG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItaGVhZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGluZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkaW5nQ29tcG9uZW50IGV4dGVuZHMgQ3Jpc3ByRmllbGRDb21wb25lbnQ8SGVhZGluZ0NvbmZpZz57XG4gIEBJbnB1dCgpIGNvbmZpZzogSGVhZGluZ0NvbmZpZztcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG59XG4iLCIgIDxsYWJlbFxuICAgICpuZ0lmPVwiISFjb25maWc/LmxhYmVsXCJcbiAgICBbbmdDbGFzc109XCJjb25maWcudHlwb2dyYXBoeUNsYXNzXCI+XG4gICAge3sgY29uZmlnLmxhYmVsIH19XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuICA8L2xhYmVsPlxuIl19