import { Controller } from "stimulus"; export default class extends Controller { static targets = ["item"]; connect() { window.addEventListener("scroll:section", (event) => this.update(event.detail.id) ); } get items() { if (!this._items) { this._items = {}; for (const item of this.itemTargets) { this._items[item.href.split("#")[1]] = item; } } return this._items; } update(id) { for (const item of Object.values(this.items)) { item.classList.remove("active"); } if (this.items[id]) this.items[id].classList.add("active"); } }