survey-angular-ui 1.9.129 → 1.9.131

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.
@@ -11,7 +11,7 @@ export class ChooseFileBtn extends EmbeddedViewContentComponent {
11
11
  }
12
12
  }
13
13
  ChooseFileBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile()\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile($event)\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, decorators: [{
16
16
  type: Component,
17
17
  args: [{
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
24
24
  type: Input
25
25
  }] } });
26
26
  AngularComponentFactory.Instance.registerComponent("sv-file-choose-btn", ChooseFileBtn);
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZmlsZS9jaG9vc2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9maWxlL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sYUFBYyxTQUFRLDRCQUE0QjtJQUczRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQzs7MkdBTFEsYUFBYTsrRkFBYixhQUFhLDhIQ1IxQix5Z0JBUWM7NEZEQUQsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzs4QkFFWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLOztBQUtWLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgUXVlc3Rpb25GaWxlTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWNob29zZS1maWxlLWJ0blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgQ2hvb3NlRmlsZUJ0biBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgICBASW5wdXQoKSBtb2RlbCE6IEFjdGlvbjtcbiAgICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uRmlsZU1vZGVsIHtcbiAgICAgIHJldHVybiAodGhpcy5tb2RlbCAmJiB0aGlzLm1vZGVsLmRhdGEucXVlc3Rpb24pIHx8IHRoaXMuZGF0YS5xdWVzdGlvbjtcbiAgICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWZpbGUtY2hvb3NlLWJ0blwiLCBDaG9vc2VGaWxlQnRuKTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxsYWJlbCB0YWJpbmRleD1cIjBcIiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0Q2hvb3NlRmlsZUNzcygpXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLmlucHV0SWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHRcIiBba2V5MmNsaWNrXVxuICAgICAgICAoY2xpY2spPVwicXVlc3Rpb24uY2hvb3NlRmlsZSgpXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbdGl0bGVdPVwicXVlc3Rpb24uY2hvb3NlQnV0dG9uVGV4dFwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaG9vc2VGaWxlSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDxzcGFuPnt7IHF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHQgfX08L3NwYW4+XG48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZmlsZS9jaG9vc2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9maWxlL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sYUFBYyxTQUFRLDRCQUE0QjtJQUczRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQzs7MkdBTFEsYUFBYTsrRkFBYixhQUFhLDhIQ1IxQiwrZ0JBUWM7NEZEQUQsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzs4QkFFWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLOztBQUtWLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgUXVlc3Rpb25GaWxlTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWNob29zZS1maWxlLWJ0blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgQ2hvb3NlRmlsZUJ0biBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgICBASW5wdXQoKSBtb2RlbCE6IEFjdGlvbjtcbiAgICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uRmlsZU1vZGVsIHtcbiAgICAgIHJldHVybiAodGhpcy5tb2RlbCAmJiB0aGlzLm1vZGVsLmRhdGEucXVlc3Rpb24pIHx8IHRoaXMuZGF0YS5xdWVzdGlvbjtcbiAgICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWZpbGUtY2hvb3NlLWJ0blwiLCBDaG9vc2VGaWxlQnRuKTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxsYWJlbCB0YWJpbmRleD1cIjBcIiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0Q2hvb3NlRmlsZUNzcygpXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLmlucHV0SWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHRcIiBba2V5MmNsaWNrXVxuICAgICAgICAoY2xpY2spPVwicXVlc3Rpb24uY2hvb3NlRmlsZSgkZXZlbnQpXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbdGl0bGVdPVwicXVlc3Rpb24uY2hvb3NlQnV0dG9uVGV4dFwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaG9vc2VGaWxlSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDxzcGFuPnt7IHF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHQgfX08L3NwYW4+XG48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -11,7 +11,7 @@ export class BooleanQuestionComponent extends QuestionAngular {
11
11
  }
12
12
  }
13
13
  BooleanQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BooleanQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- BooleanQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, false)\">\n <span [class]=\"model.getLabelCss(false)\" [model]=\"model.locLabelFalse\" sv-ng-string></span>\n </div>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, true)\">\n <span [class]=\"model.getLabelCss(true)\" [model]=\"model.locLabelTrue\" sv-ng-string></span>\n </div>\n </label>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ BooleanQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, model.swapOrder)\">\n <span [class]=\"model.getLabelCss(model.swapOrder)\" [model]=\"model.locLabelLeft\" sv-ng-string></span>\n </div>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, !model.swapOrder)\">\n <span [class]=\"model.getLabelCss(!model.swapOrder)\" [model]=\"model.locLabelRight\" sv-ng-string></span>\n </div>\n </label>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BooleanQuestionComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
20
20
  }]
21
21
  }] });
