{"version":3,"file":"slide-out-controller-Bx_c5l9w.js","sources":["../../../app/frontend/src/jobseeker/main/js/controllers/slide-out-controller.js"],"sourcesContent":["import { Controller } from '@hotwired/stimulus';\nimport { gsap } from 'gsap';\n\nconst CLASSES = {\n expanded: 'is-expanded'\n};\n\nexport default class extends Controller {\n static targets = ['text', 'trigger'];\n\n static values = {\n maxHeight: Number,\n closeText: String\n };\n\n connect() {\n if (!this.hasTriggerTarget || !this.hasTextTarget) return;\n if (this.textTarget.scrollHeight - 100 < this.maxHeightValue) {\n this.triggerTarget.classList.add('hidden');\n return;\n }\n\n this.textTarget.style.maxHeight = `${this.maxHeightValue}px`;\n this.textTarget.style.overflow = 'hidden';\n this.triggerText = this.triggerTarget.innerText;\n this.triggerTarget.addEventListener('click', this.toggle);\n }\n\n disconnect() {\n if (!this.hasTriggerTarget) return;\n\n this.triggerTarget.removeEventListener('click', this.toggle);\n }\n\n toggle = () => {\n this.element.classList.contains(CLASSES.expanded)\n ? this.close()\n : this.expand();\n };\n\n expand() {\n this.element.classList.add(CLASSES.expanded);\n this.triggerTarget.innerText = this.closeTextValue;\n const finalHeight = this.textTarget.scrollHeight;\n\n gsap.to(this.textTarget, {\n maxHeight: finalHeight,\n duration: 0.5,\n ease: 'expo.out'\n });\n }\n\n close() {\n this.element.classList.remove(CLASSES.expanded);\n this.triggerTarget.innerText = this.triggerText;\n\n gsap.to(this.textTarget, {\n maxHeight: this.maxHeightValue,\n duration: 0.4,\n ease: 'expo.out'\n });\n }\n}\n"],"names":["CLASSES","slideOutController","Controller","__publicField","finalHeight","gsap"],"mappings":"mQAGA,MAAMA,EAAU,CACd,SAAU,aACZ,EAEe,MAAKC,UAASC,CAAW,CAAzB,kCA2BbC,EAAA,cAAS,IAAM,CACb,KAAK,QAAQ,UAAU,SAASH,EAAQ,QAAQ,EAC5C,KAAK,MAAK,EACV,KAAK,OAAQ,CAClB,GAvBD,SAAU,CACR,GAAI,GAAC,KAAK,kBAAoB,CAAC,KAAK,eACpC,IAAI,KAAK,WAAW,aAAe,IAAM,KAAK,eAAgB,CAC5D,KAAK,cAAc,UAAU,IAAI,QAAQ,EACzC,MACN,CAEI,KAAK,WAAW,MAAM,UAAY,GAAG,KAAK,cAAc,KACxD,KAAK,WAAW,MAAM,SAAW,SACjC,KAAK,YAAc,KAAK,cAAc,UACtC,KAAK,cAAc,iBAAiB,QAAS,KAAK,MAAM,EAC5D,CAEE,YAAa,CACN,KAAK,kBAEV,KAAK,cAAc,oBAAoB,QAAS,KAAK,MAAM,CAC/D,CAQE,QAAS,CACP,KAAK,QAAQ,UAAU,IAAIA,EAAQ,QAAQ,EAC3C,KAAK,cAAc,UAAY,KAAK,eACpC,MAAMI,EAAc,KAAK,WAAW,aAEpCC,EAAK,GAAG,KAAK,WAAY,CACvB,UAAWD,EACX,SAAU,GACV,KAAM,UACZ,CAAK,CACL,CAEE,OAAQ,CACN,KAAK,QAAQ,UAAU,OAAOJ,EAAQ,QAAQ,EAC9C,KAAK,cAAc,UAAY,KAAK,YAEpCK,EAAK,GAAG,KAAK,WAAY,CACvB,UAAW,KAAK,eAChB,SAAU,GACV,KAAM,UACZ,CAAK,CACL,CACA,CAtDEF,EADkBF,EACX,UAAU,CAAC,OAAQ,SAAS,GAEnCE,EAHkBF,EAGX,SAAS,CACd,UAAW,OACX,UAAW,MACZ"}