special-forms 16.2.1 → 18.0.0-SNAPSHOT-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 (88) hide show
  1. package/esm2022/lib/components/index.mjs +13 -13
  2. package/esm2022/lib/components/special-autocomplete/special-autocomplete.component.mjs +75 -75
  3. package/esm2022/lib/components/special-autocomplete/special-autocomplete.interface.mjs +2 -2
  4. package/esm2022/lib/components/special-checkbox/special-checkbox.component.mjs +38 -36
  5. package/esm2022/lib/components/special-checkbox/special-checkbox.interface.mjs +3 -2
  6. package/esm2022/lib/components/special-datepicker/special-datepicker.component.mjs +42 -40
  7. package/esm2022/lib/components/special-datepicker/special-datepicker.interface.mjs +3 -2
  8. package/esm2022/lib/components/special-dropdown/special-dropdown.component.mjs +48 -47
  9. package/esm2022/lib/components/special-dropdown/special-dropdown.interface.mjs +3 -2
  10. package/esm2022/lib/components/special-form/special-form.component.mjs +99 -99
  11. package/esm2022/lib/components/special-form/special-form.module.mjs +78 -78
  12. package/esm2022/lib/components/special-input/special-input.component.mjs +55 -56
  13. package/esm2022/lib/components/special-input/special-input.interface.mjs +2 -2
  14. package/esm2022/lib/components/special-label/special-label.component.mjs +27 -27
  15. package/esm2022/lib/components/special-label/special-label.interface.mjs +2 -2
  16. package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +97 -97
  17. package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.mjs +2 -2
  18. package/esm2022/lib/components/special-richtext/special-richtext.component.mjs +57 -45
  19. package/esm2022/lib/components/special-richtext/special-richtext.interface.mjs +3 -2
  20. package/esm2022/lib/components/special-text-area/special-text-area.component.mjs +43 -44
  21. package/esm2022/lib/components/special-text-area/special-text-area.interface.mjs +2 -2
  22. package/esm2022/lib/components/special-upload/special-upload-viewer.pipe.mjs +93 -0
  23. package/esm2022/lib/components/special-upload/special-upload.component.mjs +73 -84
  24. package/esm2022/lib/components/special-upload/special-upload.interface.mjs +2 -2
  25. package/esm2022/lib/core/aux-data/control-types.enum.mjs +17 -17
  26. package/esm2022/lib/core/aux-data/input-types.mjs +15 -15
  27. package/esm2022/lib/core/forms/special-forms.mjs +240 -260
  28. package/esm2022/lib/core/interfaces/field-basics.interfaces.mjs +1 -1
  29. package/esm2022/lib/core/interfaces/form.interfaces.mjs +2 -2
  30. package/esm2022/lib/core/interfaces/special-control.interface.mjs +2 -2
  31. package/esm2022/lib/core/masks/currency.mask.mjs +10 -10
  32. package/esm2022/lib/core/masks/index.mjs +2 -2
  33. package/esm2022/lib/core/masks/number.mask.mjs +2 -2
  34. package/esm2022/lib/core/pipes/controls-list-pipe/controls-list.pipe.mjs +17 -17
  35. package/esm2022/lib/core/pipes/error-message-pipe/error.pipe.mjs +23 -23
  36. package/esm2022/lib/core/pipes/index.mjs +3 -3
  37. package/esm2022/lib/core/pipes/text-by-function/text-by-function.pipe.mjs +22 -22
  38. package/esm2022/lib/core/services/error-state-matcher/error-matcher.mjs +12 -12
  39. package/esm2022/lib/core/services/index.mjs +3 -3
  40. package/esm2022/lib/core/services/special-form-builder/special-form-builder.service.mjs +156 -156
  41. package/esm2022/public-api.mjs +12 -12
  42. package/esm2022/special-forms.mjs +4 -4
  43. package/fesm2022/special-forms.mjs +1109 -1037
  44. package/fesm2022/special-forms.mjs.map +1 -1
  45. package/index.d.ts +5 -5
  46. package/lib/components/index.d.ts +23 -23
  47. package/lib/components/special-autocomplete/special-autocomplete.component.d.ts +19 -19
  48. package/lib/components/special-autocomplete/special-autocomplete.interface.d.ts +19 -18
  49. package/lib/components/special-checkbox/special-checkbox.component.d.ts +12 -11
  50. package/lib/components/special-checkbox/special-checkbox.interface.d.ts +13 -12
  51. package/lib/components/special-datepicker/special-datepicker.component.d.ts +13 -12
  52. package/lib/components/special-datepicker/special-datepicker.interface.d.ts +12 -11
  53. package/lib/components/special-dropdown/special-dropdown.component.d.ts +11 -11
  54. package/lib/components/special-dropdown/special-dropdown.interface.d.ts +17 -16
  55. package/lib/components/special-form/special-form.component.d.ts +31 -31
  56. package/lib/components/special-form/special-form.module.d.ts +20 -20
  57. package/lib/components/special-input/special-input.component.d.ts +15 -15
  58. package/lib/components/special-input/special-input.interface.d.ts +17 -16
  59. package/lib/components/special-label/special-label.component.d.ts +13 -13
  60. package/lib/components/special-label/special-label.interface.d.ts +13 -12
  61. package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.d.ts +22 -22
  62. package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.d.ts +19 -18
  63. package/lib/components/special-richtext/special-richtext.component.d.ts +15 -17
  64. package/lib/components/special-richtext/special-richtext.interface.d.ts +11 -9
  65. package/lib/components/special-text-area/special-text-area.component.d.ts +13 -13
  66. package/lib/components/special-text-area/special-text-area.interface.d.ts +8 -7
  67. package/lib/components/special-upload/special-upload-viewer.pipe.d.ts +25 -0
  68. package/lib/components/special-upload/special-upload.component.d.ts +14 -21
  69. package/lib/components/special-upload/special-upload.interface.d.ts +13 -11
  70. package/lib/core/aux-data/control-types.enum.d.ts +16 -16
  71. package/lib/core/aux-data/input-types.d.ts +2 -2
  72. package/lib/core/forms/special-forms.d.ts +108 -123
  73. package/lib/core/interfaces/field-basics.interfaces.d.ts +22 -22
  74. package/lib/core/interfaces/form.interfaces.d.ts +58 -55
  75. package/lib/core/interfaces/special-control.interface.d.ts +4 -4
  76. package/lib/core/masks/currency.mask.d.ts +1 -1
  77. package/lib/core/masks/index.d.ts +2 -2
  78. package/lib/core/masks/number.mask.d.ts +1 -1
  79. package/lib/core/pipes/controls-list-pipe/controls-list.pipe.d.ts +11 -11
  80. package/lib/core/pipes/error-message-pipe/error.pipe.d.ts +12 -12
  81. package/lib/core/pipes/index.d.ts +3 -3
  82. package/lib/core/pipes/text-by-function/text-by-function.pipe.d.ts +7 -7
  83. package/lib/core/services/error-state-matcher/error-matcher.d.ts +8 -8
  84. package/lib/core/services/index.d.ts +3 -3
  85. package/lib/core/services/special-form-builder/special-form-builder.service.d.ts +25 -25
  86. package/lib/styles/tailwind-final.scss +173 -5
  87. package/package.json +9 -9
  88. package/public-api.d.ts +9 -9