22
22
  AngularComponentFactory.Instance.registerComponent("boolean-question", BooleanQuestionComponent);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2Jvb2xlYW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9ib29sZWFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFNL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQXFDO0lBQ2pGLFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7O3NIQUhVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHFGQ1RyQyw4bERBd0JNOzRGRGZPLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsMEJBQTBCO2lCQUN4Qzs7QUFPRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uQm9vbGVhbk1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctYm9vbGVhbi1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Jvb2xlYW4uY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuUXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25Cb29sZWFuTW9kZWw+IHtcbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubW9kZWwuYm9vbGVhblZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwiYm9vbGVhbi1xdWVzdGlvblwiLCBCb29sZWFuUXVlc3Rpb25Db21wb25lbnQpOyIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm9vdFwiIChrZXlkb3duKT1cIm1vZGVsLm9uS2V5RG93bkNvcmUoJGV2ZW50KVwiICNjb250ZW50RWxlbWVudD5cbiAgICA8bGFiZWwgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1Dc3MoKVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibW9kZWwubmFtZVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIiBcbiAgICAgICAgW2F0dHIucm9sZV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFSb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFSZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYTExeV9pbnB1dF9hcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibW9kZWwuYTExeV9pbnB1dF9hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFJbnZhbGlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xcIiBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgIFtpbmRldGVybWluYXRlXT1cIm1vZGVsLmlzSW5kZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJtb2RlbC5ib29sZWFuVmFsdWVcIiBbKG5nTW9kZWwpXT1cIm1vZGVsLmJvb2xlYW5WYWx1ZVwiIC8+XG4gICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNsaWRlckdob3N0XCIgKGNsaWNrKT1cIm1vZGVsLm9uTGFiZWxDbGljaygkZXZlbnQsIGZhbHNlKVwiPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuZ2V0TGFiZWxDc3MoZmFsc2UpXCIgW21vZGVsXT1cIm1vZGVsLmxvY0xhYmVsRmFsc2VcIiBzdi1uZy1zdHJpbmc+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnN3aXRjaFwiIChjbGljayk9XCJtb2RlbC5vblN3aXRjaENsaWNrTW9kZWwoJGV2ZW50KVwiPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zbGlkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibW9kZWwuY3NzQ2xhc3Nlcy5zbGlkZXJUZXh0ICYmIG1vZGVsLmlzRGV0ZXJtaW5hdGVkXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuc2xpZGVyVGV4dFwiIFttb2RlbF09XCJtb2RlbC5nZXRDaGVja2VkTGFiZWwoKVwiIHN2LW5nLXN0cmluZz48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zbGlkZXJHaG9zdFwiIChjbGljayk9XCJtb2RlbC5vbkxhYmVsQ2xpY2soJGV2ZW50LCB0cnVlKVwiPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuZ2V0TGFiZWxDc3ModHJ1ZSlcIiBbbW9kZWxdPVwibW9kZWwubG9jTGFiZWxUcnVlXCIgIHN2LW5nLXN0cmluZz48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuPC9kaXY+Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2Jvb2xlYW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9ib29sZWFuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFNL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQXFDO0lBQ2pGLFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQy9DLENBQUM7O3NIQUhVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHFGQ1RyQywwb0RBd0JNOzRGRGZPLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsMEJBQTBCO2lCQUN4Qzs7QUFPRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uQm9vbGVhbk1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctYm9vbGVhbi1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Jvb2xlYW4uY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuUXVlc3Rpb25Db21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25Cb29sZWFuTW9kZWw+IHtcbiAgb25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubW9kZWwuYm9vbGVhblZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwiYm9vbGVhbi1xdWVzdGlvblwiLCBCb29sZWFuUXVlc3Rpb25Db21wb25lbnQpOyIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm9vdFwiIChrZXlkb3duKT1cIm1vZGVsLm9uS2V5RG93bkNvcmUoJGV2ZW50KVwiICNjb250ZW50RWxlbWVudD5cbiAgICA8bGFiZWwgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1Dc3MoKVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibW9kZWwubmFtZVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIiBcbiAgICAgICAgW2F0dHIucm9sZV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFSb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFSZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYTExeV9pbnB1dF9hcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibW9kZWwuYTExeV9pbnB1dF9hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFJbnZhbGlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hMTF5X2lucHV0X2FyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNvbnRyb2xcIiBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgIFtpbmRldGVybWluYXRlXT1cIm1vZGVsLmlzSW5kZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJtb2RlbC5ib29sZWFuVmFsdWVcIiBbKG5nTW9kZWwpXT1cIm1vZGVsLmJvb2xlYW5WYWx1ZVwiIC8+XG4gICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNsaWRlckdob3N0XCIgKGNsaWNrKT1cIm1vZGVsLm9uTGFiZWxDbGljaygkZXZlbnQsIG1vZGVsLnN3YXBPcmRlcilcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmdldExhYmVsQ3NzKG1vZGVsLnN3YXBPcmRlcilcIiBbbW9kZWxdPVwibW9kZWwubG9jTGFiZWxMZWZ0XCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zd2l0Y2hcIiAoY2xpY2spPVwibW9kZWwub25Td2l0Y2hDbGlja01vZGVsKCRldmVudClcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuc2xpZGVyXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1vZGVsLmNzc0NsYXNzZXMuc2xpZGVyVGV4dCAmJiBtb2RlbC5pc0RldGVybWluYXRlZFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnNsaWRlclRleHRcIiBbbW9kZWxdPVwibW9kZWwuZ2V0Q2hlY2tlZExhYmVsKClcIiBzdi1uZy1zdHJpbmc+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuc2xpZGVyR2hvc3RcIiAoY2xpY2spPVwibW9kZWwub25MYWJlbENsaWNrKCRldmVudCwgIW1vZGVsLnN3YXBPcmRlcilcIj5cbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmdldExhYmVsQ3NzKCFtb2RlbC5zd2FwT3JkZXIpXCIgW21vZGVsXT1cIm1vZGVsLmxvY0xhYmVsUmlnaHRcIiAgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGFiZWw+XG48L2Rpdj4iXX0=
@@ -13,7 +13,7 @@ import * as i8 from "../utils/dynamic.directive";
13
13
  export class FileQuestionComponent extends QuestionAngular {
14
14
  }
