survey-angular-ui 3.0.3 → 3.1.0

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.
@@ -2,7 +2,8 @@ import { Component, Input } from "@angular/core";
2
2
  import { AngularComponentFactory } from "../../../component-factory";
3
3
  import { EmbeddedViewContentComponent } from "../../../embedded-view-content.component";
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
5
+ import * as i1 from "../../svg-icon/svg-icon.component";
6
+ import * as i2 from "@angular/common";
6
7
  export class MatrixDynamicDragDropIconComponent extends EmbeddedViewContentComponent {
7
8
  get question() {
8
9
  return this.model.data.question;
@@ -12,7 +13,7 @@ export class MatrixDynamicDragDropIconComponent extends EmbeddedViewContentCompo
12
13
  }
13
14
  }
14
15
  MatrixDynamicDragDropIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
- MatrixDynamicDragDropIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"question.onPointerDown($event, row)\">\n <svg *ngIf=\"question.iconDragElement\" [class]=\"question.cssClasses.dragElementDecorator\">\n <use [attr.xlink:href]=\"question.iconDragElement\"></use>\n </svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
+ MatrixDynamicDragDropIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"question.onPointerDown($event, row)\">\n <svg *ngIf=\"question.iconDragElement\" [partCss]=\"question.cssClasses.dragElementDecorator\" [iconName]=\"$any(model.iconName)\" [size]=\"model.iconSize\" sv-ng-svg-icon></svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\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"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
16
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, decorators: [{
17
18
  type: Component,
18
19
  args: [{
@@ -24,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
24
25
  type: Input
25
26
  }] } });
26
27
  AngularComponentFactory.Instance.registerComponent("sv-matrix-drag-drop-icon", MatrixDynamicDragDropIconComponent);
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLWljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tYXRyaXgtYWN0aW9ucy9kcmFnLWRyb3AtaWNvbi9kcmFnLWRyb3AtaWNvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hdHJpeC1hY3Rpb25zL2RyYWctZHJvcC1pY29uL2RyYWctZHJvcC1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFPeEYsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLDRCQUE0QjtJQUdsRixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDN0IsQ0FBQzs7Z0lBVFUsa0NBQWtDO29IQUFsQyxrQ0FBa0Msc0hDVi9DLDBZQU9jOzRGREdELGtDQUFrQztrQkFMOUMsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDdkM7OEJBRWlCLEtBQUs7c0JBQXBCLEtBQUs7O0FBV1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUNoRCwwQkFBMEIsRUFDMUIsa0NBQWtDLENBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBJQWN0aW9uLCBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogXCJkcmFnLWRyb3AtaWNvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXgtZHJhZy1kcm9wLWljb25cIixcbiAgc3R5bGVVcmxzOiBbXCIuLi8uLi8uLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhEeW5hbWljRHJhZ0Ryb3BJY29uQ29tcG9uZW50IGV4dGVuZHMgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlbCE6IElBY3Rpb247XG5cbiAgZ2V0IHF1ZXN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmRhdGEucXVlc3Rpb247XG4gIH1cblxuICBnZXQgcm93KCk6IE1hdHJpeERyb3Bkb3duUm93TW9kZWxCYXNlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5kYXRhLnJvdztcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcbiAgXCJzdi1tYXRyaXgtZHJhZy1kcm9wLWljb25cIixcbiAgTWF0cml4RHluYW1pY0RyYWdEcm9wSWNvbkNvbXBvbmVudFxuKTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKHBvaW50ZXJkb3duKT1cInF1ZXN0aW9uLm9uUG9pbnRlckRvd24oJGV2ZW50LCByb3cpXCI+XG4gICAgPHN2ZyAqbmdJZj1cInF1ZXN0aW9uLmljb25EcmFnRWxlbWVudFwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmRyYWdFbGVtZW50RGVjb3JhdG9yXCI+XG4gICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwicXVlc3Rpb24uaWNvbkRyYWdFbGVtZW50XCI+PC91c2U+XG4gICAgPC9zdmc+XG4gICAgPHNwYW4gKm5nSWY9XCIhcXVlc3Rpb24uaWNvbkRyYWdFbGVtZW50XCIgZGF0YS1iaW5kPVwiY3NzOiBxdWVzdGlvbi5jc3NDbGFzc2VzLmljb25EcmFnXCI+PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLWljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tYXRyaXgtYWN0aW9ucy9kcmFnLWRyb3AtaWNvbi9kcmFnLWRyb3AtaWNvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hdHJpeC1hY3Rpb25zL2RyYWctZHJvcC1pY29uL2RyYWctZHJvcC1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7O0FBT3hGLE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSw0QkFBNEI7SUFHbEYsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzdCLENBQUM7O2dJQVRVLGtDQUFrQztvSEFBbEMsa0NBQWtDLHNIQ1YvQyxpWkFLYzs0RkRLRCxrQ0FBa0M7a0JBTDlDLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3ZDOzhCQUVpQixLQUFLO3NCQUFwQixLQUFLOztBQVdSLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDaEQsMEJBQTBCLEVBQzFCLGtDQUFrQyxDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgSUFjdGlvbiwgTWF0cml4RHJvcGRvd25Sb3dNb2RlbEJhc2UgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6IFwiZHJhZy1kcm9wLWljb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc2VsZWN0b3I6IFwic3YtbmctbWF0cml4LWRyYWctZHJvcC1pY29uXCIsXG4gIHN0eWxlVXJsczogW1wiLi4vLi4vLi4vaGlkZS1ob3N0LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4RHluYW1pY0RyYWdEcm9wSWNvbkNvbXBvbmVudCBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWwhOiBJQWN0aW9uO1xuXG4gIGdldCBxdWVzdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbC5kYXRhLnF1ZXN0aW9uO1xuICB9XG5cbiAgZ2V0IHJvdygpOiBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZGF0YS5yb3c7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXG4gIFwic3YtbWF0cml4LWRyYWctZHJvcC1pY29uXCIsXG4gIE1hdHJpeER5bmFtaWNEcmFnRHJvcEljb25Db21wb25lbnRcbik7XG4iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IChwb2ludGVyZG93bik9XCJxdWVzdGlvbi5vblBvaW50ZXJEb3duKCRldmVudCwgcm93KVwiPlxuICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5pY29uRHJhZ0VsZW1lbnRcIiBbcGFydENzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmRyYWdFbGVtZW50RGVjb3JhdG9yXCIgW2ljb25OYW1lXT1cIiRhbnkobW9kZWwuaWNvbk5hbWUpXCIgW3NpemVdPVwibW9kZWwuaWNvblNpemVcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICA8c3BhbiAqbmdJZj1cIiFxdWVzdGlvbi5pY29uRHJhZ0VsZW1lbnRcIiBkYXRhLWJpbmQ9XCJjc3M6IHF1ZXN0aW9uLmNzc0NsYXNzZXMuaWNvbkRyYWdcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -37,12 +37,13 @@ export class PanelComponent extends BaseAngular {
37
37
  }
38
38
  }
39
39
  PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
- PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" (click)=\"model.clickRootFunction && model.clickRootFunction($event)\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style]=\"panelContentStyle\" [class]=\"model.cssClasses.panel.content\" \n [attr.id]=\"model.contentId\" [attr.role]=\"model.ariaRole\" [attr.aria-labelledby]=\"model.ariaLabelledBy\"[attr.aria-label]=\"model.ariaLabel\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n <sv-ng-action-bar *ngIf=\"model.renderedIsExpanded && model.getFooterToolbar().hasActions\" [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n</ng-template>", components: [{ type: i1.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i2.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i4.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
40
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" (click)=\"model.clickRootFunction && model.clickRootFunction($event)\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style]=\"panelContentStyle\" [class]=\"model.cssClasses.panel.content\" \n [attr.id]=\"model.contentId\" [attr.role]=\"model.ariaRole\" [attr.aria-labelledby]=\"model.ariaLabelledBy\"[attr.aria-label]=\"model.ariaLabel\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n <sv-ng-action-bar *ngIf=\"model.renderedIsExpanded && model.getFooterToolbar().hasActions\" [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i2.ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: i3.RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: i4.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{
44
44
  selector: "sv-ng-panel, '[sv-ng-panel]'",
45
45
  templateUrl: "./panel.component.html",
46
+ styleUrls: ["./hide-host.scss"]
46
47
  }]
47
48
  }], propDecorators: { model: [{
48
49
  type: Input
@@ -51,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
51
52
  args: ["panelContainer", { static: false, read: ElementRef }]
52
53
  }] } });
