import { Host, h } from "@stencil/core";
export class SpwInputSlider {
    constructor() {
        /** Valeur minimale du slider */
        this.min = 0;
        /** Valeur maximale du slider */
        this.max = 100;
        /** Pas d'incrémentation */
        this.step = 1;
        /** Active le mode range (deux poignées) */
        this.range = false;
        /** Désactive le slider */
        this.disabled = false;
        /** Nom du champ pour les formulaires */
        this.name = '';
        /** Orientation du slider */
        this.orientation = 'horizontal';
        /** Affiche un tooltip avec la valeur au-dessus de la poignée */
        this.hasTooltip = true;
        /** Label du champ */
        this.label = '';
        /** Message d'erreur */
        this.error = '';
        /** Message d'information */
        this.hint = '';
        /** Message de succès */
        this.success = '';
        /** Message d'avertissement */
        this.warning = '';
        /** Afficher l'icône d'erreur */
        this.showErrorIcon = true;
        /** Afficher l'icône d'information */
        this.showHintIcon = true;
        /** Afficher l'icône de succès */
        this.showSuccessIcon = true;
        /** Afficher l'icône d'avertissement */
        this.showWarningIcon = true;
        /** Champ requis */
        this.required = false;
        /** Positionnement du tooltip */
        this.tooltipDirection = 'top';
        /** Curseur du tooltip */
        this.tooltipCursor = 'help';
        this.isDragging = false;
        this.activeHandle = null;
        this.handleMouseDown = (event, handle = null) => {
            if (this.disabled)
                return;
            event.preventDefault();
            this.isDragging = true;
            this.activeHandle = this.range ? handle : null;
            const clientX = 'touches' in event ? event.touches[0].clientX : event.clientX;
            const clientY = 'touches' in event ? event.touches[0].clientY : event.clientY;
            if (handle === null) {
                this.updateValueFromPosition(clientX, clientY);
            }
            document.addEventListener('mousemove', this.handleMouseMove);
            document.addEventListener('mouseup', this.handleMouseUp);
            document.addEventListener('touchmove', this.handleMouseMove);
            document.addEventListener('touchend', this.handleMouseUp);
        };
        this.handleMouseMove = (event) => {
            if (!this.isDragging)
                return;
            const clientX = 'touches' in event ? event.touches[0].clientX : event.clientX;
            const clientY = 'touches' in event ? event.touches[0].clientY : event.clientY;
            this.updateValueFromPosition(clientX, clientY);
        };
        this.handleMouseUp = () => {
            this.isDragging = false;
            this.activeHandle = null;
            document.removeEventListener('mousemove', this.handleMouseMove);
            document.removeEventListener('mouseup', this.handleMouseUp);
            document.removeEventListener('touchmove', this.handleMouseMove);
            document.removeEventListener('touchend', this.handleMouseUp);
        };
    }
    handleValueChange(newValue) {
        if (JSON.stringify(this.internalValue) !== JSON.stringify(newValue)) {
            if (this.range && Array.isArray(newValue)) {
                this.internalValue = [this.clampValue(newValue[0]), this.clampValue(newValue[1])];
            }
            else if (!this.range && typeof newValue === 'number') {
                this.internalValue = this.clampValue(newValue);
            }
            this.updateFormValue();
        }
    }
    componentWillLoad() {
        this.initializeValue();
        this.defaultValue = Array.isArray(this.internalValue) ? [...this.internalValue] : this.internalValue;
    }
    initializeValue() {
        if (this.range && !Array.isArray(this.value)) {
            this.internalValue = [this.min, this.max];
        }
        else if (!this.range && typeof this.value === 'number') {
            this.internalValue = this.value;
        }
        else if (Array.isArray(this.value)) {
            this.internalValue = this.value;
        }
        else {
            if (this.range) {
                this.internalValue = [this.min, this.max];
            }
            else {
                this.internalValue = typeof this.value === 'number' ? this.value : this.min;
            }
        }
        this.updateFormValue();
    }
    /** Méthode publique pour définir la valeur */
    async setValue(newValue) {
        if (this.range && Array.isArray(newValue)) {
            const [min, max] = newValue;
            this.internalValue = [this.clampValue(min), this.clampValue(max)];
        }
        else if (!this.range && typeof newValue === 'number') {
            this.internalValue = this.clampValue(newValue);
        }
        this.value = this.internalValue;
        this.updateFormValue();
        this.valueChange.emit({ value: this.internalValue });
    }
    /** Méthode publique pour obtenir la valeur */
    async getValue() {
        return this.internalValue;
    }
    /** Callback appelé lors du reset du formulaire */
    formResetCallback() {
        this.internalValue = Array.isArray(this.defaultValue) ? [...this.defaultValue] : this.defaultValue;
        this.value = Array.isArray(this.defaultValue) ? [...this.defaultValue] : this.defaultValue;
        this.updateFormValue();
        this.valueChange.emit({ value: this.internalValue });
    }
    updateFormValue() {
        if (this.range && Array.isArray(this.internalValue)) {
            this.internals.setFormValue(JSON.stringify(this.internalValue));
        }
        else {
            this.internals.setFormValue(String(this.internalValue));
        }
    }
    clampValue(val) {
        let clamped = Math.max(this.min, Math.min(this.max, val));
        const steps = Math.round((clamped - this.min) / this.step);
        clamped = this.min + steps * this.step;
        return clamped;
    }
    updateValueFromPosition(clientX, clientY) {
        if (!this.sliderRef)
            return;
        const rect = this.sliderRef.getBoundingClientRect();
        let percentage;
        if (this.orientation === 'horizontal') {
            percentage = (clientX - rect.left) / rect.width;
        }
        else {
            percentage = 1 - (clientY - rect.top) / rect.height;
        }
        percentage = Math.max(0, Math.min(1, percentage));
        const rawValue = this.min + percentage * (this.max - this.min);
        const newValue = this.clampValue(rawValue);
        if (this.range && Array.isArray(this.internalValue)) {
            const [currentMin, currentMax] = this.internalValue;
            if (this.activeHandle === 'min') {
                this.setValue([Math.min(newValue, currentMax), currentMax]);
            }
            else if (this.activeHandle === 'max') {
                this.setValue([currentMin, Math.max(newValue, currentMin)]);
            }
            else {
                const distToMin = Math.abs(newValue - currentMin);
                const distToMax = Math.abs(newValue - currentMax);
                if (distToMin < distToMax) {
                    this.activeHandle = 'min';
                    this.setValue([newValue, currentMax]);
                }
                else {
                    this.activeHandle = 'max';
                    this.setValue([currentMin, newValue]);
                }
            }
        }
        else {
            this.setValue(newValue);
        }
    }
    getHandlePosition(value) {
        return ((value - this.min) / (this.max - this.min)) * 100;
    }
    getRangeStyle() {
        if (this.range && Array.isArray(this.internalValue)) {
            const [minVal, maxVal] = this.internalValue;
            const minPos = this.getHandlePosition(minVal);
            const maxPos = this.getHandlePosition(maxVal);
            if (this.orientation === 'horizontal') {
                return {
                    left: `${minPos}%`,
                    width: `${maxPos - minPos}%`,
                };
            }
            else {
                return {
                    bottom: `${minPos}%`,
                    height: `${maxPos - minPos}%`,
                };
            }
        }
        else {
            const val = typeof this.internalValue === 'number' ? this.internalValue : this.min;
            const pos = this.getHandlePosition(val);
            if (this.orientation === 'horizontal') {
                return {
                    left: '0%',
                    width: `${pos}%`,
                };
            }
            else {
                return {
                    bottom: '0%',
                    height: `${pos}%`,
                };
            }
        }
    }
    renderErrorMessage() {
        if (this.error) {
            return (h("spw-field-message", { variant: "error", showIcon: this.showErrorIcon }, this.error));
        }
    }
    renderHintMessage() {
        if (this.hint) {
            return (h("spw-field-message", { variant: "hint", showIcon: this.showHintIcon }, this.hint));
        }
    }
    renderSuccessMessage() {
        if (this.success) {
            return (h("spw-field-message", { variant: "success", showIcon: this.showSuccessIcon }, this.success));
        }
    }
    renderWarningMessage() {
        if (this.warning) {
            return (h("spw-field-message", { variant: "warning", showIcon: this.showWarningIcon }, this.warning));
        }
    }
    get elementClass() {
        return {
            'spw-input-slider': true,
            [`spw-input-slider--${this.orientation}`]: true,
            'spw-input-slider--disabled': this.disabled,
            'spw-input-slider--dragging': this.isDragging,
            'spw-input-slider--is-error': !!this.error,
        };
    }
    render() {
        const rangeStyle = this.getRangeStyle();
        return (h(Host, { key: 'aef06c3212830270a048c4120c29164338d2f824' }, h("div", { key: '23db6a6b31ef6c91e7212ec7f8eec1b227bbaf99', class: this.elementClass }, this.label && (h("spw-field-label", { key: '4cc30ee70d2be6e6458fdc222c6be7c052f9ecfe', label: this.label, name: this.name, required: this.required, tooltipTitle: this.tooltipTitle, tooltipText: this.tooltipText, tooltipMaxWidth: this.tooltipMaxWidth, tooltipDirection: this.tooltipDirection, tooltipCursor: this.tooltipCursor })), this.assistiveText && (h("spw-field-message", { key: 'ce38a915c706d465474c1d8af14423a25ac2d7d2', class: "spw-input-slider__field-message", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: 'db4a33a1abe61a672b6077f0b4a5147ab9c53ef6', class: "spw-input-slider__container" }, h("div", { key: '67de28a92b62493a4cc517b1fd86b64f3386e7b7', class: "spw-input-slider__track", ref: el => (this.sliderRef = el), onMouseDown: e => this.handleMouseDown(e, null), onTouchStart: e => this.handleMouseDown(e, null), "aria-label": this.accAriaLabel || this.name || this.label, role: "slider", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": typeof this.internalValue === 'number' ? this.internalValue : undefined, "aria-disabled": this.disabled }, h("div", { key: '16a1a7315a660132541c599f228381828d118355', class: "spw-input-slider__range", style: rangeStyle }), this.range && Array.isArray(this.internalValue) ? ([
            h("div", { key: "handle-min", class: "spw-input-slider__handle spw-input-slider__handle--min", style: this.orientation === 'horizontal'
                    ? { left: `${this.getHandlePosition(this.internalValue[0])}%` }
                    : { bottom: `${this.getHandlePosition(this.internalValue[0])}%` }, onMouseDown: e => this.handleMouseDown(e, 'min'), onTouchStart: e => this.handleMouseDown(e, 'min') }, this.hasTooltip && h("div", { class: "spw-input-slider__tooltip" }, this.internalValue[0])),
            h("div", { key: "handle-max", class: "spw-input-slider__handle spw-input-slider__handle--max", style: this.orientation === 'horizontal'
                    ? { left: `${this.getHandlePosition(this.internalValue[1])}%` }
                    : { bottom: `${this.getHandlePosition(this.internalValue[1])}%` }, onMouseDown: e => this.handleMouseDown(e, 'max'), onTouchStart: e => this.handleMouseDown(e, 'max') }, this.hasTooltip && h("div", { class: "spw-input-slider__tooltip" }, this.internalValue[1])),
        ]) : (h("div", { class: "spw-input-slider__handle", style: this.orientation === 'horizontal'
                ? { left: `${this.getHandlePosition(typeof this.internalValue === 'number' ? this.internalValue : this.min)}%` }
                : { bottom: `${this.getHandlePosition(typeof this.internalValue === 'number' ? this.internalValue : this.min)}%` }, onMouseDown: e => this.handleMouseDown(e, null), onTouchStart: e => this.handleMouseDown(e, null) }, this.hasTooltip && h("div", { class: "spw-input-slider__tooltip" }, typeof this.internalValue === 'number' ? this.internalValue : this.min))))), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage())));
    }
    static get is() { return "spw-input-slider"; }
    static get encapsulation() { return "shadow"; }
    static get formAssociated() { return true; }
    static get originalStyleUrls() {
        return {
            "$": ["spw-input-slider.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["spw-input-slider.css"]
        };
    }
    static get properties() {
        return {
            "min": {
                "type": "number",
                "mutable": false,
                "complexType": {
                    "original": "number",
                    "resolved": "number",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Valeur minimale du slider"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "min",
                "defaultValue": "0"
            },
            "max": {
                "type": "number",
                "mutable": false,
                "complexType": {
                    "original": "number",
                    "resolved": "number",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Valeur maximale du slider"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "max",
                "defaultValue": "100"
            },
            "step": {
                "type": "number",
                "mutable": false,
                "complexType": {
                    "original": "number",
                    "resolved": "number",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Pas d'incr\u00E9mentation"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "step",
                "defaultValue": "1"
            },
            "value": {
                "type": "number",
                "mutable": true,
                "complexType": {
                    "original": "number | [number, number]",
                    "resolved": "[number, number] | number",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Valeur actuelle (simple) ou valeurs [min, max] (range)"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "value"
            },
            "range": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Active le mode range (deux poign\u00E9es)"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "range",
                "defaultValue": "false"
            },
            "disabled": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "D\u00E9sactive le slider"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "disabled",
                "defaultValue": "false"
            },
            "name": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Nom du champ pour les formulaires"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "name",
                "defaultValue": "''"
            },
            "orientation": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'horizontal' | 'vertical'",
                    "resolved": "\"horizontal\" | \"vertical\"",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Orientation du slider"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "orientation",
                "defaultValue": "'horizontal'"
            },
            "hasTooltip": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Affiche un tooltip avec la valeur au-dessus de la poign\u00E9e"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "has-tooltip",
                "defaultValue": "true"
            },
            "label": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Label du champ"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "label",
                "defaultValue": "''"
            },
            "assistiveText": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Texte d'assistance affich\u00E9 sous le label"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "assistive-text"
            },
            "error": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Message d'erreur"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "error",
                "defaultValue": "''"
            },
            "hint": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Message d'information"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "hint",
                "defaultValue": "''"
            },
            "success": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Message de succ\u00E8s"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "success",
                "defaultValue": "''"
            },
            "warning": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Message d'avertissement"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "warning",
                "defaultValue": "''"
            },
            "showErrorIcon": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Afficher l'ic\u00F4ne d'erreur"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "show-error-icon",
                "defaultValue": "true"
            },
            "showHintIcon": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Afficher l'ic\u00F4ne d'information"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "show-hint-icon",
                "defaultValue": "true"
            },
            "showSuccessIcon": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Afficher l'ic\u00F4ne de succ\u00E8s"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "show-success-icon",
                "defaultValue": "true"
            },
            "showWarningIcon": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Afficher l'ic\u00F4ne d'avertissement"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "show-warning-icon",
                "defaultValue": "true"
            },
            "required": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Champ requis"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "required",
                "defaultValue": "false"
            },
            "accAriaLabel": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Aria label pour l'accessibilit\u00E9"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "acc-aria-label"
            },
            "tooltipTitle": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Titre du tooltip"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "tooltip-title"
            },
            "tooltipText": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Texte du tooltip"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "tooltip-text"
            },
            "tooltipMaxWidth": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Largeur maximale du tooltip"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "tooltip-max-width"
            },
            "tooltipDirection": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'top' | 'bottom' | 'left' | 'right'",
                    "resolved": "\"bottom\" | \"left\" | \"right\" | \"top\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Positionnement du tooltip"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "tooltip-direction",
                "defaultValue": "'top'"
            },
            "tooltipCursor": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'pointer' | 'default' | 'help' | 'disabled'",
                    "resolved": "\"default\" | \"disabled\" | \"help\" | \"pointer\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Curseur du tooltip"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "tooltip-cursor",
                "defaultValue": "'help'"
            }
        };
    }
    static get states() {
        return {
            "internalValue": {},
            "isDragging": {},
            "activeHandle": {}
        };
    }
    static get events() {
        return [{
                "method": "valueChange",
                "name": "valueChange",
                "bubbles": true,
                "cancelable": true,
                "composed": true,
                "docs": {
                    "tags": [],
                    "text": "\u00C9v\u00E9nement \u00E9mis lorsque la valeur change"
                },
                "complexType": {
                    "original": "{ value: number | [number, number] }",
                    "resolved": "{ value: number | [number, number]; }",
                    "references": {}
                }
            }];
    }
    static get methods() {
        return {
            "setValue": {
                "complexType": {
                    "signature": "(newValue: number | [number, number]) => Promise<void>",
                    "parameters": [{
                            "name": "newValue",
                            "type": "number | [number, number]",
                            "docs": ""
                        }],
                    "references": {
                        "Promise": {
                            "location": "global",
                            "id": "global::Promise"
                        }
                    },
                    "return": "Promise<void>"
                },
                "docs": {
                    "text": "M\u00E9thode publique pour d\u00E9finir la valeur",
                    "tags": []
                }
            },
            "getValue": {
                "complexType": {
                    "signature": "() => Promise<number | [number, number]>",
                    "parameters": [],
                    "references": {
                        "Promise": {
                            "location": "global",
                            "id": "global::Promise"
                        }
                    },
                    "return": "Promise<number | [number, number]>"
                },
                "docs": {
                    "text": "M\u00E9thode publique pour obtenir la valeur",
                    "tags": []
                }
            }
        };
    }
    static get elementRef() { return "el"; }
    static get watchers() {
        return [{
                "propName": "value",
                "methodName": "handleValueChange"
            }];
    }
    static get attachInternalsMemberName() { return "internals"; }
}