15
15
  FileQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input [class]=\"model.cssClasses.fileInput\" *ngIf=\"!model.isReadOnly && model.hasFileUI\" tabindex=\"-1\" type=\"file\"\n [attr.id]=\"model.inputId\" (change)=\"model.doChange($event)\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\" [attr.accept]=\"model.acceptedTypes\" [attr.capture]=\"model.renderCapture\" />\n <input *ngIf=\"model.isReadOnly\" type=\"file\" disabled [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <div [class]=\"model.cssClasses.dragArea\" (dragenter)=\"model.onDragEnter($event)\" (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\" (dragleave)=\"model.onDragLeave($event)\">\n <div [class]=\"model.getFileDecoratorCss()\" *ngIf=\"model.showFileDecorator\">\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\" [model]=\"model.locRenderedPlaceholder\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.wrapper\">\n <sv-ng-choose-file-btn [data]=\"{ question: model }\" *ngIf=\"model.showChooseButton\"></sv-ng-choose-file-btn>\n <sv-ng-action-bar [model]=\"model.actionsContainer\" *ngIf=\"model.actionsContainerVisible\"></sv-ng-action-bar>\n <span [class]=\"model.cssClasses.noFileChosen\" *ngIf=\"model.isEmpty()\">{{ model.noFileChosenCaption }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.isPlayingVideo\">\n <ng-container *ngTemplateOutlet=\"fileVideo\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButton\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButton }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.allowShowPreview\">\n <ng-template [component]=\"{ name: 'sv-file-preview', data: { question: model } }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButtonBottom\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButtonBottom }\"></ng-container>\n </ng-container>\n <sv-action-bar *ngIf=\"model.fileNavigatorVisible\" [model]=\"model.fileNavigator\"></sv-action-bar>\n </div>\n</div>\n<ng-template #fileCleanButton let-css=\"css\">\n <button type=\"button\" [class]=\"css\" (click)=\"model.doClean()\">\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\"\n [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n</ng-template>\n<ng-template #fileVideo>\n <div [class]=\"model.cssClasses.videoContainer\">\n <sv-ng-action [model]=\"model.changeCameraAction\"></sv-ng-action>\n <sv-ng-action [model]=\"model.closeCameraAction\"></sv-ng-action>\n <video autoplay playsinline [attr.id]=\"model.videoId\" [class]=\"model.cssClasses.video\"></video>\n <sv-ng-action [model]=\"model.takePictureAction\"></sv-ng-action>\n </div>\n</ng-template>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: ["data", "model"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i4.LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: i5.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i6.ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
16
+ FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input [class]=\"model.cssClasses.fileInput\" *ngIf=\"!model.isReadOnly && model.hasFileUI\" tabindex=\"-1\" type=\"file\"\n [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\" [attr.accept]=\"model.acceptedTypes\" [attr.capture]=\"model.renderCapture\" />\n <input *ngIf=\"model.isReadOnly\" type=\"file\" disabled [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <div [class]=\"model.cssClasses.dragArea\" (dragenter)=\"model.onDragEnter($event)\" (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\" (dragleave)=\"model.onDragLeave($event)\">\n <div [class]=\"model.getFileDecoratorCss()\" *ngIf=\"model.showFileDecorator\">\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\" [model]=\"model.locRenderedPlaceholder\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.wrapper\">\n <sv-ng-choose-file-btn [data]=\"{ question: model }\" *ngIf=\"model.showChooseButton\"></sv-ng-choose-file-btn>\n <sv-ng-action-bar [model]=\"model.actionsContainer\" *ngIf=\"model.actionsContainerVisible\"></sv-ng-action-bar>\n <span [class]=\"model.cssClasses.noFileChosen\" *ngIf=\"model.isEmpty()\">{{ model.noFileChosenCaption }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.isPlayingVideo\">\n <ng-container *ngTemplateOutlet=\"fileVideo\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButton\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButton }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.allowShowPreview\">\n <ng-template [component]=\"{ name: 'sv-file-preview', data: { question: model } }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButtonBottom\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButtonBottom }\"></ng-container>\n </ng-container>\n <sv-action-bar *ngIf=\"model.fileNavigatorVisible\" [model]=\"model.fileNavigator\"></sv-action-bar>\n </div>\n</div>\n<ng-template #fileCleanButton let-css=\"css\">\n <button type=\"button\" [class]=\"css\" (click)=\"model.doClean()\">\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\"\n [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n</ng-template>\n<ng-template #fileVideo>\n <div [class]=\"model.cssClasses.videoContainer\">\n <sv-ng-action [model]=\"model.changeCameraAction\"></sv-ng-action>\n <sv-ng-action [model]=\"model.closeCameraAction\"></sv-ng-action>\n <video autoplay playsinline [attr.id]=\"model.videoId\" [class]=\"model.cssClasses.video\"></video>\n <sv-ng-action [model]=\"model.takePictureAction\"></sv-ng-action>\n </div>\n</ng-template>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: ["data", "model"] }, { type: i3.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i4.LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: i5.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i6.ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileQuestionComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
23
23
  }]
24
24
  }] });
