survey-creator-angular 3.0.0 → 3.0.1

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.
@@ -535,6 +535,27 @@
535
535
  __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
536
536
  };
537
537
 
538
+ var ComponentContainerComponent = /** @class */ (function (_super) {
539
+ __extends(ComponentContainerComponent, _super);
540
+ function ComponentContainerComponent() {
541
+ return _super !== null && _super.apply(this, arguments) || this;
542
+ }
543
+ return ComponentContainerComponent;
544
+ }(i1.EmbeddedViewContentComponent));
545
+ ComponentContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentContainerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
546
+ ComponentContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ComponentContainerComponent, selector: "svc-component-container", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-template #elementsTemplate>\n <ng-template *ngFor=\"let element of model.elements\"\n [component]=\"{ name: element.componentName, data: element.componentData }\"></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"model.wrapped; else unwrappedTemplate\">\n <div [class]=\"model.cssClass\">\n <sv-scroll *ngIf=\"model.scrollable; else wrappedPlainTemplate\">\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </sv-scroll>\n <ng-template #wrappedPlainTemplate>\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-template #unwrappedTemplate>\n <sv-scroll *ngIf=\"model.scrollable; else unwrappedPlainTemplate\">\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </sv-scroll>\n <ng-template #unwrappedPlainTemplate>\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </ng-template>\n </ng-template>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.ScrollComponent, selector: "sv-scroll", inputs: ["disabled", "onInnerHeightChanged"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
547
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentContainerComponent, decorators: [{
548
+ type: i0.Component,
549
+ args: [{
550
+ selector: "svc-component-container",
551
+ templateUrl: "./component-container.component.html",
552
+ styles: [":host { display: none; }"]
553
+ }]
554
+ }], propDecorators: { model: [{
555
+ type: i0.Input
556
+ }] } });
557
+ i1.AngularComponentFactory.Instance.registerComponent("svc-component-container", ComponentContainerComponent);
558
+
538
559
  var TabbedMenuItemWrapperComponent = /** @class */ (function (_super) {
539
560
  __extends(TabbedMenuItemWrapperComponent, _super);
540
561
  function TabbedMenuItemWrapperComponent() {
@@ -702,6 +723,17 @@
702
723
  enumerable: false,
703
724
  configurable: true
704
725
  });
726
+ Object.defineProperty(CreatorComponent.prototype, "collabBarContainer", {
727
+ // The collaboration strip is a ComponentContainerModel contributed by the
728
+ // plugin. `collabBar` is typed as Base in creator-core to keep the creator
729
+ // free of a dependency on the plugin, hence the cast.
730
+ get: function () {
731
+ var bar = this.model.collabBar;
732
+ return !!bar ? bar.container : undefined;
733
+ },
734
+ enumerable: false,
735
+ configurable: true
736
+ });
705
737
  CreatorComponent.prototype.getShouldReattachChangeDetector = function () {
706
738
  return false;
707
739
  };
@@ -742,7 +774,7 @@
742
774
  return CreatorComponent;
743
775
  }(i1.BaseAngular));
744
776
  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 });
745
- 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()\" [attr.style]=\"themeVariablesString\" #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 *ngIf=\"!!activeTab\">\n <div role=\"tabpanel\" class=\"svc-creator-tab\" [attr.id]=\"'scrollableDiv-' + activeTab.id\"\n [attr.aria-labelledby]=\"'tab-' + activeTab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: activeTab.componentContent, data: { data: creator, model: activeTab.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.isSidebarVisible\"></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: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1__namespace.SafeHtmlPipe } });
777
+ 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()\" [attr.style]=\"themeVariablesString\" #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 <svc-component-container *ngIf=\"collabBarContainer\" [model]=\"collabBarContainer\"></svc-component-container>\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 *ngIf=\"!!activeTab\">\n <div role=\"tabpanel\" class=\"svc-creator-tab\" [attr.id]=\"'scrollableDiv-' + activeTab.id\"\n [attr.aria-labelledby]=\"'tab-' + activeTab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: activeTab.componentContent, data: { data: creator, model: activeTab.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.isSidebarVisible\"></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: ComponentContainerComponent, selector: "svc-component-container", inputs: ["model"] }, { 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: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1__namespace.SafeHtmlPipe } });
746
778
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CreatorComponent, decorators: [{
747
779
  type: i0.Component,
748
780
  args: [{
@@ -1271,27 +1303,6 @@
1271
1303
  }] } });
