import { FluentComponent } from '../core/fluent-component' import { createUniversalComponent } from '../core/component-factory' class FluentAccordionInternal extends FluentComponent { static tag = 'fluent-accordion' static override get observedAttributes() { return ['open'] } override connectedCallback() { super.connectedCallback() this.addEventListener('click', (e) => { const t = e.target as HTMLElement if (t.matches('.accordion-header')) this.toggleAttribute('open') }) } render() { const open = this.hasAttribute('open') this.shadowRootRef.innerHTML = `
Section
` } } export const FluentAccordion = createUniversalComponent({ tag: 'fluent-accordion', class: FluentAccordionInternal }) if (typeof window !== 'undefined') { if (!customElements.get(FluentAccordionInternal.tag)) { customElements.define(FluentAccordionInternal.tag, FluentAccordionInternal) } }