survey-angular-ui 1.9.54 → 1.9.56

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 (29) hide show
  1. package/angular-ui.d.ts +2 -0
  2. package/angular-ui.module.d.ts +58 -55
  3. package/components/element-title/title-actions.component.d.ts +7 -0
  4. package/components/list/list-item.component.d.ts +3 -1
  5. package/components/list/list.component.d.ts +6 -1
  6. package/components/skeleton/skeleton.component.d.ts +7 -0
  7. package/components/timer-panel/timer-panel.component.d.ts +10 -0
  8. package/esm2020/angular-ui.mjs +3 -1
  9. package/esm2020/angular-ui.module.mjs +15 -12
  10. package/esm2020/components/element-title/element-title.component.mjs +5 -6
  11. package/esm2020/components/element-title/title-actions.component.mjs +17 -0
  12. package/esm2020/components/list/list-item.component.mjs +6 -3
  13. package/esm2020/components/list/list.component.mjs +18 -4
  14. package/esm2020/components/renderAs/boolean-checkbox/boolean-checkbox.component.mjs +7 -6
  15. package/esm2020/components/renderAs/dropdown-select/dropdown-select.component.mjs +3 -3
  16. package/esm2020/components/skeleton/skeleton.component.mjs +16 -0
  17. package/esm2020/components/timer-panel/timer-panel.component.mjs +23 -0
  18. package/esm2020/popup.survey.component.mjs +20 -9
  19. package/esm2020/questions/file.component.mjs +3 -3
  20. package/esm2020/questions/text.component.mjs +3 -3
  21. package/esm2020/row.component.mjs +42 -6
  22. package/esm2020/survey-content.component.mjs +10 -9
  23. package/fesm2015/survey-angular-ui.mjs +157 -49
  24. package/fesm2015/survey-angular-ui.mjs.map +1 -1
  25. package/fesm2020/survey-angular-ui.mjs +154 -49
  26. package/fesm2020/survey-angular-ui.mjs.map +1 -1
  27. package/package.json +1 -3
  28. package/popup.survey.component.d.ts +9 -7
  29. package/row.component.d.ts +9 -1
