var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
    r = Reflect.decorate(decorators, target, key, desc);
  else
    for (var i = decorators.length - 1; i >= 0; i--)
      if (d = decorators[i])
        r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { h, Host } from '@stencil/core';
import SlotChange from '../../shared/decorators/slot-change';
export class BsNav {
  constructor() {
    this.vertical = false;
    this.fill = false;
    this.justify = false;
    this.role = 'navigation';
    this.listRole = 'list';
    this.variant = undefined;
  }
  adjustNavItemVariant() {
    Array.from(this.__slot.slot.assignedNodes().filter(n => n.nodeName == 'BS-NAV-ITEM'))
      .forEach((item) => item.variant = this.variant);
  }
  render() {
    return (h(Host, { role: this.role, class: `
                    ${this.fill ? 'nav-fill' : ''}
                    ${this.justify ? 'nav-justified' : ''}
                ` }, h("div", { class: `
                        nav
                        ${this.vertical ? 'flex-column' : ''}
                        ${this.variant ? `nav-${this.variant}` : ''}
                    `, role: this.listRole }, h("slot", null))));
  }
  static get is() { return "bs-nav"; }
  static get encapsulation() { return "shadow"; }
  static get originalStyleUrls() {
    return {
      "$": ["bs-nav.scss"]
    };
  }
  static get styleUrls() {
    return {
      "$": ["bs-nav.css"]
    };
  }
  static get properties() {
    return {
      "vertical": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "vertical",
        "reflect": false,
        "defaultValue": "false"
      },
      "fill": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "fill",
        "reflect": false,
        "defaultValue": "false"
      },
      "justify": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "justify",
        "reflect": false,
        "defaultValue": "false"
      },
      "role": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "role",
        "reflect": false,
        "defaultValue": "'navigation'"
      },
      "listRole": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "list-role",
        "reflect": false,
        "defaultValue": "'list'"
      },
      "variant": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "NavVariant",
          "resolved": "\"pills\" | \"tabs\"",
          "references": {
            "NavVariant": {
              "location": "local",
              "path": "/Users/aadebayo/Repositories/stenciljs-bootstrap/src/components/bs-nav/bs-nav.tsx"
            }
          }
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": ""
        },
        "attribute": "variant",
        "reflect": false
      }
    };
  }
  static get elementRef() { return "el"; }
  static get watchers() {
    return [{
        "propName": "variant",
        "methodName": "adjustNavItemVariant"
      }];
  }
}
__decorate([
  SlotChange()
], BsNav.prototype, "adjustNavItemVariant", null);
//# sourceMappingURL=bs-nav.js.map
