Files
2026-08-24 21:41:12 +02:00

27 lines
852 B
JavaScript

class DisclosuresContent extends HTMLElement {
constructor() {
super();
this.addEventListener('click', (event) => {
if (event.target.closest('.disclosures-item__content')) return;
if (
event.target.closest('.disclosures-item__header') &&
event.target !== event.target.closest('.disclosures-item__header')
)
return;
const item = event.target.closest('.disclosures-item');
if (item) {
const content = item.querySelector('.disclosures-item__content');
if (content && event.clientX <= content.getBoundingClientRect().right) return;
}
const details = this.closest('details');
if (details) details.removeAttribute('open');
});
}
}
if (!customElements.get('disclosures-content')) {
customElements.define('disclosures-content', DisclosuresContent);
}