@@ -0,0 +1,17 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { EmbeddedViewContentComponent } from "../../embedded-view-content.component";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../action-bar/action-bar.component";
5
+ import * as i2 from "../../survey-string.component";
6
+ import * as i3 from "@angular/common";
7
+ export class ElementTitleActionsComponent extends EmbeddedViewContentComponent {
8
+ }
9
+ ElementTitleActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementTitleActionsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
+ ElementTitleActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: { element: "element" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <ng-container *ngIf=\"!element.hasTitleActions\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"element.hasTitleActions\">\n <div class=\"sv-title-actions\">\n <span class=\"sv-title-actions__title\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </span>\n <sv-ng-action-bar [model]=\"element.getTitleToolbar()\"></sv-ng-action-bar>\n </div>\n </ng-container>\n <ng-template #elementTitleContent>\n <sv-ng-string *ngIf=\"element.isTitleRenderedAsString\" [model]=\"element.locTitle\"></sv-ng-string>\n <ng-container *ngIf=\"!element.isTitleRenderedAsString\">\n <span\n *ngIf=\"element.isRequireTextOnStart\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span\n *ngIf=\"element.no\"\n style=\"position: static\"\n [class]=\"element.cssClasses.number\"\n [attr.aria-hidden]=\"true\"\n >{{ element.no }}</span>\n <span *ngIf=\"element.no\">&nbsp;</span>\n <span\n *ngIf=\"element.isRequireTextBeforeTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span *ngIf=\"element.isRequireTextBeforeTitle\">&nbsp;</span>\n <sv-ng-string [model]=\"element.locTitle\"></sv-ng-string>\n <span *ngIf=\"element.isRequireTextAfterTitle\">&nbsp;</span>\n <span\n *ngIf=\" element.isRequireTextAfterTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span> \n </ng-container>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ElementTitleActionsComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: "sv-ng-element-title-actions", template: "<ng-template #template>\n <ng-container *ngIf=\"!element.hasTitleActions\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"element.hasTitleActions\">\n <div class=\"sv-title-actions\">\n <span class=\"sv-title-actions__title\">\n <ng-container *ngTemplateOutlet=\"elementTitleContent\"></ng-container>\n </span>\n <sv-ng-action-bar [model]=\"element.getTitleToolbar()\"></sv-ng-action-bar>\n </div>\n </ng-container>\n <ng-template #elementTitleContent>\n <sv-ng-string *ngIf=\"element.isTitleRenderedAsString\" [model]=\"element.locTitle\"></sv-ng-string>\n <ng-container *ngIf=\"!element.isTitleRenderedAsString\">\n <span\n *ngIf=\"element.isRequireTextOnStart\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span\n *ngIf=\"element.no\"\n style=\"position: static\"\n [class]=\"element.cssClasses.number\"\n [attr.aria-hidden]=\"true\"\n >{{ element.no }}</span>\n <span *ngIf=\"element.no\">&nbsp;</span>\n <span\n *ngIf=\"element.isRequireTextBeforeTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span>\n <span *ngIf=\"element.isRequireTextBeforeTitle\">&nbsp;</span>\n <sv-ng-string [model]=\"element.locTitle\"></sv-ng-string>\n <span *ngIf=\"element.isRequireTextAfterTitle\">&nbsp;</span>\n <span\n *ngIf=\" element.isRequireTextAfterTitle\"\n [class]=\"element.cssClasses.requiredText\"\n [attr.aria-hidden]=\"true\"\n >{{ element.requiredText }}</span> \n </ng-container>\n </ng-template>\n</ng-template>", styles: [":host{display:none}\n"] }]
14
+ }], propDecorators: { element: [{
15
+ type: Input
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUtYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy9lbGVtZW50LXRpdGxlL3RpdGxlLWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvZWxlbWVudC10aXRsZS90aXRsZS1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQU9yRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsNEJBQTRCOzt5SEFBakUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsMEhDUnpDLGt5REEwQ2M7MkZEbENELDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw2QkFBNkI7OEJBSzlCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1lbGVtZW50LXRpdGxlLWFjdGlvbnNcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90aXRsZS1hY3Rpb25zLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudFRpdGxlQWN0aW9uc0NvbXBvbmVudCBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBlbGVtZW50OiBhbnk7XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlbGVtZW50Lmhhc1RpdGxlQWN0aW9uc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbGVtZW50VGl0bGVDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZWxlbWVudC5oYXNUaXRsZUFjdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic3YtdGl0bGUtYWN0aW9uc1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzdi10aXRsZS1hY3Rpb25zX190aXRsZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZWxlbWVudFRpdGxlQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cImVsZW1lbnQuZ2V0VGl0bGVUb29sYmFyKClcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI2VsZW1lbnRUaXRsZUNvbnRlbnQ+XG4gICAgPHN2LW5nLXN0cmluZyAqbmdJZj1cImVsZW1lbnQuaXNUaXRsZVJlbmRlcmVkQXNTdHJpbmdcIiBbbW9kZWxdPVwiZWxlbWVudC5sb2NUaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZWxlbWVudC5pc1RpdGxlUmVuZGVyZWRBc1N0cmluZ1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJlbGVtZW50LmlzUmVxdWlyZVRleHRPblN0YXJ0XCJcbiAgICAgICAgW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3Nlcy5yZXF1aXJlZFRleHRcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgPnt7IGVsZW1lbnQucmVxdWlyZWRUZXh0IH19PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJlbGVtZW50Lm5vXCJcbiAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogc3RhdGljXCJcbiAgICAgICAgW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3Nlcy5udW1iZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgPnt7IGVsZW1lbnQubm8gfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cImVsZW1lbnQubm9cIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cImVsZW1lbnQuaXNSZXF1aXJlVGV4dEJlZm9yZVRpdGxlXCJcbiAgICAgICAgW2NsYXNzXT1cImVsZW1lbnQuY3NzQ2xhc3Nlcy5yZXF1aXJlZFRleHRcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgPnt7IGVsZW1lbnQucmVxdWlyZWRUZXh0IH19PC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJlbGVtZW50LmlzUmVxdWlyZVRleHRCZWZvcmVUaXRsZVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImVsZW1lbnQubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZWxlbWVudC5pc1JlcXVpcmVUZXh0QWZ0ZXJUaXRsZVwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiIGVsZW1lbnQuaXNSZXF1aXJlVGV4dEFmdGVyVGl0bGVcIlxuICAgICAgICBbY2xhc3NdPVwiZWxlbWVudC5jc3NDbGFzc2VzLnJlcXVpcmVkVGV4dFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICA+e3sgZWxlbWVudC5yZXF1aXJlZFRleHQgfX08L3NwYW4+IFxuICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+Il19
@@ -28,12 +28,15 @@ export class ListItemComponent extends BaseAngular {
28
28
  getModel() {
29
29
  return this.model;
30
30
  }
31
+ ngAfterViewInit() {
32
+ this.listModel.onLastItemRended(this.model);
33
+ }
31
34
  }
32
35
  ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingLeft]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
36
+ ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: { element: "element", model: "model", listModel: "listModel" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingInlineStart]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
34
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ListItemComponent, decorators: [{
35
38
  type: Component,
36
- args: [{ selector: "sv-ng-list-item, '[sv-ng-list-item]'", template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingLeft]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"] }]
39
+ args: [{ selector: "sv-ng-list-item, '[sv-ng-list-item]'", template: "<ng-template #template>\n <li role=\"option\" [key2click] [visible]=\"listModel.isItemVisible(model)\" [class]=\"class\" [attr.aria-selected]=\"ariaSelected\" (click)=\"click($event)\" (pointerdown)=\"pointerdown($event)\">\n <ng-container *ngIf=\"model.needSeparator\">\n <div [class]=\"listModel.cssClasses.itemSeparator\"></div>\n </ng-container>\n <div [class]=\"listModel.cssClasses.itemBody\" [style.paddingInlineStart]=\"paddingLeft\">\n <ng-container *ngIf=\"!model.component\">\n <svg *ngIf=\"model.iconName\" [class]=\"listModel.cssClasses.itemIcon\" [iconName]=\"model.iconName\" [size]=\"24\"\n sv-ng-svg-icon></svg>\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </ng-container>\n <ng-container *ngIf=\"model.component\">\n <ng-template [component]=\"{ name: model.component, data: { model: model } }\"></ng-template>\n </ng-container>\n </div>\n </li>\n</ng-template>", styles: [":host{display:none}\n"] }]
37
40
  }], propDecorators: { element: [{
38
41
  type: Input
39
42
  }], model: [{
@@ -42,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
42
45
  type: Input
43
46
  }] } });
44
47
  AngularComponentFactory.Instance.registerComponent("sv-list-item", ListItemComponent);
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFRbEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFdBQVc7SUFLaEQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs4R0F4QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMktDWDlCLDY2QkFnQmM7MkZETEQsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLHNDQUFzQzs4QkFNdkMsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLOztBQXdCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpc3RNb2RlbCwgQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1saXN0LWl0ZW0sICdbc3YtbmctbGlzdC1pdGVtXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIHtcbiAgQElucHV0KCkgZWxlbWVudDogYW55O1xuICBASW5wdXQoKSBtb2RlbCE6IEFjdGlvbjtcbiAgQElucHV0KCkgbGlzdE1vZGVsITogTGlzdE1vZGVsO1xuXG4gIGdldCBhcmlhU2VsZWN0ZWQoKTogYm9vbGVhbiB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGlzdE1vZGVsLmlzSXRlbVNlbGVjdGVkKHRoaXMubW9kZWwpIHx8IFwiXCI7XG4gIH1cbiAgZ2V0IGNsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGlzdE1vZGVsLmdldEl0ZW1DbGFzcyh0aGlzLm1vZGVsKTtcbiAgfVxuICBnZXQgcGFkZGluZ0xlZnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5saXN0TW9kZWwuZ2V0SXRlbUluZGVudCh0aGlzLm1vZGVsKTtcbiAgfVxuICBjbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5saXN0TW9kZWwub25JdGVtQ2xpY2sodGhpcy5tb2RlbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgcG9pbnRlcmRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE1vZGVsLm9uUG9pbnRlckRvd24oZXZlbnQsIHRoaXMubW9kZWwpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1saXN0LWl0ZW1cIiwgTGlzdEl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxsaSByb2xlPVwib3B0aW9uXCIgW2tleTJjbGlja10gW3Zpc2libGVdPVwibGlzdE1vZGVsLmlzSXRlbVZpc2libGUobW9kZWwpXCIgW2NsYXNzXT1cImNsYXNzXCIgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhcmlhU2VsZWN0ZWRcIiAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiIChwb2ludGVyZG93bik9XCJwb2ludGVyZG93bigkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLm5lZWRTZXBhcmF0b3JcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJsaXN0TW9kZWwuY3NzQ2xhc3Nlcy5pdGVtU2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBbY2xhc3NdPVwibGlzdE1vZGVsLmNzc0NsYXNzZXMuaXRlbUJvZHlcIiBbc3R5bGUucGFkZGluZ0xlZnRdPVwicGFkZGluZ0xlZnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW1vZGVsLmNvbXBvbmVudFwiPlxuICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmljb25OYW1lXCIgW2NsYXNzXT1cImxpc3RNb2RlbC5jc3NDbGFzc2VzLml0ZW1JY29uXCIgW2ljb25OYW1lXT1cIm1vZGVsLmljb25OYW1lXCIgW3NpemVdPVwiMjRcIlxuICAgICAgICBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cIm1vZGVsLmxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmNvbXBvbmVudFwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBtb2RlbC5jb21wb25lbnQsIGRhdGE6IHsgbW9kZWw6IG1vZGVsIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbGk+XG48L25nLXRlbXBsYXRlPiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBUWxFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBS2hELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs4R0E1QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsMktDWDlCLG83QkFnQmM7MkZETEQsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLHNDQUFzQzs4QkFNdkMsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLOztBQTRCUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpc3RNb2RlbCwgQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1saXN0LWl0ZW0sICdbc3YtbmctbGlzdC1pdGVtXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGVsZW1lbnQ6IGFueTtcbiAgQElucHV0KCkgbW9kZWwhOiBBY3Rpb247XG4gIEBJbnB1dCgpIGxpc3RNb2RlbCE6IExpc3RNb2RlbDtcblxuICBnZXQgYXJpYVNlbGVjdGVkKCk6IGJvb2xlYW4gfCBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5pc0l0ZW1TZWxlY3RlZCh0aGlzLm1vZGVsKSB8fCBcIlwiO1xuICB9XG4gIGdldCBjbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxpc3RNb2RlbC5nZXRJdGVtQ2xhc3ModGhpcy5tb2RlbCk7XG4gIH1cbiAgZ2V0IHBhZGRpbmdMZWZ0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubGlzdE1vZGVsLmdldEl0ZW1JbmRlbnQodGhpcy5tb2RlbCk7XG4gIH1cbiAgY2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMubGlzdE1vZGVsLm9uSXRlbUNsaWNrKHRoaXMubW9kZWwpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG4gIHBvaW50ZXJkb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RNb2RlbC5vblBvaW50ZXJEb3duKGV2ZW50LCB0aGlzLm1vZGVsKTtcbiAgfVxuXG4gIGdldE1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubGlzdE1vZGVsLm9uTGFzdEl0ZW1SZW5kZWQodGhpcy5tb2RlbCk7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdi1saXN0LWl0ZW1cIiwgTGlzdEl0ZW1Db21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxsaSByb2xlPVwib3B0aW9uXCIgW2tleTJjbGlja10gW3Zpc2libGVdPVwibGlzdE1vZGVsLmlzSXRlbVZpc2libGUobW9kZWwpXCIgW2NsYXNzXT1cImNsYXNzXCIgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhcmlhU2VsZWN0ZWRcIiAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiIChwb2ludGVyZG93bik9XCJwb2ludGVyZG93bigkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLm5lZWRTZXBhcmF0b3JcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJsaXN0TW9kZWwuY3NzQ2xhc3Nlcy5pdGVtU2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBbY2xhc3NdPVwibGlzdE1vZGVsLmNzc0NsYXNzZXMuaXRlbUJvZHlcIiBbc3R5bGUucGFkZGluZ0lubGluZVN0YXJ0XT1cInBhZGRpbmdMZWZ0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5jb21wb25lbnRcIj5cbiAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5pY29uTmFtZVwiIFtjbGFzc109XCJsaXN0TW9kZWwuY3NzQ2xhc3Nlcy5pdGVtSWNvblwiIFtpY29uTmFtZV09XCJtb2RlbC5pY29uTmFtZVwiIFtzaXplXT1cIjI0XCJcbiAgICAgICAgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJtb2RlbC5sb2NUaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5jb21wb25lbnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuY29tcG9uZW50LCBkYXRhOiB7IG1vZGVsOiBtb2RlbCB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { Component, Input, ViewChild } from "@angular/core";
2
2
  import { BaseAngular } from "../../base-angular";
3
3
  import { AngularComponentFactory } from "../../component-factory";
4
4
  import * as i0 from "@angular/core";
@@ -8,6 +8,12 @@ import * as i3 from "@angular/common";
8
8
  import * as i4 from "@angular/forms";
9
9
  import * as i5 from "../../utils/ng-show.directive";
10
10
  export class ListComponent extends BaseAngular {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.trackItemBy = (_, item) => {
14
+ return item.id;
15
+ };
16
+ }
11
17
  getModel() {
12
18
  return this.model;
13
19
  }
@@ -23,14 +29,22 @@ export class ListComponent extends BaseAngular {
23
29
  onMouseMove(event) {
24
30
  this.model.onMouseMove(event);
25
31
  }
32
+ ngAfterViewInit() {
33
+ if (!!this.listContainerElement?.nativeElement) {
34
+ this.model.initListContainerHtmlElement(this.listContainerElement.nativeElement);
35
+ }
36
+ }
26
37
  }
27
38
  ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\">\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
39
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ListComponent, selector: "sv-ng-list, '[sv-ng-list]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "listContainerElement", first: true, predicate: ["listContainerElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.ListItemComponent, selector: "sv-ng-list-item, '[sv-ng-list-item]'", inputs: ["element", "model", "listModel"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
29
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ListComponent, decorators: [{
30
41
  type: Component,
31
- args: [{ selector: "sv-ng-list, '[sv-ng-list]'", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\">\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
42
+ args: [{ selector: "sv-ng-list, '[sv-ng-list]'", template: "<ng-template #template>\n <div [class]=\"model.cssClasses.root\" #listContainerElement>\n <div *ngIf=\"model.showFilter\" [class]=\"model.cssClasses.filter\">\n <div [class]=\"model.cssClasses.filterIcon\">\n <svg [iconName]=\"'icon-search'\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n <input type=\"text\" [class]=\"model.cssClasses.filterInput\" [(ngModel)]=\"model.filterString\"\n [attr.aria-label]=\"model.filterStringPlaceholder || ''\"\n [attr.placeholder]=\"model.filterStringPlaceholder || ''\" \n (keyup)=\"onGoToItems($event)\" />\n </div>\n <div [class]=\"model.cssClasses.emptyContainer\" [visible]=\"model.isEmpty\">\n <div [class]=\"model.cssClasses.emptyText\" [attr.aria-label]=\"model.emptyMessage || ''\">{{ model.emptyMessage }}</div>\n </div>\n <ul [class]=\"model.cssClasses.itemsContainer\" role=\"listbox\" (mousedown)=\"onMouseDown($event)\" (keydown)=\"onKeyDown($event)\" (mousemove)=\"onMouseMove($event)\">\n <sv-ng-list-item *ngFor=\"let item of model.renderedActions; trackBy: trackItemBy\" [listModel]=\"model\" [model]=\"item\"></sv-ng-list-item>\n <!--ko foreach: model.renderedActions -->\n <!-- ko component: { name: 'sv-list-item', params: { item: $data, model: $parent.model } } -->\n <!-- /ko -->\n <!-- /ko -->\n </ul>\n </div>\n</ng-template>", styles: [":host{display:none}\n"] }]
32
43
  }], propDecorators: { model: [{
33
44
  type: Input
45
+ }], listContainerElement: [{
46
+ type: ViewChild,
47
+ args: ["listContainerElement"]
34
48
  }] } });
35
49
  AngularComponentFactory.Instance.registerComponent("sv-list", ListComponent);
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQVc7SUFHNUMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsU0FBUyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzBHQWpCVSxhQUFhOzhGQUFiLGFBQWEscUhDVDFCLDQ2Q0FzQmM7MkZEYkQsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSw0QkFBNEI7OEJBSzdCLEtBQUs7c0JBQWIsS0FBSzs7QUFtQlIsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi4vLi4vYmFzZS1hbmd1bGFyXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctbGlzdCwgJ1tzdi1uZy1saXN0XSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyIHtcbiAgQElucHV0KCkgbW9kZWw6IGFueTtcblxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBvbkdvVG9JdGVtcyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmdvVG9JdGVtcyhldmVudCk7XG4gIH1cbiAgb25Nb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuICBvbktleURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5vbktleURvd24oZXZlbnQpO1xuICB9XG4gIG9uTW91c2VNb3ZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwub25Nb3VzZU1vdmUoZXZlbnQpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtbGlzdFwiLCBMaXN0Q29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm9vdFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd0ZpbHRlclwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbHRlclwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5maWx0ZXJJY29uXCI+XG4gICAgICAgICAgICAgICAgPHN2ZyBbaWNvbk5hbWVdPVwiJ2ljb24tc2VhcmNoJ1wiIFtzaXplXT1cIjI0XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbHRlcklucHV0XCIgWyhuZ01vZGVsKV09XCJtb2RlbC5maWx0ZXJTdHJpbmdcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuZmlsdGVyU3RyaW5nUGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIm1vZGVsLmZpbHRlclN0cmluZ1BsYWNlaG9sZGVyIHx8ICcnXCIgXG4gICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uR29Ub0l0ZW1zKCRldmVudClcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5lbXB0eUNvbnRhaW5lclwiIFt2aXNpYmxlXT1cIm1vZGVsLmlzRW1wdHlcIj5cbiAgICAgICAgICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZW1wdHlUZXh0XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5lbXB0eU1lc3NhZ2UgfHwgJydcIj57eyBtb2RlbC5lbXB0eU1lc3NhZ2UgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx1bCBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pdGVtc0NvbnRhaW5lclwiIHJvbGU9XCJsaXN0Ym94XCIgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCIgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIiAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKCRldmVudClcIj5cbiAgICAgICAgICAgIDxzdi1uZy1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwucmVuZGVyZWRBY3Rpb25zXCIgW2xpc3RNb2RlbF09XCJtb2RlbFwiIFttb2RlbF09XCJpdGVtXCI+PC9zdi1uZy1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8IS0ta28gZm9yZWFjaDogbW9kZWwucmVuZGVyZWRBY3Rpb25zIC0tPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LWxpc3QtaXRlbScsIHBhcmFtczogeyBpdGVtOiAkZGF0YSwgbW9kZWw6ICRwYXJlbnQubW9kZWwgfSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBT2xFLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUw5Qzs7UUFTRSxnQkFBVyxHQUFHLENBQUMsQ0FBTSxFQUFFLElBQVksRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUE7S0FxQkY7SUFwQkMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsU0FBUyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7OzBHQTFCVSxhQUFhOzhGQUFiLGFBQWEsbVBDVjFCLHc5Q0FzQmM7MkZEWkQsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSw0QkFBNEI7OEJBSzdCLEtBQUs7c0JBQWIsS0FBSztnQkFDNkIsb0JBQW9CO3NCQUF0RCxTQUFTO3VCQUFDLHNCQUFzQjs7QUEyQm5DLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1saXN0LCAnW3N2LW5nLWxpc3RdJ1wiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2xpc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWw6IGFueTtcbiAgQFZpZXdDaGlsZChcImxpc3RDb250YWluZXJFbGVtZW50XCIpIGxpc3RDb250YWluZXJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgdHJhY2tJdGVtQnkgPSAoXzogYW55LCBpdGVtOiBBY3Rpb24pID0+IHtcbiAgICByZXR1cm4gaXRlbS5pZDtcbiAgfVxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBvbkdvVG9JdGVtcyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGVsLmdvVG9JdGVtcyhldmVudCk7XG4gIH1cbiAgb25Nb3VzZURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuICBvbktleURvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbC5vbktleURvd24oZXZlbnQpO1xuICB9XG4gIG9uTW91c2VNb3ZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwub25Nb3VzZU1vdmUoZXZlbnQpO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZighIXRoaXMubGlzdENvbnRhaW5lckVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuaW5pdExpc3RDb250YWluZXJIdG1sRWxlbWVudCh0aGlzLmxpc3RDb250YWluZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWxpc3RcIiwgTGlzdENvbXBvbmVudCk7IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJvb3RcIiAjbGlzdENvbnRhaW5lckVsZW1lbnQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5zaG93RmlsdGVyXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbHRlckljb25cIj5cbiAgICAgICAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1zZWFyY2gnXCIgW3NpemVdPVwiMjRcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsdGVySW5wdXRcIiBbKG5nTW9kZWwpXT1cIm1vZGVsLmZpbHRlclN0cmluZ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5maWx0ZXJTdHJpbmdQbGFjZWhvbGRlciB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwibW9kZWwuZmlsdGVyU3RyaW5nUGxhY2Vob2xkZXIgfHwgJydcIiBcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwib25Hb1RvSXRlbXMoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmVtcHR5Q29udGFpbmVyXCIgW3Zpc2libGVdPVwibW9kZWwuaXNFbXB0eVwiPlxuICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5lbXB0eVRleHRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmVtcHR5TWVzc2FnZSB8fCAnJ1wiPnt7IG1vZGVsLmVtcHR5TWVzc2FnZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1zQ29udGFpbmVyXCIgcm9sZT1cImxpc3Rib3hcIiAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudClcIiAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiIChtb3VzZW1vdmUpPVwib25Nb3VzZU1vdmUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPHN2LW5nLWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb2RlbC5yZW5kZXJlZEFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrSXRlbUJ5XCIgW2xpc3RNb2RlbF09XCJtb2RlbFwiIFttb2RlbF09XCJpdGVtXCI+PC9zdi1uZy1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8IS0ta28gZm9yZWFjaDogbW9kZWwucmVuZGVyZWRBY3Rpb25zIC0tPlxuICAgICAgICAgICAgPCEtLSBrbyBjb21wb25lbnQ6IHsgbmFtZTogJ3N2LWxpc3QtaXRlbScsIHBhcmFtczogeyBpdGVtOiAkZGF0YSwgbW9kZWw6ICRwYXJlbnQubW9kZWwgfSB9IC0tPlxuICAgICAgICAgICAgPCEtLSAva28gLS0+XG4gICAgICAgICAgICA8IS0tIC9rbyAtLT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -2,19 +2,20 @@ import { Component, Input } from "@angular/core";
2
2
  import { AngularComponentFactory } from "../../../component-factory";
3
3
  import { RendererFactory } from "survey-core";
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../../survey-string.component";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/common";
5
+ import * as i1 from "../../element-title/title-actions.component";
6
+ import * as i2 from "../../../survey-string.component";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@angular/common";
8
9
  export class BooleanCheckboxComponent {
9
10
  }
10
11
  BooleanCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- BooleanCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: BooleanCheckboxComponent, selector: "sv-ng-boolean-checkbox-question", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.titleLocation === 'hidden'\" [class]=\"model.cssClasses.checkboxControlLabel\" [model]=\"model.locDisplayLabel\" sv-ng-string></span>\n </label>\n </div>\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"] }] });