53
54
  AngularComponentFactory.Instance.registerComponent("panel", PanelComponent);
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBSzlELE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBdUI7SUFKM0Q7O1FBT21CLDJCQUFzQixHQUFHLGtEQUFrRCxDQUFDO1FBUzdGLGVBQVUsR0FBRyxDQUFDLENBQU0sRUFBRSxHQUFRLEVBQUUsRUFBRTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0tBVUg7SUFwQlcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7O1FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQztJQUlELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFXLGlCQUFpQjs7UUFDMUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxnQkFBZ0IsQ0FBQSxDQUFDO1FBQ3ZELE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN2QixzQkFBc0IsRUFBRSxRQUFRLElBQUksQ0FBQyxzQkFBc0IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHO1NBQ2hHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7OzRHQXZCVSxjQUFjO2dHQUFkLGNBQWMsZ01BRTJCLFVBQVUsb0RDVmhFLHkyQ0FlYzs0RkRQRCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3QkFBd0I7aUJBQ3RDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDNEQsaUJBQWlCO3NCQUFsRixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQXVCbEUsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQYW5lbE1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLXBhbmVsLCAnW3N2LW5nLXBhbmVsXSdcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wYW5lbC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBQYW5lbENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBhbmVsTW9kZWw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIG1vZGVsITogUGFuZWxNb2RlbDtcbiAgQFZpZXdDaGlsZChcInBhbmVsQ29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBwYW5lbENvbnRhaW5lclJlZiE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHBhbmVsUGFkZGluZ0hvcml6b250YWwgPSBcInZhcigtLXNkLWJhc2UtcGFkZGluZywgdmFyKC0tc2pzMi1zcGFjaW5nLXg1MDApKVwiO1xuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUGFuZWxNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghIXRoaXMucGFuZWxDb250YWluZXJSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMubW9kZWwuYWZ0ZXJSZW5kZXIodGhpcy5wYW5lbENvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgdHJhY2tSb3dCeSA9IChfOiBhbnksIHJvdzogYW55KSA9PiB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfTtcbiAgcHVibGljIGdldCBjYW5SZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5zdXJ2ZXkgJiYgdGhpcy5tb2RlbC5nZXRJc0NvbnRlbnRWaXNpYmxlKCk7XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbnRlbnRTdHlsZSgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBoYXNJbm5lclBhZGRpbmcgPSAhIXRoaXMubW9kZWw/LmlubmVyUGFkZGluZ0xlZnQ7XG4gICAgcmV0dXJuIGhhc0lubmVyUGFkZGluZyA/IHtcbiAgICAgIFwicGFkZGluZy1pbmxpbmUtc3RhcnRcIjogYGNhbGMoJHt0aGlzLnBhbmVsUGFkZGluZ0hvcml6b250YWx9ICsgJHt0aGlzLm1vZGVsLmlubmVyUGFkZGluZ0xlZnR9KWAsXG4gICAgfSA6IHt9O1xuICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInBhbmVsXCIsIFBhbmVsQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiY2FuUmVuZGVyXCIgW2F0dHIuaWRdPVwibW9kZWwuaWRcIiBbY2xhc3NdPVwibW9kZWwuZ2V0Q29udGFpbmVyQ3NzKClcIiAoZm9jdXNpbik9XCJtb2RlbC5mb2N1c0luKClcIiAoY2xpY2spPVwibW9kZWwuY2xpY2tSb290RnVuY3Rpb24gJiYgbW9kZWwuY2xpY2tSb290RnVuY3Rpb24oJGV2ZW50KVwiICNwYW5lbENvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuc2hvd0Vycm9yc0Fib3ZlUGFuZWwgJiYgbW9kZWwuaGFzVmlzaWJsZUVycm9yc1wiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5oYXNEZXNjcmlwdGlvbiB8fCBtb2RlbC5oYXNUaXRsZVwiIFtlbGVtZW50XT1cIm1vZGVsXCIgc3YtbmctZWxlbWVudC1oZWFkZXI+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5zaG93RXJyb3JzQWJvdmVQYW5lbCAmJiBtb2RlbC5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkSXNFeHBhbmRlZFwiIFtzdHlsZV09XCJwYW5lbENvbnRlbnRTdHlsZVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLnBhbmVsLmNvbnRlbnRcIiBcbiAgICAgIFthdHRyLmlkXT1cIm1vZGVsLmNvbnRlbnRJZFwiIFthdHRyLnJvbGVdPVwibW9kZWwuYXJpYVJvbGVcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibW9kZWwuYXJpYUxhYmVsbGVkQnlcIlthdHRyLmFyaWEtbGFiZWxdPVwibW9kZWwuYXJpYUxhYmVsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByb3cgb2YgbW9kZWwudmlzaWJsZVJvd3M7IHRyYWNrQnk6IHRyYWNrUm93QnlcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiAkYW55KG1vZGVsLnN1cnZleSkuZ2V0Um93V3JhcHBlckNvbXBvbmVudE5hbWUocm93KSwgZGF0YTogeyBjb21wb25lbnREYXRhOiAkYW55KG1vZGVsLnN1cnZleSkuZ2V0Um93V3JhcHBlckNvbXBvbmVudERhdGEocm93KSB9IH1cIj5cbiAgICAgICAgICA8c3Ytbmctcm93IFtyb3ddPVwicm93XCI+PC9zdi1uZy1yb3c+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctYWN0aW9uLWJhciAqbmdJZj1cIm1vZGVsLnJlbmRlcmVkSXNFeHBhbmRlZCAmJiBtb2RlbC5nZXRGb290ZXJUb29sYmFyKCkuaGFzQWN0aW9uc1wiIFttb2RlbF09XCJtb2RlbC5nZXRGb290ZXJUb29sYmFyKClcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uL3NyYy9wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBTTlELE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBdUI7SUFMM0Q7O1FBUW1CLDJCQUFzQixHQUFHLGtEQUFrRCxDQUFDO1FBUzdGLGVBQVUsR0FBRyxDQUFDLENBQU0sRUFBRSxHQUFRLEVBQUUsRUFBRTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0tBVUg7SUFwQlcsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGVBQWU7O1FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsYUFBYSxDQUFBLEVBQUU7WUFDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlEO0lBQ0gsQ0FBQztJQUlELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdFLENBQUM7SUFDRCxJQUFXLGlCQUFpQjs7UUFDMUIsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsS0FBSywwQ0FBRSxnQkFBZ0IsQ0FBQSxDQUFDO1FBQ3ZELE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN2QixzQkFBc0IsRUFBRSxRQUFRLElBQUksQ0FBQyxzQkFBc0IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHO1NBQ2hHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7OzRHQXZCVSxjQUFjO2dHQUFkLGNBQWMsZ01BRTJCLFVBQVUsb0RDWGhFLHkyQ0FlYzs0RkRORCxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQzRELGlCQUFpQjtzQkFBbEYsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs7QUF1QmxFLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUGFuZWxNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wYW5lbCwgJ1tzdi1uZy1wYW5lbF0nXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcGFuZWwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2hpZGUtaG9zdC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UGFuZWxNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBQYW5lbE1vZGVsO1xuICBAVmlld0NoaWxkKFwicGFuZWxDb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHBhbmVsQ29udGFpbmVyUmVmITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFuZWxQYWRkaW5nSG9yaXpvbnRhbCA9IFwidmFyKC0tc2QtYmFzZS1wYWRkaW5nLCB2YXIoLS1zanMyLXNwYWNpbmcteDUwMCkpXCI7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBQYW5lbE1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5wYW5lbENvbnRhaW5lclJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5tb2RlbC5hZnRlclJlbmRlcih0aGlzLnBhbmVsQ29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICB0cmFja1Jvd0J5ID0gKF86IGFueSwgcm93OiBhbnkpID0+IHtcbiAgICByZXR1cm4gcm93LmlkO1xuICB9O1xuICBwdWJsaWMgZ2V0IGNhblJlbmRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbCAmJiB0aGlzLm1vZGVsLnN1cnZleSAmJiB0aGlzLm1vZGVsLmdldElzQ29udGVudFZpc2libGUoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHBhbmVsQ29udGVudFN0eWxlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IGhhc0lubmVyUGFkZGluZyA9ICEhdGhpcy5tb2RlbD8uaW5uZXJQYWRkaW5nTGVmdDtcbiAgICByZXR1cm4gaGFzSW5uZXJQYWRkaW5nID8ge1xuICAgICAgXCJwYWRkaW5nLWlubGluZS1zdGFydFwiOiBgY2FsYygke3RoaXMucGFuZWxQYWRkaW5nSG9yaXpvbnRhbH0gKyAke3RoaXMubW9kZWwuaW5uZXJQYWRkaW5nTGVmdH0pYCxcbiAgICB9IDoge307XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwicGFuZWxcIiwgUGFuZWxDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCJjYW5SZW5kZXJcIiBbYXR0ci5pZF09XCJtb2RlbC5pZFwiIFtjbGFzc109XCJtb2RlbC5nZXRDb250YWluZXJDc3MoKVwiIChmb2N1c2luKT1cIm1vZGVsLmZvY3VzSW4oKVwiIChjbGljayk9XCJtb2RlbC5jbGlja1Jvb3RGdW5jdGlvbiAmJiBtb2RlbC5jbGlja1Jvb3RGdW5jdGlvbigkZXZlbnQpXCIgI3BhbmVsQ29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5zaG93RXJyb3JzQWJvdmVQYW5lbCAmJiBtb2RlbC5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm1vZGVsLmhhc0Rlc2NyaXB0aW9uIHx8IG1vZGVsLmhhc1RpdGxlXCIgW2VsZW1lbnRdPVwibW9kZWxcIiBzdi1uZy1lbGVtZW50LWhlYWRlcj48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLnNob3dFcnJvcnNBYm92ZVBhbmVsICYmIG1vZGVsLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJtb2RlbFwiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwucmVuZGVyZWRJc0V4cGFuZGVkXCIgW3N0eWxlXT1cInBhbmVsQ29udGVudFN0eWxlXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMucGFuZWwuY29udGVudFwiIFxuICAgICAgW2F0dHIuaWRdPVwibW9kZWwuY29udGVudElkXCIgW2F0dHIucm9sZV09XCJtb2RlbC5hcmlhUm9sZVwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJtb2RlbC5hcmlhTGFiZWxsZWRCeVwiW2F0dHIuYXJpYS1sYWJlbF09XCJtb2RlbC5hcmlhTGFiZWxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC52aXNpYmxlUm93czsgdHJhY2tCeTogdHJhY2tSb3dCeVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50TmFtZShyb3cpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6ICRhbnkobW9kZWwuc3VydmV5KS5nZXRSb3dXcmFwcGVyQ29tcG9uZW50RGF0YShyb3cpIH0gfVwiPlxuICAgICAgICAgIDxzdi1uZy1yb3cgW3Jvd109XCJyb3dcIj48L3N2LW5nLXJvdz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1hY3Rpb24tYmFyICpuZ0lmPVwibW9kZWwucmVuZGVyZWRJc0V4cGFuZGVkICYmIG1vZGVsLmdldEZvb3RlclRvb2xiYXIoKS5oYXNBY3Rpb25zXCIgW21vZGVsXT1cIm1vZGVsLmdldEZvb3RlclRvb2xiYXIoKVwiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -24,7 +24,7 @@ export class MatrixQuestionComponent extends QuestionAngular {
24
24
  }
25
25
  }
26
26
  MatrixQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
27
- MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getTableWrapperCss()\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend class=\"sv-visuallyhidden\">{{model.locTitle.renderedHtml}}</legend>\n <table [class]=\"model.getTableCss()\" role=\"presentation\">\n <thead *ngIf=\"model.showHeader\" role=\"presentation\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"row.rowTextClasses\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onCellChanged(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <ng-template [component]=\"{ name: model.cellComponent, data: { cellChangedOwner: this, question: model, row: row, column: column, columnIndex: columnIndex } }\"></ng-template>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
27
+ MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getTableWrapperCss()\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend class=\"sv-visuallyhidden\">{{model.locTitle.renderedHtml}}</legend>\n <table [class]=\"model.getTableCss()\" role=\"presentation\">\n <thead *ngIf=\"model.showHeader\" role=\"presentation\">\n <tr>\n <td *ngIf=\"model.hasRows\" [class]=\"model.emptyCellCss\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody [class]=\"model.getTableBodyCss()\">\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"row.rowTextClasses\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onCellChanged(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <ng-template [component]=\"{ name: model.cellComponent, data: { cellChangedOwner: this, question: model, row: row, column: column, columnIndex: columnIndex } }\"></ng-template>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixQuestionComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
34
34
  }]
35
35
  }] });
