/**
 * @license
 * Copyright ASW (A Software World) All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file
 */
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { CSSFrameworkEnum } from '@asoftwareworld/form-builder-pro/api';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@asoftwareworld/form-builder-pro/form-control/autocomplete";
import * as i3 from "@asoftwareworld/form-builder-pro/form-control/button";
import * as i4 from "@asoftwareworld/form-builder-pro/form-control/checkbox";
import * as i5 from "@asoftwareworld/form-builder-pro/form-control/datepicker";
import * as i6 from "@asoftwareworld/form-builder-pro/form-control/divider";
import * as i7 from "@asoftwareworld/form-builder-pro/form-control/drawing";
import * as i8 from "@asoftwareworld/form-builder-pro/form-control/gps";
import * as i9 from "@asoftwareworld/form-builder-pro/form-control/header";
import * as i10 from "@asoftwareworld/form-builder-pro/form-control/image";
import * as i11 from "@asoftwareworld/form-builder-pro/form-control/multi-select";
import * as i12 from "@asoftwareworld/form-builder-pro/form-control/paragraph";
import * as i13 from "@asoftwareworld/form-builder-pro/form-control/select";
import * as i14 from "@asoftwareworld/form-builder-pro/form-control/signature";
import * as i15 from "@asoftwareworld/form-builder-pro/form-control/slide-toggle";
import * as i16 from "@asoftwareworld/form-builder-pro/form-control/textfield";
import * as i17 from "@asoftwareworld/form-builder-pro/form-control/radio-button";
import * as i18 from "@asoftwareworld/form-builder-pro/form-control/qrcode";
import * as i19 from "@asoftwareworld/form-builder-pro/form-control/number";
import * as i20 from "@asoftwareworld/form-builder-pro/form-control/calculation";
import * as i21 from "@asoftwareworld/form-builder-pro/form-control/fileupload";
import * as i22 from "@asoftwareworld/form-builder-pro/form-control/tags";
export class AswDragDrop {
    control;
    formContainer = [];
    CSSFramework = CSSFrameworkEnum.Material;
    propertyPersonalization = [];
    patterns = [];
    controlUpdated = new EventEmitter();
    controlDeleted = new EventEmitter();
    controlDuplicate = new EventEmitter();
    controlChange = new EventEmitter();
    buttonClick = new EventEmitter();
    updatedControl(control) {
        this.controlUpdated.emit(control);
    }
    deleteControl(control) {
        this.controlDeleted.emit(control);
    }
    duplicateControl(control) {
        this.controlDuplicate.emit(control);
    }
    onSelectionChange(control) {
        this.controlChange.emit(control);
    }
    buttonClicked(type) {
        this.buttonClick.emit(type);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AswDragDrop, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: AswDragDrop, selector: "asw-drag-drop", inputs: { control: "control", formContainer: "formContainer", CSSFramework: "CSSFramework", propertyPersonalization: "propertyPersonalization", patterns: "patterns" }, outputs: { controlUpdated: "controlUpdated", controlDeleted: "controlDeleted", controlDuplicate: "controlDuplicate", controlChange: "controlChange", buttonClick: "buttonClick" }, ngImport: i0, template: "<ng-container *ngIf=\"control as control\">\r\n    <ng-container [ngSwitch]=\"control.controlType\">\r\n        <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n            <asw-autocomplete [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (autocompleteUpdateEvent)=\"updatedControl($event)\"\r\n                (autocompleteDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-autocomplete>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'tags'\">\r\n            <asw-tags [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (tagsUpdateEvent)=\"updatedControl($event)\"\r\n                (tagsDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-tags>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'header'\">\r\n            <asw-header [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (headerUpdateEvent)=\"updatedControl($event)\"\r\n                (headerDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-header>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'qr-code'\">\r\n            <asw-qrcode [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (qrCodeUpdateEvent)=\"updatedControl($event)\"\r\n                (qrCodeDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-qrcode>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'image'\">\r\n            <asw-image [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (imageUpdateEvent)=\"updatedControl($event)\"\r\n                (imageDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-image>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'textfield'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'email'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'url'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'currency'\">\r\n            <asw-number [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [formControls]=\"formContainer\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (numberUpdateEvent)=\"updatedControl($event)\"\r\n                (numberDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-number>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'phone-number'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'textarea'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'number'\">\r\n            <asw-number [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [formControls]=\"formContainer\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (numberUpdateEvent)=\"updatedControl($event)\"\r\n                (numberDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-number>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'calculation'\">\r\n            <asw-calculation [control]=\"control\"\r\n                [formControls]=\"formContainer\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (calculationUpdateEvent)=\"updatedControl($event)\"\r\n                (calculationDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-calculation>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'select'\">\r\n            <asw-select [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (selectUpdateEvent)=\"updatedControl($event)\"\r\n                (selectDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-select>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'multi-select'\">\r\n            <asw-multi-select [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (multiSelectUpdateEvent)=\"updatedControl($event)\"\r\n                (multiSelectDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-multi-select>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'radio'\">\r\n            <asw-radio-button [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (radioButtonUpdateEvent)=\"updatedControl($event)\"\r\n                (radioButtonDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-radio-button>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'checkbox'\">\r\n            <asw-checkbox [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (checkboxUpdateEvent)=\"updatedControl($event)\"\r\n                (checkboxDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-checkbox>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'datepicker'\">\r\n            <asw-datepicker [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (datepickerUpdateEvent)=\"updatedControl($event)\"\r\n                (datepickerDeleteEvent)=\"deleteControl($event)\"\r\n                (dateChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-datepicker>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'daterange'\">\r\n            <asw-datepicker [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (datepickerUpdateEvent)=\"updatedControl($event)\"\r\n                (datepickerDeleteEvent)=\"deleteControl($event)\"\r\n                (dateChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-datepicker>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'button'\">\r\n            <asw-button [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (buttonUpdateEvent)=\"updatedControl($event)\"\r\n                (buttonDeleteEvent)=\"deleteControl($event)\"\r\n                (buttonClickEvent)=\"buttonClicked($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-button>                                       \r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'paragraph'\">\r\n            <asw-paragraph [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                (paragraphUpdateEvent)=\"updatedControl($event)\"\r\n                (paragraphDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-paragraph>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'divider'\">\r\n            <asw-divider [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                (dividerDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-divider>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'slide-toggle'\">\r\n            <asw-slide-toggle [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (slidetoggleUpdateEvent)=\"updatedControl($event)\"\r\n                (slidetoggleDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-slide-toggle>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'gps'\">\r\n            <asw-gps [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (gpsUpdateEvent)=\"updatedControl($event)\"\r\n                (gpsDeleteEvent)=\"deleteControl($event)\"\r\n                (gpsAddressChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-gps>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'signature'\">\r\n            <asw-signature [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (signatureUpdateEvent)=\"updatedControl($event)\"\r\n                (signatureDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-signature>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'drawing'\">\r\n            <asw-drawing [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (drawingUpdateEvent)=\"updatedControl($event)\"\r\n                (drawingDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-drawing>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'fileupload'\">\r\n            <asw-fileupload [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (fileUploadUpdateEvent)=\"updatedControl($event)\"\r\n                (fileUploadDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-fileupload>\r\n        </ng-container>\r\n    </ng-container>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.AswAutocomplete, selector: "asw-autocomplete", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["autocompleteUpdateEvent", "autocompleteDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i3.AswButton, selector: "asw-button", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["buttonClickEvent", "buttonUpdateEvent", "buttonDeleteEvent", "duplicateControl"] }, { kind: "component", type: i4.AswCheckbox, selector: "asw-checkbox", inputs: ["control", "propertyPersonalization", "isPreviewTemplate", "CSSFramework"], outputs: ["checkboxUpdateEvent", "checkboxDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i5.AswDatepicker, selector: "asw-datepicker", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["datepickerUpdateEvent", "datepickerDeleteEvent", "dateChange", "duplicateControl"] }, { kind: "component", type: i6.AswDivider, selector: "asw-divider", inputs: ["control", "isPreviewTemplate"], outputs: ["dividerDeleteEvent", "duplicateControl"] }, { kind: "component", type: i7.AswDrawing, selector: "asw-drawing", inputs: ["control", "CSSFramework", "isPreviewTemplate"], outputs: ["drawingUpdateEvent", "drawingDeleteEvent", "duplicateControl"] }, { kind: "component", type: i8.AswGps, selector: "asw-gps", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["gpsUpdateEvent", "gpsDeleteEvent", "gpsAddressChange", "duplicateControl"] }, { kind: "component", type: i9.AswHeader, selector: "asw-header", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["headerUpdateEvent", "headerDeleteEvent", "duplicateControl"] }, { kind: "component", type: i10.AswImage, selector: "asw-image", inputs: ["control", "isPreviewTemplate", "CSSFramework"], outputs: ["imageUpdateEvent", "imageDeleteEvent", "duplicateControl"] }, { kind: "component", type: i11.AswMultiSelect, selector: "asw-multi-select", inputs: ["control", "propertyPersonalization", "isPreviewTemplate", "CSSFramework"], outputs: ["multiSelectUpdateEvent", "multiSelectDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i12.AswParagraph, selector: "asw-paragraph", inputs: ["control", "isPreviewTemplate"], outputs: ["paragraphUpdateEvent", "paragraphDeleteEvent", "duplicateControl"] }, { kind: "component", type: i13.AswSelect, selector: "asw-select", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["selectUpdateEvent", "selectDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i14.AswSignature, selector: "asw-signature", inputs: ["control", "CSSFramework", "isPreviewTemplate"], outputs: ["signatureUpdateEvent", "signatureDeleteEvent", "duplicateControl"] }, { kind: "component", type: i15.AswSlideToggle, selector: "asw-slide-toggle", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["slidetoggleUpdateEvent", "slidetoggleDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i16.AswTextField, selector: "asw-textfield", inputs: ["control", "propertyPersonalization", "isPreviewTemplate", "CSSFramework", "patterns"], outputs: ["textFieldUpdateEvent", "textFieldDeleteEvent", "aswModelChange", "duplicateControl"] }, { kind: "component", type: i17.AswRadioButton, selector: "asw-radio-button", inputs: ["control", "propertyPersonalization", "isPreviewTemplate", "CSSFramework"], outputs: ["radioButtonUpdateEvent", "radioButtonDeleteEvent", "selectionChange", "duplicateControl"] }, { kind: "component", type: i18.AswQrCode, selector: "asw-qrcode", inputs: ["control", "CSSFramework", "isPreviewTemplate"], outputs: ["qrCodeUpdateEvent", "qrCodeDeleteEvent", "duplicateControl"] }, { kind: "component", type: i19.AswNumber, selector: "asw-number", inputs: ["control", "formControls", "CSSFramework", "isPreviewTemplate", "propertyPersonalization", "patterns"], outputs: ["numberUpdateEvent", "numberDeleteEvent", "aswModelChange", "duplicateControl"] }, { kind: "component", type: i20.AswCalculation, selector: "asw-calculation", inputs: ["control", "formControls", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["calculationUpdateEvent", "calculationDeleteEvent", "aswModelChange", "duplicateControl"] }, { kind: "component", type: i21.AswFileUpload, selector: "asw-fileupload", inputs: ["control", "CSSFramework", "isPreviewTemplate", "propertyPersonalization"], outputs: ["fileUploadUpdateEvent", "fileUploadDeleteEvent", "onfileUploadChange", "duplicateControl"] }, { kind: "component", type: i22.AswTags, selector: "asw-tags", inputs: ["control", "propertyPersonalization", "isPreviewTemplate", "CSSFramework", "patterns"], outputs: ["tagsUpdateEvent", "tagsDeleteEvent", "selectionChange", "duplicateControl"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AswDragDrop, decorators: [{
            type: Component,
            args: [{ selector: 'asw-drag-drop', template: "<ng-container *ngIf=\"control as control\">\r\n    <ng-container [ngSwitch]=\"control.controlType\">\r\n        <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n            <asw-autocomplete [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (autocompleteUpdateEvent)=\"updatedControl($event)\"\r\n                (autocompleteDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-autocomplete>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'tags'\">\r\n            <asw-tags [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (tagsUpdateEvent)=\"updatedControl($event)\"\r\n                (tagsDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-tags>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'header'\">\r\n            <asw-header [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (headerUpdateEvent)=\"updatedControl($event)\"\r\n                (headerDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-header>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'qr-code'\">\r\n            <asw-qrcode [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (qrCodeUpdateEvent)=\"updatedControl($event)\"\r\n                (qrCodeDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-qrcode>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'image'\">\r\n            <asw-image [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (imageUpdateEvent)=\"updatedControl($event)\"\r\n                (imageDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-image>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'textfield'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'email'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'url'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'currency'\">\r\n            <asw-number [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [patterns]=\"patterns\"\r\n                [formControls]=\"formContainer\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (numberUpdateEvent)=\"updatedControl($event)\"\r\n                (numberDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-number>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'phone-number'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'textarea'\">\r\n            <asw-textfield [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (textFieldUpdateEvent)=\"updatedControl($event)\"\r\n                (textFieldDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-textfield>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'number'\">\r\n            <asw-number [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [patterns]=\"patterns\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [formControls]=\"formContainer\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (numberUpdateEvent)=\"updatedControl($event)\"\r\n                (numberDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-number>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'calculation'\">\r\n            <asw-calculation [control]=\"control\"\r\n                [formControls]=\"formContainer\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (calculationUpdateEvent)=\"updatedControl($event)\"\r\n                (calculationDeleteEvent)=\"deleteControl($event)\"\r\n                (aswModelChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-calculation>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'select'\">\r\n            <asw-select [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (selectUpdateEvent)=\"updatedControl($event)\"\r\n                (selectDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-select>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'multi-select'\">\r\n            <asw-multi-select [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (multiSelectUpdateEvent)=\"updatedControl($event)\"\r\n                (multiSelectDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-multi-select>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'radio'\">\r\n            <asw-radio-button [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (radioButtonUpdateEvent)=\"updatedControl($event)\"\r\n                (radioButtonDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-radio-button>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'checkbox'\">\r\n            <asw-checkbox [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (checkboxUpdateEvent)=\"updatedControl($event)\"\r\n                (checkboxDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-checkbox>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'datepicker'\">\r\n            <asw-datepicker [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (datepickerUpdateEvent)=\"updatedControl($event)\"\r\n                (datepickerDeleteEvent)=\"deleteControl($event)\"\r\n                (dateChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-datepicker>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'daterange'\">\r\n            <asw-datepicker [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (datepickerUpdateEvent)=\"updatedControl($event)\"\r\n                (datepickerDeleteEvent)=\"deleteControl($event)\"\r\n                (dateChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-datepicker>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'button'\">\r\n            <asw-button [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (buttonUpdateEvent)=\"updatedControl($event)\"\r\n                (buttonDeleteEvent)=\"deleteControl($event)\"\r\n                (buttonClickEvent)=\"buttonClicked($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-button>                                       \r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'paragraph'\">\r\n            <asw-paragraph [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                (paragraphUpdateEvent)=\"updatedControl($event)\"\r\n                (paragraphDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-paragraph>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'divider'\">\r\n            <asw-divider [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                (dividerDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-divider>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'slide-toggle'\">\r\n            <asw-slide-toggle [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (slidetoggleUpdateEvent)=\"updatedControl($event)\"\r\n                (slidetoggleDeleteEvent)=\"deleteControl($event)\"\r\n                (selectionChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-slide-toggle>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'gps'\">\r\n            <asw-gps [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (gpsUpdateEvent)=\"updatedControl($event)\"\r\n                (gpsDeleteEvent)=\"deleteControl($event)\"\r\n                (gpsAddressChange)=\"onSelectionChange($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-gps>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'signature'\">\r\n            <asw-signature [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (signatureUpdateEvent)=\"updatedControl($event)\"\r\n                (signatureDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-signature>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'drawing'\">\r\n            <asw-drawing [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                (drawingUpdateEvent)=\"updatedControl($event)\"\r\n                (drawingDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-drawing>\r\n        </ng-container>\r\n        <ng-container *ngSwitchCase=\"'fileupload'\">\r\n            <asw-fileupload [control]=\"control\"\r\n                [isPreviewTemplate]=\"true\"\r\n                [CSSFramework]=\"CSSFramework\"\r\n                [propertyPersonalization]=\"propertyPersonalization\"\r\n                (fileUploadUpdateEvent)=\"updatedControl($event)\"\r\n                (fileUploadDeleteEvent)=\"deleteControl($event)\"\r\n                (duplicateControl)=\"duplicateControl($event)\">\r\n            </asw-fileupload>\r\n        </ng-container>\r\n    </ng-container>\r\n</ng-container>\r\n" }]
        }], propDecorators: { control: [{
                type: Input
            }], formContainer: [{
                type: Input
            }], CSSFramework: [{
                type: Input
            }], propertyPersonalization: [{
                type: Input
            }], patterns: [{
                type: Input
            }], controlUpdated: [{
                type: Output
            }], controlDeleted: [{
                type: Output
            }], controlDuplicate: [{
                type: Output
            }], controlChange: [{
                type: Output
            }], buttonClick: [{
                type: Output
            }] } });
//# sourceMappingURL=data:application/json;base64, 