25
25
  AngularComponentFactory.Instance.registerComponent("file-question", FileQuestionComponent);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQU0vRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBa0M7O21IQUFoRSxxQkFBcUI7dUdBQXJCLHFCQUFxQixrRkNUbEMscytHQW9EYzs0RkQzQ0QscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxFQUFFO2lCQUNkOztBQUdELHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uRmlsZU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWZpbGUtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9maWxlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uRmlsZU1vZGVsPiB7fVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImZpbGUtcXVlc3Rpb25cIiwgRmlsZVF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5maWxlUm9vdENzc1wiICNjb250ZW50RWxlbWVudD5cbiAgPGlucHV0IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVJbnB1dFwiICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHkgJiYgbW9kZWwuaGFzRmlsZVVJXCIgdGFiaW5kZXg9XCItMVwiIHR5cGU9XCJmaWxlXCJcbiAgICBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgKGNoYW5nZSk9XCJtb2RlbC5kb0NoYW5nZSgkZXZlbnQpXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiIFthdHRyLm11bHRpcGxlXT1cIm1vZGVsLm11bHRpcGxlUmVuZGVyZWRcIlxuICAgIFthdHRyLnRpdGxlXT1cIm1vZGVsLmlucHV0VGl0bGVcIiBbYXR0ci5hY2NlcHRdPVwibW9kZWwuYWNjZXB0ZWRUeXBlc1wiIFthdHRyLmNhcHR1cmVdPVwibW9kZWwucmVuZGVyQ2FwdHVyZVwiIC8+XG4gIDxpbnB1dCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiB0eXBlPVwiZmlsZVwiIGRpc2FibGVkIFtjbGFzc109XCJtb2RlbC5nZXRSZWFkT25seUZpbGVDc3MoKVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIlxuICAgIFthdHRyLm11bHRpcGxlXT1cIm1vZGVsLm11bHRpcGxlUmVuZGVyZWRcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJtb2RlbC50aXRsZVwiIHN0eWxlPVwiY29sb3I6IHRyYW5zcGFyZW50XCIgLz5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5kcmFnQXJlYVwiIChkcmFnZW50ZXIpPVwibW9kZWwub25EcmFnRW50ZXIoJGV2ZW50KVwiIChkcm9wKT1cIm1vZGVsLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ292ZXIpPVwibW9kZWwub25EcmFnT3ZlcigkZXZlbnQpXCIgKGRyYWdsZWF2ZSk9XCJtb2RlbC5vbkRyYWdMZWF2ZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0RmlsZURlY29yYXRvckNzcygpXCIgKm5nSWY9XCJtb2RlbC5zaG93RmlsZURlY29yYXRvclwiPlxuICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZHJhZ0FyZWFQbGFjZWhvbGRlclwiIFttb2RlbF09XCJtb2RlbC5sb2NSZW5kZXJlZFBsYWNlaG9sZGVyXCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMud3JhcHBlclwiPlxuICAgICAgICA8c3YtbmctY2hvb3NlLWZpbGUtYnRuIFtkYXRhXT1cInsgcXVlc3Rpb246IG1vZGVsIH1cIiAqbmdJZj1cIm1vZGVsLnNob3dDaG9vc2VCdXR0b25cIj48L3N2LW5nLWNob29zZS1maWxlLWJ0bj5cbiAgICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cIm1vZGVsLmFjdGlvbnNDb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmFjdGlvbnNDb250YWluZXJWaXNpYmxlXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5ub0ZpbGVDaG9zZW5cIiAqbmdJZj1cIm1vZGVsLmlzRW1wdHkoKVwiPnt7IG1vZGVsLm5vRmlsZUNob3NlbkNhcHRpb24gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuc2hvd0xvYWRpbmdJbmRpY2F0b3JcIj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMubG9hZGluZ0luZGljYXRvclwiPlxuICAgICAgICA8c3YtbmctbG9hZGluZy1pbmRpY2F0b3I+PC9zdi1uZy1sb2FkaW5nLWluZGljYXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5pc1BsYXlpbmdWaWRlb1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVWaWRlb1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5zaG93UmVtb3ZlQnV0dG9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsZUNsZWFuQnV0dG9uOyBjb250ZXh0OiB7IGNzczogbW9kZWwuc2hvd1JlbW92ZUJ1dHRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmFsbG93U2hvd1ByZXZpZXdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LWZpbGUtcHJldmlldycsIGRhdGE6IHsgcXVlc3Rpb246IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLnNob3dSZW1vdmVCdXR0b25Cb3R0b21cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlQ2xlYW5CdXR0b247IGNvbnRleHQ6IHsgY3NzOiBtb2RlbC5zaG93UmVtb3ZlQnV0dG9uQm90dG9tIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLmZpbGVOYXZpZ2F0b3JWaXNpYmxlXCIgW21vZGVsXT1cIm1vZGVsLmZpbGVOYXZpZ2F0b3JcIj48L3N2LWFjdGlvbi1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2ZpbGVDbGVhbkJ1dHRvbiBsZXQtY3NzPVwiY3NzXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzc109XCJjc3NcIiAoY2xpY2spPVwibW9kZWwuZG9DbGVhbigpXCI+XG4gICAgPHNwYW4+e3sgbW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUJ1dHRvbkljb25JZFwiIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUJ1dHRvbkljb25JZFwiIFtzaXplXT1cIidhdXRvJ1wiXG4gICAgICBbdGl0bGVdPVwibW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZmlsZVZpZGVvPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnZpZGVvQ29udGFpbmVyXCI+XG4gICAgPHN2LW5nLWFjdGlvbiBbbW9kZWxdPVwibW9kZWwuY2hhbmdlQ2FtZXJhQWN0aW9uXCI+PC9zdi1uZy1hY3Rpb24+XG4gICAgPHN2LW5nLWFjdGlvbiBbbW9kZWxdPVwibW9kZWwuY2xvc2VDYW1lcmFBY3Rpb25cIj48L3N2LW5nLWFjdGlvbj5cbiAgICA8dmlkZW8gYXV0b3BsYXkgcGxheXNpbmxpbmUgW2F0dHIuaWRdPVwibW9kZWwudmlkZW9JZFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnZpZGVvXCI+PC92aWRlbz5cbiAgICA8c3YtbmctYWN0aW9uIFttb2RlbF09XCJtb2RlbC50YWtlUGljdHVyZUFjdGlvblwiPjwvc3YtbmctYWN0aW9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQU0vRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBa0M7O21IQUFoRSxxQkFBcUI7dUdBQXJCLHFCQUFxQixrRkNUbEMsazhHQW9EYzs0RkQzQ0QscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxFQUFFO2lCQUNkOztBQUdELHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uRmlsZU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWZpbGUtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9maWxlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVF1ZXN0aW9uQ29tcG9uZW50IGV4dGVuZHMgUXVlc3Rpb25Bbmd1bGFyPFF1ZXN0aW9uRmlsZU1vZGVsPiB7fVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImZpbGUtcXVlc3Rpb25cIiwgRmlsZVF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8ZGl2IFtjbGFzc109XCJtb2RlbC5maWxlUm9vdENzc1wiICNjb250ZW50RWxlbWVudD5cbiAgPGlucHV0IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVJbnB1dFwiICpuZ0lmPVwiIW1vZGVsLmlzUmVhZE9ubHkgJiYgbW9kZWwuaGFzRmlsZVVJXCIgdGFiaW5kZXg9XCItMVwiIHR5cGU9XCJmaWxlXCJcbiAgICBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiIFthdHRyLm11bHRpcGxlXT1cIm1vZGVsLm11bHRpcGxlUmVuZGVyZWRcIlxuICAgIFthdHRyLnRpdGxlXT1cIm1vZGVsLmlucHV0VGl0bGVcIiBbYXR0ci5hY2NlcHRdPVwibW9kZWwuYWNjZXB0ZWRUeXBlc1wiIFthdHRyLmNhcHR1cmVdPVwibW9kZWwucmVuZGVyQ2FwdHVyZVwiIC8+XG4gIDxpbnB1dCAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiB0eXBlPVwiZmlsZVwiIGRpc2FibGVkIFtjbGFzc109XCJtb2RlbC5nZXRSZWFkT25seUZpbGVDc3MoKVwiIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIlxuICAgIFthdHRyLm11bHRpcGxlXT1cIm1vZGVsLm11bHRpcGxlUmVuZGVyZWRcIiBbYXR0ci5wbGFjZWhvbGRlcl09XCJtb2RlbC50aXRsZVwiIHN0eWxlPVwiY29sb3I6IHRyYW5zcGFyZW50XCIgLz5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5kcmFnQXJlYVwiIChkcmFnZW50ZXIpPVwibW9kZWwub25EcmFnRW50ZXIoJGV2ZW50KVwiIChkcm9wKT1cIm1vZGVsLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ292ZXIpPVwibW9kZWwub25EcmFnT3ZlcigkZXZlbnQpXCIgKGRyYWdsZWF2ZSk9XCJtb2RlbC5vbkRyYWdMZWF2ZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0RmlsZURlY29yYXRvckNzcygpXCIgKm5nSWY9XCJtb2RlbC5zaG93RmlsZURlY29yYXRvclwiPlxuICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZHJhZ0FyZWFQbGFjZWhvbGRlclwiIFttb2RlbF09XCJtb2RlbC5sb2NSZW5kZXJlZFBsYWNlaG9sZGVyXCIgc3Ytbmctc3RyaW5nPjwvc3Bhbj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMud3JhcHBlclwiPlxuICAgICAgICA8c3YtbmctY2hvb3NlLWZpbGUtYnRuIFtkYXRhXT1cInsgcXVlc3Rpb246IG1vZGVsIH1cIiAqbmdJZj1cIm1vZGVsLnNob3dDaG9vc2VCdXR0b25cIj48L3N2LW5nLWNob29zZS1maWxlLWJ0bj5cbiAgICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cIm1vZGVsLmFjdGlvbnNDb250YWluZXJcIiAqbmdJZj1cIm1vZGVsLmFjdGlvbnNDb250YWluZXJWaXNpYmxlXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5ub0ZpbGVDaG9zZW5cIiAqbmdJZj1cIm1vZGVsLmlzRW1wdHkoKVwiPnt7IG1vZGVsLm5vRmlsZUNob3NlbkNhcHRpb24gfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZWwuc2hvd0xvYWRpbmdJbmRpY2F0b3JcIj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMubG9hZGluZ0luZGljYXRvclwiPlxuICAgICAgICA8c3YtbmctbG9hZGluZy1pbmRpY2F0b3I+PC9zdi1uZy1sb2FkaW5nLWluZGljYXRvcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5pc1BsYXlpbmdWaWRlb1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbGVWaWRlb1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5zaG93UmVtb3ZlQnV0dG9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsZUNsZWFuQnV0dG9uOyBjb250ZXh0OiB7IGNzczogbW9kZWwuc2hvd1JlbW92ZUJ1dHRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmFsbG93U2hvd1ByZXZpZXdcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LWZpbGUtcHJldmlldycsIGRhdGE6IHsgcXVlc3Rpb246IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLnNob3dSZW1vdmVCdXR0b25Cb3R0b21cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaWxlQ2xlYW5CdXR0b247IGNvbnRleHQ6IHsgY3NzOiBtb2RlbC5zaG93UmVtb3ZlQnV0dG9uQm90dG9tIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLmZpbGVOYXZpZ2F0b3JWaXNpYmxlXCIgW21vZGVsXT1cIm1vZGVsLmZpbGVOYXZpZ2F0b3JcIj48L3N2LWFjdGlvbi1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2ZpbGVDbGVhbkJ1dHRvbiBsZXQtY3NzPVwiY3NzXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtjbGFzc109XCJjc3NcIiAoY2xpY2spPVwibW9kZWwuZG9DbGVhbigpXCI+XG4gICAgPHNwYW4+e3sgbW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUJ1dHRvbkljb25JZFwiIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUJ1dHRvbkljb25JZFwiIFtzaXplXT1cIidhdXRvJ1wiXG4gICAgICBbdGl0bGVdPVwibW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZmlsZVZpZGVvPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnZpZGVvQ29udGFpbmVyXCI+XG4gICAgPHN2LW5nLWFjdGlvbiBbbW9kZWxdPVwibW9kZWwuY2hhbmdlQ2FtZXJhQWN0aW9uXCI+PC9zdi1uZy1hY3Rpb24+XG4gICAgPHN2LW5nLWFjdGlvbiBbbW9kZWxdPVwibW9kZWwuY2xvc2VDYW1lcmFBY3Rpb25cIj48L3N2LW5nLWFjdGlvbj5cbiAgICA8dmlkZW8gYXV0b3BsYXkgcGxheXNpbmxpbmUgW2F0dHIuaWRdPVwibW9kZWwudmlkZW9JZFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnZpZGVvXCI+PC92aWRlbz5cbiAgICA8c3YtbmctYWN0aW9uIFttb2RlbF09XCJtb2RlbC50YWtlUGljdHVyZUFjdGlvblwiPjwvc3YtbmctYWN0aW9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -7,9 +7,11 @@ import * as i2 from "./utils/safe-html.pipe";
