import { Host, h } from '@stencil/core';
/**
 * DEPRECATED: This internal component is no longer used. Use a combination of \<bs-label\> and \<bs-field-details\> instead.
 * A pre-composed container to wrap around a form element. Contains the <bs-label> and <bs-hint> web components.
 */
export class BsFieldLayout {
  constructor() {
    this.charCount = undefined;
    this.charMax = undefined;
    this.disabled = false;
    this.error = undefined;
    this.hints = undefined;
    this.label = undefined;
    this.labelFor = undefined;
    this.required = undefined;
    this.hintId = undefined;
  }
  render() {
    return (h(Host, { "data-disabled": this.disabled }, this.label && (h("bs-label", { for: this.labelFor, disabled: this.disabled, required: this.required }, this.label)), h("slot", null), (this.hints || this.charMax) && (h("div", { class: "bs-field-details" }, this.hints && (h("bs-hint", { error: this.error, hintId: this.hintId, hints: this.hints })), this.charMax && (h("bs-character-count", { charCount: this.charCount, charMax: this.charMax }))))));
  }
  static get is() { return "bs-field-layout"; }
  static get originalStyleUrls() {
    return {
      "$": ["bs-field-layout.scss"]
    };
  }
  static get styleUrls() {
    return {
      "$": ["bs-field-layout.css"]
    };
  }
  static get properties() {
    return {
      "charCount": {
        "type": "number",
        "mutable": false,
        "complexType": {
          "original": "number",
          "resolved": "number",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "The number of characters that have been entered by the user."
        },
        "attribute": "char-count",
        "reflect": false
      },
      "charMax": {
        "type": "number",
        "mutable": false,
        "complexType": {
          "original": "number",
          "resolved": "number",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Pass value to show character count and set the maximum number of characters that are allowed to be submitted by the user."
        },
        "attribute": "char-max",
        "reflect": false
      },
      "disabled": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": "Applies disabled styles to the label."
        },
        "attribute": "disabled",
        "reflect": false,
        "defaultValue": "false"
      },
      "error": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Applies error styles to the helper text."
        },
        "attribute": "error",
        "reflect": false
      },
      "hints": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string | string[]",
          "resolved": "string | string[]",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Pass single helper/error text or array of text."
        },
        "attribute": "hints",
        "reflect": false
      },
      "label": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Pass label text."
        },
        "attribute": "label",
        "reflect": false
      },
      "labelFor": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Pass input id to assign to label's \"for\" attribute."
        },
        "attribute": "label-for",
        "reflect": false
      },
      "required": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": true,
        "docs": {
          "tags": [],
          "text": "Append required* indicator to label."
        },
        "attribute": "required",
        "reflect": false
      },
      "hintId": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": "Adds an id to associate a hint to an input."
        },
        "attribute": "hint-id",
        "reflect": false
      }
    };
  }
}
//# sourceMappingURL=bs-field-layout.js.map