12
+ BooleanCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: BooleanCheckboxComponent, selector: "sv-ng-boolean-checkbox-question", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.isLabelRendered\" [class]=\"model.cssClasses.checkboxControlLabel\">\n <sv-ng-element-title-actions [element]=\"model\"></sv-ng-element-title-actions>\n </span>\n </label>\n <div *ngIf=\"model.canRenderLabelDescription\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n</div>", components: [{ type: i1.ElementTitleActionsComponent, selector: "sv-ng-element-title-actions", inputs: ["element"] }, { type: i2.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: BooleanCheckboxComponent, decorators: [{
13
14
  type: Component,
14
- args: [{ selector: "sv-ng-boolean-checkbox-question", template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.titleLocation === 'hidden'\" [class]=\"model.cssClasses.checkboxControlLabel\" [model]=\"model.locDisplayLabel\" sv-ng-string></span>\n </label>\n </div>\n</div>" }]
15
+ args: [{ selector: "sv-ng-boolean-checkbox-question", template: "<div [class]=\"model.cssClasses.rootCheckbox\">\n <div [class]=\"model.getCheckboxItemCss()\">\n <label [class]=\"model.cssClasses.checkboxLabel\">\n <input\n type=\"checkbox\"\n [value]=\"model.booleanValue\" [class]=\"model.cssClasses.controlCheckbox\" \n [attr.name]=\"model.name\" [id]=\"model.inputId\" [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\" [(ngModel)]=\"model.booleanValue\" [value]=\"model.booleanValue\"\n [disabled]=\"model.isInputReadOnly\" [indeterminate]=\"model.isIndeterminate\"\n />\n <span [class]=\"model.cssClasses.checkboxMaterialDecorator\">\n <svg *ngIf=\"!!model.svgIcon\" [class]=\"model.cssClasses.checkboxItemDecorator\">\n <use [attr.xlink:href]=\"model.svgIcon\"></use>\n </svg>\n <span class=\"check\"></span>\n </span>\n <span *ngIf=\"model.isLabelRendered\" [class]=\"model.cssClasses.checkboxControlLabel\">\n <sv-ng-element-title-actions [element]=\"model\"></sv-ng-element-title-actions>\n </span>\n </label>\n <div *ngIf=\"model.canRenderLabelDescription\" [class]=\"model.cssDescription\" [model]=\"model.locDescription\" sv-ng-string></div>\n </div>\n</div>" }]
15
16
  }], propDecorators: { model: [{
16
17
  type: Input
17
18
  }] } });
18
19
  AngularComponentFactory.Instance.registerComponent("boolean-checkbox-question", BooleanCheckboxComponent);
19
20
  RendererFactory.Instance.registerRenderer("boolean", "checkbox", "boolean-checkbox-question");
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy9yZW5kZXJBcy9ib29sZWFuLWNoZWNrYm94L2Jvb2xlYW4tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvcmVuZGVyQXMvYm9vbGVhbi1jaGVja2JveC9ib29sZWFuLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBTTlDLE1BQU0sT0FBTyx3QkFBd0I7O3FIQUF4Qix3QkFBd0I7eUdBQXhCLHdCQUF3QixtR0NUckMsaXBDQW1CTTsyRkRWTyx3QkFBd0I7a0JBSnBDLFNBQVM7K0JBQ0UsaUNBQWlDOzhCQUlsQyxLQUFLO3NCQUFiLEtBQUs7O0FBR1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLDJCQUEyQixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFDMUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDdkMsU0FBUyxFQUNULFVBQVUsRUFDViwyQkFBMkIsQ0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgUmVuZGVyZXJGYWN0b3J5IH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1ib29sZWFuLWNoZWNrYm94LXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYm9vbGVhbi1jaGVja2JveC5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIEJvb2xlYW5DaGVja2JveENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBhbnk7XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwiYm9vbGVhbi1jaGVja2JveC1xdWVzdGlvblwiLCBCb29sZWFuQ2hlY2tib3hDb21wb25lbnQpO1xuUmVuZGVyZXJGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyUmVuZGVyZXIoXG4gIFwiYm9vbGVhblwiLFxuICBcImNoZWNrYm94XCIsXG4gIFwiYm9vbGVhbi1jaGVja2JveC1xdWVzdGlvblwiXG4pO1xuIiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yb290Q2hlY2tib3hcIj5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0Q2hlY2tib3hJdGVtQ3NzKClcIj5cbiAgICA8bGFiZWwgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2hlY2tib3hMYWJlbFwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFt2YWx1ZV09XCJtb2RlbC5ib29sZWFuVmFsdWVcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jb250cm9sQ2hlY2tib3hcIiBcbiAgICAgICAgW2F0dHIubmFtZV09XCJtb2RlbC5uYW1lXCIgW2lkXT1cIm1vZGVsLmlucHV0SWRcIiBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIm1vZGVsLmFyaWFSZXF1aXJlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIm1vZGVsLmFyaWFJbnZhbGlkXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJtb2RlbC5hcmlhRGVzY3JpYmVkQnlcIiBbKG5nTW9kZWwpXT1cIm1vZGVsLmJvb2xlYW5WYWx1ZVwiIFt2YWx1ZV09XCJtb2RlbC5ib29sZWFuVmFsdWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgW2luZGV0ZXJtaW5hdGVdPVwibW9kZWwuaXNJbmRldGVybWluYXRlXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jaGVja2JveE1hdGVyaWFsRGVjb3JhdG9yXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCIhIW1vZGVsLnN2Z0ljb25cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jaGVja2JveEl0ZW1EZWNvcmF0b3JcIj5cbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibW9kZWwuc3ZnSWNvblwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja1wiPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibW9kZWwudGl0bGVMb2NhdGlvbiA9PT0gJ2hpZGRlbidcIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jaGVja2JveENvbnRyb2xMYWJlbFwiIFttb2RlbF09XCJtb2RlbC5sb2NEaXNwbGF5TGFiZWxcIiBzdi1uZy1zdHJpbmc+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+Il19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvY29tcG9uZW50cy9yZW5kZXJBcy9ib29sZWFuLWNoZWNrYm94L2Jvb2xlYW4tY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvcmVuZGVyQXMvYm9vbGVhbi1jaGVja2JveC9ib29sZWFuLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQU05QyxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbUdDVHJDLGswQ0FzQk07MkZEYk8sd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLGlDQUFpQzs4QkFJbEMsS0FBSztzQkFBYixLQUFLOztBQUdSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0FBQzFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQ3ZDLFNBQVMsRUFDVCxVQUFVLEVBQ1YsMkJBQTJCLENBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbmltcG9ydCB7IFJlbmRlcmVyRmFjdG9yeSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctYm9vbGVhbi1jaGVja2JveC1xdWVzdGlvblwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Jvb2xlYW4tY2hlY2tib3guY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBCb29sZWFuQ2hlY2tib3hDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImJvb2xlYW4tY2hlY2tib3gtcXVlc3Rpb25cIiwgQm9vbGVhbkNoZWNrYm94Q29tcG9uZW50KTtcblJlbmRlcmVyRmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlclJlbmRlcmVyKFxuICBcImJvb2xlYW5cIixcbiAgXCJjaGVja2JveFwiLFxuICBcImJvb2xlYW4tY2hlY2tib3gtcXVlc3Rpb25cIlxuKTtcbiIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucm9vdENoZWNrYm94XCI+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmdldENoZWNrYm94SXRlbUNzcygpXCI+XG4gICAgPGxhYmVsIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNoZWNrYm94TGFiZWxcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbdmFsdWVdPVwibW9kZWwuYm9vbGVhblZhbHVlXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY29udHJvbENoZWNrYm94XCIgXG4gICAgICAgIFthdHRyLm5hbWVdPVwibW9kZWwubmFtZVwiIFtpZF09XCJtb2RlbC5pbnB1dElkXCIgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJtb2RlbC5hcmlhSW52YWxpZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCIgWyhuZ01vZGVsKV09XCJtb2RlbC5ib29sZWFuVmFsdWVcIiBbdmFsdWVdPVwibW9kZWwuYm9vbGVhblZhbHVlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm1vZGVsLmlzSW5wdXRSZWFkT25seVwiIFtpbmRldGVybWluYXRlXT1cIm1vZGVsLmlzSW5kZXRlcm1pbmF0ZVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2hlY2tib3hNYXRlcmlhbERlY29yYXRvclwiPlxuICAgICAgICA8c3ZnICpuZ0lmPVwiISFtb2RlbC5zdmdJY29uXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2hlY2tib3hJdGVtRGVjb3JhdG9yXCI+XG4gICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIm1vZGVsLnN2Z0ljb25cIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tcIj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIm1vZGVsLmlzTGFiZWxSZW5kZXJlZFwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmNoZWNrYm94Q29udHJvbExhYmVsXCI+XG4gICAgICAgIDxzdi1uZy1lbGVtZW50LXRpdGxlLWFjdGlvbnMgW2VsZW1lbnRdPVwibW9kZWxcIj48L3N2LW5nLWVsZW1lbnQtdGl0bGUtYWN0aW9ucz5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5jYW5SZW5kZXJMYWJlbERlc2NyaXB0aW9uXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0Rlc2NyaXB0aW9uXCIgW21vZGVsXT1cIm1vZGVsLmxvY0Rlc2NyaXB0aW9uXCIgc3Ytbmctc3RyaW5nPjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -26,13 +26,13 @@ export class DropdownSelectComponent {
26
26
  }
