survey-creator-angular 1.9.46 → 1.9.55

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.
@@ -208,6 +208,9 @@ class ToolboxToolComponent extends CreatorModelComponent {
208
208
  getModel() {
209
209
  return this.item;
210
210
  }
211
+ getPropertiesToUpdateSync() {
212
+ return ["mode"];
213
+ }
211
214
  }
212
215
  ToolboxToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolboxToolComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
213
216
  ToolboxToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: { creator: "creator", item: "item", isCompact: "isCompact" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-toolbox__tool\"\n [class.sv-action--hidden]=\"!item.isVisible\" [class]=\"item.css\" (pointerdown)=\"model.onPointerDown($event)\">\n <div class=\"sv-action__content\">\n <div class=\"svc-toolbox__category-separator\" *ngIf=\"item.needSeparator && !creator.toolbox.showCategoryTitles\"></div>\n <ng-template [component]=\"{ name: item.component || 'svc-toolbox-item', default: 'svc-toolbox-item', data: { model: item, viewModel: model, creator: creator, isCompact: isCompact } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
@@ -367,6 +370,7 @@ class PageNavigatorComponent extends CreatorModelComponent {
367
370
  el.parentElement.parentElement.parentElement.onscroll = function (ev) {
368
371
  return self.model.onContainerScroll(ev.currentTarget);
369
372
  };
373
+ self.model.setItemsContainer(el.parentElement);
370
374
  }
371
375
  }
372
376
  }