1272
1304
  i1.AngularComponentFactory.Instance.registerComponent("svc-side-bar-header", SidebarHeaderComponent);
1273
1305
 
1274
- var ComponentContainerComponent = /** @class */ (function (_super) {
1275
- __extends(ComponentContainerComponent, _super);
1276
- function ComponentContainerComponent() {
1277
- return _super !== null && _super.apply(this, arguments) || this;
1278
- }
1279
- return ComponentContainerComponent;
1280
- }(i1.EmbeddedViewContentComponent));
1281
- ComponentContainerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentContainerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1282
- ComponentContainerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ComponentContainerComponent, selector: "svc-component-container", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-template #elementsTemplate>\n <ng-template *ngFor=\"let element of model.elements\"\n [component]=\"{ name: element.componentName, data: element.componentData }\"></ng-template>\n </ng-template>\n\n <ng-container *ngIf=\"model.wrapped; else unwrappedTemplate\">\n <div [class]=\"model.cssClass\">\n <sv-scroll *ngIf=\"model.scrollable; else wrappedPlainTemplate\">\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </sv-scroll>\n <ng-template #wrappedPlainTemplate>\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-template #unwrappedTemplate>\n <sv-scroll *ngIf=\"model.scrollable; else unwrappedPlainTemplate\">\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </sv-scroll>\n <ng-template #unwrappedPlainTemplate>\n <ng-container *ngTemplateOutlet=\"elementsTemplate\"></ng-container>\n </ng-template>\n </ng-template>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1__namespace.ScrollComponent, selector: "sv-scroll", inputs: ["disabled", "onInnerHeightChanged"] }], directives: [{ type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1283
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ComponentContainerComponent, decorators: [{
1284
- type: i0.Component,
1285
- args: [{
1286
- selector: "svc-component-container",
1287
- templateUrl: "./component-container.component.html",
1288
- styles: [":host { display: none; }"]
1289
- }]
1290
- }], propDecorators: { model: [{
1291
- type: i0.Input
1292
- }] } });
1293
- i1.AngularComponentFactory.Instance.registerComponent("svc-component-container", ComponentContainerComponent);
1294
-
1295
1306
  var IconItemComponent = /** @class */ (function (_super) {
1296
1307
  __extends(IconItemComponent, _super);
1297
1308
  function IconItemComponent() {
@@ -1594,6 +1605,71 @@
1594
1605
  }] } });
1595
1606
  i1.AngularComponentFactory.Instance.registerComponent("svc-switcher", SwitcherComponent);
1596
1607
 
