feat: add Stimulus dropdown controller

This commit is contained in:
thibaud-leclere
2026-03-29 10:22:37 +02:00
parent a348de01b0
commit 1ea07a2438

View File

@@ -0,0 +1,24 @@
import { Controller } from '@hotwired/stimulus';
export default class extends Controller {
static targets = ['menu', 'trigger'];
connect() {
this._closeOnClickOutside = this._closeOnClickOutside.bind(this);
document.addEventListener('click', this._closeOnClickOutside);
}
disconnect() {
document.removeEventListener('click', this._closeOnClickOutside);
}
toggle() {
this.menuTarget.hidden = !this.menuTarget.hidden;
}
_closeOnClickOutside(event) {
if (!this.element.contains(event.target)) {
this.menuTarget.hidden = true;
}
}
}