@@ -376,15 +380,16 @@ class PageNavigatorComponent extends CreatorModelComponent {
376
380
  if (!!el && !!((_b = (_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement)) {
377
381
  el.parentElement.parentElement.parentElement.onscroll = undefined;
378
382
  }
383
+ this.model.stopItemsContainerHeightObserver();
379
384
  this.model.dispose();
380
385
  super.ngOnDestroy();
381
386
  }
382
387
  }
383
388
  PageNavigatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
384
- PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <svc-page-navigator-item *ngFor=\"let item of model.items\" [model]=\"item\"></svc-page-navigator-item>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
389
+ PageNavigatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: { pagesController: "pagesController", pageEditMode: "pageEditMode" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }, { type: PageNavigatorItemComponent, selector: "svc-page-navigator-item", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
385
390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PageNavigatorComponent, decorators: [{
386
391
  type: Component,
387
- args: [{ selector: "svc-page-navigator", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <svc-page-navigator-item *ngFor=\"let item of model.items\" [model]=\"item\"></svc-page-navigator-item>\n </ng-container>\n </div>\n</ng-template>" }]
392
+ args: [{ selector: "svc-page-navigator", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-page-navigator\" #container>\n <ng-container *ngIf=\"model.visible\">\n <div class=\"svc-page-navigator__selector\"\n (click)=\"model.togglePageSelector($event)\" [key2click] [attr.title]=\"model.pageSelectorCaption\" [class.svc-page-navigator__selector--opened]=\"model.isPopupOpened\">\n <svg class=\"svc-page-navigator__navigator-icon\" [iconName]=\"model.icon\" [size]=\"24\" sv-ng-svg-icon></svg>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </div>\n <div>\n <svc-page-navigator-item *ngFor=\"let item of model.visibleItems\" [model]=\"item\"></svc-page-navigator-item>\n </div>\n </ng-container>\n </div>\n</ng-template>" }]
388
393
  }], propDecorators: { pagesController: [{
389
394
  type: Input
390
395
  }], pageEditMode: [{
@@ -406,10 +411,10 @@ class DesignerSurveyComponent extends BaseAngular {
406
411
  }
407
412
  }
408
413
  DesignerSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
409
- DesignerSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.getDesignerCss()\" [style.width]=\"survey.renderedWidth\" [style.maxWidth]=\"survey.renderedWidth\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <!-- ko if: survey.isShowProgressBarOnTop -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of survey.pages\">\n <svc-page class=\"svc-page\" *ngIf=\"!model.showNewPage || page !== model.newPage\"\n [attr.data-sv-drop-target-survey-element]=\"page.name\" [attr.data-sv-drop-target-page]=\"page.name\"\n [model]=\"page\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </ng-container>\n <svc-page *ngIf=\"model.showNewPage && model.newPage\" class=\"svc-page\"\n [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [model]=\"model.newPage\" [survey]=\"survey\"\n [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n \n <!-- ko if: survey.isShowProgressBarOnBottom -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n </div>\n\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }, { type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: ["model"] }, { type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: ["pagesController", "pageEditMode"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
414
+ DesignerSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DesignerSurveyComponent, selector: "svc-designer-survey", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.designerCss\" [style.width]=\"survey.renderedWidth\" [style.maxWidth]=\"survey.renderedWidth\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <!-- ko if: survey.isShowProgressBarOnTop -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of survey.pages\">\n <svc-page class=\"svc-page\" *ngIf=\"!model.showNewPage || page !== model.newPage\"\n [attr.data-sv-drop-target-survey-element]=\"page.name\" [attr.data-sv-drop-target-page]=\"page.name\"\n [model]=\"page\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </ng-container>\n <svc-page *ngIf=\"model.showNewPage && model.newPage\" class=\"svc-page\"\n [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [model]=\"model.newPage\" [survey]=\"survey\"\n [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n \n <!-- ko if: survey.isShowProgressBarOnBottom -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n </div>\n\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyHeaderComponent, selector: "'[sv-ng-survey-header]'", inputs: ["survey"] }, { type: PageDesignerComponent, selector: "svc-page", inputs: ["model", "survey", "creator", "isGhost"] }, { type: DesignerPagesComponent, selector: "svc-designer-pages", inputs: ["model"] }, { type: PageNavigatorComponent, selector: "svc-page-navigator", inputs: ["pagesController", "pageEditMode"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
410
415
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DesignerSurveyComponent, decorators: [{
411
416
  type: Component,
412
- args: [{ selector: "svc-designer-survey", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"model.getDesignerCss()\" [style.width]=\"survey.renderedWidth\" [style.maxWidth]=\"survey.renderedWidth\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <!-- ko if: survey.isShowProgressBarOnTop -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of survey.pages\">\n <svc-page class=\"svc-page\" *ngIf=\"!model.showNewPage || page !== model.newPage\"\n [attr.data-sv-drop-target-survey-element]=\"page.name\" [attr.data-sv-drop-target-page]=\"page.name\"\n [model]=\"page\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </ng-container>\n <svc-page *ngIf=\"model.showNewPage && model.newPage\" class=\"svc-page\"\n [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [model]=\"model.newPage\" [survey]=\"survey\"\n [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n \n <!-- ko if: survey.isShowProgressBarOnBottom -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n </div>\n\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n</ng-template>" }]
417
+ args: [{ selector: "svc-designer-survey", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"model.designerCss\" [style.width]=\"survey.renderedWidth\" [style.maxWidth]=\"survey.renderedWidth\">\n <div *ngIf=\"creator.allowEditSurveyTitle\" class=\"svc-designer-header\">\n <div *ngIf=\"survey.renderedHasHeader\" [class]=\"survey.css.header\" [survey]=\"survey\" sv-ng-survey-header></div>\n </div>\n\n <!-- ko if: survey.isShowProgressBarOnTop -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n <ng-container *ngIf=\"creator.pageEditMode !== 'bypage'\">\n <ng-container *ngFor=\"let page of survey.pages\">\n <svc-page class=\"svc-page\" *ngIf=\"!model.showNewPage || page !== model.newPage\"\n [attr.data-sv-drop-target-survey-element]=\"page.name\" [attr.data-sv-drop-target-page]=\"page.name\"\n [model]=\"page\" [survey]=\"survey\" [creator]=\"creator\"></svc-page>\n </ng-container>\n <svc-page *ngIf=\"model.showNewPage && model.newPage\" class=\"svc-page\"\n [attr.data-sv-drop-target-survey-element]=\"'newGhostPage'\" [model]=\"model.newPage\" [survey]=\"survey\"\n [creator]=\"creator\" [isGhost]=\"true\"></svc-page>\n </ng-container>\n <ng-container *ngIf=\"model.pagesController.page2Display && creator.pageEditMode === 'bypage'\">\n <svc-designer-pages [model]=\"model\"></svc-designer-pages>\n </ng-container>\n \n <!-- ko if: survey.isShowProgressBarOnBottom -->\n <!-- ko component: { name: 'sv-progress-' + survey.progressBarType, params: { model: survey } } -->\n <!-- /ko -->\n <!-- /ko -->\n </div>\n\n <div *ngIf=\"creator.showPageNavigator\" class=\"svc-tab-designer__page-navigator\">\n <svc-page-navigator [pagesController]=\"model.pagesController\" [pageEditMode]=\"creator.pageEditMode\">\n </svc-page-navigator>\n </div>\n</ng-template>" }]
413
418
  }], propDecorators: { model: [{
414
419
  type: Input
415
420
  }] } });
@@ -469,12 +474,15 @@ class PropertyGridComponent extends BaseAngular {
469
474
  getModel() {
470
475
  return this.model;
471
476
  }
477
+ getPropertiesToUpdateSync() {
478
+ return ["survey"];
479
+ }
472
480
  }
473
481
  PropertyGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
474
- PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PropertyGridComponent, selector: "svc-property-grid", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <survey-content [model]=\"model.survey\"></survey-content>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }] });
482
+ PropertyGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PropertyGridComponent, selector: "svc-property-grid", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <survey-content *ngIf=\"!!model.survey\" [model]=\"model.survey\"></survey-content>\n</ng-template>", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
475
483
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PropertyGridComponent, decorators: [{
476
484
  type: Component,
477
- args: [{ selector: "svc-property-grid", styles: [":host { display: none; }"], template: "<ng-template #template>\n <survey-content [model]=\"model.survey\"></survey-content>\n</ng-template>" }]
485
+ args: [{ selector: "svc-property-grid", styles: [":host { display: none; }"], template: "<ng-template #template>\n <survey-content *ngIf=\"!!model.survey\" [model]=\"model.survey\"></survey-content>\n</ng-template>" }]
478
486
  }], propDecorators: { model: [{
479
487
  type: Input
480
488
  }] } });