27
27
  }
28
28
  DropdownSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropdownSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- DropdownSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autoComplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\" [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\" model.isOtherSelected\" class=\"form-group\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment></div>\n</div>", components: [{ type: i1.SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
29
+ DropdownSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DropdownSelectComponent, selector: "sv-ng-dropdown-select-question", inputs: { model: "model" }, ngImport: i0, template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\" [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\" model.isOtherSelected\" class=\"form-group\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment></div>\n</div>", components: [{ type: i1.SurveyCommentComponent, selector: "sv-ng-comment, '[sv-ng-comment]'", inputs: ["question"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DropdownSelectComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: "sv-ng-dropdown-select-question", template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autoComplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\" [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\" model.isOtherSelected\" class=\"form-group\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment></div>\n</div>" }]
32
+ args: [{ selector: "sv-ng-dropdown-select-question", template: "<div [class]=\"model.renderCssRoot\">\n <div [class]=\"model.cssClasses.selectWrapper\">\n <select *ngIf=\"!model.isReadOnly\" [attr.id]=\"model.inputId\" [(ngModel)]=\"editableValue\"\n [disabled]=\"model.isInputReadOnly\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [class]=\"model.getControlClass()\" [attr.autocomplete]=\"model.autocomplete\" [required]=\"model.isRequired\"\n [attr.aria-required]=\"model.ariaRequired\" [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\" [attr.aria-describedby]=\"model.ariaDescribedBy\">\n <option *ngIf=\"model.allowClear\" value=\"\">{{ model.placeholder }}</option>\n <ng-template *ngFor=\"let item of model.visibleChoices\" [component]=\"{ name: 'sv-dropdown-option-item', data: { item } }\"></ng-template>\n </select>\n <div *ngIf=\"model.isReadOnly\" disabled [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">{{ model.readOnlyText }}</div>\n </div>\n <div *ngIf=\" model.isOtherSelected\" class=\"form-group\"\n [style.display]=\"model.isFlowLayout ? 'inline': '' \" [question]=\"model\" sv-ng-comment></div>\n</div>" }]
33
33
  }], propDecorators: { model: [{
34
34
  type: Input
35
35
  }] } });
36
36
  AngularComponentFactory.Instance.registerComponent("dropdown-select-question", DropdownSelectComponent);