36
36
  AngularComponentFactory.Instance.registerComponent("matrix-question", MatrixQuestionComponent);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQW9DO0lBQ3RFLFFBQVE7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDTSxhQUFhLENBQUMsR0FBUSxFQUFFLE1BQVc7UUFDeEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFTLEVBQUUsR0FBUTtRQUM5QixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUFTLEVBQUUsTUFBVztRQUNwQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7cUhBaEJVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLG9GQ1ZwQyxzK0VBMENjOzRGRGhDRCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOztBQW9CRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uTWF0cml4TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXgtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXguY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbk1hdHJpeE1vZGVsPiB7XG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMubW9kZWwudmlzaWJsZVJvd3NDaGFuZ2VkQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbiAgcHVibGljIG9uQ2VsbENoYW5nZWQocm93OiBhbnksIGNvbHVtbjogYW55KTogdm9pZCB7XG4gICAgcm93LmNlbGxDbGljayhjb2x1bW4pO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHRyYWNrUm93QnlGbihpOiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93LnVuaXF1ZUlkO1xuICB9XG4gIHRyYWNrQ29sdW1uQnlGbihpOiBudW1iZXIsIGNvbHVtbjogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLnVuaXF1ZUlkO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4LXF1ZXN0aW9uXCIsIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5nZXRUYWJsZVdyYXBwZXJDc3MoKVwiICNjb250ZW50RWxlbWVudD5cbiAgICA8ZmllbGRzZXQgcm9sZT1cInJhZGlvZ3JvdXBcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJzdi12aXN1YWxseWhpZGRlblwiPnt7bW9kZWwubG9jVGl0bGUucmVuZGVyZWRIdG1sfX08L2xlZ2VuZD5cbiAgICAgIDx0YWJsZSBbY2xhc3NdPVwibW9kZWwuZ2V0VGFibGVDc3MoKVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPHRoZWFkICpuZ0lmPVwibW9kZWwuc2hvd0hlYWRlclwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCI+PC90ZD5cbiAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zXCIgW3N0eWxlXT1cInsgbWluV2lkdGg6IG1vZGVsLmNvbHVtbk1pbldpZHRoLCB3aWR0aDogbW9kZWwuY29sdW1uTWluV2lkdGggfVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLmhlYWRlckNlbGxcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBtb2RlbC5nZXRDb2x1bW5IZWFkZXJXcmFwcGVyQ29tcG9uZW50TmFtZShjb2x1bW4pLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IG1vZGVsLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnREYXRhKGNvbHVtbikgfSB9XCI+XG4gICAgICAgICAgICAgICAgPHN2LW5nLXN0cmluZyBbbW9kZWxdPVwiY29sdW1uLmxvY1RleHRcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93IG9mIG1vZGVsLnZpc2libGVSb3dzOyB0cmFja0J5OiB0cmFja1Jvd0J5Rm4gXCIgW2NsYXNzXT1cInJvdy5yb3dDbGFzc2VzIHx8IHVuZGVmaW5lZFwiPlxuICAgICAgICAgICA8dGQgW2NsYXNzXT1cInJvdy5yb3dUZXh0Q2xhc3Nlc1wiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBtb2RlbC5yb3dUaXRsZVdpZHRoLCB3aWR0aDogbW9kZWwucm93VGl0bGVXaWR0aCB9XCIgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuZ2V0Um93SGVhZGVyV3JhcHBlckNvbXBvbmVudE5hbWUoJGFueShyb3cpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBtb2RlbC5nZXRSb3dIZWFkZXJXcmFwcGVyQ29tcG9uZW50RGF0YSgkYW55KHJvdykpIH0gfVwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cInJvdy5sb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGVsLmhhc0NlbGxUZXh0XCI+XG4gICAgICAgICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLnZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuZ2V0SXRlbUNsYXNzKHJvdywgY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2VsbENoYW5nZWQocm93LCBjb2x1bW4pXCIgW21vZGVsXT1cIm1vZGVsLmdldENlbGxEaXNwbGF5TG9jVGV4dChyb3cubmFtZSwgY29sdW1uKVwiIHN2LW5nLXN0cmluZz5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5oYXNDZWxsVGV4dFwiPlxuICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtb2RlbC52aXNpYmxlQ29sdW1uczsgaW5kZXggYXMgY29sdW1uSW5kZXg7IHRyYWNrQnk6IHRyYWNrQ29sdW1uQnlGblwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtcmVzcG9uc2l2ZS10aXRsZV09XCJjb2x1bW4ubG9jVGV4dC5yZW5kZXJlZEh0bWxcIlxuICAgICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5jZWxsXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjb21wb25lbnRdPVwieyBuYW1lOiBtb2RlbC5jZWxsQ29tcG9uZW50LCBkYXRhOiB7IGNlbGxDaGFuZ2VkT3duZXI6IHRoaXMsIHF1ZXN0aW9uOiBtb2RlbCwgcm93OiByb3csIGNvbHVtbjogY29sdW1uLCBjb2x1bW5JbmRleDogY29sdW1uSW5kZXggfSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQW9DO0lBQ3RFLFFBQVE7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixHQUFHLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBQ0YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDTSxhQUFhLENBQUMsR0FBUSxFQUFFLE1BQVc7UUFDeEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFlBQVksQ0FBQyxDQUFTLEVBQUUsR0FBUTtRQUM5QixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztJQUNELGVBQWUsQ0FBQyxDQUFTLEVBQUUsTUFBVztRQUNwQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQzs7cUhBaEJVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLG9GQ1ZwQyx5aUZBMENjOzRGRGhDRCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOztBQW9CRCx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkFuZ3VsYXIgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcbmltcG9ydCB7IFF1ZXN0aW9uTWF0cml4TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXgtcXVlc3Rpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXguY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuLi9oaWRlLWhvc3Quc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRyaXhRdWVzdGlvbkNvbXBvbmVudCBleHRlbmRzIFF1ZXN0aW9uQW5ndWxhcjxRdWVzdGlvbk1hdHJpeE1vZGVsPiB7XG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHRoaXMubW9kZWwudmlzaWJsZVJvd3NDaGFuZ2VkQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcbiAgICB9O1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbiAgcHVibGljIG9uQ2VsbENoYW5nZWQocm93OiBhbnksIGNvbHVtbjogYW55KTogdm9pZCB7XG4gICAgcm93LmNlbGxDbGljayhjb2x1bW4pO1xuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHRyYWNrUm93QnlGbihpOiBudW1iZXIsIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93LnVuaXF1ZUlkO1xuICB9XG4gIHRyYWNrQ29sdW1uQnlGbihpOiBudW1iZXIsIGNvbHVtbjogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLnVuaXF1ZUlkO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4LXF1ZXN0aW9uXCIsIE1hdHJpeFF1ZXN0aW9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5nZXRUYWJsZVdyYXBwZXJDc3MoKVwiICNjb250ZW50RWxlbWVudD5cbiAgICA8ZmllbGRzZXQgcm9sZT1cInJhZGlvZ3JvdXBcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJzdi12aXN1YWxseWhpZGRlblwiPnt7bW9kZWwubG9jVGl0bGUucmVuZGVyZWRIdG1sfX08L2xlZ2VuZD5cbiAgICAgIDx0YWJsZSBbY2xhc3NdPVwibW9kZWwuZ2V0VGFibGVDc3MoKVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgPHRoZWFkICpuZ0lmPVwibW9kZWwuc2hvd0hlYWRlclwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJtb2RlbC5oYXNSb3dzXCIgW2NsYXNzXT1cIm1vZGVsLmVtcHR5Q2VsbENzc1wiPjwvdGQ+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtb2RlbC52aXNpYmxlQ29sdW1uc1wiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBtb2RlbC5jb2x1bW5NaW5XaWR0aCwgd2lkdGg6IG1vZGVsLmNvbHVtbk1pbldpZHRoIH1cIiBbY2xhc3NdPVwibW9kZWwuY3NzQ2xhc3Nlcy5oZWFkZXJDZWxsXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuZ2V0Q29sdW1uSGVhZGVyV3JhcHBlckNvbXBvbmVudE5hbWUoY29sdW1uKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBtb2RlbC5nZXRDb2x1bW5IZWFkZXJXcmFwcGVyQ29tcG9uZW50RGF0YShjb2x1bW4pIH0gfVwiPlxuICAgICAgICAgICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImNvbHVtbi5sb2NUZXh0XCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keSBbY2xhc3NdPVwibW9kZWwuZ2V0VGFibGVCb2R5Q3NzKClcIj5cbiAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBtb2RlbC52aXNpYmxlUm93czsgdHJhY2tCeTogdHJhY2tSb3dCeUZuIFwiIFtjbGFzc109XCJyb3cucm93Q2xhc3NlcyB8fCB1bmRlZmluZWRcIj5cbiAgICAgICAgICAgPHRkIFtjbGFzc109XCJyb3cucm93VGV4dENsYXNzZXNcIiBbc3R5bGVdPVwieyBtaW5XaWR0aDogbW9kZWwucm93VGl0bGVXaWR0aCwgd2lkdGg6IG1vZGVsLnJvd1RpdGxlV2lkdGggfVwiICpuZ0lmPVwibW9kZWwuaGFzUm93c1wiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IG1vZGVsLmdldFJvd0hlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKCRhbnkocm93KSksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogbW9kZWwuZ2V0Um93SGVhZGVyV3JhcHBlckNvbXBvbmVudERhdGEoJGFueShyb3cpKSB9IH1cIj5cbiAgICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJyb3cubG9jVGV4dFwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlbC5oYXNDZWxsVGV4dFwiPlxuICAgICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBtb2RlbC52aXNpYmxlQ29sdW1uc1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldEl0ZW1DbGFzcyhyb3csIGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNlbGxDaGFuZ2VkKHJvdywgY29sdW1uKVwiIFttb2RlbF09XCJtb2RlbC5nZXRDZWxsRGlzcGxheUxvY1RleHQocm93Lm5hbWUsIGNvbHVtbilcIiBzdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbW9kZWwuaGFzQ2VsbFRleHRcIj5cbiAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgbW9kZWwudmlzaWJsZUNvbHVtbnM7IGluZGV4IGFzIGNvbHVtbkluZGV4OyB0cmFja0J5OiB0cmFja0NvbHVtbkJ5Rm5cIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJlc3BvbnNpdmUtdGl0bGVdPVwiY29sdW1uLmxvY1RleHQucmVuZGVyZWRIdG1sXCJcbiAgICAgICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogbW9kZWwuY2VsbENvbXBvbmVudCwgZGF0YTogeyBjZWxsQ2hhbmdlZE93bmVyOiB0aGlzLCBxdWVzdGlvbjogbW9kZWwsIHJvdzogcm93LCBjb2x1bW46IGNvbHVtbiwgY29sdW1uSW5kZXg6IGNvbHVtbkluZGV4IH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2ZpZWxkc2V0PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -2,16 +2,15 @@ import { Component, Input, ViewChild } from "@angular/core";
2
2
  import { BaseAngular } from "../base-angular";
