survey-creator-angular 1.12.21 → 2.0.0-rc.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.
@@ -543,10 +543,27 @@
543
543
  TabbedMenuItemWrapperComponent.prototype.getModel = function () {
544
544
  return this.model;
545
545
  };
546
+ TabbedMenuItemWrapperComponent.prototype.ngOnDestroy = function () {
547
+ _super.prototype.ngOnDestroy.call(this);
548
+ this.model.updateModeCallback = undefined;
549
+ };
550
+ TabbedMenuItemWrapperComponent.prototype.ngAfterViewInit = function () {
551
+ var _this = this;
552
+ if (this.model) {
553
+ this.model.updateModeCallback = function (mode, callback) {
554
+ _this.model.mode = mode;
555
+ queueMicrotask(function () {
556
+ var _a;
557
+ callback(mode, (_a = _this.container) === null || _a === void 0 ? void 0 : _a.nativeElement);
558
+ });
559
+ };
560
+ this.model.afterRender();
561
+ }
562
+ };
546
563
  return TabbedMenuItemWrapperComponent;
547
564
  }(i1.BaseAngular));
548
565
  TabbedMenuItemWrapperComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TabbedMenuItemWrapperComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
549
- TabbedMenuItemWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <span class=\"svc-tabbed-menu-item-container\" [class.sv-action--hidden]=\"!model.isVisible\" [class]=\"model.css\">\n <div class=\"sv-action__content\">\n <ng-template [component]=\"{ name: model.component || 'svc-tabbed-menu-item', data: { model } }\"></ng-template>\n </div>\n </span>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
566
+ TabbedMenuItemWrapperComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <span class=\"svc-tabbed-menu-item-container\" [class.sv-action--hidden]=\"!model.isVisible\" [class]=\"model.css\"\n #container>\n <div class=\"sv-action__content\">\n <ng-template [component]=\"{ name: model.component || 'svc-tabbed-menu-item', data: { model } }\"></ng-template>\n </div>\n </span>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
550
567
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TabbedMenuItemWrapperComponent, decorators: [{
551
568
  type: i0.Component,
552
569
  args: [{
@@ -556,6 +573,9 @@
556
573
  }]
557
574
  }], propDecorators: { model: [{
558
575
  type: i0.Input
576
+ }], container: [{
577
+ type: i0.ViewChild,
578
+ args: ["container"]
559
579
  }] } });
560
580
 
561
581
  var TabbledMenuComponent = /** @class */ (function (_super) {
@@ -567,16 +587,19 @@
567
587
  return this.model;
568
588
  };
569
589
  TabbledMenuComponent.prototype.ngAfterViewInit = function () {
570
- this.responsivityManager = new surveyCore.ResponsivityManager(this.container.nativeElement, this.model, ".svc-tabbed-menu-item-container:not(.sv-dots)>.sv-action__content");
590
+ this.responsivityManager = new surveyCore.ResponsivityManager(this.container.nativeElement, this.model);
571
591
  };
572
592
  TabbledMenuComponent.prototype.ngOnDestroy = function () {
573
593
  _super.prototype.ngOnDestroy.call(this);
574
594
  this.responsivityManager.dispose();
575
595
  };
596
+ TabbledMenuComponent.prototype.trackItemBy = function (_, item) {
597
+ return item.renderedId;
598
+ };
576
599
  return TabbledMenuComponent;
577
600
  }(i1.BaseAngular));
578
601
  TabbledMenuComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TabbledMenuComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
