{"version":3,"file":"expandable-text-controller-ROrsr583.js","sources":["../../../app/frontend/src/global/controllers/expandable-text-controller.js"],"sourcesContent":["import { Controller } from '@hotwired/stimulus';\n\nexport default class extends Controller {\n static targets = ['text', 'button'];\n\n connect() {\n this.originalText = this.textTarget.innerHTML;\n this.truncate(this.textTarget, this.minCharacters, '');\n this.buttonTarget.style.cursor = 'pointer';\n const totalWords = this.originalText.split(' ').length;\n\n if (totalWords < this.minCharacters) {\n this.buttonTarget.remove();\n }\n }\n\n truncate(elem, limit, after) {\n if (!elem || !limit) return;\n let content = elem.textContent.trim();\n content = content.split(' ').slice(0, limit);\n content = content.join(' ') + (after ? after : '');\n elem.textContent = content;\n }\n\n expand(e) {\n this.textTarget.innerHTML = this.originalText;\n e.target.remove();\n }\n\n toggle(e) {\n e.preventDefault();\n\n if (this.element.classList.contains('-expanded')) {\n this.truncate(this.textTarget, this.minCharacters, '');\n } else {\n this.textTarget.innerHTML = this.originalText;\n }\n\n if (this.element.classList.contains('-expanded')) {\n this.buttonTarget.innerHTML = this.readMoreText;\n } else {\n this.buttonTarget.innerHTML = this.closeText;\n }\n\n this.element.classList.toggle('-expanded');\n }\n\n disconnect() {\n this.textTarget.innerHTML = this.originalText;\n }\n\n get readMoreText() {\n return this.data.get('expand');\n }\n\n get closeText() {\n return this.data.get('contract');\n }\n\n get minCharacters() {\n return this.data.get('minimal') || 10;\n }\n}\n"],"names":["expandableTextController","Controller","elem","limit","after","content","e","__publicField"],"mappings":"2NAEe,MAAKA,UAASC,CAAW,CAGtC,SAAU,CACR,KAAK,aAAe,KAAK,WAAW,UACpC,KAAK,SAAS,KAAK,WAAY,KAAK,cAAe,EAAE,EACrD,KAAK,aAAa,MAAM,OAAS,UACd,KAAK,aAAa,MAAM,GAAG,EAAE,OAE/B,KAAK,eACpB,KAAK,aAAa,OAAQ,CAEhC,CAEE,SAASC,EAAMC,EAAOC,EAAO,CAC3B,GAAI,CAACF,GAAQ,CAACC,EAAO,OACrB,IAAIE,EAAUH,EAAK,YAAY,KAAM,EACrCG,EAAUA,EAAQ,MAAM,GAAG,EAAE,MAAM,EAAGF,CAAK,EAC3CE,EAAUA,EAAQ,KAAK,GAAG,GAAKD,GAAgB,IAC/CF,EAAK,YAAcG,CACvB,CAEE,OAAOC,EAAG,CACR,KAAK,WAAW,UAAY,KAAK,aACjCA,EAAE,OAAO,OAAQ,CACrB,CAEE,OAAOA,EAAG,CACRA,EAAE,eAAgB,EAEd,KAAK,QAAQ,UAAU,SAAS,WAAW,EAC7C,KAAK,SAAS,KAAK,WAAY,KAAK,cAAe,EAAE,EAErD,KAAK,WAAW,UAAY,KAAK,aAG/B,KAAK,QAAQ,UAAU,SAAS,WAAW,EAC7C,KAAK,aAAa,UAAY,KAAK,aAEnC,KAAK,aAAa,UAAY,KAAK,UAGrC,KAAK,QAAQ,UAAU,OAAO,WAAW,CAC7C,CAEE,YAAa,CACX,KAAK,WAAW,UAAY,KAAK,YACrC,CAEE,IAAI,cAAe,CACjB,OAAO,KAAK,KAAK,IAAI,QAAQ,CACjC,CAEE,IAAI,WAAY,CACd,OAAO,KAAK,KAAK,IAAI,UAAU,CACnC,CAEE,IAAI,eAAgB,CAClB,OAAO,KAAK,KAAK,IAAI,SAAS,GAAK,EACvC,CACA,CA3DEC,EADkBP,EACX,UAAU,CAAC,OAAQ,QAAQ"}