bruno-ui
Version:
Bruno UI Kit
60 lines (59 loc) • 1.78 kB
JavaScript
import { h } from "@stencil/core";
export class CollapseComponent {
constructor() {
this.active = false;
this._active = false;
}
ActiveWatchHandler() {
this._active = this.active;
}
componentDidLoad() {
this._active = this.active;
}
render() {
return (h("div", { class: { "brn-collapse": true, "brn-collapse--active": this._active } },
h("div", { class: "brn-collapse__header", onClick: () => {
this.Toggle();
} },
h("slot", { name: "header" })),
h("div", { class: "brn-collapse__body" },
h("slot", { name: "body" }))));
}
Toggle() {
this._active = !this._active;
}
static get is() { return "brn-collapse"; }
static get originalStyleUrls() { return {
"$": ["collapse.component.scss"]
}; }
static get styleUrls() { return {
"$": ["collapse.component.css"]
}; }
static get properties() { return {
"active": {
"type": "boolean",
"mutable": false,
"complexType": {
"original": "boolean",
"resolved": "boolean",
"references": {}
},
"required": false,
"optional": false,
"docs": {
"tags": [],
"text": ""
},
"attribute": "active",
"reflect": false,
"defaultValue": "false"
}
}; }
static get states() { return {
"_active": {}
}; }
static get watchers() { return [{
"propName": "active",
"methodName": "ActiveWatchHandler"
}]; }
}