579
- TabbledMenuComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-tabbed-menu\" #container>\n <ng-container *ngFor=\"let action of model.renderedActions\"> \n <svc-tabbed-menu-item-wrapper [model]=\"action\"></svc-tabbed-menu-item-wrapper>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: ["model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
602
+ TabbledMenuComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-tabbed-menu\" #container>\n <ng-container *ngFor=\"let action of model.renderedActions; trackBy: trackItemBy\">\n <svc-tabbed-menu-item-wrapper [model]=\"action\"></svc-tabbed-menu-item-wrapper>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: TabbedMenuItemWrapperComponent, selector: "svc-tabbed-menu-item-wrapper", inputs: ["model"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
580
603
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TabbledMenuComponent, decorators: [{
581
604
  type: i0.Component,
582
605
  args: [{
@@ -685,10 +708,21 @@
685
708
  this.creator.unsubscribeRootElement();
686
709
  _super.prototype.ngOnDestroy.call(this);
687
710
  };
711
+ Object.defineProperty(CreatorComponent.prototype, "visibleTabs", {
712
+ get: function () {
713
+ var _this = this;
714
+ return this.creator.tabs.filter(function (tab) { return _this.creator.viewType == tab.id && tab.visible; });
715
+ },
716
+ enumerable: false,
717
+ configurable: true
718
+ });
719
+ CreatorComponent.prototype.trackTabBy = function (_, tab) {
720
+ return tab.id;
721
+ };
688
722
  return CreatorComponent;
689
723
  }(i1.BaseAngular));
690
724
  CreatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
691
- CreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorComponent, selector: "survey-creator", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!creator.isCreatorDisposed\">\n <sv-ng-modal-container></sv-ng-modal-container>\n <div [class]=\"creator.getRootCss()\" [style]=\"creator.themeVariables\" #container>\n <div>\n <sv-svg-bundle></sv-svg-bundle>\n </div>\n <div class=\"svc-full-container svc-creator__area svc-flex-column\"\n [class.svc-creator__area--with-banner]=\"!creator.haveCommercialLicense\">\n <div class=\"svc-flex-row svc-full-container\"\n [class.svc-creator__side-bar--left]=\"creator.sidebarLocation == 'left'\">\n <div class=\"svc-flex-column svc-flex-row__element svc-flex-row__element--growing\">\n <div class=\"svc-top-bar\">\n <div class=\"svc-tabbed-menu-wrapper\" [visible]=\"creator.showTabs\">\n <svc-tabbed-menu [model]=\"creator.tabbedMenu\"></svc-tabbed-menu>\n </div>\n <div *ngIf=\"creator.showToolbar\" class=\"svc-toolbar-wrapper\" [visible]=\"creator.showToolbar\">\n <sv-action-bar [model]=\"creator.toolbar\"></sv-action-bar>\n </div>\n </div>\n <div class=\"svc-creator__content-wrapper svc-flex-row\"\n [class.svc-creator__content-wrapper--footer-toolbar]=\"creator.isMobileView\">\n <div class=\"svc-creator__content-holder svc-flex-column\">\n <ng-container *ngFor=\"let tab of creator.tabs\">\n <div class=\"svc-creator-tab\" *ngIf=\"creator.viewType == tab.id && tab.visible\"\n [attr.id]=\"'scrollableDiv-' + tab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: tab.componentContent, data: { model: tab.data.model } }\"></ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"creator.isMobileView\" class=\"svc-footer-bar\">\n <div class=\"svc-toolbar-wrapper\" [visible]=\"creator.isMobileView\">\n <sv-action-bar [model]=\"creator.footerToolbar\"></sv-action-bar>\n </div>\n </div>\n </div>\n <svc-side-bar [model]=\"creator.sidebar\" *ngIf=\"creator.sidebar\"></svc-side-bar>\n </div>\n <div class=\"svc-creator__banner\" *ngIf=\"!creator.haveCommercialLicense\">\n <span class=\"svc-creator__non-commercial-text\" [innerHTML]=\"creator.licenseText | safeHtml\"></span>\n </div>\n <sv-notifier [notifier]=\"creator.notifier\"></sv-notifier>\n </div>\n </div>\n</ng-container>", components: [{ type: i1__namespace.ModalComponent, selector: "sv-ng-modal-container" }, { type: i1__namespace.SvgBundleComponent, selector: "sv-svg-bundle" }, { type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: ["model"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SidebarComponent, selector: "svc-side-bar", inputs: ["model"] }, { type: i1__namespace.NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1__namespace.SafeHtmlPipe } });
725
+ CreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorComponent, selector: "survey-creator", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-container *ngIf=\"!creator.isCreatorDisposed\">\n <sv-ng-modal-container></sv-ng-modal-container>\n <div [class]=\"creator.getRootCss()\" [style]=\"creator.themeVariables\" #container>\n <div>\n <sv-svg-bundle></sv-svg-bundle>\n </div>\n <div class=\"svc-full-container svc-creator__area svc-flex-column\"\n [class.svc-creator__area--with-banner]=\"!creator.haveCommercialLicense\">\n <div class=\"svc-flex-row svc-full-container\"\n [class.svc-creator__side-bar--left]=\"creator.sidebarLocation == 'left'\">\n <div class=\"svc-flex-column svc-flex-row__element svc-flex-row__element--growing\">\n <div class=\"svc-top-bar\">\n <div class=\"svc-tabbed-menu-wrapper\" [visible]=\"creator.showTabs\">\n <svc-tabbed-menu [model]=\"creator.tabbedMenu\"></svc-tabbed-menu>\n </div>\n <div *ngIf=\"creator.showToolbar\" class=\"svc-toolbar-wrapper\" [visible]=\"creator.showToolbar\">\n <sv-action-bar [model]=\"creator.toolbar\"></sv-action-bar>\n </div>\n </div>\n <div class=\"svc-creator__content-wrapper svc-flex-row\"\n [class.svc-creator__content-wrapper--footer-toolbar]=\"creator.isMobileView\">\n <div class=\"svc-creator__content-holder svc-flex-column\">\n <ng-container *ngFor=\"let tab of visibleTabs; trackBy: trackTabBy\">\n <div class=\"svc-creator-tab\" [attr.id]=\"'scrollableDiv-' + tab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: tab.componentContent, data: { model: tab.data.model } }\"></ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"creator.isMobileView\" class=\"svc-footer-bar\">\n <div class=\"svc-toolbar-wrapper\" [visible]=\"creator.isMobileView\">\n <sv-action-bar [model]=\"creator.footerToolbar\"></sv-action-bar>\n </div>\n </div>\n </div>\n <svc-side-bar [model]=\"creator.sidebar\" *ngIf=\"creator.sidebar\"></svc-side-bar>\n </div>\n <div class=\"svc-creator__banner\" *ngIf=\"!creator.haveCommercialLicense\">\n <span class=\"svc-creator__non-commercial-text\" [innerHTML]=\"creator.licenseText | safeHtml\"></span>\n </div>\n <sv-notifier [notifier]=\"creator.notifier\"></sv-notifier>\n </div>\n </div>\n</ng-container>", components: [{ type: i1__namespace.ModalComponent, selector: "sv-ng-modal-container" }, { type: i1__namespace.SvgBundleComponent, selector: "sv-svg-bundle" }, { type: TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: ["model"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: SidebarComponent, selector: "svc-side-bar", inputs: ["model"] }, { type: i1__namespace.NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1__namespace.SafeHtmlPipe } });
692
726
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorComponent, decorators: [{
693
727
  type: i0.Component,
694
728
  args: [{
@@ -770,17 +804,28 @@
770
804
  enumerable: false,
771
805
  configurable: true
772
806
  });
773
- ToolboxToolComponent.prototype.getPropertiesToUpdateSync = function () {
774
- return ["mode"];
775
- };
776
807
  ToolboxToolComponent.prototype.ngOnDestroy = function () {
777
808
  _super.prototype.ngOnDestroy.call(this);
778
809
  this.model.dispose();
810
+ this.item.updateModeCallback = undefined;
811
+ };
812
+ ToolboxToolComponent.prototype.ngAfterViewInit = function () {
813
+ var _this = this;
814
+ if (this.item) {
815
+ this.item.updateModeCallback = function (mode, callback) {
816
+ var _a;
817
+ _this.item.mode = mode;
818
+ callback(mode, (_a = _this.container) === null || _a === void 0 ? void 0 : _a.nativeElement);
819
+ };
820
+ queueMicrotask(function () {
821
+ _this.item.afterRender();
822
+ });
823
+ }
779
824
  };
780
825
  return ToolboxToolComponent;
781
826
  }(CreatorModelComponent));
782
827
  ToolboxToolComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ToolboxToolComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
783
- ToolboxToolComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: { creator: "creator", item: "item", parentModel: "parentModel", isCompact: "isCompact" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"itemCssClasses\">\n <div class=\"svc-toolbox__category-separator\" *ngIf=\"item.needSeparator && !creator.toolbox.showCategoryTitles\">\n </div>\n <div class=\"svc-toolbox__tool-content sv-action__content\" (pointerdown)=\"model.onPointerDown($event)\">\n <ng-template [component]=\"{ name: model.itemComponent, default: 'svc-toolbox-item', \n data: { model: item, viewModel: model, creator: creator, isCompact: isCompact } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
828
+ ToolboxToolComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: { creator: "creator", item: "item", parentModel: "parentModel", isCompact: "isCompact" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"itemCssClasses\" #container>\n <div class=\"svc-toolbox__category-separator\" *ngIf=\"item.needSeparator && !creator.toolbox.showCategoryTitles\">\n </div>\n <div class=\"svc-toolbox__tool-content sv-action__content\" (pointerdown)=\"model.onPointerDown($event)\">\n <ng-template [component]=\"{ name: model.itemComponent, default: 'svc-toolbox-item', \n data: { model: item, viewModel: model, creator: creator, isCompact: isCompact } }\"></ng-template>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
784
829
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ToolboxToolComponent, decorators: [{
785
830
  type: i0.Component,
786
831
  args: [{
@@ -796,6 +841,9 @@
796
841
  type: i0.Input
797
842
  }], isCompact: [{
798
843
  type: i0.Input
844
+ }], container: [{
845
+ type: i0.ViewChild,
846
+ args: ["container"]
799
847
  }] } });
800
848
 
801
849
  var SearchComponent = /** @class */ (function (_super) {
@@ -862,10 +910,13 @@
862
910
  ToolboxCategoryComponent.prototype.getModel = function () {
863
911
  return this.category;
864
912
  };
913
+ ToolboxCategoryComponent.prototype.trackItemBy = function (_, item) {
914
+ return item.renderedId;
915
+ };
865
916
  return ToolboxCategoryComponent;
866
917
  }(i1.BaseAngular));
867
918
  ToolboxCategoryComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ToolboxCategoryComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
868
- ToolboxCategoryComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: { category: "category", toolbox: "toolbox" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-toolbox__category\" [class.svc-toolbox__category--collapsed]=\"category.collapsed\"\n [class.svc-toolbox__category--empty]=\"category.empty\">\n <div class=\"svc-toolbox__category-header-wrapper\">\n <div class=\"svc-toolbox__category-header\"\n (click)=\"category.toggleState()\" [key2click] [class.svc-toolbox__category-header--collapsed]=\"toolbox.canCollapseCategories\" >\n <span class=\"svc-toolbox__category-title\">{{category.title}}</span>\n <div *ngIf=\"toolbox.canCollapseCategories\" class=\"svc-toolbox__category-header__controls\">\n <svg [iconName]=\"'icon-arrow-down'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--expand\" [size]=\"'auto'\" sv-ng-svg-icon [visible]=\"category.collapsed\"></svg>\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--collapse\" [size]=\"'auto'\" sv-ng-svg-icon [visible]=\"!category.collapsed\"></svg>\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of category.items\">\n <svc-toolbox-tool [item]=\"item\" [creator]=\"toolbox.creator\" [parentModel]=\"toolbox\" [isCompact]=\"false\" ></svc-toolbox-tool>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "parentModel", "isCompact"] }], directives: [{ type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
919
+ ToolboxCategoryComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: { category: "category", toolbox: "toolbox" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-toolbox__category\" [class.svc-toolbox__category--collapsed]=\"category.collapsed\"\n [class.svc-toolbox__category--empty]=\"category.empty\">\n <div class=\"svc-toolbox__category-header-wrapper\">\n <div class=\"svc-toolbox__category-header\"\n (click)=\"category.toggleState()\" [key2click] [class.svc-toolbox__category-header--collapsed]=\"toolbox.canCollapseCategories\" >\n <span class=\"svc-toolbox__category-title\">{{category.title}}</span>\n <div *ngIf=\"toolbox.canCollapseCategories\" class=\"svc-toolbox__category-header__controls\">\n <svg [iconName]=\"'icon-arrow-down'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--expand\" [size]=\"'auto'\" sv-ng-svg-icon [visible]=\"category.collapsed\"></svg>\n <svg [iconName]=\"'icon-arrow-up'\" class=\"svc-toolbox__category-header__button svc-string-editor__button--collapse\" [size]=\"'auto'\" sv-ng-svg-icon [visible]=\"!category.collapsed\"></svg>\n </div>\n </div>\n </div>\n <ng-container *ngFor=\"let item of category.items; trackBy: trackItemBy\">\n <svc-toolbox-tool [item]=\"item\" [creator]=\"toolbox.creator\" [parentModel]=\"toolbox\" [isCompact]=\"false\" ></svc-toolbox-tool>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "parentModel", "isCompact"] }], directives: [{ type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
869
920
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ToolboxCategoryComponent, decorators: [{
870
921
  type: i0.Component,
871
922
  args: [{
@@ -908,7 +959,7 @@
908
959
  AdaptiveToolboxComponent.prototype.ngAfterViewInit = function () {
909
960
  this.toolbox.setRootElement(this.container.nativeElement);
910
961
  this.responsivityManager =
911
- new surveyCore.VerticalResponsivityManager(this.toolbox.containerElement, this.toolbox, this.toolbox.itemSelector);
962
+ new surveyCore.VerticalResponsivityManager(this.toolbox.containerElement, this.toolbox);
912
963
  };
913
964
  AdaptiveToolboxComponent.prototype.getModel = function () {
914
965
  return this.toolbox;
@@ -919,10 +970,13 @@
919
970
  this.toolbox.setRootElement(undefined);
920
971
  _super.prototype.ngOnDestroy.call(this);
921
972
  };
973
+ AdaptiveToolboxComponent.prototype.trackItemBy = function (_, item) {
974
+ return item.renderedId;
975
+ };
922
976
  return AdaptiveToolboxComponent;
923
977
  }(i1.BaseAngular));
924
978
  AdaptiveToolboxComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AdaptiveToolboxComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
925
- AdaptiveToolboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AdaptiveToolboxComponent, selector: "svc-toolbox", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"toolbox.classNames\" #container>\n <div (focusout)=\"toolbox.focusOut($event)\" class=\"svc-toolbox__panel\">\n <div *ngIf=\"toolbox.showSearch\" class=\"svc-toolbox__search-container\">\n <ng-container *ngIf=\"toolbox.isCompactRendered\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"searchItem\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n <svc-search [model]=\"toolbox.searchManager\"></svc-search>\n <div class=\"svc-toolbox__category-separator svc-toolbox__category-separator--search\"></div>\n </div>\n <div *ngIf=\"toolbox.showPlaceholder\" class=\"svc-toolbox__placeholder\">{{toolbox.toolboxNoResultsFound}}</div>\n <svc-scroll>\n <ng-container *ngIf=\"!toolbox.showInSingleCategory\">\n <svc-toolbox-category *ngFor=\"let category of toolbox.categories\" [category]=\"category\"\n [toolbox]=\"toolbox\"></svc-toolbox-category>\n </ng-container>\n <ng-container *ngIf=\"toolbox.showInSingleCategory\">\n <div class=\"svc-toolbox__category\">\n <ng-container *ngFor=\"let item of toolbox.renderedActions\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"item\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n </div>\n </ng-container>\n </svc-scroll>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "parentModel", "isCompact"] }, { type: SearchComponent, selector: "svc-search", inputs: ["model"] }, { type: ScrollComponent, selector: "svc-scroll" }, { type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: ["category", "toolbox"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
979
+ AdaptiveToolboxComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AdaptiveToolboxComponent, selector: "svc-toolbox", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div [class]=\"toolbox.classNames\" #container>\n <div (focusout)=\"toolbox.focusOut($event)\" class=\"svc-toolbox__panel\">\n <div *ngIf=\"toolbox.showSearch\" class=\"svc-toolbox__search-container\">\n <ng-container *ngIf=\"toolbox.isCompactRendered\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"searchItem\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n <svc-search [model]=\"toolbox.searchManager\"></svc-search>\n <div class=\"svc-toolbox__category-separator svc-toolbox__category-separator--search\"></div>\n </div>\n <div *ngIf=\"toolbox.showPlaceholder\" class=\"svc-toolbox__placeholder\">{{toolbox.toolboxNoResultsFound}}</div>\n <svc-scroll>\n <ng-container *ngIf=\"!toolbox.showInSingleCategory\">\n <svc-toolbox-category *ngFor=\"let category of toolbox.categories\" [category]=\"category\"\n [toolbox]=\"toolbox\"></svc-toolbox-category>\n </ng-container>\n <ng-container *ngIf=\"toolbox.showInSingleCategory\">\n <div class=\"svc-toolbox__category\">\n <ng-container *ngFor=\"let item of toolbox.renderedActions; trackBy: trackItemBy\">\n <svc-toolbox-tool [creator]=\"creator\" [item]=\"item\" [parentModel]=\"toolbox\"\n [isCompact]=\"toolbox.isCompactRendered\"></svc-toolbox-tool>\n </ng-container>\n </div>\n </ng-container>\n </svc-scroll>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: ToolboxToolComponent, selector: "svc-toolbox-tool", inputs: ["creator", "item", "parentModel", "isCompact"] }, { type: SearchComponent, selector: "svc-search", inputs: ["model"] }, { type: ScrollComponent, selector: "svc-scroll" }, { type: ToolboxCategoryComponent, selector: "svc-toolbox-category ", inputs: ["category", "toolbox"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
926
980
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: AdaptiveToolboxComponent, decorators: [{
927
981
  type: i0.Component,
928
982
  args: [{
@@ -1003,7 +1057,7 @@
1003
1057
  return PageDesignerComponent;
1004
1058
  }(CreatorModelComponent));
1005
1059
  PageDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1006
- PageDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageDesignerComponent, selector: "svc-page", inputs: { model: "model", survey: "survey", creator: "creator", isGhost: "isGhost" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<div *ngIf=\"model && adorner\" class=\"svc-page__content\" [class]=\"adorner.css\" [key2click]\n (click)=\"adorner.select(adorner, $event)\" (dblclick)=\"adorner.dblclick($event)\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.target)\"\n [id]=\"adorner.page.id\" [attr.data-sv-drop-target-survey-page]=\"adorner.dropTargetName\" #container>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--top\"></div>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--bottom\"></div>\n <div *ngIf=\"adorner.allowDragging && !adorner.isGhost\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"'auto'\"\n sv-ng-svg-icon></svg>\n <div class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n </div>\n </div>\n <div *ngIf=\"!adorner.allowDragging || adorner.isGhost\" class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n </div>\n <page [model]=\"model\" [survey]=\"survey\"></page>\n <div *ngIf=\"adorner.showPlaceholder\" class=\"svc-page__placeholder_frame\">\n <div class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{adorner.placeholderText}}</div>\n </div>\n </div>\n <sv-action-bar [model]=\"adorner.footerActionsBar\"></sv-action-bar>\n</div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i1__namespace.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1060
+ PageDesignerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageDesignerComponent, selector: "svc-page", inputs: { model: "model", survey: "survey", creator: "creator", isGhost: "isGhost" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: i0.ElementRef }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n<div *ngIf=\"model && adorner\" class=\"svc-page__content\" [class]=\"adorner.css\" [key2click]\n (click)=\"adorner.select(adorner, $event)\" (dblclick)=\"adorner.dblclick($event)\"\n (mouseover)=\"adorner.hover($event, $event.currentTarget)\" (mouseleave)=\"adorner.hover($event, $event.target)\"\n [id]=\"adorner.page.id\" [attr.data-sv-drop-target-survey-page]=\"adorner.dropTargetName\" #container>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--top\"></div>\n <div class=\"svc-question__drop-indicator svc-question__drop-indicator--bottom\"></div>\n <div *ngIf=\"adorner.allowDragging && !adorner.isGhost\" class=\"svc-question__drag-area\"\n (pointerdown)=\"adorner.onPointerDown($event)\">\n <svg class=\"svc-question__drag-element\" [iconName]=\"'icon-drag-area-indicator_24x16'\" [size]=\"'auto'\"\n sv-ng-svg-icon></svg>\n <div class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\" #container></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n </div>\n <div *ngIf=\"!adorner.allowDragging || adorner.isGhost\" class=\"svc-page__content-actions\">\n <sv-action-bar [model]=\"adorner.actionContainer\"></sv-action-bar>\n <sv-action-bar *ngIf=\"adorner.topActionContainer.hasActions\" [model]=\"adorner.topActionContainer\"></sv-action-bar>\n </div>\n <page [model]=\"model\" [survey]=\"survey\"></page>\n <div *ngIf=\"adorner.showPlaceholder\" class=\"svc-page__placeholder_frame\">\n <div class=\"svc-panel__placeholder_frame\">\n <div class=\"svc-panel__placeholder\">{{adorner.placeholderText}}</div>\n </div>\n </div>\n <sv-action-bar [model]=\"adorner.footerActionsBar\"></sv-action-bar>\n</div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i1__namespace.PageComponent, selector: "page, sv-ng-page", inputs: ["model", "survey"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
1007
1061
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PageDesignerComponent, decorators: [{
1008
1062
  type: i0.Component,
1009
1063
  args: [{
@@ -1914,18 +1968,18 @@
1914
1968
  return TestTabComponent;
1915
1969
  }(i1.BaseAngular));
1916
1970
  TestTabComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TestTabComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1917
- TestTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TestTabComponent, selector: "svc-tab-test", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-test-tab__content\"\n [class.svc-creator-tab__content--with-toolbar]=\"model.isPageToolbarVisible\">\n <div *ngIf=\"model.survey.isEmpty\" class=\"svc-test-tab--empty\">\n <svc-surface-placeholder [name]=\"'preview'\" [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n </div>\n <div *ngIf=\"!model.survey.isEmpty\" class=\"svc-plugin-tab__content\">\n <survey-simulator [model]=\"model.simulator\"></survey-simulator>\n <ng-container *ngIf=\"model.showResults\">\n <survey-results [survey]=\"model.survey\"></survey-results>\n </ng-container>\n </div>\n <div *ngIf=\"model.isPageToolbarVisible\" class=\"svc-plugin-tab__content-actions svc-test-tab__content-actions\">\n <sv-action-bar [model]=\"model.pages\"></sv-action-bar>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: SimulatorComponent, selector: "survey-simulator", inputs: ["model"] }, { type: SurveyResultsComponent, selector: "survey-results", inputs: ["survey"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1971
+ TestTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TestTabComponent, selector: "svc-tab-preview", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-test-tab__content\"\n [class.svc-creator-tab__content--with-toolbar]=\"model.isPageToolbarVisible\">\n <div *ngIf=\"model.survey.isEmpty\" class=\"svc-test-tab--empty\">\n <svc-surface-placeholder [name]=\"'preview'\" [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n </div>\n <div *ngIf=\"!model.survey.isEmpty\" class=\"svc-plugin-tab__content\">\n <survey-simulator [model]=\"model.simulator\"></survey-simulator>\n <ng-container *ngIf=\"model.showResults\">\n <survey-results [survey]=\"model.survey\"></survey-results>\n </ng-container>\n </div>\n <div *ngIf=\"model.isPageToolbarVisible\" class=\"svc-plugin-tab__content-actions svc-test-tab__content-actions\">\n <sv-action-bar [model]=\"model.pages\"></sv-action-bar>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: SimulatorComponent, selector: "survey-simulator", inputs: ["model"] }, { type: SurveyResultsComponent, selector: "survey-results", inputs: ["survey"] }, { type: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1918
1972
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TestTabComponent, decorators: [{
1919
1973
  type: i0.Component,
1920
1974
  args: [{
1921
- selector: "svc-tab-test",
1975
+ selector: "svc-tab-preview",
1922
1976
  templateUrl: "./test.component.html",
1923
1977
  styles: [":host { display: none; }"]
1924
1978
  }]
1925
1979
  }], propDecorators: { model: [{
1926
1980
  type: i0.Input
1927
1981
  }] } });
1928
- i1.AngularComponentFactory.Instance.registerComponent("svc-tab-test", TestTabComponent);
1982
+ i1.AngularComponentFactory.Instance.registerComponent("svc-tab-preview", TestTabComponent);
1929
1983
 
1930
1984
  var ThemeTabComponent = /** @class */ (function (_super) {
1931
1985
  __extends(ThemeTabComponent, _super);