1608
+ // See the React CollabRow for what this renders. Presentation only, no events.
1609
+ var CollabRowComponent = /** @class */ (function (_super) {
1610
+ __extends(CollabRowComponent, _super);
1611
+ function CollabRowComponent() {
1612
+ return _super !== null && _super.apply(this, arguments) || this;
1613
+ }
1614
+ CollabRowComponent.prototype.getModel = function () {
1615
+ return this.model;
1616
+ };
1617
+ return CollabRowComponent;
1618
+ }(i1.BaseAngular));
1619
+ CollabRowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CollabRowComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1620
+ CollabRowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CollabRowComponent, selector: "svc-collab-row", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div *ngIf=\"model.visible\" [class]=\"model.rowCss\" [attr.role]=\"model.rowRole || null\"\n [attr.aria-expanded]=\"model.ariaExpanded\">\n <span *ngIf=\"model.hasMarkerText\" [class]=\"model.markerCss\">{{ model.markerText }}</span>\n <span *ngIf=\"!model.hasMarkerText && model.hasMarkerIcon\" class=\"svc-collab-row__icon\">\n <svg [iconName]=\"model.markerIconName\" [size]=\"model.markerIconSize\" sv-ng-svg-icon></svg>\n </span>\n <span class=\"svc-collab-row__title\">{{ model.title }}</span>\n <span *ngIf=\"model.hasSubtitle\" class=\"svc-collab-row__subtitle\">{{ model.subtitle }}</span>\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"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1621
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CollabRowComponent, decorators: [{
1622
+ type: i0.Component,
1623
+ args: [{
1624
+ selector: "svc-collab-row",
1625
+ templateUrl: "./collab-row.component.html",
1626
+ styles: [":host { display: none; }"]
1627
+ }]
1628
+ }], propDecorators: { model: [{
1629
+ type: i0.Input
1630
+ }] } });
1631
+ i1.AngularComponentFactory.Instance.registerComponent("svc-collab-row", CollabRowComponent);
1632
+
1633
+ // See the React FloatingPanel for what this renders. Markup only: the root node
1634
+ // is handed to the model and the header's raw pointerdown is forwarded from the
1635
+ // template; geometry, listeners, focus and hiding all live in the model.
1636
+ var FloatingPanelComponent = /** @class */ (function (_super) {
1637
+ __extends(FloatingPanelComponent, _super);
1638
+ function FloatingPanelComponent() {
1639
+ return _super !== null && _super.apply(this, arguments) || this;
1640
+ }
1641
+ FloatingPanelComponent.prototype.getModel = function () {
1642
+ return this.model;
1643
+ };
1644
+ FloatingPanelComponent.prototype.ngAfterViewInit = function () {
1645
+ var _a;
1646
+ if (!!((_a = this.root) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
1647
+ this.model.setComponentElement(this.root.nativeElement);
1648
+ }
1649
+ };
1650
+ FloatingPanelComponent.prototype.ngOnDestroy = function () {
1651
+ this.model.resetComponentElement();
1652
+ _super.prototype.ngOnDestroy.call(this);
1653
+ };
1654
+ return FloatingPanelComponent;
1655
+ }(i1.BaseAngular));
1656
+ FloatingPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloatingPanelComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1657
+ FloatingPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FloatingPanelComponent, selector: "svc-floating-panel", inputs: { model: "model" }, viewQueries: [{ propertyName: "root", first: true, predicate: ["root"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div #root [class]=\"model.rootCss\" [ngStyle]=\"model.style\" role=\"dialog\" [attr.aria-modal]=\"false\"\n [attr.aria-labelledby]=\"model.titleId\" tabindex=\"-1\" (pointerdown)=\"model.bringToFront()\">\n <div [class]=\"model.headerCss\" (pointerdown)=\"model.onPointerDown($event)\">\n <span [id]=\"model.titleId\" class=\"svc-floating-panel__title\">{{ model.titleText }}</span>\n <span class=\"svc-floating-panel__drag\" aria-hidden=\"true\">\n <svg [iconName]=\"'icon-draghorizontal-24x16'\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n </span>\n <sv-action-bar [model]=\"model.headerToolbar\"></sv-action-bar>\n </div>\n <div [class]=\"model.bodyCss\">\n <ng-template [component]=\"{ name: model.contentComponentName, data: model.contentComponentData }\"></ng-template>\n </div>\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: i1__namespace.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }], directives: [{ type: i2__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }] });
1658
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloatingPanelComponent, decorators: [{
1659
+ type: i0.Component,
1660
+ args: [{
1661
+ selector: "svc-floating-panel",
1662
+ templateUrl: "./floating-panel.component.html",
1663
+ styles: [":host { display: none; }"]
1664
+ }]
1665
+ }], propDecorators: { model: [{
1666
+ type: i0.Input
1667
+ }], root: [{
1668
+ type: i0.ViewChild,
1669
+ args: ["root"]
1670
+ }] } });
1671
+ i1.AngularComponentFactory.Instance.registerComponent("svc-floating-panel", FloatingPanelComponent);
1672
+
1597
1673
  var LinkValueQuestionComponent = /** @class */ (function (_super) {
1598
1674
  __extends(LinkValueQuestionComponent, _super);
1599
1675
  function LinkValueQuestionComponent() {
@@ -1670,6 +1746,38 @@
1670
1746
  TranslationTabComponent.prototype.getModel = function () {
1671
1747
  return this.model;
1672
1748
  };
1749
+ Object.defineProperty(TranslationTabComponent.prototype, "sideBySideModel", {
1750
+ get: function () {
1751
+ return this.model.isSideBySideForms ? this.model : undefined;
1752
+ },
1753
+ enumerable: false,
1754
+ configurable: true
1755
+ });
1756
+ Object.defineProperty(TranslationTabComponent.prototype, "sourceScrollContainer", {
1757
+ // The setters also fire with undefined when *ngIf removes the panes, which detaches the listeners.
1758
+ set: function (ref) {
1759
+ var _a;
1760
+ (_a = this.sideBySideModel) === null || _a === void 0 ? void 0 : _a.setSourceScrollElement(ref ? ref.nativeElement : undefined);
1761
+ },
1762
+ enumerable: false,
1763
+ configurable: true
1764
+ });
1765
+ Object.defineProperty(TranslationTabComponent.prototype, "targetScrollContainer", {
1766
+ set: function (ref) {
1767
+ var _a;
1768
+ (_a = this.sideBySideModel) === null || _a === void 0 ? void 0 : _a.setTargetScrollElement(ref ? ref.nativeElement : undefined);
1769
+ },
1770
+ enumerable: false,
1771
+ configurable: true
1772
+ });
1773
+ Object.defineProperty(TranslationTabComponent.prototype, "stringsModel", {
1774
+ // The strings-grid model: the tab model itself in the default mode and in the side-by-side grid view.
1775
+ get: function () {
1776
+ return this.sideBySideModel ? undefined : this.model;
1777
+ },
1778
+ enumerable: false,
1779
+ configurable: true
1780
+ });
1673
1781
  // The strings survey is fully recreated on reset(). Its elements keep deterministic ids across
1674
1782
  // instances, so *ngFor's element trackBy would reuse the disposed survey's (lazy-skeleton) rows.
1675
1783
  // Keying the survey-content by the per-instance elementIdPrefix forces Angular to recreate it.
@@ -1679,7 +1787,7 @@
1679
1787
  return TranslationTabComponent;
1680
1788
  }(i1.BaseAngular));
1681
1789
  TranslationTabComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationTabComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
1682
- TranslationTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationTabComponent, selector: "svc-tab-translation", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-translation-tab\" [class]=\"model.isEmpty ? 'svc-translation-tab--empty' : ''\">\n <svc-surface-placeholder *ngIf=\"model.isEmpty\" [name]=\"'translation'\"\n [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <div *ngIf=\"!model.isEmpty\" class=\"st-content\">\n <div class=\"svc-flex-column st-strings-wrapper\">\n <div class=\"svc-flex-row st-strings-header\">\n <ng-container *ngFor=\"let s of [model.stringsHeaderSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div class=\"svc-flex-row svc-plugin-tab__content st-strings\">\n <ng-container *ngFor=\"let s of [model.stringsSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: i1__namespace.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1790
+ TranslationTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationTabComponent, selector: "svc-tab-translation", inputs: { model: "model" }, viewQueries: [{ propertyName: "sourceScrollContainer", first: true, predicate: ["sourceScrollContainer"], descendants: true }, { propertyName: "targetScrollContainer", first: true, predicate: ["targetScrollContainer"], descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-translation-tab\" [class]=\"model.isEmpty ? 'svc-translation-tab--empty' : ''\">\n <svc-surface-placeholder *ngIf=\"model.isEmpty\" [name]=\"'translation'\"\n [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <ng-container *ngIf=\"!model.isEmpty\">\n <div *ngIf=\"stringsModel\" class=\"st-content\">\n <div class=\"svc-flex-column st-strings-wrapper\">\n <div class=\"svc-flex-row st-strings-header\">\n <ng-container *ngFor=\"let s of [stringsModel.stringsHeaderSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div class=\"svc-flex-row svc-plugin-tab__content st-strings\">\n <ng-container *ngFor=\"let s of [stringsModel.stringsSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </div>\n <div *ngIf=\"sideBySideModel\" class=\"st-side-by-side\"\n [class]=\"sideBySideModel.targetSurvey ? '' : 'st-side-by-side--no-target'\">\n <div class=\"st-side-by-side__source\" #sourceScrollContainer>\n <ng-container *ngFor=\"let s of [sideBySideModel.sourceSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div *ngIf=\"sideBySideModel.targetSurvey\" class=\"st-side-by-side__target\" #targetScrollContainer>\n <ng-container *ngFor=\"let s of [sideBySideModel.targetSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: i1__namespace.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1683
1791
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationTabComponent, decorators: [{
1684
1792
  type: i0.Component,
1685
1793
  args: [{
@@ -1689,6 +1797,12 @@
1689
1797
  }]
1690
1798
  }], propDecorators: { model: [{
1691
1799
  type: i0.Input
1800
+ }], sourceScrollContainer: [{
1801
+ type: i0.ViewChild,
1802
+ args: ["sourceScrollContainer"]
1803
+ }], targetScrollContainer: [{
1804
+ type: i0.ViewChild,
1805
+ args: ["targetScrollContainer"]
1692
1806
  }] } });
1693
1807
  i1.AngularComponentFactory.Instance.registerComponent("svc-tab-translation", TranslationTabComponent);
1694
1808
 
@@ -2381,7 +2495,7 @@
2381
2495
  componentData: {
2382
2496
  question: this.question,
2383
2497
  model: item,
2384
- inputType: "radio",
2498
+ inputType: this.adorner.itemInputType,
2385
2499
  data: this.question.getItemValueWrapperComponentData(item)
2386
2500
  }
2387
2501
  };
@@ -3323,6 +3437,61 @@
3323
3437
  }] } });