37
37
  RendererFactory.Instance.registerRenderer("dropdown", "select", "dropdown-select-question");
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3JlbmRlckFzL2Ryb3Bkb3duLXNlbGVjdC9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvcmVuZGVyQXMvZHJvcGRvd24tc2VsZWN0L2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFNOUMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsUUFBYTtRQUM3QixJQUFHLFFBQVEsS0FBSyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOztvSEFuQlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0dDUnBDLDRvQ0FjTTsyRkROTyx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQUlqQyxLQUFLO3NCQUFiLEtBQUs7O0FBcUJSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3hHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgUmVuZGVyZXJGYWN0b3J5IH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1kcm9wZG93bi1zZWxlY3QtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBhbnk7XG5cbiAgZ2V0IGVkaXRhYmxlVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucmVuZGVyZWRWYWx1ZSB8fCBcIlwiO1xuICB9XG4gIHNldCBlZGl0YWJsZVZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZihuZXdWYWx1ZSA9PT0gXCJcIikge1xuICAgICAgdGhpcy5tb2RlbC5yZW5kZXJlZFZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLnJlbmRlcmVkVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBjbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbC5vbkNsaWNrKGV2ZW50KTtcbiAgfVxuICBrZXl1cChldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbC5vbktleVVwKGV2ZW50KTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImRyb3Bkb3duLXNlbGVjdC1xdWVzdGlvblwiLCBEcm9wZG93blNlbGVjdENvbXBvbmVudCk7XG5SZW5kZXJlckZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJSZW5kZXJlcihcImRyb3Bkb3duXCIsIFwic2VsZWN0XCIsIFwiZHJvcGRvd24tc2VsZWN0LXF1ZXN0aW9uXCIpOyIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLnJlbmRlckNzc1Jvb3RcIj5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zZWxlY3RXcmFwcGVyXCI+XG4gICAgPHNlbGVjdCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiIFsobmdNb2RlbCldPVwiZWRpdGFibGVWYWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoa2V5dXApPVwia2V5dXAoJGV2ZW50KVwiXG4gICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5hdXRvY29tcGxldGVdPVwibW9kZWwuYXV0b0NvbXBsZXRlXCIgW3JlcXVpcmVkXT1cIm1vZGVsLmlzUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIm1vZGVsLmFsbG93Q2xlYXJcIiB2YWx1ZT1cIlwiPnt7IG1vZGVsLnBsYWNlaG9sZGVyIH19PC9vcHRpb24+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUNob2ljZXNcIiBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LWRyb3Bkb3duLW9wdGlvbi1pdGVtJywgZGF0YTogeyBpdGVtIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBkaXNhYmxlZCBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIG1vZGVsLmlzT3RoZXJTZWxlY3RlZFwiIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwibW9kZWwuaXNGbG93TGF5b3V0ID8gJ2lubGluZSc6ICcnIFwiIFtxdWVzdGlvbl09XCJtb2RlbFwiIHN2LW5nLWNvbW1lbnQ+PC9kaXY+XG48L2Rpdj4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9jb21wb25lbnRzL3JlbmRlckFzL2Ryb3Bkb3duLXNlbGVjdC9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvcmVuZGVyQXMvZHJvcGRvd24tc2VsZWN0L2Ryb3Bkb3duLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFNOUMsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsUUFBYTtRQUM3QixJQUFHLFFBQVEsS0FBSyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDOztvSEFuQlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0dDUnBDLDRvQ0FjTTsyRkROTyx1QkFBdUI7a0JBSm5DLFNBQVM7K0JBQ0UsZ0NBQWdDOzhCQUlqQyxLQUFLO3NCQUFiLEtBQUs7O0FBcUJSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3hHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgUmVuZGVyZXJGYWN0b3J5IH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1kcm9wZG93bi1zZWxlY3QtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcm9wZG93bi1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNlbGVjdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBhbnk7XG5cbiAgZ2V0IGVkaXRhYmxlVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwucmVuZGVyZWRWYWx1ZSB8fCBcIlwiO1xuICB9XG4gIHNldCBlZGl0YWJsZVZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZihuZXdWYWx1ZSA9PT0gXCJcIikge1xuICAgICAgdGhpcy5tb2RlbC5yZW5kZXJlZFZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVsLnJlbmRlcmVkVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBjbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbC5vbkNsaWNrKGV2ZW50KTtcbiAgfVxuICBrZXl1cChldmVudDogYW55KSB7XG4gICAgdGhpcy5tb2RlbC5vbktleVVwKGV2ZW50KTtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcImRyb3Bkb3duLXNlbGVjdC1xdWVzdGlvblwiLCBEcm9wZG93blNlbGVjdENvbXBvbmVudCk7XG5SZW5kZXJlckZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJSZW5kZXJlcihcImRyb3Bkb3duXCIsIFwic2VsZWN0XCIsIFwiZHJvcGRvd24tc2VsZWN0LXF1ZXN0aW9uXCIpOyIsIjxkaXYgW2NsYXNzXT1cIm1vZGVsLnJlbmRlckNzc1Jvb3RcIj5cbiAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5zZWxlY3RXcmFwcGVyXCI+XG4gICAgPHNlbGVjdCAqbmdJZj1cIiFtb2RlbC5pc1JlYWRPbmx5XCIgW2F0dHIuaWRdPVwibW9kZWwuaW5wdXRJZFwiIFsobmdNb2RlbCldPVwiZWRpdGFibGVWYWx1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwibW9kZWwuaXNJbnB1dFJlYWRPbmx5XCIgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIiAoa2V5dXApPVwia2V5dXAoJGV2ZW50KVwiXG4gICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5hdXRvY29tcGxldGVdPVwibW9kZWwuYXV0b2NvbXBsZXRlXCIgW3JlcXVpcmVkXT1cIm1vZGVsLmlzUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIm1vZGVsLmFyaWFEZXNjcmliZWRCeVwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIm1vZGVsLmFsbG93Q2xlYXJcIiB2YWx1ZT1cIlwiPnt7IG1vZGVsLnBsYWNlaG9sZGVyIH19PC9vcHRpb24+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9kZWwudmlzaWJsZUNob2ljZXNcIiBbY29tcG9uZW50XT1cInsgbmFtZTogJ3N2LWRyb3Bkb3duLW9wdGlvbi1pdGVtJywgZGF0YTogeyBpdGVtIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9zZWxlY3Q+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmlzUmVhZE9ubHlcIiBkaXNhYmxlZCBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udHJvbENsYXNzKClcIiBbYXR0ci5pZF09XCJtb2RlbC5pbnB1dElkXCI+e3sgbW9kZWwucmVhZE9ubHlUZXh0IH19PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIG1vZGVsLmlzT3RoZXJTZWxlY3RlZFwiIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwibW9kZWwuaXNGbG93TGF5b3V0ID8gJ2lubGluZSc6ICcnIFwiIFtxdWVzdGlvbl09XCJtb2RlbFwiIHN2LW5nLWNvbW1lbnQ+PC9kaXY+XG48L2Rpdj4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { EmbeddedViewContentComponent } from "../../embedded-view-content.component";
3
+ import { AngularComponentFactory } from "../../component-factory";
4
+ import * as i0 from "@angular/core";
5
+ export class SkeletonComponent extends EmbeddedViewContentComponent {
6
+ }
7
+ SkeletonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
+ SkeletonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: SkeletonComponent, selector: "sv-skeleton", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "./skeleton.component.html", isInline: true, styles: [":host{display:none}\n"] });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SkeletonComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: "sv-skeleton", template: "./skeleton.component.html", styles: [":host{display:none}\n"] }]
12
+ }], propDecorators: { model: [{
13
+ type: Input
14
+ }] } });
15
+ AngularComponentFactory.Instance.registerComponent("sv-skeleton", SkeletonComponent);
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU9sRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsNEJBQTRCOzs4R0FBdEQsaUJBQWlCO2tHQUFqQixpQkFBaUIsc0dBSGxCLDJCQUEyQjsyRkFHMUIsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGFBQWEsWUFDYiwyQkFBMkI7OEJBSTVCLEtBQUs7c0JBQWIsS0FBSzs7QUFHUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LXNrZWxldG9uXCIsXG4gIHRlbXBsYXRlOiBcIi4vc2tlbGV0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBTa2VsZXRvbkNvbXBvbmVudCBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlbDogYW55O1xufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LXNrZWxldG9uXCIsIFNrZWxldG9uQ29tcG9uZW50KTsiXX0=
@@ -0,0 +1,23 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseAngular } from "../../base-angular";
3
+ import * as i0 from "@angular/core";
4
+ export class TimerPanelComponent extends BaseAngular {
5
+ getStateElement() {
6
+ return this.model;
7
+ }
8
+ getModel() {
9
+ return this.model;
10
+ }
11
+ }
12
+ TimerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TimerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
+ TimerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TimerPanelComponent, selector: "sv-timer-panel", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div class='model.survey.getCss().timerRoot'>{{model.text}}</div>", isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TimerPanelComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: "sv-timer-panel",
18
+ template: "<div class='model.survey.getCss().timerRoot'>{{model.text}}</div>"
19
+ }]
20
+ }], propDecorators: { model: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL2NvbXBvbmVudHMvdGltZXItcGFuZWwvdGltZXItcGFuZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTakQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTZCO0lBRzFELGVBQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztnSEFSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQix5R0FKbEIsbUVBQW1FOzJGQUlwRSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQ1I7b0JBQ0UsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLG1FQUFtRTtpQkFDOUU7OEJBSVEsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlLCBTdXJ2ZXlUaW1lck1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcblxuQENvbXBvbmVudChcbiAge1xuICAgIHNlbGVjdG9yOiBcInN2LXRpbWVyLXBhbmVsXCIsXG4gICAgdGVtcGxhdGU6IFwiPGRpdiBjbGFzcz0nbW9kZWwuc3VydmV5LmdldENzcygpLnRpbWVyUm9vdCc+e3ttb2RlbC50ZXh0fX08L2Rpdj5cIlxuICB9XG4pXG5cbmV4cG9ydCBjbGFzcyBUaW1lclBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8U3VydmV5VGltZXJNb2RlbD4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFN1cnZleVRpbWVyTW9kZWw7XG5cbiAgcHJvdGVjdGVkIGdldFN0YXRlRWxlbWVudCgpOiBCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogU3VydmV5VGltZXJNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { Component, Input } from "@angular/core";
2
+ import { PopupSurveyModel } from "survey-core";
2
3
  import { BaseAngular } from "./base-angular";
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "./survey.component";
@@ -9,22 +10,32 @@ export class PopupSurveyComponent extends BaseAngular {
9
10
  changeDetectorRef.detach();
10
11
  }
11
12
  getModel() {
12
- return this.model;
13
+ return this.popup;
13
14
  }
14
- get survey() {
15
- return this.model.survey;
16
- }
17
- onModelChanged() {
18
- this.model.isShowing = true;
15
+ ngOnChanges(changes) {
16
+ if (changes["model"]?.currentValue !== changes["model"]?.previousValue) {
17
+ this.popup = new PopupSurveyModel(null, this.model);
18
+ }
19
+ if (this.isExpanded !== undefined) {
20
+ this.popup.isExpanded = this.isExpanded;
21
+ }
22
+ if (this.closeOnCompleteTimeout !== undefined) {
23
+ this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
24
+ }
25
+ this.popup.isShowing = true;
19
26
  this.changeDetectorRef.detectChanges();
20
27
  }
21
28
  }
22
29
  PopupSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
23
- PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"!!model && model.isShowing\" [class]=\"model.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px; max-width: 60%;\">\n <div [class]=\"model.cssHeaderRoot\">\n <span (click)=\"model.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"model.cssHeaderTitle\">{{model.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"model.cssButton\"></span>\n </span>\n <span *ngIf=\"model.isExpanded\" (click)=\"model.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"model.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"model.isExpanded\" [class]=\"model.cssBody\">\n <survey [model]=\"model.survey\"></survey>\n </div>\n</div>", styles: [""], components: [{ type: i1.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
30
+ PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", closeOnCompleteTimeout: "closeOnCompleteTimeout" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""], components: [{ type: i1.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupSurveyComponent, decorators: [{
25
32
  type: Component,
26
- args: [{ selector: "popup-survey", template: "<div *ngIf=\"!!model && model.isShowing\" [class]=\"model.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px; max-width: 60%;\">\n <div [class]=\"model.cssHeaderRoot\">\n <span (click)=\"model.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"model.cssHeaderTitle\">{{model.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"model.cssButton\"></span>\n </span>\n <span *ngIf=\"model.isExpanded\" (click)=\"model.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"model.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"model.isExpanded\" [class]=\"model.cssBody\">\n <survey [model]=\"model.survey\"></survey>\n </div>\n</div>", styles: [""] }]
33
+ args: [{ selector: "popup-survey", template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" style=\"position: fixed; bottom: 3px; right: 10px;\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\">\n <div [class]=\"popup.cssHeaderRoot\">\n <span (click)=\"popup.changeExpandCollapse()\" style=\"width: 100%; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">{{popup.locTitle.renderedHtml}}</span>\n <span aria-hidden=\"true\" [class]=\"popup.cssButton\"></span>\n </span>\n <span *ngIf=\"popup.isExpanded\" (click)=\"popup.changeExpandCollapse()\" style=\"float: right; cursor: pointer;\">\n <span style=\"padding-right:10px\" [class]=\"popup.cssHeaderTitle\">X</span>\n </span>\n </div>\n <div *ngIf=\"popup.isExpanded\" [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n</div>", styles: [""] }]
27
34
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
28
35
  type: Input
36
+ }], isExpanded: [{
37
+ type: Input
38
+ }], closeOnCompleteTimeout: [{
39
+ type: Input
29
40
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTTdDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUE2QjtJQVFyRSxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBVFMsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUtrQixjQUFjO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs7aUhBZlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsdUdDUmpDLDgwQkFhTTsyRkRMTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsY0FBYzt3R0FLZixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQb3B1cFN1cnZleU1vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwb3B1cC1zdXJ2ZXlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3BvcHVwLnN1cnZleS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cFN1cnZleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBvcHVwU3VydmV5TW9kZWw+IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQb3B1cFN1cnZleU1vZGVsO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUG9wdXBTdXJ2ZXlNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHVibGljIGdldCBzdXJ2ZXkoKTogU3VydmV5TW9kZWwge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLnN1cnZleTtcbiAgfVxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTW9kZWxDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwuaXNTaG93aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufSIsIjxkaXYgKm5nSWY9XCIhIW1vZGVsICYmIG1vZGVsLmlzU2hvd2luZ1wiIFtjbGFzc109XCJtb2RlbC5jc3NSb290XCIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogM3B4OyByaWdodDogMTBweDsgbWF4LXdpZHRoOiA2MCU7XCI+XG4gIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0hlYWRlclJvb3RcIj5cbiAgICAgIDxzcGFuIChjbGljayk9XCJtb2RlbC5jaGFuZ2VFeHBhbmRDb2xsYXBzZSgpXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTsgY3Vyc29yOiBwb2ludGVyO1wiPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1yaWdodDoxMHB4XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0hlYWRlclRpdGxlXCI+e3ttb2RlbC5sb2NUaXRsZS5yZW5kZXJlZEh0bWx9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBbY2xhc3NdPVwibW9kZWwuY3NzQnV0dG9uXCI+PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJtb2RlbC5pc0V4cGFuZGVkXCIgKGNsaWNrKT1cIm1vZGVsLmNoYW5nZUV4cGFuZENvbGxhcHNlKClcIiBzdHlsZT1cImZsb2F0OiByaWdodDsgY3Vyc29yOiBwb2ludGVyO1wiPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZy1yaWdodDoxMHB4XCIgW2NsYXNzXT1cIm1vZGVsLmNzc0hlYWRlclRpdGxlXCI+WDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtb2RlbC5pc0V4cGFuZGVkXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0JvZHlcIj5cbiAgICA8c3VydmV5IFttb2RlbF09XCJtb2RlbC5zdXJ2ZXlcIj48L3N1cnZleT5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3N1cnZleS1hbmd1bGFyLXVpL3NyYy9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNN0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQTZCO0lBTXJFLFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFlBQVksS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEtBQUssU0FBUyxFQUFFO1lBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1NBQ2pFO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOztpSEF6QlUsb0JBQW9CO3FHQUFwQixvQkFBb0Isd01DUmpDLDY0QkFhTTsyRkRMTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsY0FBYzt3R0FLZixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFBvcHVwU3VydmV5TW9kZWwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInBvcHVwLXN1cnZleVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vcG9wdXAuc3VydmV5LmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFBvcHVwU3VydmV5Q29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UG9wdXBTdXJ2ZXlNb2RlbD4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBtb2RlbCE6IFN1cnZleU1vZGVsO1xuICBASW5wdXQoKSBpc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xvc2VPbkNvbXBsZXRlVGltZW91dD86IG51bWJlcjtcbiAgcHVibGljIHBvcHVwITogUG9wdXBTdXJ2ZXlNb2RlbDtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFBvcHVwU3VydmV5TW9kZWwge1xuICAgIHJldHVybiB0aGlzLnBvcHVwO1xuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzW1wibW9kZWxcIl0/LmN1cnJlbnRWYWx1ZSAhPT0gY2hhbmdlc1tcIm1vZGVsXCJdPy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLnBvcHVwID0gbmV3IFBvcHVwU3VydmV5TW9kZWwobnVsbCwgdGhpcy5tb2RlbCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3B1cC5pc0V4cGFuZGVkID0gdGhpcy5pc0V4cGFuZGVkO1xuICAgIH1cbiAgICBpZiAodGhpcy5jbG9zZU9uQ29tcGxldGVUaW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2VPbkNvbXBsZXRlVGltZW91dCA9IHRoaXMuY2xvc2VPbkNvbXBsZXRlVGltZW91dDtcbiAgICB9XG4gICAgdGhpcy5wb3B1cC5pc1Nob3dpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59IiwiPGRpdiAqbmdJZj1cIiEhcG9wdXAgJiYgcG9wdXAuaXNTaG93aW5nXCIgW2NsYXNzXT1cInBvcHVwLmNzc1Jvb3RcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAzcHg7IHJpZ2h0OiAxMHB4O1wiIFtzdHlsZS53aWR0aF09XCJwb3B1cC5yZW5kZXJlZFdpZHRoXCIgW3N0eWxlLm1heFdpZHRoXT1cInBvcHVwLnJlbmRlcmVkV2lkdGhcIj5cbiAgPGRpdiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyUm9vdFwiPlxuICAgICAgPHNwYW4gKGNsaWNrKT1cInBvcHVwLmNoYW5nZUV4cGFuZENvbGxhcHNlKClcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjEwcHhcIiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyVGl0bGVcIj57e3BvcHVwLmxvY1RpdGxlLnJlbmRlcmVkSHRtbH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIFtjbGFzc109XCJwb3B1cC5jc3NCdXR0b25cIj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInBvcHVwLmlzRXhwYW5kZWRcIiAoY2xpY2spPVwicG9wdXAuY2hhbmdlRXhwYW5kQ29sbGFwc2UoKVwiIHN0eWxlPVwiZmxvYXQ6IHJpZ2h0OyBjdXJzb3I6IHBvaW50ZXI7XCI+XG4gICAgICAgICAgPHNwYW4gc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjEwcHhcIiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyVGl0bGVcIj5YPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInBvcHVwLmlzRXhwYW5kZWRcIiBbY2xhc3NdPVwicG9wdXAuY3NzQm9keVwiPlxuICAgIDxzdXJ2ZXkgW21vZGVsXT1cInBvcHVwLnN1cnZleVwiPjwvc3VydmV5PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -16,10 +16,10 @@ export class FileQuestionComponent extends QuestionAngular {
16
16
  }
17
17
  }
18
18
  FileQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input\n [class]=\"model.cssClasses.fileInput\"\n *ngIf=\"!model.isReadOnly\"\n type=\"file\"\n [attr.id]=\"model.inputId\"\n (change)=\"model.doChange($event)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\"\n [attr.accept]=\"model.acceptedTypes\"\n />\n <input\n *ngIf=\"model.isReadOnly\"\n type=\"file\"\n disabled\n [class]=\"model.getReadOnlyFileCss()\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.placeholder]=\"model.title\"\n style=\"color: transparent\"\n />\n <div [class]=\"model.cssClasses.dragArea\"\n (dragenter)=\"model.onDragEnter($event)\"\n (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\"\n (dragleave)=\"model.onDragLeave($event)\"> \n <div\n [class]=\"model.getFileDecoratorCss()\"\n >\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\">{{ model.dragAreaPlaceholder }}</span>\n <div [class]=\"model.cssClasses.wrapper\">\n <label\n role=\"button\"\n [class]=\"model.getChooseFileCss()\"\n [attr.for]=\"model.inputId\"\n [attr.aria-label]=\"model.chooseButtonCaption\"\n >\n <span>{{ model.chooseButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.chooseFileIconId\" [title]=\"model.chooseButtonCaption\" [iconName]=\"model.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n <span\n [class]=\"model.cssClasses.noFileChosen\"\n *ngIf=\"model.isEmpty()\"\n >{{ model.noFileChosenCaption }}</span\n >\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButton\"\n [class]=\"model.cssClasses.removeButton\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <div [class]=\"model.cssClasses.fileList || undefined\" *ngIf=\"!model.isEmpty()\">\n <span\n *ngFor=\"let val of model.previewValue; index as index; trackBy: trackFilesFn\"\n [visible]=\"val && model.isPreviewVisible(index)\"\n [class]=\"model.cssClasses.preview\"\n >\n <div *ngIf=\"val.name && model.cssClasses.fileSign\" [class]=\"model.cssClasses.fileSign\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [attr.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n <div [class]=\"model.cssClasses.imageWrapper\">\n <img\n *ngIf=\"model.canPreviewImage(val)\"\n [attr.src]=\"val.content | safeUrl\"\n [attr.height]=\"model.imageHeight\"\n [attr.width]=\"model.imageWidth\"\n alt=\"File preview\"\n />\n <svg *ngIf=\"model.defaultImage(val)\" \n [iconName]=\"model.cssClasses.defaultImageIconId\" [partCss]=\"model.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"val.name && !model.isReadOnly\" [class]=\"model.cssClasses.removeFileButton\" (click)=\"model.doRemoveFile(val)\">\n <span\n [class]=\"model.cssClasses.removeFile\"\n >{{ model.removeFileCaption }}</span\n >\n <svg *ngIf=\"model.cssClasses.removeFileSvgIconId\" [title]=\"model.removeFileCaption\" [partCss]=\"model.cssClasses.removeFileSvg\" [iconName]=\"model.cssClasses.removeFileSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon ></svg>\n </div>\n </div>\n <div *ngIf=\"val.name && model.cssClasses.fileSignBottom\" [class]=\"model.cssClasses.fileSignBottom\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [attr.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n </span>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButtonBottom\"\n [class]=\"model.showRemoveButtonBottom\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <sv-action-bar *ngIf=\"model.mobileFileNavigatorVisible\" [model]=\"model.mobileFileNavigator\"></sv-action-bar>\n </div>\n</div>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }], pipes: { "safeUrl": i5.SafeUrlPipe } });
19
+ FileQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FileQuestionComponent, selector: "sv-ng-file-question", usesInheritance: true, ngImport: i0, template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input\n [class]=\"model.cssClasses.fileInput\"\n *ngIf=\"!model.isReadOnly\"\n type=\"file\"\n [attr.id]=\"model.inputId\"\n (change)=\"model.doChange($event)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\"\n [attr.accept]=\"model.acceptedTypes\"\n />\n <input\n *ngIf=\"model.isReadOnly\"\n type=\"file\"\n disabled\n [class]=\"model.getReadOnlyFileCss()\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.placeholder]=\"model.title\"\n style=\"color: transparent\"\n />\n <div [class]=\"model.cssClasses.dragArea\"\n (dragenter)=\"model.onDragEnter($event)\"\n (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\"\n (dragleave)=\"model.onDragLeave($event)\"> \n <div\n [class]=\"model.getFileDecoratorCss()\"\n >\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\">{{ model.dragAreaPlaceholder }}</span>\n <div [class]=\"model.cssClasses.wrapper\">\n <label\n role=\"button\"\n [class]=\"model.getChooseFileCss()\"\n [attr.for]=\"model.inputId\"\n [attr.aria-label]=\"model.chooseButtonCaption\"\n >\n <span>{{ model.chooseButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.chooseFileIconId\" [title]=\"model.chooseButtonCaption\" [iconName]=\"model.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n <span\n [class]=\"model.cssClasses.noFileChosen\"\n *ngIf=\"model.isEmpty()\"\n >{{ model.noFileChosenCaption }}</span\n >\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButton\"\n [class]=\"model.cssClasses.removeButton\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <div [class]=\"model.cssClasses.fileList || undefined\" *ngIf=\"!model.isEmpty()\">\n <span\n *ngFor=\"let val of model.previewValue; index as index; trackBy: trackFilesFn\"\n [visible]=\"val && model.isPreviewVisible(index)\"\n [class]=\"model.cssClasses.preview\"\n >\n <div *ngIf=\"val.name && model.cssClasses.fileSign\" [class]=\"model.cssClasses.fileSign\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n <div [class]=\"model.cssClasses.imageWrapper\">\n <img\n *ngIf=\"model.canPreviewImage(val)\"\n [attr.src]=\"val.content | safeUrl\"\n [style.height]=\"model.imageHeight\"\n [style.width]=\"model.imageWidth\"\n alt=\"File preview\"\n />\n <svg *ngIf=\"model.defaultImage(val)\" \n [iconName]=\"model.cssClasses.defaultImageIconId\" [partCss]=\"model.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"val.name && !model.isReadOnly\" [class]=\"model.cssClasses.removeFileButton\" (click)=\"model.doRemoveFile(val)\">\n <span\n [class]=\"model.cssClasses.removeFile\"\n >{{ model.removeFileCaption }}</span\n >\n <svg *ngIf=\"model.cssClasses.removeFileSvgIconId\" [title]=\"model.removeFileCaption\" [partCss]=\"model.cssClasses.removeFileSvg\" [iconName]=\"model.cssClasses.removeFileSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon ></svg>\n </div>\n </div>\n <div *ngIf=\"val.name && model.cssClasses.fileSignBottom\" [class]=\"model.cssClasses.fileSignBottom\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n </span>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButtonBottom\"\n [class]=\"model.showRemoveButtonBottom\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <sv-action-bar *ngIf=\"model.mobileFileNavigatorVisible\" [model]=\"model.mobileFileNavigator\"></sv-action-bar>\n </div>\n</div>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.VisibleDirective, selector: "[visible]", inputs: ["visible"] }], pipes: { "safeUrl": i5.SafeUrlPipe } });
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FileQuestionComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: "sv-ng-file-question", template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input\n [class]=\"model.cssClasses.fileInput\"\n *ngIf=\"!model.isReadOnly\"\n type=\"file\"\n [attr.id]=\"model.inputId\"\n (change)=\"model.doChange($event)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\"\n [attr.accept]=\"model.acceptedTypes\"\n />\n <input\n *ngIf=\"model.isReadOnly\"\n type=\"file\"\n disabled\n [class]=\"model.getReadOnlyFileCss()\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.placeholder]=\"model.title\"\n style=\"color: transparent\"\n />\n <div [class]=\"model.cssClasses.dragArea\"\n (dragenter)=\"model.onDragEnter($event)\"\n (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\"\n (dragleave)=\"model.onDragLeave($event)\"> \n <div\n [class]=\"model.getFileDecoratorCss()\"\n >\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\">{{ model.dragAreaPlaceholder }}</span>\n <div [class]=\"model.cssClasses.wrapper\">\n <label\n role=\"button\"\n [class]=\"model.getChooseFileCss()\"\n [attr.for]=\"model.inputId\"\n [attr.aria-label]=\"model.chooseButtonCaption\"\n >\n <span>{{ model.chooseButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.chooseFileIconId\" [title]=\"model.chooseButtonCaption\" [iconName]=\"model.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n <span\n [class]=\"model.cssClasses.noFileChosen\"\n *ngIf=\"model.isEmpty()\"\n >{{ model.noFileChosenCaption }}</span\n >\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButton\"\n [class]=\"model.cssClasses.removeButton\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <div [class]=\"model.cssClasses.fileList || undefined\" *ngIf=\"!model.isEmpty()\">\n <span\n *ngFor=\"let val of model.previewValue; index as index; trackBy: trackFilesFn\"\n [visible]=\"val && model.isPreviewVisible(index)\"\n [class]=\"model.cssClasses.preview\"\n >\n <div *ngIf=\"val.name && model.cssClasses.fileSign\" [class]=\"model.cssClasses.fileSign\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [attr.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n <div [class]=\"model.cssClasses.imageWrapper\">\n <img\n *ngIf=\"model.canPreviewImage(val)\"\n [attr.src]=\"val.content | safeUrl\"\n [attr.height]=\"model.imageHeight\"\n [attr.width]=\"model.imageWidth\"\n alt=\"File preview\"\n />\n <svg *ngIf=\"model.defaultImage(val)\" \n [iconName]=\"model.cssClasses.defaultImageIconId\" [partCss]=\"model.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"val.name && !model.isReadOnly\" [class]=\"model.cssClasses.removeFileButton\" (click)=\"model.doRemoveFile(val)\">\n <span\n [class]=\"model.cssClasses.removeFile\"\n >{{ model.removeFileCaption }}</span\n >\n <svg *ngIf=\"model.cssClasses.removeFileSvgIconId\" [title]=\"model.removeFileCaption\" [partCss]=\"model.cssClasses.removeFileSvg\" [iconName]=\"model.cssClasses.removeFileSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon ></svg>\n </div>\n </div>\n <div *ngIf=\"val.name && model.cssClasses.fileSignBottom\" [class]=\"model.cssClasses.fileSignBottom\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [attr.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n </span>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButtonBottom\"\n [class]=\"model.showRemoveButtonBottom\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <sv-action-bar *ngIf=\"model.mobileFileNavigatorVisible\" [model]=\"model.mobileFileNavigator\"></sv-action-bar>\n </div>\n</div>", styles: [] }]
22
+ args: [{ selector: "sv-ng-file-question", template: "<div [class]=\"model.fileRootCss\" #contentElement>\n <input\n [class]=\"model.cssClasses.fileInput\"\n *ngIf=\"!model.isReadOnly\"\n type=\"file\"\n [attr.id]=\"model.inputId\"\n (change)=\"model.doChange($event)\"\n [attr.aria-required]=\"model.ariaRequired\"\n [attr.aria-label]=\"model.ariaLabel\"\n [attr.aria-invalid]=\"model.ariaInvalid\"\n [attr.aria-describedby]=\"model.ariaDescribedBy\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.title]=\"model.inputTitle\"\n [attr.accept]=\"model.acceptedTypes\"\n />\n <input\n *ngIf=\"model.isReadOnly\"\n type=\"file\"\n disabled\n [class]=\"model.getReadOnlyFileCss()\"\n [attr.multiple]=\"model.multipleRendered\"\n [attr.placeholder]=\"model.title\"\n style=\"color: transparent\"\n />\n <div [class]=\"model.cssClasses.dragArea\"\n (dragenter)=\"model.onDragEnter($event)\"\n (drop)=\"model.onDrop($event)\"\n (dragover)=\"model.onDragOver($event)\"\n (dragleave)=\"model.onDragLeave($event)\"> \n <div\n [class]=\"model.getFileDecoratorCss()\"\n >\n <span [class]=\"model.cssClasses.dragAreaPlaceholder\">{{ model.dragAreaPlaceholder }}</span>\n <div [class]=\"model.cssClasses.wrapper\">\n <label\n role=\"button\"\n [class]=\"model.getChooseFileCss()\"\n [attr.for]=\"model.inputId\"\n [attr.aria-label]=\"model.chooseButtonCaption\"\n >\n <span>{{ model.chooseButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.chooseFileIconId\" [title]=\"model.chooseButtonCaption\" [iconName]=\"model.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </label>\n <span\n [class]=\"model.cssClasses.noFileChosen\"\n *ngIf=\"model.isEmpty()\"\n >{{ model.noFileChosenCaption }}</span\n >\n </div>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButton\"\n [class]=\"model.cssClasses.removeButton\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <div [class]=\"model.cssClasses.fileList || undefined\" *ngIf=\"!model.isEmpty()\">\n <span\n *ngFor=\"let val of model.previewValue; index as index; trackBy: trackFilesFn\"\n [visible]=\"val && model.isPreviewVisible(index)\"\n [class]=\"model.cssClasses.preview\"\n >\n <div *ngIf=\"val.name && model.cssClasses.fileSign\" [class]=\"model.cssClasses.fileSign\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n <div [class]=\"model.cssClasses.imageWrapper\">\n <img\n *ngIf=\"model.canPreviewImage(val)\"\n [attr.src]=\"val.content | safeUrl\"\n [style.height]=\"model.imageHeight\"\n [style.width]=\"model.imageWidth\"\n alt=\"File preview\"\n />\n <svg *ngIf=\"model.defaultImage(val)\" \n [iconName]=\"model.cssClasses.defaultImageIconId\" [partCss]=\"model.cssClasses.defaultImage\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <div *ngIf=\"val.name && !model.isReadOnly\" [class]=\"model.cssClasses.removeFileButton\" (click)=\"model.doRemoveFile(val)\">\n <span\n [class]=\"model.cssClasses.removeFile\"\n >{{ model.removeFileCaption }}</span\n >\n <svg *ngIf=\"model.cssClasses.removeFileSvgIconId\" [title]=\"model.removeFileCaption\" [partCss]=\"model.cssClasses.removeFileSvg\" [iconName]=\"model.cssClasses.removeFileSvgIconId\" [size]=\"'auto'\" sv-ng-svg-icon ></svg>\n </div>\n </div>\n <div *ngIf=\"val.name && model.cssClasses.fileSignBottom\" [class]=\"model.cssClasses.fileSignBottom\">\n <a\n (click)=\"model.doDownloadFile($event, val)\"\n [attr.href]=\"val.content | safeUrl\"\n [attr.title]=\"val.name\"\n [attr.download]=\"val.name\"\n [style.width]=\"model.imageWidth\"\n >{{ val.name }}</a\n >\n </div>\n </span>\n </div>\n <button\n type=\"button\"\n *ngIf=\"model.showRemoveButtonBottom\"\n [class]=\"model.showRemoveButtonBottom\"\n (click)=\"model.doClean($event)\"\n >\n <span>{{ model.clearButtonCaption }}</span>\n <svg *ngIf=\"model.cssClasses.removeButtonIconId\" [iconName]=\"model.cssClasses.removeButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearButtonCaption\" sv-ng-svg-icon></svg>\n </button>\n <sv-action-bar *ngIf=\"model.mobileFileNavigatorVisible\" [model]=\"model.mobileFileNavigator\"></sv-action-bar>\n </div>\n</div>", styles: [] }]
23
23
  }] });