3
3
  import { getComponentName } from "../question";
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "../components/matrix-actions/drag-drop-icon/drag-drop-icon";
6
- import * as i2 from "../components/action-bar/action-bar.component";
7
- import * as i3 from "../errors.component";
8
- import * as i4 from "../survey-string.component";
9
- import * as i5 from "./matrixrequiredheader.component";
10
- import * as i6 from "./selectbase-item";
11
- import * as i7 from "../comment-choice.component";
12
- import * as i8 from "@angular/common";
13
- import * as i9 from "../utils/dynamic.directive";
14
- import * as i10 from "../utils/ng-show.directive";
5
+ import * as i1 from "../components/action-bar/action-bar.component";
6
+ import * as i2 from "../errors.component";
7
+ import * as i3 from "../survey-string.component";
8
+ import * as i4 from "./matrixrequiredheader.component";
9
+ import * as i5 from "./selectbase-item";
10
+ import * as i6 from "../comment-choice.component";
11
+ import * as i7 from "@angular/common";
12
+ import * as i8 from "../utils/dynamic.directive";
13
+ import * as i9 from "../utils/ng-show.directive";
15
14
  export class MatrixDropdownCellComponent extends BaseAngular {
16
15
  getModel() {
17
16
  if (this.cell.hasQuestion) {
@@ -28,7 +27,7 @@ export class MatrixDropdownCellComponent extends BaseAngular {
28
27
  ngDoCheck() {
29
28
  var _a;
30
29
  super.ngDoCheck();
31
- if (this.cell.isErrorsCell && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
30
+ if ((this.cell.isErrorsCell || this.cell.showErrors) && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
32
31
  this.cell.question.registerFunctionOnPropertiesValueChanged(["errors", "visible"], () => {
33
32
  this.update();
34
33
  }, "__ngSubscription");
@@ -102,7 +101,7 @@ export class MatrixDropdownCellComponent extends BaseAngular {
102
101
  }
103
102
  }
104
103
  MatrixDropdownCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
105
- MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" [item]=\"cell.question.otherItem\"\n sv-ng-comment-choice></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i4.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i5.MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: i6.SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: i7.SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i10.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
104
+ MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <div *ngIf=\"cell.showErrorsTop && cell.question.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" [item]=\"cell.question.otherItem\"\n sv-ng-comment-choice></div>\n </div>\n <div *ngIf=\"cell.showErrorsBottom && cell.question.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i2.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i3.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i4.MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: i5.SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: i6.SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i9.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
106
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, decorators: [{
107
106
  type: Component,
108
107
  args: [{
@@ -118,4 +117,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
118
117
  type: ViewChild,
119
118
  args: ["cellContainer"]
120
119
  }] } });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFROUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7QUFPL0MsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFdBQXFCO0lBS3BFLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUNlLFNBQVM7O1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUN0RixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxJQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDWixJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTztZQUNMLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFpQixJQUFJLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLFlBQVk7UUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ25FLENBQUM7SUFDRCxlQUFlOztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQzlFLE1BQU0sRUFBRSxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsYUFBYSxDQUFDO1FBQzdDLElBQUksRUFBRSxFQUFFO1lBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxPQUFPLEdBQUc7Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDcEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFdBQVcsRUFBRSxFQUFFO2dCQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUNRLFdBQVc7O1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsMENBQTBDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUMxRztJQUNILENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7eUhBeEZVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLHdQQ2hCeEMscS9GQTZDYzs0RkQ3QkQsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUNyQzs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFc0IsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb24sXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2UsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGwsXG4gIE1hdHJpeERyb3Bkb3duUm93TW9kZWxCYXNlLFxuICBTdXJ2ZXlNb2RlbFxufSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IGdldENvbXBvbmVudE5hbWUgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeGRyb3Bkb3duLWNlbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXhkcm9wZG93bmNlbGwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4RHJvcGRvd25DZWxsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UXVlc3Rpb24+IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlO1xuICBASW5wdXQoKSBjZWxsITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkQ2VsbDtcblxuICBAVmlld0NoaWxkKFwiY2VsbENvbnRhaW5lclwiKSBjZWxsQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIGdldE1vZGVsKCkge1xuICAgIGlmICh0aGlzLmNlbGwuaGFzUXVlc3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwucXVlc3Rpb247XG4gICAgfVxuICAgIGlmICghIXRoaXMuY2VsbC5jb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwuY29sdW1uO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbCBhcyBhbnk7XG4gIH1cbiAgcHVibGljIGdldCByb3coKTogTWF0cml4RHJvcGRvd25Sb3dNb2RlbEJhc2Uge1xuICAgIHJldHVybiB0aGlzLmNlbGwucm93O1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgc3VwZXIubmdEb0NoZWNrKCk7XG4gICAgaWYgKHRoaXMuY2VsbC5pc0Vycm9yc0NlbGwgJiYgdGhpcy5jZWxsPy5xdWVzdGlvbikge1xuICAgICAgdGhpcy5jZWxsLnF1ZXN0aW9uLnJlZ2lzdGVyRnVuY3Rpb25PblByb3BlcnRpZXNWYWx1ZUNoYW5nZWQoW1wiZXJyb3JzXCIsIFwidmlzaWJsZVwiXSwgKCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZSgpO1xuICAgICAgfSwgXCJfX25nU3Vic2NyaXB0aW9uXCIpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHBhbmVsQ29tcG9uZW50TmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhbmVsID0gdGhpcy5jZWxsLnBhbmVsO1xuICAgIGNvbnN0IHN1cnZleSA9IDxTdXJ2ZXlNb2RlbD5wYW5lbC5zdXJ2ZXk7XG4gICAgaWYgKCEhc3VydmV5KSB7XG4gICAgICBjb25zdCBuYW1lID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50TmFtZShwYW5lbCk7XG4gICAgICBpZiAoISFuYW1lKSB7XG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gXCJwYW5lbFwiO1xuICB9XG4gIHB1YmxpYyBnZXQgcGFuZWxDb21wb25lbnREYXRhKCk6IGFueSB7XG4gICAgY29uc3QgcGFuZWwgPSB0aGlzLmNlbGwucGFuZWw7XG4gICAgY29uc3Qgc3VydmV5ID0gPFN1cnZleU1vZGVsPnBhbmVsLnN1cnZleTtcbiAgICBsZXQgZGF0YTogYW55O1xuICAgIGlmICghIXN1cnZleSkge1xuICAgICAgZGF0YSA9IHN1cnZleS5nZXRFbGVtZW50V3JhcHBlckNvbXBvbmVudERhdGEocGFuZWwpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29tcG9uZW50TmFtZTogXCJwYW5lbFwiLFxuICAgICAgY29tcG9uZW50RGF0YToge1xuICAgICAgICBtb2RlbDogcGFuZWwsXG4gICAgICAgIGRhdGE6IGRhdGFcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29tcG9uZW50TmFtZShlbGVtZW50OiBRdWVzdGlvbikgeyByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZShlbGVtZW50KTsgfVxuICBnZXRDZWxsU3R5bGUoKSB7XG4gICAgaWYgKCEhdGhpcy5jZWxsLndpZHRoIHx8ICEhdGhpcy5jZWxsLm1pbldpZHRoKVxuICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMuY2VsbC53aWR0aCwgbWluV2lkdGg6IHRoaXMuY2VsbC5taW5XaWR0aCB9O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZENlbGwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jZWxsLmNvbHVtbiAmJiB0aGlzLmNlbGwuY29sdW1uLmlzUmVuZGVyZWRSZXF1aXJlZDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNlbGwuaGFzUXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24uc3VydmV5KSByZXR1cm47XG4gICAgY29uc3QgZWwgPSB0aGlzLmNlbGxDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsKSB7XG4gICAgICBjb25zdCBjZWxsUSA9IHRoaXMuY2VsbC5xdWVzdGlvbjtcbiAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICBjZWxsOiB0aGlzLmNlbGwuY2VsbCxcbiAgICAgICAgY2VsbFF1ZXN0aW9uOiBjZWxsUSxcbiAgICAgICAgaHRtbEVsZW1lbnQ6IGVsLFxuICAgICAgICByb3c6IHRoaXMuY2VsbC5yb3csXG4gICAgICAgIGNvbHVtbjogdGhpcy5jZWxsLmNlbGwuY29sdW1uLFxuICAgICAgfTtcbiAgICAgIHRoaXMucXVlc3Rpb24uc3VydmV5Lm1hdHJpeEFmdGVyQ2VsbFJlbmRlcihvcHRpb25zKTtcbiAgICAgIGNlbGxRLmFmdGVyUmVuZGVyQ29yZShlbCk7XG4gICAgfVxuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgaWYgKHRoaXMuY2VsbC5pc0Vycm9yc0NlbGwgJiYgdGhpcy5jZWxsPy5xdWVzdGlvbikge1xuICAgICAgdGhpcy5jZWxsLnF1ZXN0aW9uLnVuUmVnaXN0ZXJGdW5jdGlvbk9uUHJvcGVydGllc1ZhbHVlQ2hhbmdlZChbXCJlcnJvcnNcIiwgXCJ2aXNpYmxlXCJdLCBcIl9fbmdTdWJzY3JpcHRpb25cIik7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgY2FuUmVuZGVyKCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9uICYmIHRoaXMucXVlc3Rpb24uc3VydmV5ICYmIHRoaXMuY2VsbC5pc1Zpc2libGU7XG4gIH1cbiAgcHVibGljIGdldCBhcmlhTGFiZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb24uZ2V0Q2VsbEFyaWFMYWJlbCh0aGlzLmNlbGwucm93LCB0aGlzLmNlbGwuY29sdW1uKTtcbiAgfVxufSIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDx0ZCBbY2xhc3NdPVwiY2VsbC5jbGFzc05hbWVcIiAqbmdJZj1cImNhblJlbmRlclwiIFt0aXRsZV09XCJjZWxsLmdldFRpdGxlKClcIlxuICAgIFtzdHlsZV09XCJnZXRDZWxsU3R5bGUoKVwiIFthdHRyLmNvbHNwYW5dPVwiY2VsbC5jb2xTcGFuc1wiIChmb2N1c2luKT1cImNlbGwuZm9jdXNJbigpXCIgI2NlbGxDb250YWluZXI+XG4gICAgPHN2LW5nLW1hdHJpeC1kcmFnLWRyb3AtaWNvbiAqbmdJZj1cImNlbGwuaXNEcmFnSGFuZGxlckNlbGxcIlxuICAgICAgW21vZGVsXT1cIiRhbnkoeyBkYXRhOiB7IHJvdzogcm93LCBxdWVzdGlvbjogcXVlc3Rpb24gfSB9KVwiPjwvc3YtbmctbWF0cml4LWRyYWctZHJvcC1pY29uPlxuICAgIDxzdi1hY3Rpb24tYmFyICpuZ0lmPVwiY2VsbC5pc0FjdGlvbnNDZWxsXCIgW21vZGVsXT1cImNlbGwuaXRlbS5nZXREYXRhKClcIiBbaGFuZGxlQ2xpY2tdPVwiZmFsc2VcIj48L3N2LWFjdGlvbi1iYXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuaGFzUGFuZWxcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogcGFuZWxDb21wb25lbnROYW1lLCBkYXRhOiBwYW5lbENvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cImNlbGwuaXNFcnJvcnNDZWxsICYmIGNlbGwucXVlc3Rpb24/Lmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJjZWxsLnF1ZXN0aW9uXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxzcGFuICpuZ0lmPVwiY2VsbC5zaG93UmVzcG9uc2l2ZVRpdGxlXCIgW2NsYXNzXT1cImNlbGwucmVzcG9uc2l2ZVRpdGxlQ3NzXCI+XG4gICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjZWxsLnJlc3BvbnNpdmVMb2NUaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgPHN2LW5nLW1hdHJpeGhlYWRlcnJlcXVpcmVkIFtjb2x1bW5dPVwiY2VsbC5jb2x1bW5cIiBbcXVlc3Rpb25dPVwiY2VsbC5tYXRyaXhcIj5cbiAgICAgIDwvc3YtbmctbWF0cml4aGVhZGVycmVxdWlyZWQ+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgKm5nSWY9XCJjZWxsLmhhc1F1ZXN0aW9uXCIgW2NsYXNzXT1cImNlbGwuY2VsbFF1ZXN0aW9uV3JhcHBlckNsYXNzTmFtZVwiXG4gICAgICBbdmlzaWJsZV09XCJjZWxsLnF1ZXN0aW9uLmlzVmlzaWJsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsLmlzQ2hvaWNlICYmIGNlbGwucXVlc3Rpb24uaXNEZWZhdWx0UmVuZGVyaW5nKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogZ2V0Q29tcG9uZW50TmFtZShjZWxsLnF1ZXN0aW9uKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCIhY2VsbC5pc0Nob2ljZSAmJiAhY2VsbC5xdWVzdGlvbi5pc0RlZmF1bHRSZW5kZXJpbmcoKVwiXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBjZWxsLnF1ZXN0aW9uLmdldENvbXBvbmVudE5hbWUoKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5pc0l0ZW1DaG9pY2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXNlbGViYXNlLWl0ZW0gW3Nob3dMYWJlbF09XCJmYWxzZVwiIFtpbnB1dFR5cGVdPVwiY2VsbC5pc0NoZWNrYm94ID8gJ2NoZWNrYm94JzogJ3JhZGlvJ1wiIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgICAgIFtxdWVzdGlvbl09XCJjZWxsLnF1ZXN0aW9uXCIgW21vZGVsXT1cImNlbGwuaXRlbVwiPjwvc3Ytbmctc2VsZWJhc2UtaXRlbT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiAqbmdJZj1cImNlbGwuaXNPdGhlckNob2ljZVwiIFtjbGFzc109XCJjZWxsLnF1ZXN0aW9uLmdldENvbW1lbnRBcmVhQ3NzKHRydWUpXCIgW3F1ZXN0aW9uXT1cImNlbGwucXVlc3Rpb25cIiBbaXRlbV09XCJjZWxsLnF1ZXN0aW9uLm90aGVySXRlbVwiXG4gICAgICAgIHN2LW5nLWNvbW1lbnQtY2hvaWNlPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLmhhc1RpdGxlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZSgkYW55KGNlbGwpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudERhdGEoJGFueShjZWxsKSl9IH1cIj5cbiAgICAgICAgPHN2LW5nLXN0cmluZyBbbW9kZWxdPVwiY2VsbC5sb2NUaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVxdWlyZWRDZWxsXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2VsbFJlcXVpcmVkTWFya1wiPnt7IGNlbGwucmVxdWlyZWRNYXJrIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+Il19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFROUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQU8vQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsV0FBcUI7SUFLcEUsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBQ2UsU0FBUzs7UUFDdkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUN0RixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBVyxrQkFBa0I7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsTUFBTSxNQUFNLEdBQWdCLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxJQUFTLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDWixJQUFJLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTztZQUNMLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGFBQWEsRUFBRTtnQkFDYixLQUFLLEVBQUUsS0FBSztnQkFDWixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFpQixJQUFJLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLFlBQVk7UUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEUsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO0lBQ25FLENBQUM7SUFDRCxlQUFlOztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQzlFLE1BQU0sRUFBRSxHQUFHLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsYUFBYSxDQUFDO1FBQzdDLElBQUksRUFBRSxFQUFFO1lBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDakMsSUFBSSxPQUFPLEdBQUc7Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDcEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFdBQVcsRUFBRSxFQUFFO2dCQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwRCxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUNRLFdBQVc7O1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxLQUFJLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsMENBQTBDLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUMxRztJQUNILENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7eUhBeEZVLDJCQUEyQjs2R0FBM0IsMkJBQTJCLHdQQ2hCeEMsb2tHQTZDYzs0RkQ3QkQsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUNyQzs4QkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFc0IsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHtcbiAgUXVlc3Rpb24sXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2UsXG4gIFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGwsXG4gIE1hdHJpeERyb3Bkb3duUm93TW9kZWxCYXNlLFxuICBTdXJ2ZXlNb2RlbFxufSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IGdldENvbXBvbmVudE5hbWUgfSBmcm9tIFwiLi4vcXVlc3Rpb25cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeGRyb3Bkb3duLWNlbGxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9tYXRyaXhkcm9wZG93bmNlbGwuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4RHJvcGRvd25DZWxsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8UXVlc3Rpb24+IHtcbiAgQElucHV0KCkgcXVlc3Rpb24hOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlO1xuICBASW5wdXQoKSBjZWxsITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkQ2VsbDtcblxuICBAVmlld0NoaWxkKFwiY2VsbENvbnRhaW5lclwiKSBjZWxsQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gIGdldE1vZGVsKCkge1xuICAgIGlmICh0aGlzLmNlbGwuaGFzUXVlc3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwucXVlc3Rpb247XG4gICAgfVxuICAgIGlmICghIXRoaXMuY2VsbC5jb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwuY29sdW1uO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbCBhcyBhbnk7XG4gIH1cbiAgcHVibGljIGdldCByb3coKTogTWF0cml4RHJvcGRvd25Sb3dNb2RlbEJhc2Uge1xuICAgIHJldHVybiB0aGlzLmNlbGwucm93O1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgc3VwZXIubmdEb0NoZWNrKCk7XG4gICAgaWYgKCh0aGlzLmNlbGwuaXNFcnJvcnNDZWxsIHx8IHRoaXMuY2VsbC5zaG93RXJyb3JzKSAmJiB0aGlzLmNlbGw/LnF1ZXN0aW9uKSB7XG4gICAgICB0aGlzLmNlbGwucXVlc3Rpb24ucmVnaXN0ZXJGdW5jdGlvbk9uUHJvcGVydGllc1ZhbHVlQ2hhbmdlZChbXCJlcnJvcnNcIiwgXCJ2aXNpYmxlXCJdLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9LCBcIl9fbmdTdWJzY3JpcHRpb25cIik7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgcGFuZWxDb21wb25lbnROYW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFuZWwgPSB0aGlzLmNlbGwucGFuZWw7XG4gICAgY29uc3Qgc3VydmV5ID0gPFN1cnZleU1vZGVsPnBhbmVsLnN1cnZleTtcbiAgICBpZiAoISFzdXJ2ZXkpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnROYW1lKHBhbmVsKTtcbiAgICAgIGlmICghIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcInBhbmVsXCI7XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbXBvbmVudERhdGEoKTogYW55IHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMuY2VsbC5wYW5lbDtcbiAgICBjb25zdCBzdXJ2ZXkgPSA8U3VydmV5TW9kZWw+cGFuZWwuc3VydmV5O1xuICAgIGxldCBkYXRhOiBhbnk7XG4gICAgaWYgKCEhc3VydmV5KSB7XG4gICAgICBkYXRhID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50RGF0YShwYW5lbCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnROYW1lOiBcInBhbmVsXCIsXG4gICAgICBjb21wb25lbnREYXRhOiB7XG4gICAgICAgIG1vZGVsOiBwYW5lbCxcbiAgICAgICAgZGF0YTogZGF0YVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBnZXRDb21wb25lbnROYW1lKGVsZW1lbnQ6IFF1ZXN0aW9uKSB7IHJldHVybiBnZXRDb21wb25lbnROYW1lKGVsZW1lbnQpOyB9XG4gIGdldENlbGxTdHlsZSgpIHtcbiAgICBpZiAoISF0aGlzLmNlbGwud2lkdGggfHwgISF0aGlzLmNlbGwubWluV2lkdGgpXG4gICAgICByZXR1cm4geyB3aWR0aDogdGhpcy5jZWxsLndpZHRoLCBtaW5XaWR0aDogdGhpcy5jZWxsLm1pbldpZHRoIH07XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcHVibGljIGdldCBpc1JlcXVpcmVkQ2VsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmNlbGwuY29sdW1uICYmIHRoaXMuY2VsbC5jb2x1bW4uaXNSZW5kZXJlZFJlcXVpcmVkO1xuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuY2VsbC5oYXNRdWVzdGlvbiB8fCAhdGhpcy5xdWVzdGlvbiB8fCAhdGhpcy5xdWVzdGlvbi5zdXJ2ZXkpIHJldHVybjtcbiAgICBjb25zdCBlbCA9IHRoaXMuY2VsbENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoZWwpIHtcbiAgICAgIGNvbnN0IGNlbGxRID0gdGhpcy5jZWxsLnF1ZXN0aW9uO1xuICAgICAgdmFyIG9wdGlvbnMgPSB7XG4gICAgICAgIGNlbGw6IHRoaXMuY2VsbC5jZWxsLFxuICAgICAgICBjZWxsUXVlc3Rpb246IGNlbGxRLFxuICAgICAgICBodG1sRWxlbWVudDogZWwsXG4gICAgICAgIHJvdzogdGhpcy5jZWxsLnJvdyxcbiAgICAgICAgY29sdW1uOiB0aGlzLmNlbGwuY2VsbC5jb2x1bW4sXG4gICAgICB9O1xuICAgICAgdGhpcy5xdWVzdGlvbi5zdXJ2ZXkubWF0cml4QWZ0ZXJDZWxsUmVuZGVyKG9wdGlvbnMpO1xuICAgICAgY2VsbFEuYWZ0ZXJSZW5kZXJDb3JlKGVsKTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICBpZiAodGhpcy5jZWxsLmlzRXJyb3JzQ2VsbCAmJiB0aGlzLmNlbGw/LnF1ZXN0aW9uKSB7XG4gICAgICB0aGlzLmNlbGwucXVlc3Rpb24udW5SZWdpc3RlckZ1bmN0aW9uT25Qcm9wZXJ0aWVzVmFsdWVDaGFuZ2VkKFtcImVycm9yc1wiLCBcInZpc2libGVcIl0sIFwiX19uZ1N1YnNjcmlwdGlvblwiKTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBjYW5SZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb24gJiYgdGhpcy5xdWVzdGlvbi5zdXJ2ZXkgJiYgdGhpcy5jZWxsLmlzVmlzaWJsZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFyaWFMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbi5nZXRDZWxsQXJpYUxhYmVsKHRoaXMuY2VsbC5yb3csIHRoaXMuY2VsbC5jb2x1bW4pO1xuICB9XG59IiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPHRkIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiICpuZ0lmPVwiY2FuUmVuZGVyXCIgW3RpdGxlXT1cImNlbGwuZ2V0VGl0bGUoKVwiXG4gICAgW3N0eWxlXT1cImdldENlbGxTdHlsZSgpXCIgW2F0dHIuY29sc3Bhbl09XCJjZWxsLmNvbFNwYW5zXCIgKGZvY3VzaW4pPVwiY2VsbC5mb2N1c0luKClcIiAjY2VsbENvbnRhaW5lcj5cbiAgICA8c3YtYWN0aW9uLWJhciAqbmdJZj1cImNlbGwuaXNBY3Rpb25zQ2VsbFwiIFttb2RlbF09XCJjZWxsLml0ZW0uZ2V0RGF0YSgpXCIgW2hhbmRsZUNsaWNrXT1cImZhbHNlXCI+PC9zdi1hY3Rpb24tYmFyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLmhhc1BhbmVsXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHBhbmVsQ29tcG9uZW50TmFtZSwgZGF0YTogcGFuZWxDb21wb25lbnREYXRhIH1cIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJjZWxsLmlzRXJyb3JzQ2VsbCAmJiBjZWxsLnF1ZXN0aW9uPy5oYXNWaXNpYmxlRXJyb3JzXCIgW2VsZW1lbnRdPVwiY2VsbC5xdWVzdGlvblwiIHN2LW5nLWVycm9ycz48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiY2VsbC5zaG93RXJyb3JzVG9wICYmIGNlbGwucXVlc3Rpb24uaGFzVmlzaWJsZUVycm9yc1wiIFtlbGVtZW50XT1cImNlbGwucXVlc3Rpb25cIiBzdi1uZy1lcnJvcnM+PC9kaXY+XG4gICAgPHNwYW4gKm5nSWY9XCJjZWxsLnNob3dSZXNwb25zaXZlVGl0bGVcIiBbY2xhc3NdPVwiY2VsbC5yZXNwb25zaXZlVGl0bGVDc3NcIj5cbiAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImNlbGwucmVzcG9uc2l2ZUxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICA8c3YtbmctbWF0cml4aGVhZGVycmVxdWlyZWQgW2NvbHVtbl09XCJjZWxsLmNvbHVtblwiIFtxdWVzdGlvbl09XCJjZWxsLm1hdHJpeFwiPlxuICAgICAgPC9zdi1uZy1tYXRyaXhoZWFkZXJyZXF1aXJlZD5cbiAgICA8L3NwYW4+XG4gICAgPGRpdiAqbmdJZj1cImNlbGwuaGFzUXVlc3Rpb25cIiBbY2xhc3NdPVwiY2VsbC5jZWxsUXVlc3Rpb25XcmFwcGVyQ2xhc3NOYW1lXCJcbiAgICAgIFt2aXNpYmxlXT1cImNlbGwucXVlc3Rpb24uaXNWaXNpYmxlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNlbGwuaXNDaG9pY2UgJiYgY2VsbC5xdWVzdGlvbi5pc0RlZmF1bHRSZW5kZXJpbmcoKVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnROYW1lKGNlbGwuY2VsbCksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnREYXRhKGNlbGwuY2VsbCl9IH1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBnZXRDb21wb25lbnROYW1lKGNlbGwucXVlc3Rpb24pLCBkYXRhOiB7IG1vZGVsOiBjZWxsLnF1ZXN0aW9uIH0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIiFjZWxsLmlzQ2hvaWNlICYmICFjZWxsLnF1ZXN0aW9uLmlzRGVmYXVsdFJlbmRlcmluZygpXCJcbiAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGNlbGwucXVlc3Rpb24uZ2V0Q29tcG9uZW50TmFtZSgpLCBkYXRhOiB7IG1vZGVsOiBjZWxsLnF1ZXN0aW9uIH0gfVwiPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLmlzSXRlbUNob2ljZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnROYW1lKGNlbGwuY2VsbCksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnREYXRhKGNlbGwuY2VsbCl9IH1cIj5cbiAgICAgICAgICA8c3Ytbmctc2VsZWJhc2UtaXRlbSBbc2hvd0xhYmVsXT1cImZhbHNlXCIgW2lucHV0VHlwZV09XCJjZWxsLmlzQ2hlY2tib3ggPyAnY2hlY2tib3gnOiAncmFkaW8nXCIgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgW3F1ZXN0aW9uXT1cImNlbGwucXVlc3Rpb25cIiBbbW9kZWxdPVwiY2VsbC5pdGVtXCI+PC9zdi1uZy1zZWxlYmFzZS1pdGVtPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY2VsbC5pc090aGVyQ2hvaWNlXCIgW2NsYXNzXT1cImNlbGwucXVlc3Rpb24uZ2V0Q29tbWVudEFyZWFDc3ModHJ1ZSlcIiBbcXVlc3Rpb25dPVwiY2VsbC5xdWVzdGlvblwiIFtpdGVtXT1cImNlbGwucXVlc3Rpb24ub3RoZXJJdGVtXCJcbiAgICAgICAgc3YtbmctY29tbWVudC1jaG9pY2U+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImNlbGwuc2hvd0Vycm9yc0JvdHRvbSAmJiBjZWxsLnF1ZXN0aW9uLmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJjZWxsLnF1ZXN0aW9uXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjZWxsLmhhc1RpdGxlXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZSgkYW55KGNlbGwpKSwgZGF0YTogeyBjb21wb25lbnREYXRhOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudERhdGEoJGFueShjZWxsKSl9IH1cIj5cbiAgICAgICAgPHN2LW5nLXN0cmluZyBbbW9kZWxdPVwiY2VsbC5sb2NUaXRsZVwiPjwvc3Ytbmctc3RyaW5nPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVxdWlyZWRDZWxsXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2VsbFJlcXVpcmVkTWFya1wiPnt7IGNlbGwucmVxdWlyZWRNYXJrIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+Il19
@@ -9,7 +9,7 @@ import * as i4 from "@angular/common";
9
9
  export class MatrixDynamicComponent extends QuestionAngular {
10
10
  }
11
11
  MatrixDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- MatrixDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.getShowToolbar('top')\" [class]=\"model.cssClasses.footer\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <sv-ng-placeholder-matrixdynamic *ngIf=\"!model.renderedTable.showTable\" [question]=\"model\"></sv-ng-placeholder-matrixdynamic>\n <div *ngIf=\"model.getShowToolbar('bottom')\" [class]=\"model.cssClasses.footer\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i2.MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: i3.MatrixDynamicPlaceholderComponent, selector: "sv-ng-placeholder-matrixdynamic", inputs: ["question"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
+ MatrixDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.getShowToolbar('top')\" [class]=\"model.getToolbarCssClass('top')\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <sv-ng-placeholder-matrixdynamic *ngIf=\"!model.renderedTable.showTable\" [question]=\"model\"></sv-ng-placeholder-matrixdynamic>\n <div *ngIf=\"model.getShowToolbar('bottom')\" [class]=\"model.getToolbarCssClass('bottom')\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i2.MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: i3.MatrixDynamicPlaceholderComponent, selector: "sv-ng-placeholder-matrixdynamic", inputs: ["question"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
18
18
  }]
19
19
  }] });
