import { h } from "@stencil/core";
import { ElementQuestionBase } from '../../../utils/element-question-base';
export class ElementSortEditor {
    constructor() {
        this.label = {
            name: 'Sort',
            labelQuestion: 'Formulate your question',
            labelRequired: 'Required',
            labelOCOptionAdd: 'Add Option',
            labelOCOptionRemove: 'Delete Option',
            labelOCImageUpload: 'Upload Image',
            labelOCImageDelete: 'Delete Image',
            labelDual: 'Dual',
            labelFeedbackCorrect: 'Feedback correct',
            labelFeedbackIncorrect: 'Feedback incorrect',
            placeholderOptions: 'Option',
            placeholderFeedbackCorrect: 'Feedback on correct answer',
            placeholderFeedbackIncorrect: 'Feedback on incorrect answer'
        };
    }
    prop(path, options = {}) {
        return this.handler.prop(path, Object.assign(Object.assign({}, options), { label: this.label }));
    }
    render() {
        return (h(ElementQuestionBase, { question: this.prop('question', { localize: true }), required: this.prop('required') },
            h("bce-option-creator", Object.assign({}, this.prop('options'), { label: this.label })),
            h("bce-switch", Object.assign({}, this.prop('dual'))),
            h("bce-input", Object.assign({ type: "textarea" }, this.prop('feedbackCorrect', { localize: true }))),
            h("bce-input", Object.assign({ type: "textarea" }, this.prop('feedbackIncorrect', { localize: true }))),
            h("slot", null)));
    }
    static get is() { return "bce-element-sort-editor"; }
    static get encapsulation() { return "shadow"; }
    static get properties() { return {
        "handler": {
            "type": "unknown",
            "mutable": false,
            "complexType": {
                "original": "InputHandler",
                "resolved": "InputHandler",
                "references": {
                    "InputHandler": {
                        "location": "import",
                        "path": "../../../utils/input-handler"
                    }
                }
            },
            "required": true,
            "optional": false,
            "docs": {
                "tags": [],
                "text": ""
            }
        },
        "language": {
            "type": "string",
            "mutable": false,
            "complexType": {
                "original": "string",
                "resolved": "string | undefined",
                "references": {}
            },
            "required": false,
            "optional": true,
            "docs": {
                "tags": [],
                "text": ""
            },
            "attribute": "language",
            "reflect": false
        },
        "label": {
            "type": "unknown",
            "mutable": false,
            "complexType": {
                "original": "SortElement.Label",
                "resolved": "Label",
                "references": {
                    "SortElement": {
                        "location": "import",
                        "path": "./element-sort"
                    }
                }
            },
            "required": false,
            "optional": false,
            "docs": {
                "tags": [],
                "text": ""
            },
            "defaultValue": "{\n    name: 'Sort',\n    labelQuestion: 'Formulate your question',\n    labelRequired: 'Required',\n    labelOCOptionAdd: 'Add Option',\n    labelOCOptionRemove: 'Delete Option',\n    labelOCImageUpload: 'Upload Image',\n    labelOCImageDelete: 'Delete Image',\n    labelDual: 'Dual',\n    labelFeedbackCorrect: 'Feedback correct',\n    labelFeedbackIncorrect: 'Feedback incorrect',\n    placeholderOptions: 'Option',\n    placeholderFeedbackCorrect: 'Feedback on correct answer',\n    placeholderFeedbackIncorrect: 'Feedback on incorrect answer'\n  }"
        }
    }; }
}
