mwcpl
Version:
Master's Web Component Pattern Library
57 lines (56 loc) • 1.77 kB
JavaScript
import { Component, h, Element, Prop } from '@stencil/core';
export class MwcplNavbar {
render() {
return (h("nav", { onMouseEnter: () => this.enter(), onMouseLeave: () => this.leave() },
h("ul", null,
h("slot", null))));
}
enter() {
this.element.shadowRoot
.querySelector('slot')
.assignedNodes()
.forEach(node => {
if (node.nodeName.toLowerCase() === 'mwcpl-navbar-item') {
node.setAttribute('open', '');
}
});
}
leave() {
this.element.shadowRoot
.querySelector('slot')
.assignedNodes()
.forEach(node => {
if (node.nodeName.toLowerCase() === 'mwcpl-navbar-item') {
node.removeAttribute('open');
}
});
}
static get is() { return "mwcpl-navbar"; }
static get encapsulation() { return "shadow"; }
static get originalStyleUrls() { return {
"$": ["mwcpl-navbar.scss"]
}; }
static get styleUrls() { return {
"$": ["mwcpl-navbar.css"]
}; }
static get properties() { return {
"fixed": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean",
"references": {}
},
"required": false,
"optional": false,
"docs": {
"tags": [],
"text": "Creates a fixed navigation bar."
},
"attribute": "fixed",
"reflect": false
}
}; }
static get elementRef() { return "element"; }
}