3324
3438
  i1.AngularComponentFactory.Instance.registerComponent("svc-rating-question-content", QuestionRatingAdornerDesignerComponent);
3325
3439
 
3440
+ // The flattened choice list of a dropdown/tagbox question in the translation side-by-side
3441
+ // panes. Chrome-free: no designer adorner and no itemvalue wrappers - the choice texts render
3442
+ // through the survey's string renderer (editable in the target pane, plain in the source one).
3443
+ var TranslationDropdownQuestionComponent = /** @class */ (function (_super) {
3444
+ __extends(TranslationDropdownQuestionComponent, _super);
3445
+ function TranslationDropdownQuestionComponent() {
3446
+ return _super !== null && _super.apply(this, arguments) || this;
3447
+ }
3448
+ Object.defineProperty(TranslationDropdownQuestionComponent.prototype, "question", {
3449
+ get: function () {
3450
+ return this.componentData.model;
3451
+ },
3452
+ enumerable: false,
3453
+ configurable: true
3454
+ });
3455
+ TranslationDropdownQuestionComponent.prototype.createModel = function () {
3456
+ if (this.componentData) {
3457
+ if (!!this.adorner) {
3458
+ this.adorner.dispose();
3459
+ }
3460
+ this.adorner = new surveyCreatorCore.TranslationDropdownViewModel(this.componentData.model, this.componentData.data ? this.componentData.data.translation : undefined);
3461
+ }
3462
+ };
3463
+ TranslationDropdownQuestionComponent.prototype.getPropertiesToTrack = function () {
3464
+ return ["componentData"];
3465
+ };
3466
+ TranslationDropdownQuestionComponent.prototype.getModel = function () {
3467
+ return this.adorner;
3468
+ };
3469
+ TranslationDropdownQuestionComponent.prototype.ngOnDestroy = function () {
3470
+ _super.prototype.ngOnDestroy.call(this);
3471
+ if (!!this.adorner) {
3472
+ this.adorner.dispose();
3473
+ }
3474
+ };
3475
+ return TranslationDropdownQuestionComponent;
3476
+ }(CreatorModelComponent));
3477
+ TranslationDropdownQuestionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationDropdownQuestionComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3478
+ TranslationDropdownQuestionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationDropdownQuestionComponent, selector: "svc-translation-dropdown-question", inputs: { componentName: "componentName", componentData: "componentData", contentTempl: "contentTempl" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <ng-container *ngTemplateOutlet=\"contentTempl\"></ng-container>\n <div class=\"st-dropdown-choices--wrapper\">\n <div class=\"svc-question__dropdown-choices\">\n <div *ngFor=\"let item of adorner.getRenderedItems()\" [class]=\"adorner.getChoiceCss()\">\n <ng-template\n [component]=\"{ name: 'sv-ng-selectbase-item', data: { question: question, model: item, inputType: adorner.itemInputType } }\">\n </ng-template>\n </div>\n </div>\n <ng-container *ngIf=\"adorner.needToCollapse\">\n <ng-template [component]=\"{ name: 'sv-action-bar-item', data: { model: adorner.collapseAction } }\"></ng-template>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host { display: none; }"], directives: [{ type: i2__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3479
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationDropdownQuestionComponent, decorators: [{
3480
+ type: i0.Component,
3481
+ args: [{
3482
+ selector: "svc-translation-dropdown-question",
3483
+ templateUrl: "./translation-dropdown-question.component.html",
3484
+ styles: [":host { display: none; }"]
3485
+ }]
3486
+ }], propDecorators: { componentName: [{
3487
+ type: i0.Input
3488
+ }], componentData: [{
3489
+ type: i0.Input
3490
+ }], contentTempl: [{
3491
+ type: i0.Input
3492
+ }] } });
3493
+ i1.AngularComponentFactory.Instance.registerComponent("svc-translation-dropdown-question", TranslationDropdownQuestionComponent);
3494
+
3326
3495
  var CreatorLogoImageComponent = /** @class */ (function (_super) {
3327
3496
  __extends(CreatorLogoImageComponent, _super);
3328
3497
  function CreatorLogoImageComponent() {
@@ -3657,6 +3826,41 @@
3657
3826
  }] } });
