@aqua-ds/web-components
Version:
AquaDS Web Components
71 lines (66 loc) • 2.79 kB
JavaScript
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
const aqCollapseGroupCss = ".aq-collapse-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.aq-collapse-group>aq-collapse:not(:first-child):not(:last-child)>.aq-collapse--border{border-radius:0px}.aq-collapse-group>aq-collapse:not(:last-child)>.aq-collapse--border{border-bottom:0}.aq-collapse-group :nth-child(1)>.aq-collapse--border{border-radius:var(--spacing-size-minor) var(--spacing-size-minor) 0px 0px}.aq-collapse-group :nth-last-child(1)>.aq-collapse--border{border-radius:0px 0px var(--spacing-size-minor) var(--spacing-size-minor)}";
const AqCollapseGroup$1 = /*@__PURE__*/ proxyCustomElement(class AqCollapseGroup extends HTMLElement {
constructor(registerHost) {
super();
if (registerHost !== false) {
this.__registerHost();
}
this.isAccordion = false;
this.showBorder = true;
this.showDividerGroup = true;
// State
this.collapses = [];
}
async show(vm) {
if (this.isAccordion) {
this.collapses.forEach(collapse => {
if (collapse !== vm) {
collapse.hide?.();
}
});
}
}
async hideAll() {
this.collapses.forEach(collapse => {
collapse.hide?.();
});
}
async registerCollapse(vm) {
if (!this.collapses.includes(vm)) {
this.collapses = [...this.collapses, vm];
}
}
async unregisterCollapse(vm) {
this.collapses = this.collapses.filter(collapse => collapse !== vm);
}
render() {
return (h("div", { key: '344f747d1ad72fecfb5f320c17fd7fdfc9deebf6', class: "aq-collapse-group" }, h("slot", { key: 'c9a62d0feb1c515f7456b88edadd08228f4a8145' })));
}
static get style() { return aqCollapseGroupCss; }
}, [260, "aq-collapse-group", {
"isAccordion": [4, "is-accordion"],
"showBorder": [4, "show-border"],
"showDividerGroup": [4, "show-divider-group"],
"collapses": [32],
"show": [64],
"hideAll": [64],
"registerCollapse": [64],
"unregisterCollapse": [64]
}]);
function defineCustomElement$1() {
if (typeof customElements === "undefined") {
return;
}
const components = ["aq-collapse-group"];
components.forEach(tagName => { switch (tagName) {
case "aq-collapse-group":
if (!customElements.get(tagName)) {
customElements.define(tagName, AqCollapseGroup$1);
}
break;
} });
}
const AqCollapseGroup = AqCollapseGroup$1;
const defineCustomElement = defineCustomElement$1;
export { AqCollapseGroup, defineCustomElement };