import { Component, h, Prop } from '@stencil/core';
import { targets, } from '../../types/FormTypes';
export class TeliaForm {
  constructor() {
    /** 	Specifies where to display the response that is received after submitting the form, can be:_self (default), _blank, _parent, _top or 'framename* */
    this.target = targets.SELF;
    /** Specifies forms aria-label to provide proper accessbility support */
    this.allyLabel = null;
    /** Tracking id is used to identify and count Component usage. */
    this.dataTrackingId = 'telia-form';
  }
  render() {
    return (h("form", { class: "telia-form", name: this.name, autocomplete: this.autocomplete, 
      /* @ts-ignore */
      rel: this.rel, action: this.action, enctype: this.enctype, method: this.method, target: this.target, novalidate: this.novalidate, id: this.htmlId, "aria-label": this.allyLabel },
      h("slot", null),
      h("telia-vst", { dataTrackingId: this.dataTrackingId })));
  }
  static get is() { return "telia-form"; }
  static get originalStyleUrls() { return {
    "$": ["telia-form.scss"]
  }; }
  static get styleUrls() { return {
    "$": ["telia-form.css"]
  }; }
  static get properties() { return {
    "dataTestid": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Test id set for web component"
      },
      "attribute": "data-testid",
      "reflect": false
    },
    "htmlId": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Id of form element"
      },
      "attribute": "html-id",
      "reflect": false
    },
    "autocomplete": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "AutocompleteType",
        "resolved": "string",
        "references": {
          "AutocompleteType": {
            "location": "import",
            "path": "../../types/FormTypes"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Indicates whether input elements can by default have their values automatically completed by the browser."
      },
      "attribute": "autocomplete",
      "reflect": false
    },
    "name": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": true,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "The name of the form. The value must not be the empty string, and must be unique among the form elements in the forms collection that it is in, if any."
      },
      "attribute": "name",
      "reflect": false
    },
    "rel": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "RelType",
        "resolved": "string",
        "references": {
          "RelType": {
            "location": "import",
            "path": "../../types/FormTypes"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies the relationship between a linked resource and the current document."
      },
      "attribute": "rel",
      "reflect": false
    },
    "action": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies where to send the form-data when a form is submitted."
      },
      "attribute": "action",
      "reflect": false
    },
    "enctype": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "EnctypeType",
        "resolved": "string",
        "references": {
          "EnctypeType": {
            "location": "import",
            "path": "../../types/FormTypes"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "If the value of the method attribute is post, specify how the form-data should be encoded when submitting it to the server."
      },
      "attribute": "enctype",
      "reflect": false
    },
    "method": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "MethodType",
        "resolved": "string",
        "references": {
          "MethodType": {
            "location": "import",
            "path": "../../types/FormTypes"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies the HTTP method to use when sending form-data , (only for method=\"post\")."
      },
      "attribute": "method",
      "reflect": false
    },
    "target": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "TargetType | string",
        "resolved": "string",
        "references": {
          "TargetType": {
            "location": "import",
            "path": "../../types/FormTypes"
          }
        }
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies where to display the response that is received after submitting the form, can be:_self (default), _blank, _parent, _top or 'framename*"
      },
      "attribute": "target",
      "reflect": false,
      "defaultValue": "targets.SELF"
    },
    "novalidate": {
      "type": "boolean",
      "mutable": false,
      "complexType": {
        "original": "boolean",
        "resolved": "boolean",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies that the form-data (input) should not be validated when submitted."
      },
      "attribute": "novalidate",
      "reflect": false
    },
    "allyLabel": {
      "type": "string",
      "mutable": false,
      "complexType": {
        "original": "string",
        "resolved": "string",
        "references": {}
      },
      "required": false,
      "optional": false,
      "docs": {
        "tags": [],
        "text": "Specifies forms aria-label to provide proper accessbility support"
      },
      "attribute": "ally-label",
      "reflect": false,
      "defaultValue": "null"
    }
  }; }
}