@@ -798,6 +806,9 @@ class ItemValueDesignerComponent extends CreatorModelComponent {
798
806
  get item() {
799
807
  return this.componentData.model;
800
808
  }
809
+ onBlur(event) {
810
+ this.adorner.onFocusOut(event);
811
+ }
801
812
  createModel() {
802
813
  if (this.componentData) {
803
814
  this.adorner = new ItemValueWrapperViewModel(this.creator, this.question, this.item);
@@ -811,10 +822,10 @@ class ItemValueDesignerComponent extends CreatorModelComponent {
811
822
  }
812
823
  }
813
824
  ItemValueDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
814
- ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ItemValueDesignerComponent, selector: "svc-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <svg *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\"\n [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
825
+ ItemValueDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ItemValueDesignerComponent, selector: "svc-item-value", inputs: { componentName: "componentName", componentData: "componentData" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" \n [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\"\n [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\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.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
815
826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ItemValueDesignerComponent, decorators: [{
816
827
  type: Component,
817
- args: [{ selector: "svc-item-value", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <svg *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\"\n [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" [iconName]=\"'icon-remove_16x16'\" [size]=\"16\"\n [attr.title]=\"undefined\" [attr.aria-label]=\"undefined\" sv-ng-svg-icon></svg>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>" }]
828
+ args: [{ selector: "svc-item-value", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-item-value-wrapper\" (pointerdown)=\"adorner.onPointerDown($event)\"\n [attr.data-sv-drop-target-item-value]=\"adorner.isDraggable ? item.value : null\"\n [ngClass]=\"{'svc-item-value--new': adorner.isNew, 'svc-item-value--dragging': adorner.isDragging, 'svc-item-value--ghost': adorner.isDragDropGhost, 'svc-item-value--movedown': adorner.isDragDropMoveDown, 'svc-item-value--moveup': adorner.isDragDropMoveUp}\">\n <div class=\"svc-item-value__ghost\"></div>\n <div class=\"svc-item-value-controls\">\n <span *ngIf=\"adorner.isDraggable\" class=\"svc-item-value-controls__button svc-item-value-controls__drag\">\n <svg class=\"svc-item-value-controls__drag-icon\" [iconName]=\"'icon-drag-area-indicator'\" [size]=\"24\"\n [attr.title]=\"adorner.dragTooltip\" [attr.aria-label]=\"adorner.dragTooltip\" sv-ng-svg-icon></svg>\n </span>\n <span *ngIf=\"adorner.allowAdd\" class=\"svc-item-value-controls__button svc-item-value-controls__add\" [key2click]\n (click)=\"adorner.add(adorner)\" \n [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-add_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n <span *ngIf=\"adorner.allowRemove\" class=\"svc-item-value-controls__button svc-item-value-controls__remove\"\n [key2click] (click)=\"adorner.remove(adorner)\" (blur)=\"onBlur($event)\"\n [attr.aria-label]=\"undefined\"><svg [iconName]=\"'icon-remove_16x16'\" [size]=\"16\" [attr.title]=\"undefined\" sv-ng-svg-icon></svg></span>\n </div>\n\n <div class=\"svc-item-value__item\" (click)=\"adorner.select(adorner, $event)\">\n <ng-template [component]=\"{ name: componentName, data: componentData }\"></ng-template>\n </div>\n </div>\n</ng-template>" }]
818
829
  }], propDecorators: { componentName: [{
819
830
  type: Input
820
831
  }], componentData: [{
@@ -1085,10 +1096,10 @@ class StringEditorComponent extends CreatorModelComponent {
1085
1096
  }
1086
1097
  }
1087
1098
  StringEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1088
- StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StringEditorComponent, selector: "svc-string-edtior", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <span [class]=\"className\">\n <span class=\"svc-string-editor__content\">\n <div class=\"svc-string-editor__border\">\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-string-editor__button svc-string-editor__button--edit\" [size]=\"24\" sv-ng-svg-icon \n (click)=\"edit($event)\" [iconName]=\"'icon-edit'\" [size]=\"16\"></svg>\n </div>\n <span role=\"textbox\" *ngIf=\"!locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (onInput)=\"baseModel.onInput($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\" (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerText]=\"editValue\" #container></span>\n <span role=\"textbox\" *ngIf=\"locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\"\n (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerHtml]=\"editValue\" #container></span>\n </span>\n <span *ngIf=\"errorText\" class=\"svc-string-editor__error\">{{errorText}}</span>\n </span>\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"] }] });
1099
+ StringEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StringEditorComponent, selector: "svc-string-edtior", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <span [class]=\"className\">\n <span class=\"svc-string-editor__content\">\n <div class=\"svc-string-editor__border\">\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-string-editor__button svc-string-editor__button--edit\" [size]=\"24\" sv-ng-svg-icon \n (click)=\"edit($event)\" [iconName]=\"'icon-edit'\" [size]=\"16\"></svg>\n </div>\n <span role=\"textbox\" *ngIf=\"!locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (input)=\"baseModel.onInput($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\" (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerText]=\"editValue\" #container></span>\n <span role=\"textbox\" *ngIf=\"locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\"\n (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerHtml]=\"editValue\" #container></span>\n </span>\n <span *ngIf=\"errorText\" class=\"svc-string-editor__error\">{{errorText}}</span>\n </span>\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"] }] });
1089
1100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StringEditorComponent, decorators: [{
1090
1101
  type: Component,
1091
- args: [{ selector: "svc-string-edtior", styles: [":host { display: none; }"], template: "<ng-template #template>\n <span [class]=\"className\">\n <span class=\"svc-string-editor__content\">\n <div class=\"svc-string-editor__border\">\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-string-editor__button svc-string-editor__button--edit\" [size]=\"24\" sv-ng-svg-icon \n (click)=\"edit($event)\" [iconName]=\"'icon-edit'\" [size]=\"16\"></svg>\n </div>\n <span role=\"textbox\" *ngIf=\"!locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (onInput)=\"baseModel.onInput($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\" (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerText]=\"editValue\" #container></span>\n <span role=\"textbox\" *ngIf=\"locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\"\n (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerHtml]=\"editValue\" #container></span>\n </span>\n <span *ngIf=\"errorText\" class=\"svc-string-editor__error\">{{errorText}}</span>\n </span>\n</ng-template>" }]
1102
+ args: [{ selector: "svc-string-edtior", styles: [":host { display: none; }"], template: "<ng-template #template>\n <span [class]=\"className\">\n <span class=\"svc-string-editor__content\">\n <div class=\"svc-string-editor__border\">\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-string-editor__button svc-string-editor__button--edit\" [size]=\"24\" sv-ng-svg-icon \n (click)=\"edit($event)\" [iconName]=\"'icon-edit'\" [size]=\"16\"></svg>\n </div>\n <span role=\"textbox\" *ngIf=\"!locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (input)=\"baseModel.onInput($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\" (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerText]=\"editValue\" #container></span>\n <span role=\"textbox\" *ngIf=\"locString.hasHtml\" class=\"sv-string-editor\" spellcheck=\"false\"\n (focus)=\"onFocus($event)\" (blur)=\"onBlur($event)\" (keydown)=\"baseModel.onKeyDown($event)\" (keyup)=\"baseModel.onKeyUp($event)\" (mouseup)=\"baseModel.onMouseUp($event)\"\n (click)=\"edit($event)\" [attr.aria-placeholder]=\"placeholder\" [attr.contenteditable]=\"contentEditable\" [innerHtml]=\"editValue\" #container></span>\n </span>\n <span *ngIf=\"errorText\" class=\"svc-string-editor__error\">{{errorText}}</span>\n </span>\n</ng-template>" }]
1092
1103
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.NgZone }]; }, propDecorators: { model: [{
1093
1104
  type: Input
1094
1105
  }], container: [{
@@ -1119,10 +1130,10 @@ class LogicOperatorComponent extends QuestionAngular {
1119
1130
  }
1120
1131
  }
1121
1132
  LogicOperatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1122
- LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.cleanCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1133
+ LogicOperatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: LogicOperatorComponent, selector: "svc-logic-operator", usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:none}\n"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }, { type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1.PopupComponent, selector: "sv-ng-popup, '[sv-ng-popup]'", inputs: ["popupModel"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
1123
1134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: LogicOperatorComponent, decorators: [{
1124
1135
  type: Component,
1125
- args: [{ selector: "svc-logic-operator", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.cleanCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n" }]
1136
+ args: [{ selector: "svc-logic-operator", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div [class]=\"model.cssClasses.selectWrapper\">\n <ng-container *ngIf=\"!model.isReadOnly\">\n <div [class]=\"model.getControlClass()\" (click)=\"click($event)\" (keyup)=\"keyup($event)\"\n [attr.id]=\"model.inputId\" \n [attr.required]=\"model.isRequired\" \n [attr.tabindex]= \"model.isInputReadOnly ? undefined : 0\"\n [attr.disabled]=\"model.isInputReadOnly\"\n [attr.role]=\"model.ariaRole\"\n [attr.aria-required]=\"model.ariaRequired\" \n [attr.aria-label]=\"model.ariaLabel\" \n [attr.aria-invalid]=\"model.ariaInvalid\" \n [attr.aria-describedby]= \"model.ariaDescribedBy\" \n >\n <div [class]=\"model.cssClasses.controlValue\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n <div *ngIf=\"model.allowClear && model.cssClasses.cleanButtonIconId\" [class]=\"model.cssClasses.cleanButton\" (click)=\"clear\" [visible]=\"!model.isEmpty()\">\n <svg [class]=\"model.cssClasses.cleanButtonSvg\" [iconName]=\"model.cssClasses.cleanButtonIconId\" [size]=\"'auto'\" [title]=\"model.clearCaption\" [size]=\"24\" sv-ng-svg-icon></svg>\n </div>\n </div>\n <sv-ng-popup [popupModel]=\"model.popupModel\"></sv-ng-popup>\n </ng-container>\n <div disabled *ngIf=\"model.isReadOnly\" [class]=\"model.getControlClass()\" [attr.id]=\"model.inputId\">\n <sv-ng-string *ngIf=\"model.selectedItemLocText\" [model]=\"model.selectedItemLocText\"></sv-ng-string>\n <div>{{model.readOnlyText}}</div>\n </div>\n </div>\n</ng-template>\n" }]
1126
1137
  }] });
1127
1138
  AngularComponentFactory.Instance.registerComponent("sv-logic-operator", LogicOperatorComponent);
1128
1139
  RendererFactory.Instance.registerRenderer("dropdown", "logicoperator", "sv-logic-operator");
@@ -1153,10 +1164,10 @@ class MatrixCellComponent extends CreatorModelComponent {
1153
1164
  }
1154
1165
  }
