import { Controller } from "@hotwired/stimulus" export default class extends Controller { click(event) { if (this.#isClickable && !this.#shouldIgnore(event)) { this.element.click() } } #shouldIgnore(event) { return event.defaultPrevented || event.target.closest("input, textarea") } get #isClickable() { return getComputedStyle(this.element).pointerEvents !== "none" } }