@@ -1,44 +1,43 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy } from '@angular/core';
3
- import { Component, EventEmitter, Input, Output } from '@angular/core';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { InputMaskModule } from '@ngneat/input-mask';
9
- import { ErrorMessagePipe } from '../../core/pipes';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "@angular/material/input";
13
- import * as i3 from "@angular/material/form-field";
14
- import * as i4 from "@angular/cdk/text-field";
15
- import * as i5 from "@angular/material/icon";
16
- import * as i6 from "@angular/forms";
17
- export class SpecialTextAreaComponent {
18
- constructor() {
19
- this.onBlur = new EventEmitter();
20
- this.onEnter = new EventEmitter();
21
- }
22
- ngOnInit() { }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SpecialTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SpecialTextAreaComponent, isStandalone: true, selector: "sp-text-area", inputs: { control: "control" }, outputs: { onBlur: "onBlur", onEnter: "onEnter" }, ngImport: i0, template: "<mat-form-field\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n>\r\n <mat-label *ngIf=\"control.label\">{{ control.label }}</mat-label>\r\n <textarea\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n matInput\r\n (blur)=\"onBlur.emit(control.value)\"\r\n (keydown.enter)=\"onEnter.emit(control.value)\"\r\n [type]=\"control.settings?.type || 'text'\"\r\n [readonly]=\"control.readOnly\"\r\n [required]=\"control.required\"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n ></textarea>\r\n <mat-icon *ngIf=\"control.icon\" matPrefix>{{ control.icon }} </mat-icon>\r\n <mat-hint>\r\n {{ control.tooltip }}\r\n </mat-hint>\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.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: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SpecialTextAreaComponent, decorators: [{
27
- type: Component,
28
- args: [{ standalone: true, selector: 'sp-text-area', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
29
- InputMaskModule,
30
- CommonModule,
31
- MatInputModule,
32
- MatIconModule,
33
- ReactiveFormsModule,
34
- MatButtonModule,
35
- ErrorMessagePipe,
36
- ], template: "<mat-form-field\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n>\r\n <mat-label *ngIf=\"control.label\">{{ control.label }}</mat-label>\r\n <textarea\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n matInput\r\n (blur)=\"onBlur.emit(control.value)\"\r\n (keydown.enter)=\"onEnter.emit(control.value)\"\r\n [type]=\"control.settings?.type || 'text'\"\r\n [readonly]=\"control.readOnly\"\r\n [required]=\"control.required\"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n ></textarea>\r\n <mat-icon *ngIf=\"control.icon\" matPrefix>{{ control.icon }} </mat-icon>\r\n <mat-hint>\r\n {{ control.tooltip }}\r\n </mat-hint>\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n</mat-form-field>\r\n", styles: [":host{display:contents}\n"] }]
37
- }], ctorParameters: function () { return []; }, propDecorators: { control: [{
38
- type: Input
39
- }], onBlur: [{
40
- type: Output
41
- }], onEnter: [{
42
- type: Output
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFtQnBELE1BQU0sT0FBTyx3QkFBd0I7SUFNbkM7UUFIVSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0MsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNDLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7OEdBUlIsd0JBQXdCO2tHQUF4Qix3QkFBd0IsMkpDNUJyQywyaENBNkJBLGtGRFZJLGVBQWUsOEJBQ2YsWUFBWSxrSUFDWixjQUFjLDJvQ0FDZCxhQUFhLG1MQUNiLG1CQUFtQixzeUJBQ25CLGVBQWUsMEJBQ2YsZ0JBQWdCOzsyRkFHUCx3QkFBd0I7a0JBaEJwQyxTQUFTO2lDQUNHLElBQUksWUFDTCxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sV0FDdkM7d0JBQ04sZUFBZTt3QkFDZixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjswRUFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gJ0BuZ25lYXQvaW5wdXQtbWFzayc7XHJcbmltcG9ydCB7IFNwZWNpYWxGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybXMvc3BlY2lhbC1mb3Jtcyc7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICcuLi8uLi9jb3JlL3BpcGVzJztcclxuaW1wb3J0IHsgSVRleHRBcmVhRmllbGQgfSBmcm9tICcuL3NwZWNpYWwtdGV4dC1hcmVhLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOnRydWUsXHJcbiAgc2VsZWN0b3I6ICdzcC10ZXh0LWFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVjaWFsLXRleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOltcclxuICAgIElucHV0TWFza01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxUZXh0QXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IFNwZWNpYWxGb3JtQ29udHJvbDxJVGV4dEFyZWFGaWVsZD47XHJcblxyXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkVudGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkXHJcbiAgKm5nSWY9XCJjb250cm9sICYmICFjb250cm9sLmhpZGRlblwiXHJcbiAgW2lkXT1cImNvbnRyb2wuZWxlbWVudElkXCJcclxuICBjbGFzcz1cInNwZWNpYWwtdGV4dGFyZWEgdy1mdWxsIG1iLTMge3sgY29udHJvbC5zdHlsZUNsYXNzZXMgfX1cIlxyXG4gIFthcHBlYXJhbmNlXT1cImNvbnRyb2wubGFiZWwgPyAnb3V0bGluZScgOiAnZmlsbCdcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbnRyb2wubGFiZWxcIj57eyBjb250cm9sLmxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgPHRleHRhcmVhXHJcbiAgICBjZGtUZXh0YXJlYUF1dG9zaXplXHJcbiAgICAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcclxuICAgIGNka0F1dG9zaXplTWluUm93cz1cIjFcIlxyXG4gICAgY2RrQXV0b3NpemVNYXhSb3dzPVwiNVwiXHJcbiAgICBtYXRJbnB1dFxyXG4gICAgKGJsdXIpPVwib25CbHVyLmVtaXQoY29udHJvbC52YWx1ZSlcIlxyXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlci5lbWl0KGNvbnRyb2wudmFsdWUpXCJcclxuICAgIFt0eXBlXT1cImNvbnRyb2wuc2V0dGluZ3M/LnR5cGUgfHwgJ3RleHQnXCJcclxuICAgIFtyZWFkb25seV09XCJjb250cm9sLnJlYWRPbmx5XCJcclxuICAgIFtyZXF1aXJlZF09XCJjb250cm9sLnJlcXVpcmVkXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlaG9sZGVyXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICA+PC90ZXh0YXJlYT5cclxuICA8bWF0LWljb24gKm5nSWY9XCJjb250cm9sLmljb25cIiBtYXRQcmVmaXg+e3sgY29udHJvbC5pY29uIH19IDwvbWF0LWljb24+XHJcbiAgPG1hdC1oaW50PlxyXG4gICAge3sgY29udHJvbC50b29sdGlwIH19XHJcbiAgPC9tYXQtaGludD5cclxuICA8bWF0LWVycm9yPlxyXG4gICAge3sgY29udHJvbC5lcnJvcnMgfCBlcnJvck1lc3NhZ2U6IGNvbnRyb2wuZXJyb3JNZXNzYWdlcyB9fVxyXG4gIDwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatInputModule } from '@angular/material/input';
8
+ import { InputMaskModule } from '@ngneat/input-mask';
9
+ import { ErrorMessagePipe } from '../../core/pipes';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/material/input";
12
+ import * as i2 from "@angular/material/form-field";
13
+ import * as i3 from "@angular/cdk/text-field";
14
+ import * as i4 from "@angular/material/icon";
15
+ import * as i5 from "@angular/forms";
16
+ export class SpecialTextAreaComponent {
17
+ constructor() {
18
+ this.onBlur = new EventEmitter();
19
+ this.onEnter = new EventEmitter();
20
+ }
21
+ ngOnInit() { }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialTextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: SpecialTextAreaComponent, isStandalone: true, selector: "sp-text-area", inputs: { control: "control" }, outputs: { onBlur: "onBlur", onEnter: "onEnter" }, ngImport: i0, template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <textarea\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n matInput\r\n (blur)=\"onBlur.emit(control.value)\"\r\n (keydown.enter)=\"onEnter.emit(control.value)\"\r\n [readonly]=\"control.readOnly\"\r\n [required]=\"control.required\"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n ></textarea>\r\n @if (control.icon) {\r\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: InputMaskModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialTextAreaComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ standalone: true, selector: 'sp-text-area', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
28
+ InputMaskModule,
29
+ CommonModule,
30
+ MatInputModule,
31
+ MatIconModule,
32
+ ReactiveFormsModule,
33
+ MatButtonModule,
34
+ ErrorMessagePipe,
35
+ ], template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-textarea w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <textarea\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"1\"\r\n cdkAutosizeMaxRows=\"5\"\r\n matInput\r\n (blur)=\"onBlur.emit(control.value)\"\r\n (keydown.enter)=\"onEnter.emit(control.value)\"\r\n [readonly]=\"control.readOnly\"\r\n [required]=\"control.required\"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n ></textarea>\r\n @if (control.icon) {\r\n <mat-icon matPrefix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}\n"] }]
36
+ }], ctorParameters: () => [], propDecorators: { control: [{
37
+ type: Input
38
+ }], onBlur: [{
39
+ type: Output
40
+ }], onEnter: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7OztBQW1CcEQsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQztRQUhVLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0MsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs4R0FSUix3QkFBd0I7a0dBQXhCLHdCQUF3QiwySkM1QnJDLDRtQ0FtQ0Esa0ZEaEJJLGVBQWUsOEJBQ2YsWUFBWSw4QkFDWixjQUFjLDJvQ0FDZCxhQUFhLG1MQUNiLG1CQUFtQixzeUJBQ25CLGVBQWUsMEJBQ2YsZ0JBQWdCOzsyRkFHUCx3QkFBd0I7a0JBaEJwQyxTQUFTO2lDQUNHLElBQUksWUFDTCxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sV0FDdkM7d0JBQ04sZUFBZTt3QkFDZixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjt3REFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IElucHV0TWFza01vZHVsZSB9IGZyb20gJ0BuZ25lYXQvaW5wdXQtbWFzayc7XHJcbmltcG9ydCB7IFNwZWNpYWxGb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybXMvc3BlY2lhbC1mb3Jtcyc7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICcuLi8uLi9jb3JlL3BpcGVzJztcclxuaW1wb3J0IHsgSVRleHRBcmVhRmllbGQgfSBmcm9tICcuL3NwZWNpYWwtdGV4dC1hcmVhLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzdGFuZGFsb25lOnRydWUsXHJcbiAgc2VsZWN0b3I6ICdzcC10ZXh0LWFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVjaWFsLXRleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BlY2lhbC10ZXh0LWFyZWEuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOltcclxuICAgIElucHV0TWFza01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWNpYWxUZXh0QXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IFNwZWNpYWxGb3JtQ29udHJvbDxJVGV4dEFyZWFGaWVsZD47XHJcblxyXG4gIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkVudGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcbn1cclxuIiwiQGlmIChjb250cm9sICYmICFjb250cm9sLmhpZGRlbikge1xyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgW2lkXT1cImNvbnRyb2wuZWxlbWVudElkXCJcclxuICAgIGNsYXNzPVwic3BlY2lhbC10ZXh0YXJlYSB3LWZ1bGwgbWItMyB7eyBjb250cm9sLnN0eWxlQ2xhc3NlcyB9fVwiXHJcbiAgICBbYXBwZWFyYW5jZV09XCJjb250cm9sLmxhYmVsID8gJ291dGxpbmUnIDogJ2ZpbGwnXCJcclxuICA+XHJcbiAgICBAaWYgKGNvbnRyb2wubGFiZWwpIHtcclxuICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICB7eyBjb250cm9sLmxhYmVsIH19XHJcbiAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgfVxyXG4gICAgPHRleHRhcmVhXHJcbiAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXHJcbiAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjFcIlxyXG4gICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCI1XCJcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgKGJsdXIpPVwib25CbHVyLmVtaXQoY29udHJvbC52YWx1ZSlcIlxyXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyLmVtaXQoY29udHJvbC52YWx1ZSlcIlxyXG4gICAgICBbcmVhZG9ubHldPVwiY29udHJvbC5yZWFkT25seVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJjb250cm9sLnJlcXVpcmVkXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wucGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICA+PC90ZXh0YXJlYT5cclxuICAgIEBpZiAoY29udHJvbC5pY29uKSB7XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRQcmVmaXg+e3sgY29udHJvbC5pY29uIH19PC9tYXQtaWNvbj5cclxuICAgIH1cclxuICAgIEBpZiAoY29udHJvbC50b29sdGlwKSB7XHJcbiAgICAgIDxtYXQtaGludD57eyBjb250cm9sLnRvb2x0aXAgfX08L21hdC1oaW50PlxyXG4gICAgfVxyXG4gICAgPG1hdC1lcnJvcj5cclxuICAgICAge3sgY29udHJvbC5lcnJvcnMgfCBlcnJvck1lc3NhZ2U6IGNvbnRyb2wuZXJyb3JNZXNzYWdlcyB9fVxyXG4gICAgPC9tYXQtZXJyb3I+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElUZXh0QXJlYVNldHRpbmdzID0ge307XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0QXJlYUZpZWxkIGV4dGVuZHMgSUZpZWxkRGF0YSB7XHJcbiAgc2V0dGluZ3M6IElUZXh0QXJlYVNldHRpbmdzO1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMudGV4dEFyZWE7XHJcbn1cclxuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC10ZXh0LWFyZWEvc3BlY2lhbC10ZXh0LWFyZWEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElUZXh0QXJlYVNldHRpbmdzID0ge307XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0QXJlYUZpZWxkIGV4dGVuZHMgSUZpZWxkRGF0YSB7XHJcbiAgc2V0dGluZ3M6IElUZXh0QXJlYVNldHRpbmdzO1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMudGV4dEFyZWE7XHJcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,93 @@
1
+ import { inject, Pipe } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ export class previewImageUrlPipe {
5
+ constructor() {
6
+ this.imageTypeFormats = [
7
+ 'jpeg',
8
+ 'jpg',
9
+ 'png',
10
+ 'gif',
11
+ 'bmp',
12
+ 'webp',
13
+ 'svg',
14
+ ];
15
+ this.docFormats = ['doc', 'docx'];
16
+ this.pdfIcon = `
17
+ <svg version="1.1" id="_x34_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512" xml:space="preserve" width="800px" height="800px" fill="#000000">
18
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
19
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
20
+ <g id="SVGRepo_iconCarrier"> <g> <polygon style="fill:#FFFEFE;" points="475.435,117.825 475.435,512 47.791,512 47.791,0.002 357.613,0.002 412.491,54.881 "/> <rect x="36.565" y="34.295" style="fill:#B43331;" width="205.097" height="91.768"/> <g> <g> <path style="fill:#FFFEFE;" d="M110.133,64.379c-0.905-2.186-2.111-4.146-3.769-5.804c-1.659-1.658-3.694-3.015-6.031-3.92 c-2.412-0.98-5.127-1.432-8.141-1.432H69.652v58.195h11.383V89.481h11.157c3.015,0,5.729-0.452,8.141-1.432 c2.337-0.905,4.371-2.261,6.031-3.92c1.658-1.658,2.865-3.543,3.769-5.804c0.828-2.186,1.281-4.523,1.281-6.935 C111.413,68.902,110.961,66.565,110.133,64.379z M97.845,77.118c-1.508,1.432-3.618,2.186-6.182,2.186H81.035V63.323h10.628 c2.564,0,4.674,0.754,6.182,2.261c1.432,1.432,2.185,3.392,2.185,5.804C100.031,73.726,99.277,75.686,97.845,77.118z"/> <path style="fill:#FFFEFE;" d="M164.558,75.761c-0.075-2.035-0.15-3.844-0.377-5.503c-0.225-1.659-0.603-3.166-1.131-4.598 c-0.527-1.357-1.206-2.714-2.111-3.92c-2.035-2.94-4.522-5.126-7.312-6.483c-2.864-1.357-6.256-2.035-10.252-2.035H122.42v58.195 h20.956c3.996,0,7.388-0.678,10.252-2.035c2.79-1.357,5.277-3.543,7.312-6.483c0.905-1.206,1.584-2.563,2.111-3.92 c0.528-1.432,0.905-2.94,1.131-4.598c0.227-1.658,0.301-3.468,0.377-5.503c0.075-1.96,0.075-4.146,0.075-6.558 C164.633,79.908,164.633,77.721,164.558,75.761z M153.175,88.2c0,1.734-0.15,3.091-0.302,4.297 c-0.151,1.131-0.376,2.186-0.678,2.94c-0.301,0.829-0.754,1.583-1.281,2.261c-1.885,2.412-4.749,3.543-8.518,3.543h-8.668V63.323 h8.668c3.769,0,6.634,1.206,8.518,3.618c0.528,0.678,0.98,1.357,1.281,2.186c0.302,0.829,0.528,1.809,0.678,3.015 c0.152,1.131,0.302,2.563,0.302,4.221c0.075,1.659,0.075,3.694,0.075,5.955C153.251,84.581,153.251,86.541,153.175,88.2z"/> <path style="fill:#FFFEFE;" d="M213.18,63.323V53.222h-38.37v58.195h11.383V87.823h22.992V77.646h-22.992V63.323H213.18z"/> </g> <g> <path style="fill:#FFFEFE;" d="M110.133,64.379c-0.905-2.186-2.111-4.146-3.769-5.804c-1.659-1.658-3.694-3.015-6.031-3.92 c-2.412-0.98-5.127-1.432-8.141-1.432H69.652v58.195h11.383V89.481h11.157c3.015,0,5.729-0.452,8.141-1.432 c2.337-0.905,4.371-2.261,6.031-3.92c1.658-1.658,2.865-3.543,3.769-5.804c0.828-2.186,1.281-4.523,1.281-6.935 C111.413,68.902,110.961,66.565,110.133,64.379z M97.845,77.118c-1.508,1.432-3.618,2.186-6.182,2.186H81.035V63.323h10.628 c2.564,0,4.674,0.754,6.182,2.261c1.432,1.432,2.185,3.392,2.185,5.804C100.031,73.726,99.277,75.686,97.845,77.118z"/> </g> </g> <polygon style="opacity:0.08;fill:#040000;" points="475.435,117.825 475.435,512 47.791,512 47.791,419.581 247.706,219.667 259.541,207.832 266.099,201.273 277.029,190.343 289.995,177.377 412.491,54.881 "/> <polygon style="fill:#BBBBBA;" points="475.435,117.836 357.6,117.836 357.6,0 "/> <g> <path style="fill:#B43331;" d="M414.376,370.658c-2.488-4.372-5.88-8.518-10.101-12.287c-3.467-3.166-7.538-6.106-12.137-8.82 c-18.543-10.93-45.003-16.207-80.961-16.207h-3.618c-1.96-1.809-3.996-3.618-6.106-5.503 c-13.644-12.287-24.499-25.63-32.942-40.48c16.583-36.561,24.499-69.126,23.519-96.867c-0.151-4.674-0.83-9.046-2.036-13.117 c-1.808-6.558-4.824-12.363-9.046-17.112c-0.075-0.075-0.075-0.075-0.15-0.151c-6.709-7.538-16.056-11.835-25.555-11.835 c-9.574,0-18.393,4.146-24.802,11.76c-6.331,7.538-9.724,17.866-9.875,30.002c-0.225,18.544,1.282,36.108,4.448,52.315 c0.301,1.282,0.528,2.563,0.829,3.844c3.166,14.7,7.84,28.645,13.871,41.611c-7.086,14.398-14.248,26.836-19.222,35.279 c-3.769,6.408-7.916,13.117-12.213,19.826c-19.373,3.468-35.807,7.689-50.129,12.966c-19.374,7.011-34.903,16.056-46.059,26.836 c-7.238,6.935-12.137,14.323-14.55,22.012c-2.563,7.915-2.411,15.83,0.453,22.916c2.638,6.558,7.387,12.061,13.719,15.83 c1.508,0.905,3.091,1.658,4.749,2.337c4.825,1.96,10.102,3.015,15.604,3.015c12.74,0,25.856-5.503,36.938-15.378 c20.654-18.469,41.988-48.169,54.576-66.94c10.327-1.583,21.559-2.94,34.224-4.297c14.927-1.508,28.118-2.412,40.104-2.865 c3.694,3.317,7.237,6.483,10.63,9.498c18.846,16.81,33.168,28.947,46.134,37.465c0,0.075,0.075,0.075,0.15,0.075 c5.127,3.392,10.026,6.181,14.926,8.443c5.502,2.563,11.081,3.92,16.81,3.92c7.237,0,14.021-2.186,19.675-6.181 c5.729-4.146,9.875-10.101,11.76-16.81C420.181,387.694,418.899,378.724,414.376,370.658z M247.706,219.667 c-1.056-9.348-1.508-19.072-1.357-29.324c0.15-9.724,3.694-16.283,8.895-16.283c3.919,0,8.066,3.543,9.951,10.327 c0.528,2.035,0.905,4.372,0.98,7.01c0.15,3.166,0.075,6.483-0.075,9.875c-0.452,9.574-2.112,19.75-4.976,30.681 c-1.734,7.011-3.995,14.323-6.784,21.936C251.173,243.186,248.911,231.803,247.706,219.667z M121.968,418.073 c-1.282-3.166,0.15-9.272,7.99-16.81c11.985-11.458,30.755-20.504,56.914-27.364c-4.976,6.784-9.875,12.966-14.625,18.619 c-7.237,8.744-14.172,16.132-20.429,21.71c-5.351,4.824-11.232,7.84-16.81,8.594c-0.98,0.151-1.96,0.226-2.94,0.226 C127.169,423.049,123.173,421.089,121.968,418.073z M242.428,337.942l0.528-0.829l-0.829,0.151 c0.15-0.377,0.377-0.754,0.602-1.055c3.167-5.352,7.161-12.212,11.458-20.127l0.377,0.829l0.98-2.035 c3.166,4.523,6.634,8.971,10.252,13.267c1.735,2.035,3.544,3.995,5.352,5.955l-1.205,0.075l1.055,0.98 c-3.09,0.226-6.331,0.528-9.573,0.829c-2.036,0.226-4.147,0.377-6.257,0.603C250.796,337.037,246.499,337.49,242.428,337.942z M369.298,384.98c-8.97-5.729-18.997-13.795-31.36-24.575c17.564,1.809,31.36,5.654,41.159,11.383 c4.297,2.488,7.538,5.051,9.724,7.538c3.619,3.844,4.901,7.312,4.221,9.649c-0.602,2.337-3.241,3.92-6.483,3.92 c-1.885,0-3.844-0.452-5.879-1.432c-3.468-1.658-7.086-3.694-10.931-6.181C369.598,385.282,369.448,385.131,369.298,384.98z"/> </g> </g> </g>
21
+ </svg>
22
+ `;
23
+ this.wordIcon = `
24
+ <svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="#000000">
25
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
26
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
27
+ <g id="SVGRepo_iconCarrier">
28
+ <title>file_type_word2</title>
29
+ <path d="M18.536,2.323V4.868c3.4.019,7.12-.035,10.521.019a.783.783,0,0,1,.912.861c.054,6.266-.013,12.89.032,19.157-.02.4.009,1.118-.053,1.517-.079.509-.306.607-.817.676-.286.039-.764.034-1.045.047-2.792-.014-5.582-.011-8.374-.01l-1.175,0v2.547L2,27.133Q2,16,2,4.873L18.536,2.322" style="fill:#283c82"/>
30
+ <path d="M18.536,5.822h10.5V26.18h-10.5V23.635h8.27V22.363h-8.27v-1.59h8.27V19.5h-8.27v-1.59h8.27V16.637h-8.27v-1.59h8.27V13.774h-8.27v-1.59h8.27V10.911h-8.27V9.321h8.27V8.048h-8.27V5.822" style="fill:#fff"/>
31
+ <path d="M8.573,11.443c.6-.035,1.209-.06,1.813-.092.423,2.147.856,4.291,1.314,6.429.359-2.208.757-4.409,1.142-6.613.636-.022,1.272-.057,1.905-.1-.719,3.082-1.349,6.19-2.134,9.254-.531.277-1.326-.013-1.956.032-.423-2.106-.916-4.2-1.295-6.314C8.99,16.1,8.506,18.133,8.08,20.175q-.916-.048-1.839-.111c-.528-2.8-1.148-5.579-1.641-8.385.544-.025,1.091-.048,1.635-.067.328,2.026.7,4.043.986,6.072.448-2.08.907-4.161,1.352-6.241" style="fill:#fff"/>
32
+ </g>
33
+ </svg>
34
+ `;
35
+ this.byDefectIcon = `
36
+ <svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill="#000000">
37
+ <g id="SVGRepo_bgCarrier" stroke-width="0"/>
38
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
39
+ <g id="SVGRepo_iconCarrier">
40
+ <title>file_type_word2</title>
41
+ <path d="M18.536,2.323V4.868c3.4.019,7.12-.035,10.521.019a.783.783,0,0,1,.912.861c.054,6.266-.013,12.89.032,19.157-.02.4.009,1.118-.053,1.517-.079.509-.306.607-.817.676-.286.039-.764.034-1.045.047-2.792-.014-5.582-.011-8.374-.01l-1.175,0v2.547L2,27.133Q2,16,2,4.873L18.536,2.322" style="fill:#283c82"/>
42
+ <path d="M18.536,5.822h10.5V26.18h-10.5V23.635h8.27V22.363h-8.27v-1.59h8.27V19.5h-8.27v-1.59h8.27V16.637h-8.27v-1.59h8.27V13.774h-8.27v-1.59h8.27V10.911h-8.27V9.321h8.27V8.048h-8.27V5.822" style="fill:#fff"/>
43
+ <path d="M8.573,11.443c.6-.035,1.209-.06,1.813-.092.423,2.147.856,4.291,1.314,6.429.359-2.208.757-4.409,1.142-6.613.636-.022,1.272-.057,1.905-.1-.719,3.082-1.349,6.19-2.134,9.254-.531.277-1.326-.013-1.956.032-.423-2.106-.916-4.2-1.295-6.314C8.99,16.1,8.506,18.133,8.08,20.175q-.916-.048-1.839-.111c-.528-2.8-1.148-5.579-1.641-8.385.544-.025,1.091-.048,1.635-.067.328,2.026.7,4.043.986,6.072.448-2.08.907-4.161,1.352-6.241" style="fill:#fff"/>
44
+ </g>
45
+ </svg>
46
+ `;
47
+ this.sanitizer = inject(DomSanitizer);
48
+ }
49
+ transform(file) {
50
+ if (this.imageTypeFormats.some((format) => file.type.includes(format))) {
51
+ return this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));
52
+ }
53
+ if (file.type.includes('pdf')) {
54
+ return this.svgConfiguration(this.pdfIcon);
55
+ }
56
+ if (this.docFormats.some((format) => file.type.includes(format))) {
57
+ return this.svgConfiguration(this.wordIcon);
58
+ }
59
+ return this.svgConfiguration(this.byDefectIcon);
60
+ }
61
+ svgConfiguration(svg) {
62
+ return this.sanitizer.bypassSecurityTrustUrl('data:image/svg+xml;base64,' + btoa(this.pdfIcon));
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
65
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, isStandalone: true, name: "previewImageUrl" }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: previewImageUrlPipe, decorators: [{
68
+ type: Pipe,
69
+ args: [{ name: 'previewImageUrl', standalone: true }]
70
+ }] });
71
+ export class TruncatePipe {
72
+ transform(text, lenght = 12, suffix = '...') {
73
+ return text.slice(0, lenght) + suffix;
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
76
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, isStandalone: true, name: "truncate" }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: TruncatePipe, decorators: [{
79
+ type: Pipe,
80
+ args: [{ name: 'truncate', standalone: true }]
81
+ }] });
82
+ export class IsArrayPipe {
83
+ transform(input) {
84
+ return Array.isArray(input);
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
87
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, isStandalone: true, name: "isArray" }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: IsArrayPipe, decorators: [{
90
+ type: Pipe,
91
+ args: [{ name: 'isArray', standalone: true }]
92
+ }] });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQtdmlld2VyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVjaWFsLWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsLXVwbG9hZC9zcGVjaWFsLXVwbG9hZC12aWV3ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBVyxNQUFNLDJCQUEyQixDQUFDOztBQUdsRSxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRW1CLHFCQUFnQixHQUFHO1lBQ2xDLE1BQU07WUFDTixLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsTUFBTTtZQUNOLEtBQUs7U0FDTixDQUFDO1FBRWUsZUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLFlBQU8sR0FBRzs7Ozs7O0dBTTFCLENBQUM7UUFFZSxhQUFRLEdBQUc7Ozs7Ozs7Ozs7O0dBVzNCLENBQUM7UUFFZSxpQkFBWSxHQUFHOzs7Ozs7Ozs7OztHQVcvQixDQUFDO1FBRU0sY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQW9CMUM7SUFsQkMsU0FBUyxDQUFDLElBQVU7UUFDbEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FDMUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDbEQsQ0FBQztJQUNKLENBQUM7OEdBbEVVLG1CQUFtQjs0R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBdUVuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixTQUFTLENBQUMsSUFBWSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxHQUFHLEtBQUs7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs4R0FIVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBUTVDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzhHQUhVLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3ByZXZpZXdJbWFnZVVybCcsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIHByZXZpZXdJbWFnZVVybFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGltYWdlVHlwZUZvcm1hdHMgPSBbXHJcbiAgICAnanBlZycsXHJcbiAgICAnanBnJyxcclxuICAgICdwbmcnLFxyXG4gICAgJ2dpZicsXHJcbiAgICAnYm1wJyxcclxuICAgICd3ZWJwJyxcclxuICAgICdzdmcnLFxyXG4gIF07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jRm9ybWF0cyA9IFsnZG9jJywgJ2RvY3gnXTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBwZGZJY29uID0gYFxyXG4gIDxzdmcgdmVyc2lvbj1cIjEuMVwiIGlkPVwiX3gzNF9cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiB3aWR0aD1cIjgwMHB4XCIgaGVpZ2h0PVwiODAwcHhcIiBmaWxsPVwiIzAwMDAwMFwiPlxyXG4gICAgPGcgaWQ9XCJTVkdSZXBvX2JnQ2FycmllclwiIHN0cm9rZS13aWR0aD1cIjBcIi8+XHJcbiAgICA8ZyBpZD1cIlNWR1JlcG9fdHJhY2VyQ2FycmllclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgIDxnIGlkPVwiU1ZHUmVwb19pY29uQ2FycmllclwiPiA8Zz4gPHBvbHlnb24gc3R5bGU9XCJmaWxsOiNGRkZFRkU7XCIgcG9pbnRzPVwiNDc1LjQzNSwxMTcuODI1IDQ3NS40MzUsNTEyIDQ3Ljc5MSw1MTIgNDcuNzkxLDAuMDAyIDM1Ny42MTMsMC4wMDIgNDEyLjQ5MSw1NC44ODEgXCIvPiA8cmVjdCB4PVwiMzYuNTY1XCIgeT1cIjM0LjI5NVwiIHN0eWxlPVwiZmlsbDojQjQzMzMxO1wiIHdpZHRoPVwiMjA1LjA5N1wiIGhlaWdodD1cIjkxLjc2OFwiLz4gPGc+IDxnPiA8cGF0aCBzdHlsZT1cImZpbGw6I0ZGRkVGRTtcIiBkPVwiTTExMC4xMzMsNjQuMzc5Yy0wLjkwNS0yLjE4Ni0yLjExMS00LjE0Ni0zLjc2OS01LjgwNGMtMS42NTktMS42NTgtMy42OTQtMy4wMTUtNi4wMzEtMy45MiBjLTIuNDEyLTAuOTgtNS4xMjctMS40MzItOC4xNDEtMS40MzJINjkuNjUydjU4LjE5NWgxMS4zODNWODkuNDgxaDExLjE1N2MzLjAxNSwwLDUuNzI5LTAuNDUyLDguMTQxLTEuNDMyIGMyLjMzNy0wLjkwNSw0LjM3MS0yLjI2MSw2LjAzMS0zLjkyYzEuNjU4LTEuNjU4LDIuODY1LTMuNTQzLDMuNzY5LTUuODA0YzAuODI4LTIuMTg2LDEuMjgxLTQuNTIzLDEuMjgxLTYuOTM1IEMxMTEuNDEzLDY4LjkwMiwxMTAuOTYxLDY2LjU2NSwxMTAuMTMzLDY0LjM3OXogTTk3Ljg0NSw3Ny4xMThjLTEuNTA4LDEuNDMyLTMuNjE4LDIuMTg2LTYuMTgyLDIuMTg2SDgxLjAzNVY2My4zMjNoMTAuNjI4IGMyLjU2NCwwLDQuNjc0LDAuNzU0LDYuMTgyLDIuMjYxYzEuNDMyLDEuNDMyLDIuMTg1LDMuMzkyLDIuMTg1LDUuODA0QzEwMC4wMzEsNzMuNzI2LDk5LjI3Nyw3NS42ODYsOTcuODQ1LDc3LjExOHpcIi8+IDxwYXRoIHN0eWxlPVwiZmlsbDojRkZGRUZFO1wiIGQ9XCJNMTY0LjU1OCw3NS43NjFjLTAuMDc1LTIuMDM1LTAuMTUtMy44NDQtMC4zNzctNS41MDNjLTAuMjI1LTEuNjU5LTAuNjAzLTMuMTY2LTEuMTMxLTQuNTk4IGMtMC41MjctMS4zNTctMS4yMDYtMi43MTQtMi4xMTEtMy45MmMtMi4wMzUtMi45NC00LjUyMi01LjEyNi03LjMxMi02LjQ4M2MtMi44NjQtMS4zNTctNi4yNTYtMi4wMzUtMTAuMjUyLTIuMDM1SDEyMi40MnY1OC4xOTUgaDIwLjk1NmMzLjk5NiwwLDcuMzg4LTAuNjc4LDEwLjI1Mi0yLjAzNWMyLjc5LTEuMzU3LDUuMjc3LTMuNTQzLDcuMzEyLTYuNDgzYzAuOTA1LTEuMjA2LDEuNTg0LTIuNTYzLDIuMTExLTMuOTIgYzAuNTI4LTEuNDMyLDAuOTA1LTIuOTQsMS4xMzEtNC41OThjMC4yMjctMS42NTgsMC4zMDEtMy40NjgsMC4zNzctNS41MDNjMC4wNzUtMS45NiwwLjA3NS00LjE0NiwwLjA3NS02LjU1OCBDMTY0LjYzMyw3OS45MDgsMTY0LjYzMyw3Ny43MjEsMTY0LjU1OCw3NS43NjF6IE0xNTMuMTc1LDg4LjJjMCwxLjczNC0wLjE1LDMuMDkxLTAuMzAyLDQuMjk3IGMtMC4xNTEsMS4xMzEtMC4zNzYsMi4xODYtMC42NzgsMi45NGMtMC4zMDEsMC44MjktMC43NTQsMS41ODMtMS4yODEsMi4yNjFjLTEuODg1LDIuNDEyLTQuNzQ5LDMuNTQzLTguNTE4LDMuNTQzaC04LjY2OFY2My4zMjMgaDguNjY4YzMuNzY5LDAsNi42MzQsMS4yMDYsOC41MTgsMy42MThjMC41MjgsMC42NzgsMC45OCwxLjM1NywxLjI4MSwyLjE4NmMwLjMwMiwwLjgyOSwwLjUyOCwxLjgwOSwwLjY3OCwzLjAxNSBjMC4xNTIsMS4xMzEsMC4zMDIsMi41NjMsMC4zMDIsNC4yMjFjMC4wNzUsMS42NTksMC4wNzUsMy42OTQsMC4wNzUsNS45NTVDMTUzLjI1MSw4NC41ODEsMTUzLjI1MSw4Ni41NDEsMTUzLjE3NSw4OC4yelwiLz4gPHBhdGggc3R5bGU9XCJmaWxsOiNGRkZFRkU7XCIgZD1cIk0yMTMuMTgsNjMuMzIzVjUzLjIyMmgtMzguMzd2NTguMTk1aDExLjM4M1Y4Ny44MjNoMjIuOTkyVjc3LjY0NmgtMjIuOTkyVjYzLjMyM0gyMTMuMTh6XCIvPiA8L2c+IDxnPiA8cGF0aCBzdHlsZT1cImZpbGw6I0ZGRkVGRTtcIiBkPVwiTTExMC4xMzMsNjQuMzc5Yy0wLjkwNS0yLjE4Ni0yLjExMS00LjE0Ni0zLjc2OS01LjgwNGMtMS42NTktMS42NTgtMy42OTQtMy4wMTUtNi4wMzEtMy45MiBjLTIuNDEyLTAuOTgtNS4xMjctMS40MzItOC4xNDEtMS40MzJINjkuNjUydjU4LjE5NWgxMS4zODNWODkuNDgxaDExLjE1N2MzLjAxNSwwLDUuNzI5LTAuNDUyLDguMTQxLTEuNDMyIGMyLjMzNy0wLjkwNSw0LjM3MS0yLjI2MSw2LjAzMS0zLjkyYzEuNjU4LTEuNjU4LDIuODY1LTMuNTQzLDMuNzY5LTUuODA0YzAuODI4LTIuMTg2LDEuMjgxLTQuNTIzLDEuMjgxLTYuOTM1IEMxMTEuNDEzLDY4LjkwMiwxMTAuOTYxLDY2LjU2NSwxMTAuMTMzLDY0LjM3OXogTTk3Ljg0NSw3Ny4xMThjLTEuNTA4LDEuNDMyLTMuNjE4LDIuMTg2LTYuMTgyLDIuMTg2SDgxLjAzNVY2My4zMjNoMTAuNjI4IGMyLjU2NCwwLDQuNjc0LDAuNzU0LDYuMTgyLDIuMjYxYzEuNDMyLDEuNDMyLDIuMTg1LDMuMzkyLDIuMTg1LDUuODA0QzEwMC4wMzEsNzMuNzI2LDk5LjI3Nyw3NS42ODYsOTcuODQ1LDc3LjExOHpcIi8+IDwvZz4gPC9nPiA8cG9seWdvbiBzdHlsZT1cIm9wYWNpdHk6MC4wODtmaWxsOiMwNDAwMDA7XCIgcG9pbnRzPVwiNDc1LjQzNSwxMTcuODI1IDQ3NS40MzUsNTEyIDQ3Ljc5MSw1MTIgNDcuNzkxLDQxOS41ODEgMjQ3LjcwNiwyMTkuNjY3IDI1OS41NDEsMjA3LjgzMiAyNjYuMDk5LDIwMS4yNzMgMjc3LjAyOSwxOTAuMzQzIDI4OS45OTUsMTc3LjM3NyA0MTIuNDkxLDU0Ljg4MSBcIi8+IDxwb2x5Z29uIHN0eWxlPVwiZmlsbDojQkJCQkJBO1wiIHBvaW50cz1cIjQ3NS40MzUsMTE3LjgzNiAzNTcuNiwxMTcuODM2IDM1Ny42LDAgXCIvPiA8Zz4gPHBhdGggc3R5bGU9XCJmaWxsOiNCNDMzMzE7XCIgZD1cIk00MTQuMzc2LDM3MC42NThjLTIuNDg4LTQuMzcyLTUuODgtOC41MTgtMTAuMTAxLTEyLjI4N2MtMy40NjctMy4xNjYtNy41MzgtNi4xMDYtMTIuMTM3LTguODIgYy0xOC41NDMtMTAuOTMtNDUuMDAzLTE2LjIwNy04MC45NjEtMTYuMjA3aC0zLjYxOGMtMS45Ni0xLjgwOS0zLjk5Ni0zLjYxOC02LjEwNi01LjUwMyBjLTEzLjY0NC0xMi4yODctMjQuNDk5LTI1LjYzLTMyLjk0Mi00MC40OGMxNi41ODMtMzYuNTYxLDI0LjQ5OS02OS4xMjYsMjMuNTE5LTk2Ljg2N2MtMC4xNTEtNC42NzQtMC44My05LjA0Ni0yLjAzNi0xMy4xMTcgYy0xLjgwOC02LjU1OC00LjgyNC0xMi4zNjMtOS4wNDYtMTcuMTEyYy0wLjA3NS0wLjA3NS0wLjA3NS0wLjA3NS0wLjE1LTAuMTUxYy02LjcwOS03LjUzOC0xNi4wNTYtMTEuODM1LTI1LjU1NS0xMS44MzUgYy05LjU3NCwwLTE4LjM5Myw0LjE0Ni0yNC44MDIsMTEuNzZjLTYuMzMxLDcuNTM4LTkuNzI0LDE3Ljg2Ni05Ljg3NSwzMC4wMDJjLTAuMjI1LDE4LjU0NCwxLjI4MiwzNi4xMDgsNC40NDgsNTIuMzE1IGMwLjMwMSwxLjI4MiwwLjUyOCwyLjU2MywwLjgyOSwzLjg0NGMzLjE2NiwxNC43LDcuODQsMjguNjQ1LDEzLjg3MSw0MS42MTFjLTcuMDg2LDE0LjM5OC0xNC4yNDgsMjYuODM2LTE5LjIyMiwzNS4yNzkgYy0zLjc2OSw2LjQwOC03LjkxNiwxMy4xMTctMTIuMjEzLDE5LjgyNmMtMTkuMzczLDMuNDY4LTM1LjgwNyw3LjY4OS01MC4xMjksMTIuOTY2Yy0xOS4zNzQsNy4wMTEtMzQuOTAzLDE2LjA1Ni00Ni4wNTksMjYuODM2IGMtNy4yMzgsNi45MzUtMTIuMTM3LDE0LjMyMy0xNC41NSwyMi4wMTJjLTIuNTYzLDcuOTE1LTIuNDExLDE1LjgzLDAuNDUzLDIyLjkxNmMyLjYzOCw2LjU1OCw3LjM4NywxMi4wNjEsMTMuNzE5LDE1LjgzIGMxLjUwOCwwLjkwNSwzLjA5MSwxLjY1OCw0Ljc0OSwyLjMzN2M0LjgyNSwxLjk2LDEwLjEwMiwzLjAxNSwxNS42MDQsMy4wMTVjMTIuNzQsMCwyNS44NTYtNS41MDMsMzYuOTM4LTE1LjM3OCBjMjAuNjU0LTE4LjQ2OSw0MS45ODgtNDguMTY5LDU0LjU3Ni02Ni45NGMxMC4zMjctMS41ODMsMjEuNTU5LTIuOTQsMzQuMjI0LTQuMjk3YzE0LjkyNy0xLjUwOCwyOC4xMTgtMi40MTIsNDAuMTA0LTIuODY1IGMzLjY5NCwzLjMxNyw3LjIzNyw2LjQ4MywxMC42Myw5LjQ5OGMxOC44NDYsMTYuODEsMzMuMTY4LDI4Ljk0Nyw0Ni4xMzQsMzcuNDY1YzAsMC4wNzUsMC4wNzUsMC4wNzUsMC4xNSwwLjA3NSBjNS4xMjcsMy4zOTIsMTAuMDI2LDYuMTgxLDE0LjkyNiw4LjQ0M2M1LjUwMiwyLjU2MywxMS4wODEsMy45MiwxNi44MSwzLjkyYzcuMjM3LDAsMTQuMDIxLTIuMTg2LDE5LjY3NS02LjE4MSBjNS43MjktNC4xNDYsOS44NzUtMTAuMTAxLDExLjc2LTE2LjgxQzQyMC4xODEsMzg3LjY5NCw0MTguODk5LDM3OC43MjQsNDE0LjM3NiwzNzAuNjU4eiBNMjQ3LjcwNiwyMTkuNjY3IGMtMS4wNTYtOS4zNDgtMS41MDgtMTkuMDcyLTEuMzU3LTI5LjMyNGMwLjE1LTkuNzI0LDMuNjk0LTE2LjI4Myw4Ljg5NS0xNi4yODNjMy45MTksMCw4LjA2NiwzLjU0Myw5Ljk1MSwxMC4zMjcgYzAuNTI4LDIuMDM1LDAuOTA1LDQuMzcyLDAuOTgsNy4wMWMwLjE1LDMuMTY2LDAuMDc1LDYuNDgzLTAuMDc1LDkuODc1Yy0wLjQ1Miw5LjU3NC0yLjExMiwxOS43NS00Ljk3NiwzMC42ODEgYy0xLjczNCw3LjAxMS0zLjk5NSwxNC4zMjMtNi43ODQsMjEuOTM2QzI1MS4xNzMsMjQzLjE4NiwyNDguOTExLDIzMS44MDMsMjQ3LjcwNiwyMTkuNjY3eiBNMTIxLjk2OCw0MTguMDczIGMtMS4yODItMy4xNjYsMC4xNS05LjI3Miw3Ljk5LTE2LjgxYzExLjk4NS0xMS40NTgsMzAuNzU1LTIwLjUwNCw1Ni45MTQtMjcuMzY0Yy00Ljk3Niw2Ljc4NC05Ljg3NSwxMi45NjYtMTQuNjI1LDE4LjYxOSBjLTcuMjM3LDguNzQ0LTE0LjE3MiwxNi4xMzItMjAuNDI5LDIxLjcxYy01LjM1MSw0LjgyNC0xMS4yMzIsNy44NC0xNi44MSw4LjU5NGMtMC45OCwwLjE1MS0xLjk2LDAuMjI2LTIuOTQsMC4yMjYgQzEyNy4xNjksNDIzLjA0OSwxMjMuMTczLDQyMS4wODksMTIxLjk2OCw0MTguMDczeiBNMjQyLjQyOCwzMzcuOTQybDAuNTI4LTAuODI5bC0wLjgyOSwwLjE1MSBjMC4xNS0wLjM3NywwLjM3Ny0wLjc1NCwwLjYwMi0xLjA1NWMzLjE2Ny01LjM1Miw3LjE2MS0xMi4yMTIsMTEuNDU4LTIwLjEyN2wwLjM3NywwLjgyOWwwLjk4LTIuMDM1IGMzLjE2Niw0LjUyMyw2LjYzNCw4Ljk3MSwxMC4yNTIsMTMuMjY3YzEuNzM1LDIuMDM1LDMuNTQ0LDMuOTk1LDUuMzUyLDUuOTU1bC0xLjIwNSwwLjA3NWwxLjA1NSwwLjk4IGMtMy4wOSwwLjIyNi02LjMzMSwwLjUyOC05LjU3MywwLjgyOWMtMi4wMzYsMC4yMjYtNC4xNDcsMC4zNzctNi4yNTcsMC42MDNDMjUwLjc5NiwzMzcuMDM3LDI0Ni40OTksMzM3LjQ5LDI0Mi40MjgsMzM3Ljk0MnogTTM2OS4yOTgsMzg0Ljk4Yy04Ljk3LTUuNzI5LTE4Ljk5Ny0xMy43OTUtMzEuMzYtMjQuNTc1YzE3LjU2NCwxLjgwOSwzMS4zNiw1LjY1NCw0MS4xNTksMTEuMzgzIGM0LjI5NywyLjQ4OCw3LjUzOCw1LjA1MSw5LjcyNCw3LjUzOGMzLjYxOSwzLjg0NCw0LjkwMSw3LjMxMiw0LjIyMSw5LjY0OWMtMC42MDIsMi4zMzctMy4yNDEsMy45Mi02LjQ4MywzLjkyIGMtMS44ODUsMC0zLjg0NC0wLjQ1Mi01Ljg3OS0xLjQzMmMtMy40NjgtMS42NTgtNy4wODYtMy42OTQtMTAuOTMxLTYuMTgxQzM2OS41OTgsMzg1LjI4MiwzNjkuNDQ4LDM4NS4xMzEsMzY5LjI5OCwzODQuOTh6XCIvPiA8L2c+IDwvZz4gPC9nPlxyXG4gIDwvc3ZnPlxyXG4gIGA7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgd29yZEljb24gPSBgXHJcbiAgPHN2ZyB3aWR0aD1cIjgwMHB4XCIgaGVpZ2h0PVwiODAwcHhcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCIjMDAwMDAwXCI+XHJcbiAgICA8ZyBpZD1cIlNWR1JlcG9fYmdDYXJyaWVyXCIgc3Ryb2tlLXdpZHRoPVwiMFwiLz5cclxuICAgIDxnIGlkPVwiU1ZHUmVwb190cmFjZXJDYXJyaWVyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgPGcgaWQ9XCJTVkdSZXBvX2ljb25DYXJyaWVyXCI+XHJcbiAgICA8dGl0bGU+ZmlsZV90eXBlX3dvcmQyPC90aXRsZT5cclxuICAgIDxwYXRoIGQ9XCJNMTguNTM2LDIuMzIzVjQuODY4YzMuNC4wMTksNy4xMi0uMDM1LDEwLjUyMS4wMTlhLjc4My43ODMsMCwwLDEsLjkxMi44NjFjLjA1NCw2LjI2Ni0uMDEzLDEyLjg5LjAzMiwxOS4xNTctLjAyLjQuMDA5LDEuMTE4LS4wNTMsMS41MTctLjA3OS41MDktLjMwNi42MDctLjgxNy42NzYtLjI4Ni4wMzktLjc2NC4wMzQtMS4wNDUuMDQ3LTIuNzkyLS4wMTQtNS41ODItLjAxMS04LjM3NC0uMDFsLTEuMTc1LDB2Mi41NDdMMiwyNy4xMzNRMiwxNiwyLDQuODczTDE4LjUzNiwyLjMyMlwiIHN0eWxlPVwiZmlsbDojMjgzYzgyXCIvPlxyXG4gICAgPHBhdGggZD1cIk0xOC41MzYsNS44MjJoMTAuNVYyNi4xOGgtMTAuNVYyMy42MzVoOC4yN1YyMi4zNjNoLTguMjd2LTEuNTloOC4yN1YxOS41aC04LjI3di0xLjU5aDguMjdWMTYuNjM3aC04LjI3di0xLjU5aDguMjdWMTMuNzc0aC04LjI3di0xLjU5aDguMjdWMTAuOTExaC04LjI3VjkuMzIxaDguMjdWOC4wNDhoLTguMjdWNS44MjJcIiBzdHlsZT1cImZpbGw6I2ZmZlwiLz5cclxuICAgIDxwYXRoIGQ9XCJNOC41NzMsMTEuNDQzYy42LS4wMzUsMS4yMDktLjA2LDEuODEzLS4wOTIuNDIzLDIuMTQ3Ljg1Niw0LjI5MSwxLjMxNCw2LjQyOS4zNTktMi4yMDguNzU3LTQuNDA5LDEuMTQyLTYuNjEzLjYzNi0uMDIyLDEuMjcyLS4wNTcsMS45MDUtLjEtLjcxOSwzLjA4Mi0xLjM0OSw2LjE5LTIuMTM0LDkuMjU0LS41MzEuMjc3LTEuMzI2LS4wMTMtMS45NTYuMDMyLS40MjMtMi4xMDYtLjkxNi00LjItMS4yOTUtNi4zMTRDOC45OSwxNi4xLDguNTA2LDE4LjEzMyw4LjA4LDIwLjE3NXEtLjkxNi0uMDQ4LTEuODM5LS4xMTFjLS41MjgtMi44LTEuMTQ4LTUuNTc5LTEuNjQxLTguMzg1LjU0NC0uMDI1LDEuMDkxLS4wNDgsMS42MzUtLjA2Ny4zMjgsMi4wMjYuNyw0LjA0My45ODYsNi4wNzIuNDQ4LTIuMDguOTA3LTQuMTYxLDEuMzUyLTYuMjQxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbiAgICA8L2c+XHJcbiAgICA8L3N2Zz5cclxuICBgO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGJ5RGVmZWN0SWNvbiA9IGBcclxuIDxzdmcgd2lkdGg9XCI4MDBweFwiIGhlaWdodD1cIjgwMHB4XCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwiIzAwMDAwMFwiPlxyXG48ZyBpZD1cIlNWR1JlcG9fYmdDYXJyaWVyXCIgc3Ryb2tlLXdpZHRoPVwiMFwiLz5cclxuPGcgaWQ9XCJTVkdSZXBvX3RyYWNlckNhcnJpZXJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbjxnIGlkPVwiU1ZHUmVwb19pY29uQ2FycmllclwiPlxyXG48dGl0bGU+ZmlsZV90eXBlX3dvcmQyPC90aXRsZT5cclxuPHBhdGggZD1cIk0xOC41MzYsMi4zMjNWNC44NjhjMy40LjAxOSw3LjEyLS4wMzUsMTAuNTIxLjAxOWEuNzgzLjc4MywwLDAsMSwuOTEyLjg2MWMuMDU0LDYuMjY2LS4wMTMsMTIuODkuMDMyLDE5LjE1Ny0uMDIuNC4wMDksMS4xMTgtLjA1MywxLjUxNy0uMDc5LjUwOS0uMzA2LjYwNy0uODE3LjY3Ni0uMjg2LjAzOS0uNzY0LjAzNC0xLjA0NS4wNDctMi43OTItLjAxNC01LjU4Mi0uMDExLTguMzc0LS4wMWwtMS4xNzUsMHYyLjU0N0wyLDI3LjEzM1EyLDE2LDIsNC44NzNMMTguNTM2LDIuMzIyXCIgc3R5bGU9XCJmaWxsOiMyODNjODJcIi8+XHJcbjxwYXRoIGQ9XCJNMTguNTM2LDUuODIyaDEwLjVWMjYuMThoLTEwLjVWMjMuNjM1aDguMjdWMjIuMzYzaC04LjI3di0xLjU5aDguMjdWMTkuNWgtOC4yN3YtMS41OWg4LjI3VjE2LjYzN2gtOC4yN3YtMS41OWg4LjI3VjEzLjc3NGgtOC4yN3YtMS41OWg4LjI3VjEwLjkxMWgtOC4yN1Y5LjMyMWg4LjI3VjguMDQ4aC04LjI3VjUuODIyXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbjxwYXRoIGQ9XCJNOC41NzMsMTEuNDQzYy42LS4wMzUsMS4yMDktLjA2LDEuODEzLS4wOTIuNDIzLDIuMTQ3Ljg1Niw0LjI5MSwxLjMxNCw2LjQyOS4zNTktMi4yMDguNzU3LTQuNDA5LDEuMTQyLTYuNjEzLjYzNi0uMDIyLDEuMjcyLS4wNTcsMS45MDUtLjEtLjcxOSwzLjA4Mi0xLjM0OSw2LjE5LTIuMTM0LDkuMjU0LS41MzEuMjc3LTEuMzI2LS4wMTMtMS45NTYuMDMyLS40MjMtMi4xMDYtLjkxNi00LjItMS4yOTUtNi4zMTRDOC45OSwxNi4xLDguNTA2LDE4LjEzMyw4LjA4LDIwLjE3NXEtLjkxNi0uMDQ4LTEuODM5LS4xMTFjLS41MjgtMi44LTEuMTQ4LTUuNTc5LTEuNjQxLTguMzg1LjU0NC0uMDI1LDEuMDkxLS4wNDgsMS42MzUtLjA2Ny4zMjgsMi4wMjYuNyw0LjA0My45ODYsNi4wNzIuNDQ4LTIuMDguOTA3LTQuMTYxLDEuMzUyLTYuMjQxXCIgc3R5bGU9XCJmaWxsOiNmZmZcIi8+XHJcbjwvZz5cclxuPC9zdmc+XHJcbiAgYDtcclxuXHJcbiAgcHJpdmF0ZSBzYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcclxuXHJcbiAgdHJhbnNmb3JtKGZpbGU6IEZpbGUpOiBTYWZlVXJsIHtcclxuICAgIGlmICh0aGlzLmltYWdlVHlwZUZvcm1hdHMuc29tZSgoZm9ybWF0KSA9PiBmaWxlLnR5cGUuaW5jbHVkZXMoZm9ybWF0KSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsZS50eXBlLmluY2x1ZGVzKCdwZGYnKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdmdDb25maWd1cmF0aW9uKHRoaXMucGRmSWNvbik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kb2NGb3JtYXRzLnNvbWUoKGZvcm1hdCkgPT4gZmlsZS50eXBlLmluY2x1ZGVzKGZvcm1hdCkpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN2Z0NvbmZpZ3VyYXRpb24odGhpcy53b3JkSWNvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5zdmdDb25maWd1cmF0aW9uKHRoaXMuYnlEZWZlY3RJY29uKTtcclxuICB9XHJcblxyXG4gIHN2Z0NvbmZpZ3VyYXRpb24oc3ZnOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG4gICAgICAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCwnICsgYnRvYSh0aGlzLnBkZkljb24pLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBQaXBlKHsgbmFtZTogJ3RydW5jYXRlJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHRleHQ6IHN0cmluZywgbGVuZ2h0ID0gMTIsIHN1ZmZpeCA9ICcuLi4nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0LnNsaWNlKDAsIGxlbmdodCkgKyBzdWZmaXg7XHJcbiAgfVxyXG59XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdpc0FycmF5Jywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgSXNBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaW5wdXQ6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoaW5wdXQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,84 +1,73 @@
1
- import { Component, Input } from '@angular/core';
2
- import { ChangeDetectionStrategy } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { NgxDropzoneModule } from 'ngx-dropzone';
5
- import { CommonModule } from '@angular/common';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatButtonModule } from '@angular/material/button';
8
- import { ErrorMessagePipe } from '../../core/pipes';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/platform-browser";
11
- import * as i2 from "ngx-dropzone";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/icon";
14
- export class SpecialUploadComponent {
15
- set controlSetter(control) {
16
- this.control = control;
17
- this.previewImages = control.value;
18
- }
19
- constructor(sanitizer) {
20
- this.sanitizer = sanitizer;
21
- this.previewImages = [];
22
- }
23
- ngOnInit() { }
24
- onSelectMultiple(event) {
25
- this.previewImages = [
26
- ...this.previewImages,
27
- ...event.addedFiles.map((file) => ({
28
- lastModified: file.lastModified,
29
- url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file)),
30
- })),
31
- ];
32
- this.control.setValue([
33
- ...(this.control.value || []),
34
- ...event.addedFiles.map(this.fixFileName),
35
- ]);
36
- this.onselectFile(this.control.value);
37
- this.control.markAsDirty();
38
- }
39
- onSelectOne(event) {
40
- this.previewImages = event.addedFiles.map((file) => ({
41
- lastModified: file.lastModified,
42
- url: this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file)),
43
- }));
44
- this.control.setValue(event.addedFiles.map(this.fixFileName));
45
- this.onselectFile(this.control.value);
46
- this.control.markAsDirty();
47
- }
48
- onselectFile(value) {
49
- if (this.control.settings?.onSelectFile) {
50
- this.control.settings.onSelectFile(value);
51
- }
52
- }
53
- fixFileName(file) {
54
- return Object.defineProperty(file, 'name', {
55
- writable: true,
56
- value: file.name.normalize('NFD').replace(/[\u0300-\u036f]/g, ''),
57
- });
58
- }
59
- clean() {
60
- this.previewImages = [];
61
- }
62
- onRemove(file) {
63
- this.control.setValue(this.control.value.filter((fl) => fl.lastModified !== file.lastModified));
64
- this.previewImages = this.previewImages.filter((fl) => fl.lastModified !== file.lastModified);
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SpecialUploadComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { controlSetter: ["control", "controlSetter"] }, ngImport: i0, template: "<div\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-upload w-full mb-3 {{ control.styleClasses }}\"\r\n>\r\n <ngx-dropzone\r\n class=\"special-upload__dropzone\"\r\n [ngClass]=\"{\r\n 'special-upload--error-dashed':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n [multiple]=\"control.settings?.multiple\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : 'image/png, .jpeg, .jpg, image/gif'\r\n \"\r\n (change)=\"\r\n control.settings?.multiple\r\n ? onSelectMultiple($event)\r\n : onSelectOne($event)\r\n \"\r\n >\r\n <ngx-dropzone-label\r\n [ngClass]=\"{\r\n 'special-upload--error':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n >\r\n <mat-icon class=\"special-upload__icon\" *ngIf=\"control.icon\"\r\n >{{ control.icon }}\r\n </mat-icon>\r\n <h2 class=\"text-base font-bold\">\r\n {{ control.label }}\r\n </h2>\r\n <h3 class=\"text-base\">\r\n {{ control.placeholder }}\r\n </h3>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-preview\r\n *ngFor=\"let file of previewImages\"\r\n [removable]=\"true\"\r\n (removed)=\"onRemove(file)\"\r\n >\r\n <ngx-dropzone-label class=\"special-upload__card\">\r\n <img class=\"special-upload__card--image\" [src]=\"file?.url\" alt=\"\" />\r\n </ngx-dropzone-label>\r\n </ngx-dropzone-preview>\r\n </ngx-dropzone>\r\n <div\r\n class=\"special-upload--error mt-2\"\r\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\r\n >\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </div>\r\n</div>\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NgxDropzoneModule }, { kind: "component", type: i2.NgxDropzoneComponent, selector: "ngx-dropzone, [ngx-dropzone]", inputs: ["accept", "disabled", "multiple", "maxFileSize", "expandable", "disableClick", "processDirectoryDrop", "id", "aria-label", "aria-labelledby", "aria-describedby"], outputs: ["change"] }, { kind: "directive", type: i2.NgxDropzoneLabelDirective, selector: "ngx-dropzone-label" }, { kind: "component", type: i2.NgxDropzonePreviewComponent, selector: "ngx-dropzone-preview", inputs: ["file", "removable"], outputs: ["removed"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SpecialUploadComponent, decorators: [{
70
- type: Component,
71
- args: [{ standalone: true, selector: 'sp-upload', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
72
- FormsModule,
73
- NgxDropzoneModule,
74
- CommonModule,
75
- MatIconModule,
76
- ReactiveFormsModule,
77
- MatButtonModule,
78
- ErrorMessagePipe,
79
- ], template: "<div\r\n *ngIf=\"control && !control.hidden\"\r\n [id]=\"control.elementId\"\r\n class=\"special-upload w-full mb-3 {{ control.styleClasses }}\"\r\n>\r\n <ngx-dropzone\r\n class=\"special-upload__dropzone\"\r\n [ngClass]=\"{\r\n 'special-upload--error-dashed':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n [multiple]=\"control.settings?.multiple\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : 'image/png, .jpeg, .jpg, image/gif'\r\n \"\r\n (change)=\"\r\n control.settings?.multiple\r\n ? onSelectMultiple($event)\r\n : onSelectOne($event)\r\n \"\r\n >\r\n <ngx-dropzone-label\r\n [ngClass]=\"{\r\n 'special-upload--error':\r\n !!control.errors && (control.dirty || control.touched)\r\n }\"\r\n >\r\n <mat-icon class=\"special-upload__icon\" *ngIf=\"control.icon\"\r\n >{{ control.icon }}\r\n </mat-icon>\r\n <h2 class=\"text-base font-bold\">\r\n {{ control.label }}\r\n </h2>\r\n <h3 class=\"text-base\">\r\n {{ control.placeholder }}\r\n </h3>\r\n </ngx-dropzone-label>\r\n <ngx-dropzone-preview\r\n *ngFor=\"let file of previewImages\"\r\n [removable]=\"true\"\r\n (removed)=\"onRemove(file)\"\r\n >\r\n <ngx-dropzone-label class=\"special-upload__card\">\r\n <img class=\"special-upload__card--image\" [src]=\"file?.url\" alt=\"\" />\r\n </ngx-dropzone-label>\r\n </ngx-dropzone-preview>\r\n </ngx-dropzone>\r\n <div\r\n class=\"special-upload--error mt-2\"\r\n *ngIf=\"!!control.errors && (control.dirty || control.touched)\"\r\n >\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </div>\r\n</div>\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:100%;height:100%;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
80
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { controlSetter: [{
81
- type: Input,
82
- args: ['control']
83
- }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQWtCcEQsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxJQUFzQixhQUFhLENBQ2pDLE9BQTRDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBSUQsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUYzQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztJQUVvQixDQUFDO0lBRS9DLFFBQVEsS0FBVSxDQUFDO0lBRW5CLGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixHQUFHLElBQUksQ0FBQyxhQUFhO1lBQ3JCLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0RSxDQUFDLENBQUM7U0FDSixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM3QixHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7U0FDbEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FDbkQsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDNUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FDOUMsQ0FBQztJQUNKLENBQUM7OEdBckVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDhIQzVCbkMsaXhEQXdEQSx3ZERyQ0ksV0FBVyw4QkFDWCxpQkFBaUIsOGlCQUNqQixZQUFZLDZWQUNaLGFBQWEsbUxBQ2IsbUJBQW1CLDhCQUNuQixlQUFlLDBCQUNmLGdCQUFnQjs7MkZBR1Asc0JBQXNCO2tCQWhCbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7bUdBS3FCLGFBQWE7c0JBQWxDLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGVjaWFsRm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9jb3JlL2Zvcm1zL3NwZWNpYWwtZm9ybXMnO1xyXG5pbXBvcnQgeyBJVXBsb2FkU2V0dGluZ3MgfSBmcm9tICcuL3NwZWNpYWwtdXBsb2FkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICcuLi8uLi9jb3JlL3BpcGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2VsZWN0b3I6ICdzcC11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGVjaWFsLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE5neERyb3B6b25lTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGVjaWFsVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb250cm9sITogU3BlY2lhbEZvcm1Db250cm9sPElVcGxvYWRTZXR0aW5ncz47XHJcblxyXG4gIEBJbnB1dCgnY29udHJvbCcpIHNldCBjb250cm9sU2V0dGVyKFxyXG4gICAgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPElVcGxvYWRTZXR0aW5ncz5cclxuICApIHtcclxuICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XHJcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSBjb250cm9sLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJldmlld0ltYWdlczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBvblNlbGVjdE11bHRpcGxlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJldmlld0ltYWdlcyA9IFtcclxuICAgICAgLi4udGhpcy5wcmV2aWV3SW1hZ2VzLFxyXG4gICAgICAuLi5ldmVudC5hZGRlZEZpbGVzLm1hcCgoZmlsZTogRmlsZSkgPT4gKHtcclxuICAgICAgICBsYXN0TW9kaWZpZWQ6IGZpbGUubGFzdE1vZGlmaWVkLFxyXG4gICAgICAgIHVybDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKSxcclxuICAgICAgfSkpLFxyXG4gICAgXTtcclxuXHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoW1xyXG4gICAgICAuLi4odGhpcy5jb250cm9sLnZhbHVlIHx8IFtdKSxcclxuICAgICAgLi4uZXZlbnQuYWRkZWRGaWxlcy5tYXAodGhpcy5maXhGaWxlTmFtZSksXHJcbiAgICBdKTtcclxuICAgIHRoaXMub25zZWxlY3RGaWxlKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T25lKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucHJldmlld0ltYWdlcyA9IGV2ZW50LmFkZGVkRmlsZXMubWFwKChmaWxlOiBGaWxlKSA9PiAoe1xyXG4gICAgICBsYXN0TW9kaWZpZWQ6IGZpbGUubGFzdE1vZGlmaWVkLFxyXG4gICAgICB1cmw6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSksXHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGV2ZW50LmFkZGVkRmlsZXMubWFwKHRoaXMuZml4RmlsZU5hbWUpKTtcclxuICAgIHRoaXMub25zZWxlY3RGaWxlKHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICB0aGlzLmNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25zZWxlY3RGaWxlKHZhbHVlKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnNldHRpbmdzPy5vblNlbGVjdEZpbGUpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldHRpbmdzLm9uU2VsZWN0RmlsZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaXhGaWxlTmFtZShmaWxlOiBGaWxlKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGZpbGUsICduYW1lJywge1xyXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcclxuICAgICAgdmFsdWU6IGZpbGUubmFtZS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYW4oKSB7XHJcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSBbXTtcclxuICB9XHJcbiAgb25SZW1vdmUoZmlsZTogRmlsZSkge1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWUuZmlsdGVyKFxyXG4gICAgICAgIChmbDogYW55KSA9PiBmbC5sYXN0TW9kaWZpZWQgIT09IGZpbGUubGFzdE1vZGlmaWVkXHJcbiAgICAgIClcclxuICAgICk7XHJcbiAgICB0aGlzLnByZXZpZXdJbWFnZXMgPSB0aGlzLnByZXZpZXdJbWFnZXMuZmlsdGVyKFxyXG4gICAgICAoZmwpID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWRcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAqbmdJZj1cImNvbnRyb2wgJiYgIWNvbnRyb2wuaGlkZGVuXCJcclxuICBbaWRdPVwiY29udHJvbC5lbGVtZW50SWRcIlxyXG4gIGNsYXNzPVwic3BlY2lhbC11cGxvYWQgdy1mdWxsIG1iLTMge3sgY29udHJvbC5zdHlsZUNsYXNzZXMgfX1cIlxyXG4+XHJcbiAgPG5neC1kcm9wem9uZVxyXG4gICAgY2xhc3M9XCJzcGVjaWFsLXVwbG9hZF9fZHJvcHpvbmVcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAnc3BlY2lhbC11cGxvYWQtLWVycm9yLWRhc2hlZCc6XHJcbiAgICAgICAgISFjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpXHJcbiAgICB9XCJcclxuICAgIFttdWx0aXBsZV09XCJjb250cm9sLnNldHRpbmdzPy5tdWx0aXBsZVwiXHJcbiAgICBbYWNjZXB0XT1cIlxyXG4gICAgICBjb250cm9sLnNldHRpbmdzPy5hY2NlcHRcclxuICAgICAgICA/IGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgIDogJ2ltYWdlL3BuZywgLmpwZWcsIC5qcGcsIGltYWdlL2dpZidcclxuICAgIFwiXHJcbiAgICAoY2hhbmdlKT1cIlxyXG4gICAgICBjb250cm9sLnNldHRpbmdzPy5tdWx0aXBsZVxyXG4gICAgICAgID8gb25TZWxlY3RNdWx0aXBsZSgkZXZlbnQpXHJcbiAgICAgICAgOiBvblNlbGVjdE9uZSgkZXZlbnQpXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxuZ3gtZHJvcHpvbmUtbGFiZWxcclxuICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICdzcGVjaWFsLXVwbG9hZC0tZXJyb3InOlxyXG4gICAgICAgICAgISFjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpXHJcbiAgICAgIH1cIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJzcGVjaWFsLXVwbG9hZF9faWNvblwiICpuZ0lmPVwiY29udHJvbC5pY29uXCJcclxuICAgICAgICA+e3sgY29udHJvbC5pY29uIH19XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgIDxoMiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj5cclxuICAgICAgICB7eyBjb250cm9sLmxhYmVsIH19XHJcbiAgICAgIDwvaDI+XHJcbiAgICAgIDxoMyBjbGFzcz1cInRleHQtYmFzZVwiPlxyXG4gICAgICAgIHt7IGNvbnRyb2wucGxhY2Vob2xkZXIgfX1cclxuICAgICAgPC9oMz5cclxuICAgIDwvbmd4LWRyb3B6b25lLWxhYmVsPlxyXG4gICAgPG5neC1kcm9wem9uZS1wcmV2aWV3XHJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHByZXZpZXdJbWFnZXNcIlxyXG4gICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxyXG4gICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZShmaWxlKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZ3gtZHJvcHpvbmUtbGFiZWwgY2xhc3M9XCJzcGVjaWFsLXVwbG9hZF9fY2FyZFwiPlxyXG4gICAgICAgIDxpbWcgY2xhc3M9XCJzcGVjaWFsLXVwbG9hZF9fY2FyZC0taW1hZ2VcIiBbc3JjXT1cImZpbGU/LnVybFwiIGFsdD1cIlwiIC8+XHJcbiAgICAgIDwvbmd4LWRyb3B6b25lLWxhYmVsPlxyXG4gICAgPC9uZ3gtZHJvcHpvbmUtcHJldmlldz5cclxuICA8L25neC1kcm9wem9uZT5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInNwZWNpYWwtdXBsb2FkLS1lcnJvciBtdC0yXCJcclxuICAgICpuZ0lmPVwiISFjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpXCJcclxuICA+XHJcbiAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
1
+ import { Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { CommonModule } from '@angular/common';
5
+ import { MatIconModule } from '@angular/material/icon';
6
+ import { MatButtonModule } from '@angular/material/button';
7
+ import { ErrorMessagePipe } from '../../core/pipes';
8
+ import { DropzoneCdkModule } from '@ngx-dropzone/cdk';
9
+ import { DropzoneMaterialModule } from '@ngx-dropzone/material';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatChipsModule } from '@angular/material/chips';
12
+ import { IsArrayPipe, previewImageUrlPipe, TruncatePipe } from './special-upload-viewer.pipe';
13
+ import { MatCardModule } from '@angular/material/card';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/forms";
16
+ import * as i2 from "@ngx-dropzone/cdk";
17
+ import * as i3 from "@angular/material/form-field";
18
+ import * as i4 from "@ngx-dropzone/material";
19
+ import * as i5 from "@angular/material/icon";
20
+ import * as i6 from "@angular/material/button";
21
+ import * as i7 from "@angular/material/chips";
22
+ import * as i8 from "@angular/material/card";
23
+ export class SpecialUploadComponent {
24
+ constructor() {
25
+ this.DEFAULT_ACCEPTED_TYPES = 'image/png, .jpeg, .jpg, image/gif';
26
+ }
27
+ get settings() {
28
+ return this.control.settings;
29
+ }
30
+ onSelectOne(event) {
31
+ this.control.setValue(event.addedFiles.map(this.fixFileName));
32
+ this.onSelectFile(this.control.value);
33
+ this.control.markAsDirty();
34
+ }
35
+ onSelectFile(value) {
36
+ if (this.control.settings?.onSelectFile) {
37
+ this.control.settings.onSelectFile(value);
38
+ }
39
+ }
40
+ fixFileName(file) {
41
+ return Object.defineProperty(file, 'name', {
42
+ writable: true,
43
+ value: file.name.normalize('NFD').replace(/[\u0300-\u036f]/g, ''),
44
+ });
45
+ }
46
+ onRemove(file) {
47
+ this.control.setValue(this.control.value.filter((fl) => fl.lastModified !== file.lastModified));
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: SpecialUploadComponent, isStandalone: true, selector: "sp-upload", inputs: { control: "control" }, ngImport: i0, template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <ngx-mat-dropzone>\r\n <input\r\n [multiple]=\"settings.multiple\"\r\n type=\"file\"\r\n fileInput\r\n [mode]=\"settings.mode\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : DEFAULT_ACCEPTED_TYPES\r\n \"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [readonly]=\"control.readOnly\"\r\n (ngModelChange)=\"onSelectFile($event)\"\r\n />\r\n </ngx-mat-dropzone>\r\n @if (control.value | isArray) {\r\n <mat-chip-set>\r\n @for (file of control.value; track file.lastModified) {\r\n <mat-chip-row>\r\n <img\r\n matChipAvatar\r\n [src]=\"file | previewImageUrl\"\r\n alt=\"Photo of a Shiba Inu\"\r\n />\r\n {{ file.name | truncate }}\r\n <button (click)=\"onRemove(file)\" matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-set>\r\n } @else if (control.value) {\r\n <mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ control.value.name }}</mat-card-title>\r\n <mat-card-subtitle>{{ control.value.type }}</mat-card-subtitle>\r\n <img mat-card-sm-image [src]=\"control.value | previewImageUrl\" />\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-actions align=\"end\">\r\n <button\r\n mat-mini-fab\r\n color=\"warn\"\r\n (click)=\"control.reset(); $event.stopPropagation()\"\r\n >\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (control.icon) {\r\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"], dependencies: [{ kind: "pipe", type: previewImageUrlPipe, name: "previewImageUrl" }, { kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: DropzoneCdkModule }, { kind: "directive", type: i2.FileInputDirective, selector: "input[fileInput]", inputs: ["value", "accept", "mode", "disabled"], outputs: ["selectionChange"], exportAs: ["fileInput"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: DropzoneMaterialModule }, { kind: "component", type: i4.MatDropzone, selector: "ngx-mat-dropzone", inputs: ["aria-describedby", "placeholder", "required"], exportAs: ["matDropzone"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }, { kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i7.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i7.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "pipe", type: TruncatePipe, name: "truncate" }, { kind: "pipe", type: IsArrayPipe, name: "isArray" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardSmImage, selector: "[mat-card-sm-image], [matCardImageSmall]" }, { kind: "directive", type: i8.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i8.MatCardTitleGroup, selector: "mat-card-title-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SpecialUploadComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ standalone: true, selector: 'sp-upload', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
55
+ previewImageUrlPipe,
56
+ FormsModule,
57
+ DropzoneCdkModule,
58
+ MatInputModule,
59
+ DropzoneMaterialModule,
60
+ CommonModule,
61
+ MatIconModule,
62
+ ReactiveFormsModule,
63
+ MatButtonModule,
64
+ ErrorMessagePipe,
65
+ MatChipsModule,
66
+ TruncatePipe,
67
+ IsArrayPipe,
68
+ MatCardModule
69
+ ], template: "@if (control && !control.hidden) {\r\n <mat-form-field\r\n [id]=\"control.elementId\"\r\n class=\"special-input w-full mb-3 {{ control.styleClasses }}\"\r\n [appearance]=\"control.label ? 'outline' : 'fill'\"\r\n >\r\n @if (control.label) {\r\n <mat-label>\r\n {{ control.label }}\r\n </mat-label>\r\n }\r\n <ngx-mat-dropzone>\r\n <input\r\n [multiple]=\"settings.multiple\"\r\n type=\"file\"\r\n fileInput\r\n [mode]=\"settings.mode\"\r\n [accept]=\"\r\n control.settings?.accept\r\n ? control.settings?.accept\r\n : DEFAULT_ACCEPTED_TYPES\r\n \"\r\n [placeholder]=\"control.placeholder\"\r\n [formControl]=\"control\"\r\n [required]=\"control.required\"\r\n [readonly]=\"control.readOnly\"\r\n (ngModelChange)=\"onSelectFile($event)\"\r\n />\r\n </ngx-mat-dropzone>\r\n @if (control.value | isArray) {\r\n <mat-chip-set>\r\n @for (file of control.value; track file.lastModified) {\r\n <mat-chip-row>\r\n <img\r\n matChipAvatar\r\n [src]=\"file | previewImageUrl\"\r\n alt=\"Photo of a Shiba Inu\"\r\n />\r\n {{ file.name | truncate }}\r\n <button (click)=\"onRemove(file)\" matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n }\r\n </mat-chip-set>\r\n } @else if (control.value) {\r\n <mat-card appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{ control.value.name }}</mat-card-title>\r\n <mat-card-subtitle>{{ control.value.type }}</mat-card-subtitle>\r\n <img mat-card-sm-image [src]=\"control.value | previewImageUrl\" />\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-actions align=\"end\">\r\n <button\r\n mat-mini-fab\r\n color=\"warn\"\r\n (click)=\"control.reset(); $event.stopPropagation()\"\r\n >\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (control.icon) {\r\n <mat-icon matSuffix>{{ control.icon }}</mat-icon>\r\n }\r\n @if (control.tooltip) {\r\n <mat-hint>{{ control.tooltip }}</mat-hint>\r\n }\r\n <mat-error>\r\n {{ control.errors | errorMessage: control.errorMessages }}\r\n </mat-error>\r\n </mat-form-field>\r\n}\r\n", styles: [":host{display:contents}:host .special-upload{margin-bottom:1rem}:host .special-upload__dropzone{min-height:180px;height:unset!important}:host .special-upload__icon{height:64px;width:64px;font-size:64px}:host .special-upload__card{width:5rem;height:5rem;margin:0;box-sizing:border-box;display:flex;align-items:center;flex-direction:column}:host .special-upload__card--image{width:100%;height:100%;object-fit:cover}\n"] }]
70
+ }], propDecorators: { control: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7O0FBeUJyRCxNQUFNLE9BQU8sc0JBQXNCO0lBdkJuQztRQXlCVywyQkFBc0IsR0FBRyxtQ0FBbUMsQ0FBQztLQStCdkU7SUE5QkMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVU7UUFDcEIsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDekMsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztTQUNsRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FDbkQsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0FoQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0IscUdDeENuQywwaUZBNEVBLG9kRHBESSxtQkFBbUIsdURBQ25CLFdBQVcsbW5CQUNYLGlCQUFpQix3TkFDakIsY0FBYyxnbUJBQ2Qsc0JBQXNCLDZMQUN0QixZQUFZLDhCQUNaLGFBQWEsbUxBQ2IsbUJBQW1CLGlOQUNuQixlQUFlLHVJQUNmLGdCQUFnQixvREFDaEIsY0FBYyw4ZEFDZCxZQUFZLDRDQUNaLFdBQVcsK0NBQ1gsYUFBYTs7MkZBR0osc0JBQXNCO2tCQXZCbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFHSix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTtxQkFDZDs4QkFHUSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3BlY2lhbEZvcm1Db250cm9sIH0gZnJvbSAnLi4vLi4vY29yZS9mb3Jtcy9zcGVjaWFsLWZvcm1zJztcclxuaW1wb3J0IHsgSVVwbG9hZEZpZWxkLCBJVXBsb2FkU2V0dGluZ3MgfSBmcm9tICcuL3NwZWNpYWwtdXBsb2FkLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VQaXBlIH0gZnJvbSAnLi4vLi4vY29yZS9waXBlcyc7XHJcbmltcG9ydCB7IERyb3B6b25lQ2RrTW9kdWxlIH0gZnJvbSAnQG5neC1kcm9wem9uZS9jZGsnO1xyXG5pbXBvcnQgeyBEcm9wem9uZU1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnQG5neC1kcm9wem9uZS9tYXRlcmlhbCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgSXNBcnJheVBpcGUsIHByZXZpZXdJbWFnZVVybFBpcGUsIFRydW5jYXRlUGlwZSB9IGZyb20gJy4vc3BlY2lhbC11cGxvYWQtdmlld2VyLnBpcGUnO1xyXG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ3NwLXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NwZWNpYWwtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zcGVjaWFsLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIHByZXZpZXdJbWFnZVVybFBpcGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIERyb3B6b25lQ2RrTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBEcm9wem9uZU1hdGVyaWFsTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBFcnJvck1lc3NhZ2VQaXBlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBUcnVuY2F0ZVBpcGUsXHJcbiAgICBJc0FycmF5UGlwZSxcclxuICAgIE1hdENhcmRNb2R1bGVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlY2lhbFVwbG9hZENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29udHJvbDogU3BlY2lhbEZvcm1Db250cm9sPElVcGxvYWRGaWVsZD47XHJcbiAgcmVhZG9ubHkgREVGQVVMVF9BQ0NFUFRFRF9UWVBFUyA9ICdpbWFnZS9wbmcsIC5qcGVnLCAuanBnLCBpbWFnZS9naWYnO1xyXG4gIGdldCBzZXR0aW5ncygpOiBJVXBsb2FkU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5zZXR0aW5ncztcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T25lKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShldmVudC5hZGRlZEZpbGVzLm1hcCh0aGlzLmZpeEZpbGVOYW1lKSk7XHJcbiAgICB0aGlzLm9uU2VsZWN0RmlsZSh0aGlzLmNvbnRyb2wudmFsdWUpO1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEZpbGUodmFsdWUpIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wuc2V0dGluZ3M/Lm9uU2VsZWN0RmlsZSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0dGluZ3Mub25TZWxlY3RGaWxlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpeEZpbGVOYW1lKGZpbGU6IEZpbGUpIHtcclxuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmlsZSwgJ25hbWUnLCB7XHJcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxyXG4gICAgICB2YWx1ZTogZmlsZS5uYW1lLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblJlbW92ZShmaWxlOiBGaWxlKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZS5maWx0ZXIoXHJcbiAgICAgICAgKGZsOiBhbnkpID0+IGZsLmxhc3RNb2RpZmllZCAhPT0gZmlsZS5sYXN0TW9kaWZpZWQsXHJcbiAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGNvbnRyb2wgJiYgIWNvbnRyb2wuaGlkZGVuKSB7XHJcbiAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICBbaWRdPVwiY29udHJvbC5lbGVtZW50SWRcIlxyXG4gICAgY2xhc3M9XCJzcGVjaWFsLWlucHV0IHctZnVsbCBtYi0zIHt7IGNvbnRyb2wuc3R5bGVDbGFzc2VzIH19XCJcclxuICAgIFthcHBlYXJhbmNlXT1cImNvbnRyb2wubGFiZWwgPyAnb3V0bGluZScgOiAnZmlsbCdcIlxyXG4gID5cclxuICAgIEBpZiAoY29udHJvbC5sYWJlbCkge1xyXG4gICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgIHt7IGNvbnRyb2wubGFiZWwgfX1cclxuICAgICAgPC9tYXQtbGFiZWw+XHJcbiAgICB9XHJcbiAgICA8bmd4LW1hdC1kcm9wem9uZT5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgW211bHRpcGxlXT1cInNldHRpbmdzLm11bHRpcGxlXCJcclxuICAgICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICAgZmlsZUlucHV0XHJcbiAgICAgICAgW21vZGVdPVwic2V0dGluZ3MubW9kZVwiXHJcbiAgICAgICAgW2FjY2VwdF09XCJcclxuICAgICAgICAgIGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgICAgICA/IGNvbnRyb2wuc2V0dGluZ3M/LmFjY2VwdFxyXG4gICAgICAgICAgICA6IERFRkFVTFRfQUNDRVBURURfVFlQRVNcclxuICAgICAgICBcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImNvbnRyb2wucmVxdWlyZWRcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJjb250cm9sLnJlYWRPbmx5XCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdEZpbGUoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L25neC1tYXQtZHJvcHpvbmU+XHJcbiAgICBAaWYgKGNvbnRyb2wudmFsdWUgfCBpc0FycmF5KSB7XHJcbiAgICAgIDxtYXQtY2hpcC1zZXQ+XHJcbiAgICAgICAgQGZvciAoZmlsZSBvZiBjb250cm9sLnZhbHVlOyB0cmFjayBmaWxlLmxhc3RNb2RpZmllZCkge1xyXG4gICAgICAgICAgPG1hdC1jaGlwLXJvdz5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgIG1hdENoaXBBdmF0YXJcclxuICAgICAgICAgICAgICBbc3JjXT1cImZpbGUgfCBwcmV2aWV3SW1hZ2VVcmxcIlxyXG4gICAgICAgICAgICAgIGFsdD1cIlBob3RvIG9mIGEgU2hpYmEgSW51XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAge3sgZmlsZS5uYW1lIHwgdHJ1bmNhdGUgfX1cclxuICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25SZW1vdmUoZmlsZSlcIiBtYXRDaGlwUmVtb3ZlPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9tYXQtY2hpcC1zZXQ+XHJcbiAgICB9IEBlbHNlIGlmIChjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cclxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLXRpdGxlLWdyb3VwPlxyXG4gICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+e3sgY29udHJvbC52YWx1ZS5uYW1lIH19PC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPnt7IGNvbnRyb2wudmFsdWUudHlwZSB9fTwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgICAgICAgIDxpbWcgbWF0LWNhcmQtc20taW1hZ2UgW3NyY109XCJjb250cm9sLnZhbHVlIHwgcHJldmlld0ltYWdlVXJsXCIgLz5cclxuICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGUtZ3JvdXA+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LW1pbmktZmFiXHJcbiAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjb250cm9sLnJlc2V0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8L21hdC1jYXJkPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb250cm9sLmljb24pIHtcclxuICAgICAgPG1hdC1pY29uIG1hdFN1ZmZpeD57eyBjb250cm9sLmljb24gfX08L21hdC1pY29uPlxyXG4gICAgfVxyXG4gICAgQGlmIChjb250cm9sLnRvb2x0aXApIHtcclxuICAgICAgPG1hdC1oaW50Pnt7IGNvbnRyb2wudG9vbHRpcCB9fTwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgICA8bWF0LWVycm9yPlxyXG4gICAgICB7eyBjb250cm9sLmVycm9ycyB8IGVycm9yTWVzc2FnZTogY29udHJvbC5lcnJvck1lc3NhZ2VzIH19XHJcbiAgICA8L21hdC1lcnJvcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElVcGxvYWRTZXR0aW5ncyA9IHtcclxuICBhY2NlcHQ/OiBzdHJpbmcsXHJcbiAgbXVsdGlwbGU/OiBib29sZWFuLFxyXG4gIG9uU2VsZWN0RmlsZT86ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVXBsb2FkRmllbGQgZXh0ZW5kcyBJRmllbGREYXRhIHtcclxuICBzZXR0aW5nczogSVVwbG9hZFNldHRpbmdzO1xyXG4gIHR5cGU6IEVDb250cm9sVHlwZXMudXBsb2FkO1xyXG59XHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3BlY2lhbC11cGxvYWQvc3BlY2lhbC11cGxvYWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ29udHJvbFR5cGVzIH0gZnJvbSAnLi4vLi4vY29yZS9hdXgtZGF0YS9jb250cm9sLXR5cGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJRmllbGREYXRhIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzL2ZpZWxkLWJhc2ljcy5pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCB0eXBlIElVcGxvYWRTZXR0aW5ncyA9IHtcclxuICBhY2NlcHQ/OiBzdHJpbmc7XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIG1vZGU/OiAncmVwbGFjZScgfCAnYXBwZW5kJztcclxuICBvblNlbGVjdEZpbGU/OiAodmFsdWU6IEZpbGUpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElVcGxvYWRGaWVsZCBleHRlbmRzIElGaWVsZERhdGEge1xyXG4gIHNldHRpbmdzOiBJVXBsb2FkU2V0dGluZ3M7XHJcbiAgdHlwZTogRUNvbnRyb2xUeXBlcy51cGxvYWQ7XHJcbiAgZGVmYXVsdFZhbHVlOiBhbnk7XHJcbn1cclxuIl19
@@ -1,18 +1,18 @@
1
- export var EControlTypes;
2
- (function (EControlTypes) {
3
- EControlTypes["pkey"] = "PRIMARY-KEY";
4
- EControlTypes["input"] = "INPUT";
5
- EControlTypes["richText"] = "RICH-TEXT";
6
- EControlTypes["textArea"] = "TEXT-AREA";
7
- EControlTypes["dropdown"] = "DROPDOWN";
8
- EControlTypes["date"] = "DATE";
9
- EControlTypes["checkbox"] = "CHECKBOX";
10
- EControlTypes["upload"] = "UPLOAD";
11
- EControlTypes["autocomplete"] = "AUTOCOMPLETE";
12
- EControlTypes["multiple"] = "MULTIPLE-AUTOCOMPLETE";
13
- EControlTypes["array"] = "ARRAY";
14
- EControlTypes["form"] = "FORM";
15
- EControlTypes["label"] = "LABEL";
16
- EControlTypes["default"] = "DEFAULT";
17
- })(EControlTypes || (EControlTypes = {}));
1
+ export var EControlTypes;
2
+ (function (EControlTypes) {
3
+ EControlTypes["pkey"] = "PRIMARY-KEY";
4
+ EControlTypes["input"] = "INPUT";
5
+ EControlTypes["richText"] = "RICH-TEXT";
6
+ EControlTypes["textArea"] = "TEXT-AREA";
7
+ EControlTypes["dropdown"] = "DROPDOWN";
8
+ EControlTypes["date"] = "DATE";
9
+ EControlTypes["checkbox"] = "CHECKBOX";
10
+ EControlTypes["upload"] = "UPLOAD";
11
+ EControlTypes["autocomplete"] = "AUTOCOMPLETE";
12
+ EControlTypes["multiple"] = "MULTIPLE-AUTOCOMPLETE";
13
+ EControlTypes["array"] = "ARRAY";
14
+ EControlTypes["form"] = "FORM";
15
+ EControlTypes["label"] = "LABEL";
16
+ EControlTypes["default"] = "DEFAULT";
17
+ })(EControlTypes || (EControlTypes = {}));
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC10eXBlcy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlY2lhbC1mb3Jtcy9zcmMvbGliL2NvcmUvYXV4LWRhdGEvY29udHJvbC10eXBlcy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBZVg7QUFmRCxXQUFZLGFBQWE7SUFDdkIscUNBQW9CLENBQUE7SUFDcEIsZ0NBQWUsQ0FBQTtJQUNmLHVDQUFzQixDQUFBO0lBQ3RCLHVDQUFzQixDQUFBO0lBQ3RCLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7SUFDYixzQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBaUIsQ0FBQTtJQUNqQiw4Q0FBNkIsQ0FBQTtJQUM3QixtREFBa0MsQ0FBQTtJQUNsQyxnQ0FBZSxDQUFBO0lBQ2YsOEJBQWEsQ0FBQTtJQUNiLGdDQUFlLENBQUE7SUFDZixvQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBZlcsYUFBYSxLQUFiLGFBQWEsUUFleEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFQ29udHJvbFR5cGVzIHtcclxuICBwa2V5ID0gJ1BSSU1BUlktS0VZJyxcclxuICBpbnB1dCA9ICdJTlBVVCcsXHJcbiAgcmljaFRleHQgPSAnUklDSC1URVhUJyxcclxuICB0ZXh0QXJlYSA9ICdURVhULUFSRUEnLFxyXG4gIGRyb3Bkb3duID0gJ0RST1BET1dOJyxcclxuICBkYXRlID0gJ0RBVEUnLFxyXG4gIGNoZWNrYm94ID0gJ0NIRUNLQk9YJyxcclxuICB1cGxvYWQgPSAnVVBMT0FEJyxcclxuICBhdXRvY29tcGxldGUgPSAnQVVUT0NPTVBMRVRFJyxcclxuICBtdWx0aXBsZSA9ICdNVUxUSVBMRS1BVVRPQ09NUExFVEUnLFxyXG4gIGFycmF5ID0gJ0FSUkFZJyxcclxuICBmb3JtID0gJ0ZPUk0nLFxyXG4gIGxhYmVsID0gJ0xBQkVMJyxcclxuICBkZWZhdWx0ID0gJ0RFRkFVTFQnLFxyXG59XHJcbiJdfQ==