{"version":3,"sources":["webpack:///./modules/ReadMore.ts"],"names":["__webpack_require__","r","__webpack_exports__","ReadMore","element","_this","this","readMoreBtn","querySelector","shouldReadMoreInit","classList","add","addEventListener","showText","document","reinintOnResize","setup","selector","Array","from","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","Eucerin","isDesktop","contains","initReadMoreButton","disableReadMoreBtn","offsetHeight","btn","remove"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAEAC,EAAA,WASI,SAAAA,EAAmBC,GAAnB,IAAAC,EAAAC,KAAmBA,KAAAF,UACfE,KAAKC,YAAcD,KAAKF,QAAQI,cAAc,mBAE1CF,KAAKG,mBAAmBH,KAAKF,UAC7BE,KAAKC,YAAYG,UAAUC,IAAI,kBAE/BL,KAAKC,aACLD,KAAKC,YAAYK,iBAAiB,QAAS,WAAM,OAAAP,EAAKQ,aAE1DC,SAASF,iBAAiB,oBAAqB,WAAM,OAAAP,EAAKU,oBA4ClE,OA5DWZ,EAAAa,MAAP,SAAaC,QAAA,IAAAA,MAJM,4BAKfC,MAAMC,KAAKL,SAASM,iBAAiBH,IAAWI,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACrB,GACpH,IAAID,EAASC,GACbA,EAAQmB,QAAQC,kBAAoB,UAkB5CrB,EAAAuB,UAAAb,SAAA,WACIP,KAAKF,QAAQM,UAAUC,IAAI,wBAG/BR,EAAAuB,UAAAX,gBAAA,eAAAV,EAAAC,KACSqB,QAAQC,WACTV,MAAMC,KAAKL,SAASM,iBA/BT,6BA+B2CC,OAAO,SAACC,GAAsB,OAACA,EAAKZ,UAAUmB,SAAS,yBAAwBJ,QAAQ,SAACrB,GACtIC,EAAKI,mBAAmBL,GACxBC,EAAKyB,mBAAmB1B,GAExBC,EAAK0B,mBAAmB3B,MAOxCD,EAAAuB,UAAAjB,mBAAA,SAAmBL,GAIf,OAH6BA,EAAQI,cAAc,mBAC5BwB,aAEV,IAQjB7B,EAAAuB,UAAAI,mBAAA,SAAmB1B,GACQA,EAAQI,cAAc,mBACzCE,UAAUC,IAAI,mBAGtBR,EAAAuB,UAAAK,mBAAA,SAAmB3B,GACf,IAAI6B,EAAmB7B,EAAQI,cAAc,mBACzCyB,EAAIvB,UAAUmB,SAAS,mBACvBI,EAAIvB,UAAUwB,OAAO,mBAEjC/B,EA9DA,eAgEA,IAAIA,EAASa","file":"./modules/ReadMore.cdb2dde1.js","sourcesContent":["const moduleSelector = '[data-module=\"ReadMore\"]';\r\n\r\nexport default class ReadMore {\r\n readMoreBtn: HTMLElement;\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new ReadMore(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.readMoreBtn = this.element.querySelector('.read-more-info');\r\n\r\n if (this.shouldReadMoreInit(this.element))\r\n this.readMoreBtn.classList.add('read-more-init');\r\n\r\n if (this.readMoreBtn)\r\n this.readMoreBtn.addEventListener('click', () => this.showText());\r\n\r\n document.addEventListener('Eucerin:resizeEnd', () => this.reinintOnResize())\r\n\r\n\r\n }\r\n\r\n showText() {\r\n this.element.classList.add('show-more-text-open');\r\n }\r\n\r\n reinintOnResize() {\r\n if (!Eucerin.isDesktop) {\r\n Array.from(document.querySelectorAll(moduleSelector)).filter((node: HTMLElement) => !node.classList.contains('show-more-text-open')).forEach((element: HTMLElement) => {\r\n if (this.shouldReadMoreInit(element)) {\r\n this.initReadMoreButton(element);\r\n } else {\r\n this.disableReadMoreBtn(element);\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n shouldReadMoreInit(element) {\r\n var textFiled = element.querySelector('.read-more-text');\r\n var height = textFiled.offsetHeight;\r\n\r\n if (height > 44) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n\r\n initReadMoreButton(element: HTMLElement) {\r\n var btn = element.querySelector('.read-more-info');\r\n btn.classList.add('read-more-init');\r\n }\r\n\r\n disableReadMoreBtn(element) {\r\n var btn = element.querySelector('.read-more-info');\r\n if (btn.classList.contains('read-more-init'))\r\n btn.classList.remove('read-more-init');\r\n }\r\n}\r\n\r\nnew ReadMore.setup();"],"sourceRoot":""}