20
20
  AngularComponentFactory.Instance.registerComponent("matrixdynamic-question", MatrixDynamicComponent);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeGR5bmFtaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXhkeW5hbWljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUEyQzs7b0hBQTFFLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDJGQ1RuQyxtckJBV2M7NEZERkQsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSxnQ0FBZ0M7aUJBQzlDOztBQUdELHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXhkeW5hbWljLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4ZHluYW1pYy5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeER5bmFtaWNDb21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWw+IHt9XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4ZHluYW1pYy1xdWVzdGlvblwiLCBNYXRyaXhEeW5hbWljQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICNjb250ZW50RWxlbWVudD5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuZ2V0U2hvd1Rvb2xiYXIoJ3RvcCcpXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZm9vdGVyXCI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwudG9vbGJhclwiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8c3YtbmctbWF0cml4LXRhYmxlICpuZ0lmPVwibW9kZWwucmVuZGVyZWRUYWJsZT8uc2hvd1RhYmxlXCIgW3F1ZXN0aW9uXT1cIm1vZGVsXCIgW3RhYmxlXT1cIm1vZGVsLnJlbmRlcmVkVGFibGVcIj48L3N2LW5nLW1hdHJpeC10YWJsZT5cbiAgICA8c3YtbmctcGxhY2Vob2xkZXItbWF0cml4ZHluYW1pYyAqbmdJZj1cIiFtb2RlbC5yZW5kZXJlZFRhYmxlLnNob3dUYWJsZVwiIFtxdWVzdGlvbl09XCJtb2RlbFwiPjwvc3YtbmctcGxhY2Vob2xkZXItbWF0cml4ZHluYW1pYz5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuZ2V0U2hvd1Rvb2xiYXIoJ2JvdHRvbScpXCIgW2NsYXNzXT1cIm1vZGVsLmNzc0NsYXNzZXMuZm9vdGVyXCI+XG4gICAgICA8c3YtbmctYWN0aW9uLWJhciBbbW9kZWxdPVwibW9kZWwudG9vbGJhclwiPjwvc3YtbmctYWN0aW9uLWJhcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHluYW1pYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeGR5bmFtaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXhkeW5hbWljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUEyQzs7b0hBQTFFLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDJGQ1RuQyxzc0JBV2M7NEZERkQsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFdBQVcsRUFBRSxnQ0FBZ0M7aUJBQzlDOztBQUdELHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXN0aW9uQW5ndWxhciB9IGZyb20gXCIuLi9xdWVzdGlvblwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXhkeW5hbWljLXF1ZXN0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4ZHluYW1pYy5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeER5bmFtaWNDb21wb25lbnQgZXh0ZW5kcyBRdWVzdGlvbkFuZ3VsYXI8UXVlc3Rpb25NYXRyaXhEeW5hbWljTW9kZWw+IHt9XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwibWF0cml4ZHluYW1pYy1xdWVzdGlvblwiLCBNYXRyaXhEeW5hbWljQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2ICNjb250ZW50RWxlbWVudD5cbiAgICA8ZGl2ICpuZ0lmPVwibW9kZWwuZ2V0U2hvd1Rvb2xiYXIoJ3RvcCcpXCIgW2NsYXNzXT1cIm1vZGVsLmdldFRvb2xiYXJDc3NDbGFzcygndG9wJylcIj5cbiAgICAgIDxzdi1uZy1hY3Rpb24tYmFyIFttb2RlbF09XCJtb2RlbC50b29sYmFyXCI+PC9zdi1uZy1hY3Rpb24tYmFyPlxuICAgIDwvZGl2PlxuICAgIDxzdi1uZy1tYXRyaXgtdGFibGUgKm5nSWY9XCJtb2RlbC5yZW5kZXJlZFRhYmxlPy5zaG93VGFibGVcIiBbcXVlc3Rpb25dPVwibW9kZWxcIiBbdGFibGVdPVwibW9kZWwucmVuZGVyZWRUYWJsZVwiPjwvc3YtbmctbWF0cml4LXRhYmxlPlxuICAgIDxzdi1uZy1wbGFjZWhvbGRlci1tYXRyaXhkeW5hbWljICpuZ0lmPVwiIW1vZGVsLnJlbmRlcmVkVGFibGUuc2hvd1RhYmxlXCIgW3F1ZXN0aW9uXT1cIm1vZGVsXCI+PC9zdi1uZy1wbGFjZWhvbGRlci1tYXRyaXhkeW5hbWljPlxuICAgIDxkaXYgKm5nSWY9XCJtb2RlbC5nZXRTaG93VG9vbGJhcignYm90dG9tJylcIiBbY2xhc3NdPVwibW9kZWwuZ2V0VG9vbGJhckNzc0NsYXNzKCdib3R0b20nKVwiPlxuICAgICAgPHN2LW5nLWFjdGlvbi1iYXIgW21vZGVsXT1cIm1vZGVsLnRvb2xiYXJcIj48L3N2LW5nLWFjdGlvbi1iYXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -19,7 +19,7 @@ export class MatrixTableComponent extends BaseAngular {
19
19
  }
