import { Controller } from '@hotwired/stimulus' export default class extends Controller { static classes = [ 'closed' ] static targets = [ 'toggle', 'icon' ] static values = { open: { type: Boolean, default: true, }, } initialize() { this.target = this.hasToggleTarget ? this.toggleTarget : this.element } toggle() { this.openValue = !this.openValue } close() { this.openValue = false } open() { this.openValue = true } openValueChanged(open) { this.target.classList.toggle(this.closedClass, false === open) if (false === this.hasIconTarget) { return } this.iconTarget.classList.toggle('rotate-90', true === open) } }