{"version":3,"sources":["webpack:///./templates/landing/js/landing.js"],"names":["landingPage","init","_browseSubjectsBtn$da","_browseSubjectsBtn$da2","_this","browseSubjectsBtn","document","getElementById","accordionBody","querySelector","elementTextOpen","dataset","open","elementTextClose","close","addEventListener","toggleText","event","this","truncateBookTitle","lines","type","seeMoreLink","element","currentTarget","observer","MutationObserver","mutationsList","_mutationsList$","_mutationsList$$targe","_mutationsList$$targe2","mutationDisplay","target","style","display","textContent","observe","attributes","disconnect","selector","options","$","truncate","on","UX"],"mappings":"4EAAA,IAAMA,EAAc,CAChBC,KAAI,SAAJA,OAAO,IAAAC,EAAAC,EAAAC,EAAA,KACGC,EAAoBC,SAASC,eAAe,sBAC5CC,EAAgBF,SAASG,cAAc,0BAE7C,GAAKJ,GAAsBG,EAA3B,CAEA,IAAME,EAAkBL,SAA0B,QAATH,EAAjBG,EAAmBM,eAAO,IAAAT,OAAT,EAAjBA,EAA4BU,KAC9CC,EAAmBR,SAA0B,QAATF,EAAjBE,EAAmBM,eAAO,IAAAR,OAAT,EAAjBA,EAA4BW,MAUrDT,EAAkBU,iBAAiB,SAAS,kBACxCX,EAAKY,WAAWC,MAAOP,EAAiBG,EAAkBL,MAS9DU,KAAKC,kBAAkB,sCAAuC,CAC1DC,MAAO,EACPC,KAAM,OACNC,aAAa,MAGrBN,WAAU,SAAVA,WAAWC,EAAOL,EAAME,EAAON,GAC3B,IAAMe,EAAUN,EAAMO,cAEhBC,EAAW,IAAIC,kBAAiB,SAACC,EAAeF,GAAa,IAAAG,EAAAC,EAAAC,EACzDC,EAAkC,QAAnBH,EAAGD,EAAc,UAAE,IAAAC,GAAQ,QAARC,EAAhBD,EAAkBI,cAAM,IAAAH,GAAO,QAAPC,EAAxBD,EAA0BI,aAAK,IAAAH,OAAf,EAAhBA,EAAiCI,QACpDH,IAEDR,EAAQY,YADY,UAApBJ,EACsBjB,EAEAF,MAI9Ba,EAASW,QAAQ5B,EAAe,CAAC6B,YAAY,IAEzCd,EAAQY,cAAgBrB,GAAOW,EAASa,cAEhDnB,kBAAiB,SAAjBA,kBAAkBoB,EAAUC,GACFlC,SAASG,cAAc,kDAEzCgC,EAAEF,GAAUG,SAASF,GAErBC,EAAE,2BAA2BE,GAAG,4BAA4B,SAAU1B,GAClEwB,EAAEF,GAAUG,SAASF,QAMrCI,GAAG5C,YAAcA","file":"js/landingPage-547c0f8d117f176536ec.js","sourcesContent":["const landingPage = {\n init() {\n const browseSubjectsBtn = document.getElementById('id-landing-control');\n const accordionBody = document.querySelector('.browse-subjects__list');\n\n if (!browseSubjectsBtn || !accordionBody) return;\n\n const elementTextOpen = browseSubjectsBtn?.dataset?.open;\n const elementTextClose = browseSubjectsBtn?.dataset?.close;\n\n /**\n * This function to change the text when the accordion opened or closed\n * I'm using here observerDom to watch the accordionBody\n * @pram {Event} Click event\n * @pram {String} elementTextOpen\n * @pram {String} elementTextClose\n * @pram {Element} accordionBody\n */\n browseSubjectsBtn.addEventListener('click', () =>\n this.toggleText(event, elementTextOpen, elementTextClose, accordionBody)\n );\n\n /**\n * Truncate book titles function\n * @pram {String} The Selector\n * @pram {Object} Truncate Options\n */\n\n this.truncateBookTitle('.cover-image__details .serial-title', {\n lines: 3,\n type: 'text',\n seeMoreLink: false,\n });\n },\n toggleText(event, open, close, accordionBody) {\n const element = event.currentTarget;\n\n const observer = new MutationObserver((mutationsList, observer) => {\n const mutationDisplay = mutationsList[0]?.target?.style?.display;\n if (!mutationDisplay) return;\n if (mutationDisplay === 'block') {\n element.textContent = close;\n } else {\n element.textContent = open;\n }\n });\n\n observer.observe(accordionBody, {attributes: true});\n\n if (element.textContent === close) observer.disconnect();\n },\n truncateBookTitle(selector, options) {\n const isBooksSlider = document.querySelector('.journal-slider-wrapper div[data-slider-vport]');\n if (isBooksSlider) {\n $(selector).truncate(options);\n } else {\n $('.journal-slider-wrapper').on('initialized.owl.carousel', function (event) {\n $(selector).truncate(options);\n });\n }\n },\n};\n\nUX.landingPage = landingPage;\n"],"sourceRoot":""}