20
20
  }
21
21
  MatrixTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
- MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<div #contentElement [class]=\"question.getTableWrapperCss()\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: i3.MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: i4.MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
22
+ MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<div #contentElement [class]=\"question.getTableWrapperCss()\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody [class]=\"question.getTableBodyCss()\">\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr [class]=\"table.footerRow.className\">\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i2.MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: i3.MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: i4.MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixTableComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
31
31
  }], table: [{
32
32
  type: Input
33
33
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4dGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXh0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFPOUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQWdEO0lBRzlFLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDTSxXQUFXLENBQUMsQ0FBUyxFQUFFLElBQVM7UUFDckMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDTSxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7O2tIQVhVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1JQ1JqQyx5aURBZ0NNOzRGRHhCTyxvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtpQkFDNUM7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZSwgUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGUgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4VGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZT4ge1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2U7XG4gIEBJbnB1dCgpIHRhYmxlITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGU7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGU7XG4gIH1cbiAgcHVibGljIHRyYWNrQ2VsbEJ5KF86IG51bWJlciwgY2VsbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2VsbC5pZDtcbiAgfVxuICBwdWJsaWMgdHJhY2tSb3dCeShpbmRleDogbnVtYmVyLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfVxufVxuIiwiPGRpdiAjY29udGVudEVsZW1lbnQgW2NsYXNzXT1cInF1ZXN0aW9uLmdldFRhYmxlV3JhcHBlckNzcygpXCI+XG4gIDx0YWJsZSBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0VGFibGVDc3MoKVwiPlxuICAgIDx0aGVhZCAqbmdJZj1cInRhYmxlLnNob3dIZWFkZXJcIj5cbiAgICAgIDx0cj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiB0YWJsZS5oZWFkZXJSb3cuY2VsbHM7IHRyYWNrQnk6IHRyYWNrQ2VsbEJ5XCI+XG4gICAgICAgICAgPHRoICpuZ0lmPVwiY2VsbC5oYXNUaXRsZVwiIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBjZWxsLm1pbldpZHRoLCB3aWR0aDogY2VsbC53aWR0aCB9XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKCRhbnkoY2VsbCkpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnREYXRhKCRhbnkoY2VsbCkpIH0gfVwiPlxuICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjZWxsLmxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDxzdi1uZy1tYXRyaXhoZWFkZXJyZXF1aXJlZCAqbmdJZj1cIiEhY2VsbC5jb2x1bW5cIiBbY29sdW1uXT1cImNlbGwuY29sdW1uXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCI+XG4gICAgICAgICAgICAgIDwvc3YtbmctbWF0cml4aGVhZGVycmVxdWlyZWQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGg+XG5cbiAgICAgICAgICA8dGQgKm5nSWY9XCIhY2VsbC5oYXNUaXRsZVwiIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBjZWxsLm1pbldpZHRoLCB3aWR0aDogY2VsbC53aWR0aCB9XCI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHRhYmxlLnJlbmRlcmVkUm93czsgdHJhY2tCeTogdHJhY2tSb3dCeVwiPlxuICAgICAgICA8c3YtbmctbWF0cml4LXJvdyBbbW9kZWxdPVwicm93XCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCI+PC9zdi1uZy1tYXRyaXgtcm93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgICA8dGZvb3QgKm5nSWY9XCJ0YWJsZS5zaG93Rm9vdGVyXCI+XG4gICAgICA8dHI+XG4gICAgICAgIDxzdi1uZy1tYXRyaXhkcm9wZG93bi1jZWxsIFtjZWxsXT1cImNlbGxcIiBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjZWxsIG9mIHRhYmxlLmZvb3RlclJvdy5jZWxsczsgdHJhY2tCeTogdHJhY2tDZWxsQnlcIj5cbiAgICAgICAgPC9zdi1uZy1tYXRyaXhkcm9wZG93bi1jZWxsPlxuICAgICAgPC90cj5cbiAgICA8L3Rmb290PlxuICA8L3RhYmxlPlxuPC9kaXY+Il19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4dGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3F1ZXN0aW9ucy9tYXRyaXh0YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvcXVlc3Rpb25zL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFPOUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQWdEO0lBRzlFLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDTSxXQUFXLENBQUMsQ0FBUyxFQUFFLElBQVM7UUFDckMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDTSxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7O2tIQVhVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1JQ1JqQyxzbkRBZ0NNOzRGRHhCTyxvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtpQkFDNUM7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VBbmd1bGFyIH0gZnJvbSBcIi4uL2Jhc2UtYW5ndWxhclwiO1xuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZSwgUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGUgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLW1hdHJpeC10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL21hdHJpeHRhYmxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgTWF0cml4VGFibGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZT4ge1xuICBASW5wdXQoKSBxdWVzdGlvbiE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25Nb2RlbEJhc2U7XG4gIEBJbnB1dCgpIHRhYmxlITogUXVlc3Rpb25NYXRyaXhEcm9wZG93blJlbmRlcmVkVGFibGU7XG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRUYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMudGFibGU7XG4gIH1cbiAgcHVibGljIHRyYWNrQ2VsbEJ5KF86IG51bWJlciwgY2VsbDogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2VsbC5pZDtcbiAgfVxuICBwdWJsaWMgdHJhY2tSb3dCeShpbmRleDogbnVtYmVyLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdy5pZDtcbiAgfVxufVxuIiwiPGRpdiAjY29udGVudEVsZW1lbnQgW2NsYXNzXT1cInF1ZXN0aW9uLmdldFRhYmxlV3JhcHBlckNzcygpXCI+XG4gIDx0YWJsZSBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0VGFibGVDc3MoKVwiPlxuICAgIDx0aGVhZCAqbmdJZj1cInRhYmxlLnNob3dIZWFkZXJcIj5cbiAgICAgIDx0cj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiB0YWJsZS5oZWFkZXJSb3cuY2VsbHM7IHRyYWNrQnk6IHRyYWNrQ2VsbEJ5XCI+XG4gICAgICAgICAgPHRoICpuZ0lmPVwiY2VsbC5oYXNUaXRsZVwiIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBjZWxsLm1pbldpZHRoLCB3aWR0aDogY2VsbC53aWR0aCB9XCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnROYW1lKCRhbnkoY2VsbCkpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENvbHVtbkhlYWRlcldyYXBwZXJDb21wb25lbnREYXRhKCRhbnkoY2VsbCkpIH0gfVwiPlxuICAgICAgICAgICAgICA8c3Ytbmctc3RyaW5nIFttb2RlbF09XCJjZWxsLmxvY1RpdGxlXCI+PC9zdi1uZy1zdHJpbmc+XG4gICAgICAgICAgICAgIDxzdi1uZy1tYXRyaXhoZWFkZXJyZXF1aXJlZCAqbmdJZj1cIiEhY2VsbC5jb2x1bW5cIiBbY29sdW1uXT1cImNlbGwuY29sdW1uXCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCI+XG4gICAgICAgICAgICAgIDwvc3YtbmctbWF0cml4aGVhZGVycmVxdWlyZWQ+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGg+XG5cbiAgICAgICAgICA8dGQgKm5nSWY9XCIhY2VsbC5oYXNUaXRsZVwiIFtjbGFzc109XCJjZWxsLmNsYXNzTmFtZVwiIFtzdHlsZV09XCJ7IG1pbldpZHRoOiBjZWxsLm1pbldpZHRoLCB3aWR0aDogY2VsbC53aWR0aCB9XCI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvdGhlYWQ+XG4gICAgPHRib2R5IFtjbGFzc109XCJxdWVzdGlvbi5nZXRUYWJsZUJvZHlDc3MoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIHRhYmxlLnJlbmRlcmVkUm93czsgdHJhY2tCeTogdHJhY2tSb3dCeVwiPlxuICAgICAgICA8c3YtbmctbWF0cml4LXJvdyBbbW9kZWxdPVwicm93XCIgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCI+PC9zdi1uZy1tYXRyaXgtcm93PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90Ym9keT5cbiAgICA8dGZvb3QgKm5nSWY9XCJ0YWJsZS5zaG93Rm9vdGVyXCI+XG4gICAgICA8dHIgW2NsYXNzXT1cInRhYmxlLmZvb3RlclJvdy5jbGFzc05hbWVcIj5cbiAgICAgICAgPHN2LW5nLW1hdHJpeGRyb3Bkb3duLWNlbGwgW2NlbGxdPVwiY2VsbFwiIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNlbGwgb2YgdGFibGUuZm9vdGVyUm93LmNlbGxzOyB0cmFja0J5OiB0cmFja0NlbGxCeVwiPlxuICAgICAgICA8L3N2LW5nLW1hdHJpeGRyb3Bkb3duLWNlbGw+XG4gICAgICA8L3RyPlxuICAgIDwvdGZvb3Q+XG4gIDwvdGFibGU+XG48L2Rpdj4iXX0=
@@ -2480,12 +2480,13 @@ class PanelComponent extends BaseAngular {
2480
2480
  }
2481
2481
  }
2482
2482
  PanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2483
- PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" (click)=\"model.clickRootFunction && model.clickRootFunction($event)\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style]=\"panelContentStyle\" [class]=\"model.cssClasses.panel.content\" \n [attr.id]=\"model.contentId\" [attr.role]=\"model.ariaRole\" [attr.aria-labelledby]=\"model.ariaLabelledBy\"[attr.aria-label]=\"model.ariaLabel\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n <sv-ng-action-bar *ngIf=\"model.renderedIsExpanded && model.getFooterToolbar().hasActions\" [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n</ng-template>", components: [{ type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2483
+ PanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PanelComponent, selector: "sv-ng-panel, '[sv-ng-panel]'", inputs: { model: "model" }, viewQueries: [{ propertyName: "panelContainerRef", first: true, predicate: ["panelContainer"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"canRender\" [attr.id]=\"model.id\" [class]=\"model.getContainerCss()\" (focusin)=\"model.focusIn()\" (click)=\"model.clickRootFunction && model.clickRootFunction($event)\" #panelContainer>\n <div *ngIf=\"model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.hasDescription || model.hasTitle\" [element]=\"model\" sv-ng-element-header></div>\n <div *ngIf=\"!model.showErrorsAbovePanel && model.hasVisibleErrors\" [element]=\"model\" sv-ng-errors></div>\n <div *ngIf=\"model.renderedIsExpanded\" [style]=\"panelContentStyle\" [class]=\"model.cssClasses.panel.content\" \n [attr.id]=\"model.contentId\" [attr.role]=\"model.ariaRole\" [attr.aria-labelledby]=\"model.ariaLabelledBy\"[attr.aria-label]=\"model.ariaLabel\">\n <ng-container *ngFor=\"let row of model.visibleRows; trackBy: trackRowBy\">\n <ng-template [component]=\"{ name: $any(model.survey).getRowWrapperComponentName(row), data: { componentData: $any(model.survey).getRowWrapperComponentData(row) } }\">\n <sv-ng-row [row]=\"row\"></sv-ng-row>\n </ng-template>\n </ng-container>\n </div>\n <sv-ng-action-bar *ngIf=\"model.renderedIsExpanded && model.getFooterToolbar().hasActions\" [model]=\"model.getFooterToolbar()\"></sv-ng-action-bar>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: ElementHeaderComponent, selector: "'[sv-ng-element-header]'", inputs: ["element"] }, { type: RowComponent, selector: "sv-ng-row", inputs: ["row"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
2484
2484
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PanelComponent, decorators: [{
2485
2485
  type: Component,
2486
2486
  args: [{
2487
2487
  selector: "sv-ng-panel, '[sv-ng-panel]'",
2488
2488
  templateUrl: "./panel.component.html",
2489
+ styleUrls: ["./hide-host.scss"]
2489
2490
  }]
2490
2491
  }], propDecorators: { model: [{
2491
2492
  type: Input
@@ -3175,7 +3176,7 @@ class MatrixQuestionComponent extends QuestionAngular {
3175
3176
  }
3176
3177
  }
3177
3178
  MatrixQuestionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixQuestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3178
- MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getTableWrapperCss()\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend class=\"sv-visuallyhidden\">{{model.locTitle.renderedHtml}}</legend>\n <table [class]=\"model.getTableCss()\" role=\"presentation\">\n <thead *ngIf=\"model.showHeader\" role=\"presentation\">\n <tr>\n <td *ngIf=\"model.hasRows\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"row.rowTextClasses\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onCellChanged(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <ng-template [component]=\"{ name: model.cellComponent, data: { cellChangedOwner: this, question: model, row: row, column: column, columnIndex: columnIndex } }\"></ng-template>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3179
+ MatrixQuestionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixQuestionComponent, selector: "sv-ng-matrix-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getTableWrapperCss()\" #contentElement>\n <fieldset role=\"radiogroup\">\n <legend class=\"sv-visuallyhidden\">{{model.locTitle.renderedHtml}}</legend>\n <table [class]=\"model.getTableCss()\" role=\"presentation\">\n <thead *ngIf=\"model.showHeader\" role=\"presentation\">\n <tr>\n <td *ngIf=\"model.hasRows\" [class]=\"model.emptyCellCss\"></td>\n <th\n *ngFor=\"let column of model.visibleColumns\" [style]=\"{ minWidth: model.columnMinWidth, width: model.columnMinWidth }\" [class]=\"model.cssClasses.headerCell\">\n <ng-template [component]=\"{ name: model.getColumnHeaderWrapperComponentName(column), data: { componentData: model.getColumnHeaderWrapperComponentData(column) } }\">\n <sv-ng-string [model]=\"column.locText\"></sv-ng-string>\n </ng-template>\n </th>\n </tr>\n </thead>\n <tbody [class]=\"model.getTableBodyCss()\">\n <tr *ngFor=\"let row of model.visibleRows; trackBy: trackRowByFn \" [class]=\"row.rowClasses || undefined\">\n <td [class]=\"row.rowTextClasses\" [style]=\"{ minWidth: model.rowTitleWidth, width: model.rowTitleWidth }\" *ngIf=\"model.hasRows\">\n <ng-template [component]=\"{ name: model.getRowHeaderWrapperComponentName($any(row)), data: { componentData: model.getRowHeaderWrapperComponentData($any(row)) } }\">\n <sv-ng-string [model]=\"row.locText\"></sv-ng-string>\n </ng-template>\n </td>\n <ng-container *ngIf=\"model.hasCellText\">\n <td *ngFor=\"let column of model.visibleColumns\"\n [class]=\"model.getItemClass(row, column)\"\n (click)=\"onCellChanged(row, column)\" [model]=\"model.getCellDisplayLocText(row.name, column)\" sv-ng-string>\n </td>\n </ng-container>\n <ng-container *ngIf=\"!model.hasCellText\">\n <td\n *ngFor=\"let column of model.visibleColumns; index as columnIndex; trackBy: trackColumnByFn\"\n [attr.data-responsive-title]=\"column.locText.renderedHtml\"\n [class]=\"model.cssClasses.cell\">\n <ng-template [component]=\"{ name: model.cellComponent, data: { cellChangedOwner: this, question: model, row: row, column: column, columnIndex: columnIndex } }\"></ng-template>\n </td>\n </ng-container>\n </tr>\n </tbody>\n </table>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3179
3180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixQuestionComponent, decorators: [{
3180
3181
  type: Component,
3181
3182
  args: [{
@@ -3662,28 +3663,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3662
3663
  }] } });
3663
3664
  AngularComponentFactory.Instance.registerComponent("survey-matrix-cell", MatrixCellComponent);
3664
3665
 
3665
- class MatrixDynamicDragDropIconComponent extends EmbeddedViewContentComponent {
3666
- get question() {
3667
- return this.model.data.question;
3668
- }
3669
- get row() {
3670
- return this.model.data.row;
3671
- }
3672
- }
3673
- MatrixDynamicDragDropIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3674
- MatrixDynamicDragDropIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"question.onPointerDown($event, row)\">\n <svg *ngIf=\"question.iconDragElement\" [class]=\"question.cssClasses.dragElementDecorator\">\n <use [attr.xlink:href]=\"question.iconDragElement\"></use>\n </svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3675
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, decorators: [{
3676
- type: Component,
3677
- args: [{
3678
- templateUrl: "drag-drop-icon.component.html",
3679
- selector: "sv-ng-matrix-drag-drop-icon",
3680
- styleUrls: ["../../../hide-host.scss"]
3681
- }]
3682
- }], propDecorators: { model: [{
3683
- type: Input
3684
- }] } });
3685
- AngularComponentFactory.Instance.registerComponent("sv-matrix-drag-drop-icon", MatrixDynamicDragDropIconComponent);
3686
-
3687
3666
  class MatrixRequiredHeader extends BaseAngular {
3688
3667
  getModel() {
3689
3668
  return this.column;
@@ -3720,7 +3699,7 @@ class MatrixDropdownCellComponent extends BaseAngular {
3720
3699
  ngDoCheck() {
3721
3700
  var _a;
3722
3701
  super.ngDoCheck();
3723
- if (this.cell.isErrorsCell && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
3702
+ if ((this.cell.isErrorsCell || this.cell.showErrors) && ((_a = this.cell) === null || _a === void 0 ? void 0 : _a.question)) {
3724
3703
  this.cell.question.registerFunctionOnPropertiesValueChanged(["errors", "visible"], () => {
3725
3704
  this.update();
3726
3705
  }, "__ngSubscription");
@@ -3794,7 +3773,7 @@ class MatrixDropdownCellComponent extends BaseAngular {
3794
3773
  }
3795
3774
  }
3796
3775
  MatrixDropdownCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3797
- MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" [item]=\"cell.question.otherItem\"\n sv-ng-comment-choice></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
3776
+ MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" *ngIf=\"canRender\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <div *ngIf=\"cell.showErrorsTop && cell.question.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <span *ngIf=\"cell.showResponsiveTitle\" [class]=\"cell.responsiveTitleCss\">\n <sv-ng-string [model]=\"cell.responsiveLocTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired [column]=\"cell.column\" [question]=\"cell.matrix\">\n </sv-ng-matrixheaderrequired>\n </span>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\" [ariaLabel]=\"ariaLabel\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\" [item]=\"cell.question.otherItem\"\n sv-ng-comment-choice></div>\n </div>\n <div *ngIf=\"cell.showErrorsBottom && cell.question.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredMark\">{{ cell.requiredMark }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel", "ariaLabel"] }, { type: SurveyCommentChoiceComponent, selector: "sv-ng-comment-choice, '[sv-ng-comment-choice]'", inputs: ["question", "item"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
3798
3777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, decorators: [{
3799
3778
  type: Component,
3800
3779
  args: [{
@@ -3872,7 +3851,7 @@ class MatrixTableComponent extends BaseAngular {
3872
3851
  }
3873
3852
  }
3874
3853
  MatrixTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3875
- MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<div #contentElement [class]=\"question.getTableWrapperCss()\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr>\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3854
+ MatrixTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: { question: "question", table: "table" }, usesInheritance: true, ngImport: i0, template: "<div #contentElement [class]=\"question.getTableWrapperCss()\">\n <table [class]=\"question.getTableCss()\">\n <thead *ngIf=\"table.showHeader\">\n <tr>\n <ng-container *ngFor=\"let cell of table.headerRow.cells; trackBy: trackCellBy\">\n <th *ngIf=\"cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n <ng-template\n [component]=\"{ name: question.getColumnHeaderWrapperComponentName($any(cell)), data: { componentData: question.getColumnHeaderWrapperComponentData($any(cell)) } }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <sv-ng-matrixheaderrequired *ngIf=\"!!cell.column\" [column]=\"cell.column\" [question]=\"question\">\n </sv-ng-matrixheaderrequired>\n </ng-template>\n </th>\n\n <td *ngIf=\"!cell.hasTitle\" [class]=\"cell.className\" [style]=\"{ minWidth: cell.minWidth, width: cell.width }\">\n </td>\n </ng-container>\n </tr>\n </thead>\n <tbody [class]=\"question.getTableBodyCss()\">\n <ng-container *ngFor=\"let row of table.renderedRows; trackBy: trackRowBy\">\n <sv-ng-matrix-row [model]=\"row\" [question]=\"question\"></sv-ng-matrix-row>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"table.showFooter\">\n <tr [class]=\"table.footerRow.className\">\n <sv-ng-matrixdropdown-cell [cell]=\"cell\" [question]=\"question\"\n *ngFor=\"let cell of table.footerRow.cells; trackBy: trackCellBy\">\n </sv-ng-matrixdropdown-cell>\n </tr>\n </tfoot>\n </table>\n</div>", components: [{ type: SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: MatrixRequiredHeader, selector: "sv-ng-matrixheaderrequired", inputs: ["column", "question"] }, { type: MatrixRowComponent, selector: "sv-ng-matrix-row", inputs: ["model", "question"] }, { type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: ["question", "cell"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
3876
3855
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixTableComponent, decorators: [{
3877
3856
  type: Component,
3878
3857
  args: [{
@@ -3919,7 +3898,7 @@ AngularComponentFactory.Instance.registerComponent("sv-ng-placeholder-matrixdyna
3919
3898
  class MatrixDynamicComponent extends QuestionAngular {
3920
3899
  }
3921
3900
  MatrixDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3922
- MatrixDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.getShowToolbar('top')\" [class]=\"model.cssClasses.footer\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <sv-ng-placeholder-matrixdynamic *ngIf=\"!model.renderedTable.showTable\" [question]=\"model\"></sv-ng-placeholder-matrixdynamic>\n <div *ngIf=\"model.getShowToolbar('bottom')\" [class]=\"model.cssClasses.footer\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: MatrixDynamicPlaceholderComponent, selector: "sv-ng-placeholder-matrixdynamic", inputs: ["question"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3901
+ MatrixDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicComponent, selector: "sv-ng-matrixdynamic-question", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div #contentElement>\n <div *ngIf=\"model.getShowToolbar('top')\" [class]=\"model.getToolbarCssClass('top')\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n <sv-ng-matrix-table *ngIf=\"model.renderedTable?.showTable\" [question]=\"model\" [table]=\"model.renderedTable\"></sv-ng-matrix-table>\n <sv-ng-placeholder-matrixdynamic *ngIf=\"!model.renderedTable.showTable\" [question]=\"model\"></sv-ng-placeholder-matrixdynamic>\n <div *ngIf=\"model.getShowToolbar('bottom')\" [class]=\"model.getToolbarCssClass('bottom')\">\n <sv-ng-action-bar [model]=\"model.toolbar\"></sv-ng-action-bar>\n </div>\n </div>\n</ng-template>", components: [{ type: ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: MatrixTableComponent, selector: "sv-ng-matrix-table", inputs: ["question", "table"] }, { type: MatrixDynamicPlaceholderComponent, selector: "sv-ng-placeholder-matrixdynamic", inputs: ["question"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3923
3902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicComponent, decorators: [{
3924
3903
  type: Component,
3925
3904
  args: [{
@@ -3929,6 +3908,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
3929
3908
  }] });
3930
3909
  AngularComponentFactory.Instance.registerComponent("matrixdynamic-question", MatrixDynamicComponent);
3931
3910
 
3911
+ class MatrixDynamicDragDropIconComponent extends EmbeddedViewContentComponent {
3912
+ get question() {
3913
+ return this.model.data.question;
3914
+ }
3915
+ get row() {
3916
+ return this.model.data.row;
3917
+ }
3918
+ }
3919
+ MatrixDynamicDragDropIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3920
+ MatrixDynamicDragDropIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div (pointerdown)=\"question.onPointerDown($event, row)\">\n <svg *ngIf=\"question.iconDragElement\" [partCss]=\"question.cssClasses.dragElementDecorator\" [iconName]=\"$any(model.iconName)\" [size]=\"model.iconSize\" sv-ng-svg-icon></svg>\n <span *ngIf=\"!question.iconDragElement\" data-bind=\"css: question.cssClasses.iconDrag\"></span>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3921
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDynamicDragDropIconComponent, decorators: [{
3922
+ type: Component,
3923
+ args: [{
3924
+ templateUrl: "drag-drop-icon.component.html",
3925
+ selector: "sv-ng-matrix-drag-drop-icon",
3926
+ styleUrls: ["../../../hide-host.scss"]
3927
+ }]
3928
+ }], propDecorators: { model: [{
3929
+ type: Input
3930
+ }] } });
3931
+ AngularComponentFactory.Instance.registerComponent("sv-matrix-drag-drop-icon", MatrixDynamicDragDropIconComponent);
3932
+
3932
3933
  class ExpressionComponent extends QuestionAngular {
3933
3934
  }
3934
3935
  ExpressionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ExpressionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });