{"version":3,"file":"dropdown_controller-CS2yPb5l.js","names":[],"sources":["../../../app/javascript/entrypoints/controllers/dropdown_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n static targets = [\"content\", \"openIcon\", \"closeIcon\"];\n\n connect() {\n // S'assurer que le dropdown est fermé au chargement\n this.contentTarget.classList.add(\"hidden\");\n\n // Ajouter un gestionnaire d'événement pour les clics en dehors du dropdown\n document.addEventListener('click', this.handleDocumentClick.bind(this));\n }\n\n disconnect() {\n // Nettoyer l'écouteur d'événement quand le contrôleur est déconnecté\n document.removeEventListener('click', this.handleDocumentClick.bind(this));\n }\n\n toggle(event) {\n // Empêcher la propagation pour éviter que clickOutside ne se déclenche immédiatement\n if (event) {\n event.stopPropagation();\n }\n\n // Toggle du contenu dropdown\n this.contentTarget.classList.toggle(\"hidden\");\n\n // Alterner les icônes open/close\n this.openIconTarget.classList.toggle(\"hidden\");\n this.closeIconTarget.classList.toggle(\"hidden\");\n }\n\n handleDocumentClick(event) {\n // Si le dropdown est ouvert et que le clic est en dehors du dropdown\n if (\n !this.contentTarget.classList.contains('hidden') &&\n !this.element.contains(event.target)\n ) {\n this.toggle();\n }\n }\n}\n"],"mappings":"4GAEA,EAAA,cAA6B,CAAW,CACtC,OAAO,QAAU,CAAC,UAAW,WAAY,YAAY,CAErD,SAAU,CAER,KAAK,cAAc,UAAU,IAAI,SAAS,CAG1C,SAAS,iBAAiB,QAAS,KAAK,oBAAoB,KAAK,KAAK,CAAC,CAGzE,YAAa,CAEX,SAAS,oBAAoB,QAAS,KAAK,oBAAoB,KAAK,KAAK,CAAC,CAG5E,OAAO,EAAO,CAER,GACF,EAAM,iBAAiB,CAIzB,KAAK,cAAc,UAAU,OAAO,SAAS,CAG7C,KAAK,eAAe,UAAU,OAAO,SAAS,CAC9C,KAAK,gBAAgB,UAAU,OAAO,SAAS,CAGjD,oBAAoB,EAAO,CAGrB,CAAC,KAAK,cAAc,UAAU,SAAS,SAAS,EAChD,CAAC,KAAK,QAAQ,SAAS,EAAM,OAAO,EAEtC,KAAK,QAAQ"}