3658
3827
  i1.AngularComponentFactory.Instance.registerComponent("svc-translate-from-action", TranslateFromAction);
3659
3828
 
3829
+ // An item of the target language dropdown: the language name and, at the right edge, how much of
3830
+ // the survey is already translated into it. The counts are precomputed on the choices themselves
3831
+ // (see updateTargetLocaleChoices) - a language with no translations carries none. The angular list
3832
+ // item passes the item itself as "model" (react and vue pass it as "item").
3833
+ var TranslationLocaleItemComponent = /** @class */ (function (_super) {
3834
+ __extends(TranslationLocaleItemComponent, _super);
3835
+ function TranslationLocaleItemComponent() {
3836
+ return _super !== null && _super.apply(this, arguments) || this;
3837
+ }
3838
+ TranslationLocaleItemComponent.prototype.getModel = function () {
3839
+ return this.model;
3840
+ };
3841
+ Object.defineProperty(TranslationLocaleItemComponent.prototype, "progress", {
3842
+ get: function () {
3843
+ return surveyCreatorCore.getTranslationLocaleProgress(this.model);
3844
+ },
3845
+ enumerable: false,
3846
+ configurable: true
3847
+ });
3848
+ return TranslationLocaleItemComponent;
3849
+ }(i1.BaseAngular));
3850
+ TranslationLocaleItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationLocaleItemComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
3851
+ TranslationLocaleItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationLocaleItemComponent, selector: "svc-translation-locale-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #template>\n <div class=\"svc-translation-locale-item\">\n <span class=\"svc-translation-locale-item__name\">\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </span>\n <span *ngIf=\"!!progress\" class=\"svc-translation-locale-item__progress\">{{ progress }}</span>\n </div>\n</ng-template>\n", styles: [":host { display: none }"], components: [{ type: i1__namespace.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3852
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TranslationLocaleItemComponent, decorators: [{
3853
+ type: i0.Component,
3854
+ args: [{
3855
+ selector: "svc-translation-locale-item",
3856
+ templateUrl: "./translation-locale-item.component.html",
3857
+ styles: [":host { display: none }"]
3858
+ }]
3859
+ }], propDecorators: { model: [{
3860
+ type: i0.Input
3861
+ }] } });
3862
+ i1.AngularComponentFactory.Instance.registerComponent(surveyCreatorCore.translationLocaleItemComponentName, TranslationLocaleItemComponent);
3863
+
3660
3864
  var ContainerTabComponent = /** @class */ (function (_super) {
3661
3865
  __extends(ContainerTabComponent, _super);
3662
3866
  function ContainerTabComponent() {
@@ -3711,17 +3915,17 @@
3711
3915
  return SurveyCreatorModule;
3712
3916
  }());
3713
3917
  SurveyCreatorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCreatorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
3714
- SurveyCreatorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCreatorModule, declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, ObjectSelectorComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3918
+ SurveyCreatorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCreatorModule, declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, ObjectSelectorComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, CollabRowComponent, FloatingPanelComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3715
3919
  AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxItemGroupComponent, ToolboxListComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
3716
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3920
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent, TranslationDropdownQuestionComponent,
3717
3921
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3718
3922
  QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent,
3719
- TranslateFromAction, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent, ComponentContainerComponent,
3720
- IconItemComponent, SideBarLaunchCardComponent, ContainerTabComponent, ImageItemDragActionComponent], imports: [i2.CommonModule, i3.FormsModule, i1.SurveyModule], exports: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3923
+ TranslateFromAction, TranslationLocaleItemComponent, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent, ComponentContainerComponent,
3924
+ IconItemComponent, SideBarLaunchCardComponent, ContainerTabComponent, ImageItemDragActionComponent], imports: [i2.CommonModule, i3.FormsModule, i1.SurveyModule], exports: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, CollabRowComponent, FloatingPanelComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3721
3925
  AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxItemGroupComponent, ToolboxListComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