1155
1166
  MatrixCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1156
- MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixCellComponent, selector: "svc-matrix-cell", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1167
+ MatrixCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MatrixCellComponent, selector: "svc-matrix-cell", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div tabindex=\"-1\" class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1157
1168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MatrixCellComponent, decorators: [{
1158
1169
  type: Component,
1159
- args: [{ selector: "svc-matrix-cell", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>" }]
1170
+ args: [{ selector: "svc-matrix-cell", styles: [":host { display: none; }"], template: "<ng-template #template>\n <div tabindex=\"-1\" class=\"svc-matrix-cell\" (click)=\"adorner.selectContext(adorner, $event)\" (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.currentTarget)\">\n <div class=\"svc-matrix-cell--selected\" [class.svc-visible]=\"adorner.isSelected\"></div>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div *ngIf=\"question\" class=\"svc-matrix-cell__question-controls\">\n <span class=\"svc-matrix-cell__question-controls-button\" (click)=\"adorner.editQuestion(adorner)\" [key2click]>\n <svg [iconName]=\"'icon-edit'\" [size]=\"24\" [size]=\"24\" sv-ng-svg-icon></svg>\n </span>\n </div>\n </div>\n</ng-template>" }]
1160
1171
  }], propDecorators: { componentName: [{
1161
1172
  type: Input
1162
1173
  }], componentData: [{