24
24
  AngularComponentFactory.Instance.registerComponent("file-question", FileQuestionComponent);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQU0vRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBa0M7SUFMN0U7O1FBTUUsaUJBQVksR0FBOEIsQ0FBQyxLQUFhLEVBQVUsRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFBO0tBQ0Y7O2tIQUpZLHFCQUFxQjtzR0FBckIscUJBQXFCLGtGQ1RsQyxtaEtBb0hNOzJGRDNHTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UscUJBQXFCOztBQVVqQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25Bbmd1bGFyIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkZpbGVNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1maWxlLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZmlsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbkZpbGVNb2RlbD4ge1xuICB0cmFja0ZpbGVzRm46IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgPSAoaW5kZXg6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaW5wdXRJZCArIFwiX1wiICsgaW5kZXg7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJmaWxlLXF1ZXN0aW9uXCIsIEZpbGVRdWVzdGlvbkNvbXBvbmVudCk7IiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuZmlsZVJvb3RDc3NcIiAjY29udGVudEVsZW1lbnQ+XG4gIDxpbnB1dFxuICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVJbnB1dFwiXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIlxuICAgIChjaGFuZ2UpPVwibW9kZWwuZG9DaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCJcbiAgICBbYXR0ci5tdWx0aXBsZV09XCJtb2RlbC5tdWx0aXBsZVJlbmRlcmVkXCJcbiAgICBbYXR0ci50aXRsZV09XCJtb2RlbC5pbnB1dFRpdGxlXCJcbiAgICBbYXR0ci5hY2NlcHRdPVwibW9kZWwuYWNjZXB0ZWRUeXBlc1wiXG4gIC8+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwibW9kZWwuaXNSZWFkT25seVwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIGRpc2FibGVkXG4gICAgW2NsYXNzXT1cIm1vZGVsLmdldFJlYWRPbmx5RmlsZUNzcygpXCJcbiAgICBbYXR0ci5tdWx0aXBsZV09XCJtb2RlbC5tdWx0aXBsZVJlbmRlcmVkXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJtb2RlbC50aXRsZVwiXG4gICAgc3R5bGU9XCJjb2xvcjogdHJhbnNwYXJlbnRcIlxuICAvPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRyYWdBcmVhXCJcbiAgICAoZHJhZ2VudGVyKT1cIm1vZGVsLm9uRHJhZ0VudGVyKCRldmVudClcIlxuICAgIChkcm9wKT1cIm1vZGVsLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ292ZXIpPVwibW9kZWwub25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAoZHJhZ2xlYXZlKT1cIm1vZGVsLm9uRHJhZ0xlYXZlKCRldmVudClcIj4gIFxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRGaWxlRGVjb3JhdG9yQ3NzKClcIlxuICAgID5cbiAgICAgIDxzcGFuIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRyYWdBcmVhUGxhY2Vob2xkZXJcIj57eyBtb2RlbC5kcmFnQXJlYVBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy53cmFwcGVyXCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRDaG9vc2VGaWxlQ3NzKClcIlxuICAgICAgICAgIFthdHRyLmZvcl09XCJtb2RlbC5pbnB1dElkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmNob29zZUJ1dHRvbkNhcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Bhbj57eyBtb2RlbC5jaG9vc2VCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbdGl0bGVdPVwibW9kZWwuY2hvb3NlQnV0dG9uQ2FwdGlvblwiIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5ub0ZpbGVDaG9zZW5cIlxuICAgICAgICAgICpuZ0lmPVwibW9kZWwuaXNFbXB0eSgpXCJcbiAgICAgICAgICA+e3sgbW9kZWwubm9GaWxlQ2hvc2VuQ2FwdGlvbiB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwibW9kZWwuc2hvd1JlbW92ZUJ1dHRvblwiXG4gICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVCdXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGVsLmRvQ2xlYW4oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgbW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQnV0dG9uQ2FwdGlvblwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsZUxpc3QgfHwgdW5kZWZpbmVkXCIgKm5nSWY9XCIhbW9kZWwuaXNFbXB0eSgpXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgdmFsIG9mIG1vZGVsLnByZXZpZXdWYWx1ZTsgaW5kZXggYXMgaW5kZXg7IHRyYWNrQnk6IHRyYWNrRmlsZXNGblwiXG4gICAgICAgIFt2aXNpYmxlXT1cInZhbCAmJiBtb2RlbC5pc1ByZXZpZXdWaXNpYmxlKGluZGV4KVwiXG4gICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnByZXZpZXdcIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsLm5hbWUgJiYgbW9kZWwuY3NzQ2xhc3Nlcy5maWxlU2lnblwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVTaWduXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIChjbGljayk9XCJtb2RlbC5kb0Rvd25sb2FkRmlsZSgkZXZlbnQsIHZhbClcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJ2YWwuY29udGVudCB8IHNhZmVVcmxcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidmFsLm5hbWVcIlxuICAgICAgICAgICAgW2F0dHIuZG93bmxvYWRdPVwidmFsLm5hbWVcIlxuICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwibW9kZWwuaW1hZ2VXaWR0aFwiXG4gICAgICAgICAgICA+e3sgdmFsLm5hbWUgfX08L2FcbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmltYWdlV3JhcHBlclwiPlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICpuZ0lmPVwibW9kZWwuY2FuUHJldmlld0ltYWdlKHZhbClcIlxuICAgICAgICAgICAgW2F0dHIuc3JjXT1cInZhbC5jb250ZW50IHwgc2FmZVVybFwiXG4gICAgICAgICAgICBbYXR0ci5oZWlnaHRdPVwibW9kZWwuaW1hZ2VIZWlnaHRcIlxuICAgICAgICAgICAgW2F0dHIud2lkdGhdPVwibW9kZWwuaW1hZ2VXaWR0aFwiXG4gICAgICAgICAgICBhbHQ9XCJGaWxlIHByZXZpZXdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmRlZmF1bHRJbWFnZSh2YWwpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5kZWZhdWx0SW1hZ2VJY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRlZmF1bHRJbWFnZVwiIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2YWwubmFtZSAmJiAhbW9kZWwuaXNSZWFkT25seVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVCdXR0b25cIiAoY2xpY2spPVwibW9kZWwuZG9SZW1vdmVGaWxlKHZhbClcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVcIlxuICAgICAgICAgICAgICA+e3sgbW9kZWwucmVtb3ZlRmlsZUNhcHRpb24gfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVTdmdJY29uSWRcIiBbdGl0bGVdPVwibW9kZWwucmVtb3ZlRmlsZUNhcHRpb25cIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVTdmdcIiBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVGaWxlU3ZnSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24gPjwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZhbC5uYW1lICYmIG1vZGVsLmNzc0NsYXNzZXMuZmlsZVNpZ25Cb3R0b21cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5maWxlU2lnbkJvdHRvbVwiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAoY2xpY2spPVwibW9kZWwuZG9Eb3dubG9hZEZpbGUoJGV2ZW50LCB2YWwpXCJcbiAgICAgICAgICAgIFthdHRyLmhyZWZdPVwidmFsLmNvbnRlbnQgfCBzYWZlVXJsXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cInZhbC5uYW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRvd25sb2FkXT1cInZhbC5uYW1lXCJcbiAgICAgICAgICAgIFthdHRyLndpZHRoXT1cIm1vZGVsLmltYWdlV2lkdGhcIlxuICAgICAgICAgICAgPnt7IHZhbC5uYW1lIH19PC9hXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwibW9kZWwuc2hvd1JlbW92ZUJ1dHRvbkJvdHRvbVwiXG4gICAgICBbY2xhc3NdPVwibW9kZWwuc2hvd1JlbW92ZUJ1dHRvbkJvdHRvbVwiXG4gICAgICAoY2xpY2spPVwibW9kZWwuZG9DbGVhbigkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyBtb2RlbC5jbGVhckJ1dHRvbkNhcHRpb24gfX08L3NwYW4+XG4gICAgICA8c3ZnICpuZ0lmPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVCdXR0b25JY29uSWRcIiBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVCdXR0b25JY29uSWRcIiBbc2l6ZV09XCInYXV0bydcIiBbdGl0bGVdPVwibW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgPC9idXR0b24+XG4gICAgPHN2LWFjdGlvbi1iYXIgKm5nSWY9XCJtb2RlbC5tb2JpbGVGaWxlTmF2aWdhdG9yVmlzaWJsZVwiIFttb2RlbF09XCJtb2RlbC5tb2JpbGVGaWxlTmF2aWdhdG9yXCI+PC9zdi1hY3Rpb24tYmFyPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdXJ2ZXktYW5ndWxhci11aS9zcmMvcXVlc3Rpb25zL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3VydmV5LWFuZ3VsYXItdWkvc3JjL3F1ZXN0aW9ucy9maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQU0vRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBa0M7SUFMN0U7O1FBTUUsaUJBQVksR0FBOEIsQ0FBQyxLQUFhLEVBQVUsRUFBRTtZQUNsRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFBO0tBQ0Y7O2tIQUpZLHFCQUFxQjtzR0FBckIscUJBQXFCLGtGQ1RsQyx1aEtBb0hNOzJGRDNHTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UscUJBQXFCOztBQVVqQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlc3Rpb25Bbmd1bGFyIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkZpbGVNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1maWxlLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZmlsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbkZpbGVNb2RlbD4ge1xuICB0cmFja0ZpbGVzRm46IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgPSAoaW5kZXg6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaW5wdXRJZCArIFwiX1wiICsgaW5kZXg7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJmaWxlLXF1ZXN0aW9uXCIsIEZpbGVRdWVzdGlvbkNvbXBvbmVudCk7IiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuZmlsZVJvb3RDc3NcIiAjY29udGVudEVsZW1lbnQ+XG4gIDxpbnB1dFxuICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVJbnB1dFwiXG4gICAgKm5nSWY9XCIhbW9kZWwuaXNSZWFkT25seVwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIFthdHRyLmlkXT1cIm1vZGVsLmlucHV0SWRcIlxuICAgIChjaGFuZ2UpPVwibW9kZWwuZG9DaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJtb2RlbC5hcmlhUmVxdWlyZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibW9kZWwuYXJpYUludmFsaWRcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibW9kZWwuYXJpYURlc2NyaWJlZEJ5XCJcbiAgICBbYXR0ci5tdWx0aXBsZV09XCJtb2RlbC5tdWx0aXBsZVJlbmRlcmVkXCJcbiAgICBbYXR0ci50aXRsZV09XCJtb2RlbC5pbnB1dFRpdGxlXCJcbiAgICBbYXR0ci5hY2NlcHRdPVwibW9kZWwuYWNjZXB0ZWRUeXBlc1wiXG4gIC8+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwibW9kZWwuaXNSZWFkT25seVwiXG4gICAgdHlwZT1cImZpbGVcIlxuICAgIGRpc2FibGVkXG4gICAgW2NsYXNzXT1cIm1vZGVsLmdldFJlYWRPbmx5RmlsZUNzcygpXCJcbiAgICBbYXR0ci5tdWx0aXBsZV09XCJtb2RlbC5tdWx0aXBsZVJlbmRlcmVkXCJcbiAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJtb2RlbC50aXRsZVwiXG4gICAgc3R5bGU9XCJjb2xvcjogdHJhbnNwYXJlbnRcIlxuICAvPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRyYWdBcmVhXCJcbiAgICAoZHJhZ2VudGVyKT1cIm1vZGVsLm9uRHJhZ0VudGVyKCRldmVudClcIlxuICAgIChkcm9wKT1cIm1vZGVsLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAoZHJhZ292ZXIpPVwibW9kZWwub25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAoZHJhZ2xlYXZlKT1cIm1vZGVsLm9uRHJhZ0xlYXZlKCRldmVudClcIj4gIFxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRGaWxlRGVjb3JhdG9yQ3NzKClcIlxuICAgID5cbiAgICAgIDxzcGFuIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRyYWdBcmVhUGxhY2Vob2xkZXJcIj57eyBtb2RlbC5kcmFnQXJlYVBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy53cmFwcGVyXCI+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRDaG9vc2VGaWxlQ3NzKClcIlxuICAgICAgICAgIFthdHRyLmZvcl09XCJtb2RlbC5pbnB1dElkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vZGVsLmNob29zZUJ1dHRvbkNhcHRpb25cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8c3Bhbj57eyBtb2RlbC5jaG9vc2VCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbdGl0bGVdPVwibW9kZWwuY2hvb3NlQnV0dG9uQ2FwdGlvblwiIFtpY29uTmFtZV09XCJtb2RlbC5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbc2l6ZV09XCInYXV0bydcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5ub0ZpbGVDaG9zZW5cIlxuICAgICAgICAgICpuZ0lmPVwibW9kZWwuaXNFbXB0eSgpXCJcbiAgICAgICAgICA+e3sgbW9kZWwubm9GaWxlQ2hvc2VuQ2FwdGlvbiB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICpuZ0lmPVwibW9kZWwuc2hvd1JlbW92ZUJ1dHRvblwiXG4gICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVCdXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm1vZGVsLmRvQ2xlYW4oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgbW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQnV0dG9uQ2FwdGlvblwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZmlsZUxpc3QgfHwgdW5kZWZpbmVkXCIgKm5nSWY9XCIhbW9kZWwuaXNFbXB0eSgpXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgdmFsIG9mIG1vZGVsLnByZXZpZXdWYWx1ZTsgaW5kZXggYXMgaW5kZXg7IHRyYWNrQnk6IHRyYWNrRmlsZXNGblwiXG4gICAgICAgIFt2aXNpYmxlXT1cInZhbCAmJiBtb2RlbC5pc1ByZXZpZXdWaXNpYmxlKGluZGV4KVwiXG4gICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnByZXZpZXdcIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsLm5hbWUgJiYgbW9kZWwuY3NzQ2xhc3Nlcy5maWxlU2lnblwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmZpbGVTaWduXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIChjbGljayk9XCJtb2RlbC5kb0Rvd25sb2FkRmlsZSgkZXZlbnQsIHZhbClcIlxuICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJ2YWwuY29udGVudCB8IHNhZmVVcmxcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwidmFsLm5hbWVcIlxuICAgICAgICAgICAgW2F0dHIuZG93bmxvYWRdPVwidmFsLm5hbWVcIlxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIm1vZGVsLmltYWdlV2lkdGhcIlxuICAgICAgICAgICAgPnt7IHZhbC5uYW1lIH19PC9hXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5pbWFnZVdyYXBwZXJcIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAqbmdJZj1cIm1vZGVsLmNhblByZXZpZXdJbWFnZSh2YWwpXCJcbiAgICAgICAgICAgIFthdHRyLnNyY109XCJ2YWwuY29udGVudCB8IHNhZmVVcmxcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJtb2RlbC5pbWFnZUhlaWdodFwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwibW9kZWwuaW1hZ2VXaWR0aFwiXG4gICAgICAgICAgICBhbHQ9XCJGaWxlIHByZXZpZXdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmRlZmF1bHRJbWFnZSh2YWwpXCIgXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5kZWZhdWx0SW1hZ2VJY29uSWRcIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLmRlZmF1bHRJbWFnZVwiIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2YWwubmFtZSAmJiAhbW9kZWwuaXNSZWFkT25seVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVCdXR0b25cIiAoY2xpY2spPVwibW9kZWwuZG9SZW1vdmVGaWxlKHZhbClcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVcIlxuICAgICAgICAgICAgICA+e3sgbW9kZWwucmVtb3ZlRmlsZUNhcHRpb24gfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVTdmdJY29uSWRcIiBbdGl0bGVdPVwibW9kZWwucmVtb3ZlRmlsZUNhcHRpb25cIiBbcGFydENzc109XCJtb2RlbC5jc3NDbGFzc2VzLnJlbW92ZUZpbGVTdmdcIiBbaWNvbk5hbWVdPVwibW9kZWwuY3NzQ2xhc3Nlcy5yZW1vdmVGaWxlU3ZnSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24gPjwvc3ZnPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZhbC5uYW1lICYmIG1vZGVsLmNzc0NsYXNzZXMuZmlsZVNpZ25Cb3R0b21cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5maWxlU2lnbkJvdHRvbVwiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAoY2xpY2spPVwibW9kZWwuZG9Eb3dubG9hZEZpbGUoJGV2ZW50LCB2YWwpXCJcbiAgICAgICAgICAgIFthdHRyLmhyZWZdPVwidmFsLmNvbnRlbnQgfCBzYWZlVXJsXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cInZhbC5uYW1lXCJcbiAgICAgICAgICAgIFthdHRyLmRvd25sb2FkXT1cInZhbC5uYW1lXCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJtb2RlbC5pbWFnZVdpZHRoXCJcbiAgICAgICAgICAgID57eyB2YWwubmFtZSB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAqbmdJZj1cIm1vZGVsLnNob3dSZW1vdmVCdXR0b25Cb3R0b21cIlxuICAgICAgW2NsYXNzXT1cIm1vZGVsLnNob3dSZW1vdmVCdXR0b25Cb3R0b21cIlxuICAgICAgKGNsaWNrKT1cIm1vZGVsLmRvQ2xlYW4oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHNwYW4+e3sgbW9kZWwuY2xlYXJCdXR0b25DYXB0aW9uIH19PC9zcGFuPlxuICAgICAgPHN2ZyAqbmdJZj1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW2ljb25OYW1lXT1cIm1vZGVsLmNzc0NsYXNzZXMucmVtb3ZlQnV0dG9uSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgW3RpdGxlXT1cIm1vZGVsLmNsZWFyQnV0dG9uQ2FwdGlvblwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICAgIDxzdi1hY3Rpb24tYmFyICpuZ0lmPVwibW9kZWwubW9iaWxlRmlsZU5hdmlnYXRvclZpc2libGVcIiBbbW9kZWxdPVwibW9kZWwubW9iaWxlRmlsZU5hdmlnYXRvclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=