3722
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3926
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent, TranslationDropdownQuestionComponent,
3723
3927
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3724
- QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, TranslateFromAction, QuestionElementContentComponent, PageElementContentComponent, ComponentContainerComponent,
3928
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, TranslateFromAction, TranslationLocaleItemComponent, QuestionElementContentComponent, PageElementContentComponent, ComponentContainerComponent,
3725
3929
  IconItemComponent, SideBarLaunchCardComponent, ContainerTabComponent, ImageItemDragActionComponent] });
3726
3930
  SurveyCreatorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCreatorModule, providers: [], imports: [[
3727
3931
  i2.CommonModule, i3.FormsModule, i1.SurveyModule
@@ -3729,22 +3933,22 @@
3729
3933
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SurveyCreatorModule, decorators: [{
3730
3934
  type: i0.NgModule,
3731
3935
  args: [{
3732
- declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, ObjectSelectorComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3936
+ declarations: [CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, ObjectSelectorComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, CollabRowComponent, FloatingPanelComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3733
3937
  AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxItemGroupComponent, ToolboxListComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
3734
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3938
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent, TranslationDropdownQuestionComponent,
3735
3939
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3736
3940
  QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent,
3737
- TranslateFromAction, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent, ComponentContainerComponent,
3941
+ TranslateFromAction, TranslationLocaleItemComponent, QuestionElementContentComponent, PageElementContentComponent, PageWrapperComponent, ComponentContainerComponent,
3738
3942
  IconItemComponent, SideBarLaunchCardComponent, ContainerTabComponent, ImageItemDragActionComponent],
3739
3943
  imports: [
3740
3944
  i2.CommonModule, i3.FormsModule, i1.SurveyModule
3741
3945
  ],
3742
3946
  exports: [
3743
- CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3947
+ CreatorComponent, DesignerTabComponent, PageDesignerComponent, QuestionDesignerComponent, PanelDesignerComponent, TabbledMenuComponent, TabbedMenuItemComponent, TabbedMenuItemWrapperComponent, SidebarComponent, SidebarPageComponent, SidebarDefaultHeaderComponent, SidebarPropertyGridHeaderComponent, PropertyGridPlaceholderComponent, SidebarHeaderComponent, TabControlComponent, TabsComponent, TabButtonComponent, ObjectSelectorComponent, PropertyGridComponent, SearchComponent, TextareaJsonEditorComponent, AceJsonEditorComponent, LogicTabComponent, ActionButtonComponent, QuestionPgErrorComponent, SurfacePlaceholderComponent, SwitcherComponent, CollabRowComponent, FloatingPanelComponent, LinkValueQuestionComponent, EmbeddedSurveyQuestionComponent, TranslationTabComponent, TranslationSkeletonComponent, SimulatorComponent, TestTabComponent, SurveyResultsComponent, SurveyResultsTableRowComponent, ThemeTabComponent,
3744
3948
  AdaptiveToolboxComponent, ToolboxToolComponent, ToolboxItemComponent, ToolboxItemGroupComponent, ToolboxListComponent, ToolboxCategoryComponent, StringEditorComponent, PageNavigatorComponent, PageNavigatorItemComponent,
3745
- QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent,
3949
+ QuestionDropdownDesignerComponent, QuestionDropdownAdornerDesignerComponent, QuestionImageDesignerComponent, QuestionImageAdornerDesignerComponent, TranslationDropdownQuestionComponent,
3746
3950
  ItemValueDesignerComponent, ImageItemValueDesignerComponent, LogicOperatorComponent, MatrixCellComponent, QuestionEditorComponent, CellQuestionDropdownComponent, CreatorRowComponent, DesignerPagesComponent, DesignerSurveyComponent, CellQuestionComponent, QuestionWidgetDesignerComponent, CreatorLogoImageComponent,
3747
- QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, TranslateFromAction, QuestionElementContentComponent, PageElementContentComponent, ComponentContainerComponent,
3951
+ QuestionRatingAdornerDesignerComponent, QuestionRatingDesignerComponent, QuestionSpinEditorComponent, SpinEditorButtonComponent, ColorItemComponent, QuestionColorComponent, SwatchComponent, QuestionFileEditorComponent, FileEditorButtonComponent, AddQuestionButtonComponent, QuestionBannerComponent, JsonErrorItemComponent, TranslateFromAction, TranslationLocaleItemComponent, QuestionElementContentComponent, PageElementContentComponent, ComponentContainerComponent,
3748
3952
  IconItemComponent, SideBarLaunchCardComponent, ContainerTabComponent, ImageItemDragActionComponent
3749
3953
  ],
3750
3954
  providers: [],
@@ -3761,6 +3965,7 @@
3761
3965
  exports.AddQuestionButtonComponent = AddQuestionButtonComponent;
3762
3966
  exports.CellQuestionComponent = CellQuestionComponent;
3763
3967
  exports.CellQuestionDropdownComponent = CellQuestionDropdownComponent;
3968
+ exports.CollabRowComponent = CollabRowComponent;
3764
3969
  exports.ColorItemComponent = ColorItemComponent;
3765
3970
  exports.ComponentContainerComponent = ComponentContainerComponent;
3766
3971
  exports.ContainerTabComponent = ContainerTabComponent;
@@ -3772,6 +3977,7 @@
3772
3977
  exports.DesignerTabComponent = DesignerTabComponent;
3773
3978
  exports.EmbeddedSurveyQuestionComponent = EmbeddedSurveyQuestionComponent;
3774
3979
  exports.FileEditorButtonComponent = FileEditorButtonComponent;
3980
+ exports.FloatingPanelComponent = FloatingPanelComponent;
3775
3981
  exports.IconItemComponent = IconItemComponent;
3776
3982
  exports.ImageItemDragActionComponent = ImageItemDragActionComponent;
3777
3983
  exports.ImageItemValueDesignerComponent = ImageItemValueDesignerComponent;
@@ -3835,6 +4041,8 @@
3835
4041
  exports.ToolboxListComponent = ToolboxListComponent;
3836
4042
  exports.ToolboxToolComponent = ToolboxToolComponent;
3837
4043
  exports.TranslateFromAction = TranslateFromAction;
4044
+ exports.TranslationDropdownQuestionComponent = TranslationDropdownQuestionComponent;
4045
+ exports.TranslationLocaleItemComponent = TranslationLocaleItemComponent;
3838
4046
  exports.TranslationSkeletonComponent = TranslationSkeletonComponent;
3839
4047
  exports.TranslationTabComponent = TranslationTabComponent;
3840
4048