7
7
  export class StringViewerComponent {
8
8
  constructor(changeDetectorRef) {
9
9
  this.changeDetectorRef = changeDetectorRef;
10
+ this.className = "";
10
11
  }
11
12
  ngDoCheck() {
12
13
  if (this.model !== this.previousModel) {
14
+ this.className = this.model.allowLineBreaks ? "sv-string-viewer sv-string-viewer--multiline" : "sv-string-viewer";
13
15
  if (!!this.previousModel) {
14
16
  this.clearOnChanged(this.previousModel);
15
17
  }
@@ -27,7 +29,7 @@ export class StringViewerComponent {
27
29
  }
28
30
  }
29
31
  StringViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
30
- StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" class=\"sv-string-viewer\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" class=\"sv-string-viewer\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": i2.SafeHtmlPipe } });
32
+ StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" [class]=\"className\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" [class]=\"className\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": i2.SafeHtmlPipe } });
31
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, decorators: [{
32
34
  type: Component,
33
35
  args: [{
@@ -39,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
39
41
  type: Input
40
42
  }] } });
41
43
  AngularComponentFactory.Instance.registerComponent(LocalizableString.defaultRenderer, StringViewerComponent);
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQUcsQ0FBQztJQUM1RCxTQUFTO1FBQ1AsSUFBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEMsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDekM7WUFDRCxJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxRTtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNqQztJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsS0FBd0I7UUFDckMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFdBQVc7UUFDVCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDOzttSEFwQlUscUJBQXFCO3VHQUFyQixxQkFBcUIsK0hDVGxDLHlNQUN3Rzs0RkRRM0YscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2REFBNkQ7b0JBQ3ZFLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2lCQUM5Qzt3R0FFVSxLQUFLO3NCQUFiLEtBQUs7O0FBcUJSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIERvQ2hlY2ssIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMb2NhbGl6YWJsZVN0cmluZyB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3Ytbmctc3RyaW5nLXZpZXdlciwgc3RyaW5nLXZpZXdlciwgJ1tzdi1uZy1zdHJpbmctdmlld2VyXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9zdHJpbmctdmlld2VyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9zdHJpbmctdmlld2VyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ1ZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBASW5wdXQoKSBtb2RlbCE6IExvY2FsaXphYmxlU3RyaW5nO1xuICBwcml2YXRlIHByZXZpb3VzTW9kZWw6IExvY2FsaXphYmxlU3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmKHRoaXMubW9kZWwgIT09IHRoaXMucHJldmlvdXNNb2RlbCkge1xuICAgICAgaWYoISF0aGlzLnByZXZpb3VzTW9kZWwpIHtcbiAgICAgICAgdGhpcy5jbGVhck9uQ2hhbmdlZCh0aGlzLnByZXZpb3VzTW9kZWwpO1xuICAgICAgfVxuICAgICAgaWYoISF0aGlzLm1vZGVsKSB7XG4gICAgICAgIHRoaXMubW9kZWwub25DaGFuZ2VkID0gKCkgPT4geyB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJldmlvdXNNb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfVxuICB9XG4gIGNsZWFyT25DaGFuZ2VkKG1vZGVsOiBMb2NhbGl6YWJsZVN0cmluZykge1xuICAgIG1vZGVsLm9uQ2hhbmdlZCA9ICgpID0+IHt9O1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICEhdGhpcy5tb2RlbCAmJiB0aGlzLmNsZWFyT25DaGFuZ2VkKHRoaXMubW9kZWwpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChMb2NhbGl6YWJsZVN0cmluZy5kZWZhdWx0UmVuZGVyZXIsIFN0cmluZ1ZpZXdlckNvbXBvbmVudCk7IiwiPHNwYW4gKm5nSWY9XCIhbW9kZWwuaGFzSHRtbFwiIGNsYXNzPVwic3Ytc3RyaW5nLXZpZXdlclwiPnt7bW9kZWwucmVuZGVyZWRIdG1sfX08L3NwYW4+XG48c3BhbiAqbmdJZj1cIm1vZGVsLmhhc0h0bWxcIiBjbGFzcz1cInN2LXN0cmluZy12aWV3ZXJcIiBbaW5uZXJIdG1sXT1cIm1vZGVsLnJlbmRlcmVkSHRtbCB8IHNhZmVIdG1sXCI+PC9zcGFuPiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVyxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU85RCxNQUFNLE9BQU8scUJBQXFCO0lBSWhDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRnhELGNBQVMsR0FBVyxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUM1RCxTQUFTO1FBQ1AsSUFBRyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO1lBQ2xILElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQXdCO1FBQ3JDLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxXQUFXO1FBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7bUhBdEJVLHFCQUFxQjt1R0FBckIscUJBQXFCLCtIQ1RsQywrTEFDbUc7NEZEUXRGLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkRBQTZEO29CQUN2RSxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztpQkFDOUM7d0dBRVUsS0FBSztzQkFBYixLQUFLOztBQXVCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBEb0NoZWNrLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTG9jYWxpemFibGVTdHJpbmcgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXN0cmluZy12aWV3ZXIsIHN0cmluZy12aWV3ZXIsICdbc3Ytbmctc3RyaW5nLXZpZXdlcl0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3RyaW5nLXZpZXdlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vc3RyaW5nLXZpZXdlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBTdHJpbmdWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgQElucHV0KCkgbW9kZWwhOiBMb2NhbGl6YWJsZVN0cmluZztcbiAgY2xhc3NOYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBwcml2YXRlIHByZXZpb3VzTW9kZWw6IExvY2FsaXphYmxlU3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmKHRoaXMubW9kZWwgIT09IHRoaXMucHJldmlvdXNNb2RlbCkge1xuICAgICAgdGhpcy5jbGFzc05hbWUgPSB0aGlzLm1vZGVsLmFsbG93TGluZUJyZWFrcyA/IFwic3Ytc3RyaW5nLXZpZXdlciBzdi1zdHJpbmctdmlld2VyLS1tdWx0aWxpbmVcIiA6IFwic3Ytc3RyaW5nLXZpZXdlclwiO1xuICAgICAgaWYoISF0aGlzLnByZXZpb3VzTW9kZWwpIHtcbiAgICAgICAgdGhpcy5jbGVhck9uQ2hhbmdlZCh0aGlzLnByZXZpb3VzTW9kZWwpO1xuICAgICAgfVxuICAgICAgaWYoISF0aGlzLm1vZGVsKSB7XG4gICAgICAgIHRoaXMubW9kZWwub25DaGFuZ2VkID0gKCkgPT4geyB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJldmlvdXNNb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfVxuICB9XG4gIGNsZWFyT25DaGFuZ2VkKG1vZGVsOiBMb2NhbGl6YWJsZVN0cmluZykge1xuICAgIG1vZGVsLm9uQ2hhbmdlZCA9ICgpID0+IHt9O1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICEhdGhpcy5tb2RlbCAmJiB0aGlzLmNsZWFyT25DaGFuZ2VkKHRoaXMubW9kZWwpO1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChMb2NhbGl6YWJsZVN0cmluZy5kZWZhdWx0UmVuZGVyZXIsIFN0cmluZ1ZpZXdlckNvbXBvbmVudCk7IiwiPHNwYW4gKm5nSWY9XCIhbW9kZWwuaGFzSHRtbFwiIFtjbGFzc109XCJjbGFzc05hbWVcIj57e21vZGVsLnJlbmRlcmVkSHRtbH19PC9zcGFuPlxuPHNwYW4gKm5nSWY9XCJtb2RlbC5oYXNIdG1sXCIgW2NsYXNzXT1cImNsYXNzTmFtZVwiIFtpbm5lckh0bWxdPVwibW9kZWwucmVuZGVyZWRIdG1sIHwgc2FmZUh0bWxcIj48L3NwYW4+Il19
@@ -1135,9 +1135,11 @@ AngularComponentFactory.Instance.registerComponent("question", QuestionComponent
1135
1135
  class StringViewerComponent {
1136
1136
  constructor(changeDetectorRef) {
1137
1137
  this.changeDetectorRef = changeDetectorRef;
1138
+ this.className = "";
1138
1139
  }
1139
1140
  ngDoCheck() {
1140
1141
  if (this.model !== this.previousModel) {
1142
+ this.className = this.model.allowLineBreaks ? "sv-string-viewer sv-string-viewer--multiline" : "sv-string-viewer";
1141
1143
  if (!!this.previousModel) {
1142
1144
  this.clearOnChanged(this.previousModel);
1143
1145
  }
@@ -1155,7 +1157,7 @@ class StringViewerComponent {
1155
1157
  }
1156
1158
  }
1157
1159
  StringViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1158
- StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" class=\"sv-string-viewer\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" class=\"sv-string-viewer\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": SafeHtmlPipe } });
1160
+ StringViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: StringViewerComponent, selector: "sv-ng-string-viewer, string-viewer, '[sv-ng-string-viewer]'", inputs: { model: "model" }, ngImport: i0, template: "<span *ngIf=\"!model.hasHtml\" [class]=\"className\">{{model.renderedHtml}}</span>\n<span *ngIf=\"model.hasHtml\" [class]=\"className\" [innerHtml]=\"model.renderedHtml | safeHtml\"></span>", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "safeHtml": SafeHtmlPipe } });
1159
1161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StringViewerComponent, decorators: [{
1160
1162
  type: Component,
1161
1163
  args: [{
@@ -1787,7 +1789,7 @@ class BooleanQuestionComponent extends QuestionAngular {
1787
1789
  }
1788
1790
  }
1789
1791
  BooleanQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BooleanQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1790
- BooleanQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, false)\">\n <span [class]=\"model.getLabelCss(false)\" [model]=\"model.locLabelFalse\" sv-ng-string></span>\n </div>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, true)\">\n <span [class]=\"model.getLabelCss(true)\" [model]=\"model.locLabelTrue\" sv-ng-string></span>\n </div>\n </label>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1792
+ BooleanQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: BooleanQuestionComponent, selector: "sv-ng-boolean-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.cssClasses.root\" (keydown)=\"model.onKeyDownCore($event)\" #contentElement>\n <label [class]=\"model.getItemCss()\">\n <input\n type=\"checkbox\"\n [attr.name]=\"model.name\" [attr.id]=\"model.inputId\" \n [attr.role]=\"model.a11y_input_ariaRole\"\n [attr.aria-required]=\"model.a11y_input_ariaRequired\"\n [attr.aria-label]=\"model.a11y_input_ariaLabel\"\n [attr.aria-labelledby]=\"model.a11y_input_ariaLabelledBy\"\n [attr.aria-invalid]=\"model.a11y_input_ariaInvalid\"\n [attr.aria-describedby]=\"model.a11y_input_ariaDescribedBy\"\n [class]=\"model.cssClasses.control\" [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\" [value]=\"model.booleanValue\" [(ngModel)]=\"model.booleanValue\" />\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, model.swapOrder)\">\n <span [class]=\"model.getLabelCss(model.swapOrder)\" [model]=\"model.locLabelLeft\" sv-ng-string></span>\n </div>\n <div [class]=\"model.cssClasses.switch\" (click)=\"model.onSwitchClickModel($event)\">\n <span [class]=\"model.cssClasses.slider\">\n <span *ngIf=\"model.cssClasses.sliderText && model.isDeterminated\" [class]=\"model.cssClasses.sliderText\" [model]=\"model.getCheckedLabel()\" sv-ng-string></span>\n </span>\n </div>\n <div [class]=\"model.cssClasses.sliderGhost\" (click)=\"model.onLabelClick($event, !model.swapOrder)\">\n <span [class]=\"model.getLabelCss(!model.swapOrder)\" [model]=\"model.locLabelRight\" sv-ng-string></span>\n </div>\n </label>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1791
1793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BooleanQuestionComponent, decorators: [{
1792
1794
  type: Component,
1793
1795
  args: [{
@@ -2621,7 +2623,7 @@ class ChooseFileBtn extends EmbeddedViewContentComponent {
2621
2623
  }
2622
2624
  }
2623
2625
  ChooseFileBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, deps: null, target: i0.ɵɵFactoryTarget.Component });
2624
- ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile()\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2626
+ ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile($event)\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2625
2627
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, decorators: [{
2626
2628
  type: Component,
2627
2629
  args: [{
@@ -2651,7 +2653,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
2651
2653
  class FileQuestionComponent extends QuestionAngular {
2652
2654
  }
2653
2655
  FileQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2654
- FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input [class]=\"model.cssClasses.fileInput\" *ngIf=\"!model.isReadOnly && model.hasFileUI\" tabindex=\"-1\" type=\"file\"\n [attr.id]=\"model.inputId\" (change)=\"model.doChange($event)\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\" [attr.accept]=\"model.acceptedTypes\" [attr.capture]=\"model.renderCapture\" />\n <input *ngIf=\"model.isReadOnly\" type=\"file\" disabled [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <div [class]=\"model.cssClasses.dragArea\" (dragenter)=\"model.onDragEnter($event)\" (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\" (dragleave)=\"model.onDragLeave($event)\">\n <div [class]=\"model.getFileDecoratorCss()\" *ngIf=\"model.showFileDecorator\">\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\" [model]=\"model.locRenderedPlaceholder\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.wrapper\">\n <sv-ng-choose-file-btn [data]=\"{ question: model }\" *ngIf=\"model.showChooseButton\"></sv-ng-choose-file-btn>\n <sv-ng-action-bar [model]=\"model.actionsContainer\" *ngIf=\"model.actionsContainerVisible\"></sv-ng-action-bar>\n <span [class]=\"model.cssClasses.noFileChosen\" *ngIf=\"model.isEmpty()\">{{ model.noFileChosenCaption }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.isPlayingVideo\">\n <ng-container *ngTemplateOutlet=\"fileVideo\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButton\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButton }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.allowShowPreview\">\n <ng-template [component]=\"{ name: 'sv-file-preview', data: { question: model } }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButtonBottom\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButtonBottom }\"></ng-container>\n </ng-container>\n <sv-action-bar *ngIf=\"model.fileNavigatorVisible\" [model]=\"model.fileNavigator\"></sv-action-bar>\n </div>\n</div>\n<ng-template #fileCleanButton let-css=\"css\">\n <button type=\"button\" [class]=\"css\" (click)=\"model.doClean()\">\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\"\n [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n</ng-template>\n<ng-template #fileVideo>\n <div [class]=\"model.cssClasses.videoContainer\">\n <sv-ng-action [model]=\"model.changeCameraAction\"></sv-ng-action>\n <sv-ng-action [model]=\"model.closeCameraAction\"></sv-ng-action>\n <video autoplay playsinline [attr.id]=\"model.videoId\" [class]=\"model.cssClasses.video\"></video>\n <sv-ng-action [model]=\"model.takePictureAction\"></sv-ng-action>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: ["data", "model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2656
+ FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input [class]=\"model.cssClasses.fileInput\" *ngIf=\"!model.isReadOnly && model.hasFileUI\" tabindex=\"-1\" type=\"file\"\n [attr.id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\" [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\" [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\" [attr.accept]=\"model.acceptedTypes\" [attr.capture]=\"model.renderCapture\" />\n <input *ngIf=\"model.isReadOnly\" type=\"file\" disabled [class]=\"model.getReadOnlyFileCss()\" [attr.id]=\"model.inputId\"\n [attr.multiple]=\"model.multipleRendered\" [attr.placeholder]=\"model.title\" style=\"color: transparent\" />\n <div [class]=\"model.cssClasses.dragArea\" (dragenter)=\"model.onDragEnter($event)\" (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\" (dragleave)=\"model.onDragLeave($event)\">\n <div [class]=\"model.getFileDecoratorCss()\" *ngIf=\"model.showFileDecorator\">\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\" [model]=\"model.locRenderedPlaceholder\" sv-ng-string></span>\n <div [class]=\"model.cssClasses.wrapper\">\n <sv-ng-choose-file-btn [data]=\"{ question: model }\" *ngIf=\"model.showChooseButton\"></sv-ng-choose-file-btn>\n <sv-ng-action-bar [model]=\"model.actionsContainer\" *ngIf=\"model.actionsContainerVisible\"></sv-ng-action-bar>\n <span [class]=\"model.cssClasses.noFileChosen\" *ngIf=\"model.isEmpty()\">{{ model.noFileChosenCaption }}</span>\n </div>\n </div>\n <ng-container *ngIf=\"model.showLoadingIndicator\">\n <div [class]=\"model.cssClasses.loadingIndicator\">\n <sv-ng-loading-indicator></sv-ng-loading-indicator>\n </div>\n </ng-container>\n <ng-container *ngIf=\"model.isPlayingVideo\">\n <ng-container *ngTemplateOutlet=\"fileVideo\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButton\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButton }\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"model.allowShowPreview\">\n <ng-template [component]=\"{ name: 'sv-file-preview', data: { question: model } }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"model.showRemoveButtonBottom\">\n <ng-container *ngTemplateOutlet=\"fileCleanButton; context: { css: model.showRemoveButtonBottom }\"></ng-container>\n </ng-container>\n <sv-action-bar *ngIf=\"model.fileNavigatorVisible\" [model]=\"model.fileNavigator\"></sv-action-bar>\n </div>\n</div>\n<ng-template #fileCleanButton let-css=\"css\">\n <button type=\"button\" [class]=\"css\" (click)=\"model.doClean()\">\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\"\n [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n</ng-template>\n<ng-template #fileVideo>\n <div [class]=\"model.cssClasses.videoContainer\">\n <sv-ng-action [model]=\"model.changeCameraAction\"></sv-ng-action>\n <sv-ng-action [model]=\"model.closeCameraAction\"></sv-ng-action>\n <video autoplay playsinline [attr.id]=\"model.videoId\" [class]=\"model.cssClasses.video\"></video>\n <sv-ng-action [model]=\"model.takePictureAction\"></sv-ng-action>\n </div>\n</ng-template>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: ["data", "model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: LoadingIndicatorComponent, selector: "sv-ng-loading-indicator" }, { type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ActionComponent, selector: "sv-ng-action", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2655
2657
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileQuestionComponent, decorators: [{
2656
2658
  type: Component,
2657
2659
  args: [{