pyro
Version:
Pyro custom elements
39 lines (38 loc) • 1.14 kB
JavaScript
import { i as p, r as a, x as d, t as f } from "./custom-element-CWJsDAat.js";
import { o as u } from "./query-assigned-elements-DjfhL1cl.js";
import { f as h } from "./findDeepChildren-DcrW2E5D.js";
var _ = Object.defineProperty, m = Object.getOwnPropertyDescriptor, l = (r, e, i, t) => {
for (var o = t > 1 ? void 0 : t ? m(e, i) : e, n = r.length - 1, c; n >= 0; n--)
(c = r[n]) && (o = (t ? c(e, i, o) : c(o)) || o);
return t && o && _(e, i, o), o;
};
let s = class extends a {
constructor() {
super(...arguments), this._accordions = [];
}
firstUpdated() {
this._accordions = h(this._slotElements, "pyro-accordion");
}
handleClick({ target: r }) {
this._accordions.forEach((e) => {
e.isSameNode(r) && e.getAttribute("open") === null ? r.setAttribute("open", "true") : e.open = !1;
});
}
render() {
return d` <div @pyro-accordion-click=${this.handleClick}><slot></slot></div> `;
}
};
s.styles = p`
:host {
display: block;
}
`;
l([
u({ flatten: !0 })
], s.prototype, "_slotElements", 2);
s = l([
f("pyro-accordion-group")
], s);
export {
s as PyroAccordionGroup
};