{"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/scripts/layout/banner.ts","src/scripts/layout/footer.ts","src/scripts/layout/header.ts","src/scripts/layout/popup.ts","src/scripts/libraries/_base.ts","src/scripts/libraries/_imgClass.ts","src/scripts/libraries/fancybox-lib.ts","src/scripts/libraries/gsapInitScroll.ts","src/scripts/libraries/gsapScroll.ts","src/scripts/libraries/pagination.ts","src/scripts/main.ts","src/scripts/pages/about.ts","src/scripts/pages/contact.ts","src/scripts/pages/index.ts","src/scripts/pages/news.ts","src/scripts/pages/products.ts","src/scripts/pages/solution.ts"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","banner","Swiper","loop","effect","speed","autoplay","delay","pagination","el","clickable","dynamicBullets","footer","window","backToTop","document","querySelector","header","let","eHeader","handleClick","langOpt","link","toggleMb","addEventListener","preventDefault","navbar","iconLs","classList","contains","add","remove","toggle","querySelectorAll","liLs","forEach","iconItem","parrent","parentElement","delHandle","scrollHeader","timeout","lastScrollTop","y","callbackTimeout","st","pageYOffset","documentElement","scrollTop","clientHeight","scrollY","style","transform","concat","clearTimeout","setTimeout","popup","init","btnPopups","item","popupHandle","_window","_base","closeHandle","target","callBack","list","str","getQueryString","params","Object","keys","map","key","join","mouseBoxHandle","idSection","strHandle","box","getElementById","children","mouseHandle","checkClick","ele","setAttribute","toString","position","evt","targetE","iItem","x","parseInt","getAttribute","display","offsetX","innerWidth","offsetY","offsetHeight","innerHeight","left","top","setInterval","clearInterval","interval","copyMaker","copyElement","callback","textCopy","location","href","textElementSuccess","textElementError","removeAttribute","input","createElement","value","height","opacity","body","appendChild","select","execCommand","_a","addToastMsg","status","message","toastMsg","eToast","innerHTML","transitionDuration","timeDurationMsg","promise","Promise","res","rej","then","resole","reject","err","catch","error","console","targetHandle","arguments","undefined","checkCondition","callBackClose","close","cancel","initPopupHandle","strQuery","backtotop","handleScroll","getBoundingClientRect","onclick","scrollTo","behavior","_imgClass","$","each","this","attr","get","find","removeAttr","replaceWith","fancyboxLib","ls","arrayFancy","includes","push","Fancybox","bind","Thumbs","Carousel","fill","center","Image","zoom","youtube","controls","showinfo","tl","gsap","timeline","effectTop","_len","element","Array","_key","set","effectBottom","_len2","_key2","effectLeft","_len3","_key3","effectRight","_len4","_key4","effectScale","_len5","_key5","scale","gsapInitScroll","initHeader","idx4Odd","idx4Even","title","desc","wrapper","nameWrapper","descWrapper","moreWrapper","initSectionContact","initFooter","registerPlugin","ScrollTrigger","durationDefault","initObjST","scrollTrigger","assign","trigger","start","end","toggleClass","gsapToElement","outObj","initSt","objEffect","to","timelineFace","dCube","clientWidth","wElement","hElement","pos","line1","width","duration","line2","durLine1","obj","valueLine1","valueLine2","animationFace","_ref2","onComplete","_this","_targets","onReverseComplete","onStart","gsapScroll","ease","stagger","initIndex1","elem","scrub","pin","toggleActons","snap","snapTo","min","max","cube","content","visibility","rotationY","elementTop","elementFront","dLine1","topSpace","valueSpace","valueLine","_ref","animationCenter","timelineTop","valTime","elementRight","elementBack","elementLeft","outObjQuote","initIndex2","initIndex3","bgs","cnts","itemBg","itemCnt","initIndex4","initIndex5","outObjContent","outObjSlider","initIndex6","items","initIndex7","outObjX","outObjY","scaleDefault","aboutPage","productsPage","newsPage","contactPage","outObjForm","initPage","opts","options","defaults","prototype","plugin","paramItem","param","pages","selector","totalBox","totalPage","Math","ceil","page","scroll","paginationCreate","activeBox","activeItem","objClass","liActive","itemPages","strIcon","createPagination","changeIcon","clickButton","totalPages","strList","strI","visiblePage","strTotal","visiblePage2","log","index","lens","itemActive","liBtns","getElementsByTagName","hiddenNextPrev","dataItem","scrollToTop","id","iNumber","num","strId","topFeatured","featuredItem","parentFeatured","offsetParent","count","nodeName","offsetTop","strClass","getElementsByClassName","itemNext","itemPrev","load","_base_1","overflow","append","_imgClass_1","pagination_1","fancybox_lib_1","gsapInitScroll_1","header_1","footer_1","banner_1","popup_1","index_1","about_1","products_1","news_1","contact_1","solution_1","gsapScroll_1","about","products","news","contact","solution","copyElements","text","createInit5","itemw","spaceBetween","swItem","epagination","sw","slidesPerView","grid","rows","breakpoints","640","hItem","handle3","slidesPerGroup","disableOnInteraction","stopOnLastSlide","stop","initSw3","dashline","initSw4","freeMode","enabled","sticky","1024","swPartner","checked","handle5","wrappers","swFlag","gap","idx","destroy","handleFileInput","fileInput","file","files","fileName","name","size","li","type","spanName","spanSize","mbSize","spanChecked","toFixed","spanRemove","iCheck","fileInfo","checkFileSize","checkFile","appendFile","prarent","details","ulDetail","divDetails","showFAQ","introInit","introSkip","idxIntro","onbeforeunload","timeoutInner","transition","swapBg4","itemWrapper","val2","sections","valImg1","valImg2","_b","val1","handle6","scrollbar","hide","sw6","handleDetail","next","prev","centeredSlides","initialSlide","navigation","nextEl","prevEl","detailSwiper","on","idxActive","activeIndex","slides","img","thumbMain","lsItem","slideTo","specifications","materials","itemSpec","inp","valActive","itemThumbnail","thumbActive","itemMaterial","condition","autoHeight"],"mappings":"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","file":"main.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i{\r\n window.backToTop(document.querySelector('footer'),'.backtotop');\r\n}","declare const window :any;\r\n\r\nexport const header = function(){\r\n let eHeader = document.querySelector('.header');\r\n if(document.querySelector('.header')){\r\n handleClick(eHeader);\r\n scrollHeader(eHeader);\r\n }\r\n}\r\n\r\nfunction handleClick(eHeader:HTMLElement){\r\n let langOpt = eHeader.querySelector('.languages .opt');\r\n let link = langOpt?.querySelector('.opt__link');\r\n link.addEventListener('click', function(e){\r\n e.preventDefault();\r\n })\r\n\r\n let toggleMb = eHeader.querySelector('.toggle-mb');\r\n let navbar = eHeader.querySelector('.header-navbar');\r\n if (toggleMb && navbar){\r\n if (toggleMb.classList.contains('active')){\r\n navbar.classList.add('toggle');\r\n }else{\r\n navbar.classList.remove('toggle');\r\n }\r\n\r\n toggleMb.addEventListener('click', function(e){\r\n e.preventDefault();\r\n toggleMb.classList.toggle('active');\r\n\r\n if (toggleMb.classList.contains('active')){\r\n navbar.classList.add('toggle');\r\n }else{\r\n navbar.classList.remove('toggle');\r\n }\r\n })\r\n }\r\n\r\n let iconLs = navbar.querySelectorAll('ul>li>.icon');\r\n let liLs = navbar.querySelectorAll('ul>li');\r\n\r\n iconLs.forEach(function(iconItem){\r\n let parrent = iconItem.parentElement;\r\n iconItem.addEventListener('click', function(){\r\n if (parrent.classList.contains('showed')){\r\n parrent.classList.remove('showed');\r\n }else{\r\n window.delHandle(liLs, 'showed');\r\n parrent.classList.add('showed');\r\n }\r\n })\r\n })\r\n}\r\n\r\n// function scrollHeader(eHeader:HTMLElement){\r\n// var y = 0;\r\n// document.addEventListener('scroll', function(e:any){\r\n// y = window.scrollY;\r\n// if (window.scrollY > 200){\r\n// y = 0;\r\n// eHeader.classList.add('scroll');\r\n// }else{\r\n// eHeader.classList.remove('scroll');\r\n// }\r\n\r\n// eHeader.style.transform = `translateY(-${y}px)`;\r\n// })\r\n// }\r\n\r\nfunction scrollHeader(eHeader:HTMLElement){\r\n var lastScrollTop = 0;\r\n var timeout: any;\r\n let y = 0;\r\n\r\n function callbackTimeout(){\r\n var st = window.pageYOffset || document.documentElement.scrollTop;\r\n if (st > lastScrollTop) {\r\n // downscroll code\r\n if (!document.querySelector('.idx-intro')){\r\n y = st;\r\n if (y > eHeader.clientHeight + 10){\r\n y = eHeader.clientHeight + 10;\r\n }\r\n eHeader.classList.remove('scroll');\r\n }\r\n } else {\r\n // upscroll code\r\n if (window.scrollY === 0){\r\n if (!document.querySelector('.idx-intro')){\r\n eHeader.classList.remove('scroll');\r\n }\r\n }else{\r\n eHeader.classList.add('scroll');\r\n }\r\n y = 0;\r\n }\r\n lastScrollTop = st <= 0 ? 0 : st;\r\n\r\n eHeader.style.transform = `translateY(-${y}px)`;\r\n }\r\n \r\n document.addEventListener(\"scroll\", function () {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(callbackTimeout, 200);\r\n }, false);\r\n\r\n}","declare const window :any;\r\n\r\nexport const popup = function(){\r\n init();\r\n}\r\n\r\nfunction init(){\r\n let btnPopups = document.querySelectorAll('[data-popup]');\r\n btnPopups.forEach(function(item){\r\n window.popupHandle(item)\r\n })\r\n}\r\n\r\n\r\n// // const input = document.querySelector(\"input[file]\");\r\n// // const fileTypes = [\r\n// // \"image/apng\",\r\n// // \"image/bmp\",\r\n// // \"image/gif\",\r\n// // \"image/jpeg\",\r\n// // \"image/pjpeg\",\r\n// // \"image/png\",\r\n// // \"image/svg+xml\",\r\n// // \"image/tiff\",\r\n// // \"image/webp\",\r\n// // \"image/x-icon\"\r\n// // ];\r\n\r\n// let timeoutShow: any;\r\n\r\n// function closeHandle(){\r\n// let popups = document.querySelectorAll('.popup');\r\n// popups.forEach(function(popup:HTMLElement){\r\n// \t\tif (popup){\r\n// \t\t\tlet close = popup.querySelector('.close');\r\n// \t\t\tclose.onclick = function(e){\r\n// \t\t\t\tpopup.classList.remove('show');\r\n// \t\t\t\tpopup.style.display = \"none\";\r\n// \t\t\t}\r\n\t\t\t\r\n// \t\t\tpopup.addEventListener('click', function(e){\r\n// \t\t\t\te.stopPropagation();\r\n// \t\t\t\tlet elePopup = e.target;\r\n\t\t\r\n// \t\t\t\tif (elePopup.classList.contains('popup')){\r\n// \t\t\t\t\tpopup.classList.remove('show');\r\n// \t\t\t\t\tpopup.style.display = \"none\";\r\n// \t\t\t\t}\r\n// \t\t\t})\r\n\r\n\r\n// \t\t\tlet btnCancel = popup.querySelector('.cancel');\r\n// \t\t\tif (btnCancel){\r\n// \t\t\t\tbtnCancel.addEventListener('click', function(e){\r\n// \t\t\t\t\te.preventDefault();\r\n// \t\t\t\t\tpopup.classList.remove('show');\r\n// \t\t\t\t\tpopup.style.display = \"none\";\r\n// \t\t\t\t})\r\n// \t\t\t}\r\n// \t\t}\r\n\t\t\r\n// \t})\r\n\r\n// }\r\n\r\n// function showHandleChangePw(){\r\n// let popupLinks = document.querySelectorAll('a[href=\"#popup-changepw\"]');\r\n// popupLinks.forEach(function(item:HTMLElement){\r\n// item.onclick = function(e){\r\n// e.preventDefault();\r\n// let popup = document.querySelector('.popup-changepw');\r\n// popup.classList.add('show');\r\n\r\n// \t\t\tpopup.style.display = \"\";\r\n// }\r\n// })\r\n\r\n// let popupData = document.querySelectorAll('[data-popup=\"popup-changepw\"]');\r\n// popupData.forEach(function(item:HTMLElement){\r\n// item.onclick = function(e){\r\n// e.preventDefault();\r\n// let popup = document.querySelector('.popup-changepw');\r\n// popup.classList.add('show');\r\n// \t\t\tpopup.style.display = \"\";\r\n// }\r\n// })\r\n\r\n// \t// let popup = document.querySelector('.popup-notify');\r\n// \t// let text = popup.querySelector('.wrapper h2');\r\n// \t// text.innerHTML = \"Cảm ơn đã đăng kí ở đây!\";\r\n// \t// popup.classList.add('show');\r\n// }\r\n// function showHandleDel(){\r\n// let popupLinks = document.querySelectorAll('a[href=\"#popup-del\"]');\r\n// popupLinks.forEach(function(item:HTMLElement){\r\n// item.onclick = function(e){\r\n// e.preventDefault();\r\n// let popup = document.querySelector('.popup-del');\r\n// popup.classList.add('show');\r\n\r\n// \t\t\tpopup.style.display = \"\";\r\n// }\r\n// })\r\n\r\n// let popupData = document.querySelectorAll('[data-popup=\"popup-del\"]');\r\n// popupData.forEach(function(item:HTMLElement){\r\n// item.onclick = function(e){\r\n// e.preventDefault();\r\n// let popup = document.querySelector('.popup-del');\r\n// popup.classList.add('show');\r\n// \t\t\tpopup.style.display = \"\";\r\n// }\r\n// })\r\n// }\r\n\r\n\r\n// export const popup = function () {\r\n// \tshowHandleChangePw();\r\n// \tshowHandleDel();\r\n// \tcloseHandle();\r\n\r\n// \t// const sizeMb = 3;\r\n// \t// const totalBytes_max = sizeMb * 1048576;\r\n\r\n// \t// const inputItemFiles = document.querySelectorAll(\".inputFile\");\r\n// \t// inputItemFiles.forEach(function (inputItemFile) {\r\n// \t// \tconst input = (\r\n// \t// \t\tinputItemFile.querySelector(\".file-upload\")\r\n// \t// \t);\r\n// \t// \tinput.addEventListener(\"change\", updateImageDisplay);\r\n\r\n// \t// \tconst preview = inputItemFile.querySelector(\".preview\");\r\n// // preview.style.marginTop = \"0\";\r\n\r\n// \t// \tconst answerSuccessFirst = inputItemFile.querySelector(\r\n// \t// \t\t\".spanList .success\",\r\n// \t// \t).children[0].textContent;\r\n// \t// \tconst answerSuccessLast = inputItemFile.querySelector(\r\n// \t// \t\t\".spanList .success\",\r\n// \t// \t).children[1].textContent;\r\n// \t// \tconst answerErrorSize = inputItemFile.querySelector(\r\n// \t// \t\t\".spanList .errorSize\",\r\n// \t// \t).children[0].textContent;\r\n// \t// \tconst answerErrorFile = inputItemFile.querySelector(\r\n// \t// \t\t\".spanList .errorFile\",\r\n// \t// \t).children[0].textContent;\r\n\r\n// \t// \tconst fileTypes = input.getAttribute(\"accept\").split(\",\");\r\n\r\n// \t// \tfunction checkTotalSizeFiles(curFiles: any) {\r\n// \t// \t\tif (curFiles.length > 0) {\r\n// \t// \t\t\tlet sizeFile = 0;\r\n// \t// \t\t\tfor (const file of curFiles) {\r\n// \t// \t\t\t\tsizeFile += file.size;\r\n// \t// \t\t\t}\r\n\r\n// \t// \t\t\tif (sizeFile > totalBytes_max) {\r\n// \t// \t\t\t\treturn false;\r\n// \t// \t\t\t}\r\n// \t// \t\t}\r\n// \t// \t\treturn true;\r\n// \t// \t}\r\n\r\n// \t// \tfunction validFileType(file: any) {\r\n// \t// \t\t// if (file.type.includes(\"image/\") && fileTypes.includes(\"image/*\")) {\r\n// \t// \t\t// \treturn true;\r\n// \t// \t\t// }\r\n// \t// \t\treturn fileTypes.includes(file.type);\r\n// \t// \t}\r\n\r\n// \t// \tfunction returnFileSize(number: any) {\r\n// \t// \t\tif (number < 1024) {\r\n// \t// \t\t\treturn number + \"bytes\";\r\n// \t// \t\t} else if (number >= 1024 && number < 1048576) {\r\n// \t// \t\t\treturn (number / 1024).toFixed(1) + \"KB\";\r\n// \t// \t\t} else if (number >= 1048576) {\r\n// \t// \t\t\treturn (number / 1048576).toFixed(1) + \"MB\";\r\n// \t// \t\t}\r\n// \t// \t}\r\n\r\n// \t// \tfunction updateImageDisplay() {\r\n// // console.log(input.files);\r\n\r\n// \t// \t\twhile (preview.firstChild) {\r\n// \t// \t\t\tpreview.removeChild(preview.firstChild);\r\n// \t// \t\t}\r\n\r\n// \t// \t\tconst curFiles = input.files;\r\n// \t// \t\tif (checkTotalSizeFiles(curFiles) === false) {\r\n// \t// \t\t\tconst para = document.createElement(\"p\");\r\n// \t// \t\t\tpara.textContent = `${answerErrorSize} ${sizeMb}MB`;\r\n// \t// \t\t\tpreview.appendChild(para);\r\n// // preview.style.marginTop = \"\";\r\n// \t// \t\t\treturn;\r\n// \t// \t\t}\r\n \r\n// \t// \t\tif (curFiles.length > 0) {\r\n// // preview.style.marginTop = \"\";\r\n\r\n// \t// \t\t\tconst list = document.createElement(\"ol\");\r\n// \t// \t\t\tpreview.appendChild(list);\r\n\r\n// \t// \t\t\tfor (const file of curFiles) {\r\n// \t// \t\t\t\tconst listItem = document.createElement(\"li\");\r\n// \t// \t\t\t\tconst para = document.createElement(\"p\");\r\n\r\n// \t// \t\t\t\tif (validFileType(file)) {\r\n// \t// \t\t\t\t\tpara.textContent = `${answerSuccessFirst} \"${\r\n// \t// \t\t\t\t\t\tfile.name\r\n// \t// \t\t\t\t\t}\", ${answerSuccessLast} ${returnFileSize(file.size)}`;\r\n// \t// \t\t\t\t\tlistItem.appendChild(para);\r\n\r\n// \t// \t\t\t\t\t// const image = document.createElement(\"img\");\r\n// \t// \t\t\t\t\t// image.src = URL.createObjectURL(file);\r\n// \t// \t\t\t\t\t// listItem.appendChild(image);\r\n// \t// \t\t\t\t} else {\r\n// \t// \t\t\t\t\tpara.textContent = `${answerErrorFile}`;\r\n// \t// \t\t\t\t\tlistItem.appendChild(para);\r\n// \t// \t\t\t\t}\r\n\r\n// \t// \t\t\t\tlist.appendChild(listItem);\r\n// \t// \t\t\t}\r\n// \t// \t\t}\r\n// // else{\r\n// // preview.style.marginTop = \"0\";\r\n// // }\r\n// \t// \t}\r\n// \t// });\r\n\r\n\r\n// };\r\n","declare const window: any;\r\ndeclare const $: any;\r\nconst _window = window;\r\n\r\nexport const _base = function () {\r\n\twindow.delHandle = function (list: any, str: any) {\r\n\t\tif (typeof str == \"string\") {\r\n\t\t\tlist.forEach(function (item: HTMLElement) {\r\n\t\t\t\titem.classList.remove(str);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\twindow.getQueryString = function (params: any) {\r\n\t\tvar str = Object.keys(params)\r\n\t\t\t.map(function (key) {\r\n\t\t\t\treturn key + \"=\" + params[key];\r\n\t\t\t})\r\n\t\t\t.join(\"&\");\r\n\t\treturn str;\r\n\t};\r\n\r\n\t// mouse in seemore box\r\n\twindow.mouseBoxHandle = function (idSection: string, strHandle: string) {\r\n\t\tlet box = document.getElementById(idSection);\r\n\t\tif (!box) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet children = box.children;\r\n\t\tlet mouseHandle = box?.querySelector(strHandle);\r\n\t\tlet checkClick = false;\r\n\t\tlet interval: any;\r\n\r\n\t\t// if (window.innerWidth < 1024){\r\n\t\t// checkClick = true;\r\n\t\t// }\r\n\r\n\t\tfor (var i = 0; i < children.length; ++i) {\r\n\t\t\tlet ele = children[i];\r\n\t\t\tif (ele.classList.contains(\"item\")) {\r\n\t\t\t\tele.setAttribute(\"dt-item\", i.toString());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbox.style.position = \"relative\";\r\n\t\tbox.addEventListener(\"mousemove\", function (evt) {\r\n\t\t\tlet targetE = evt.target;\r\n\t\t\tif (targetE.classList.contains(\"item\")) {\r\n\t\t\t\tlet iItem = parseInt(targetE.getAttribute(\"dt-item\"));\r\n\t\t\t\tmouseHandle.style.display = \"inline-flex\";\r\n\t\t\t\tlet x = evt.offsetX / (window.innerWidth / 100);\r\n\t\t\t\tlet y =\r\n\t\t\t\t\t(evt.offsetY + targetE.offsetHeight * (iItem - 1)) /\r\n\t\t\t\t\t(window.innerHeight / 100);\r\n\t\t\t\tmouseHandle.style.left = x + \"vw\";\r\n\t\t\t\tmouseHandle.style.top = y + \"vh\";\r\n\t\t\t} else {\r\n\t\t\t\tmouseHandle.style.display = \"\";\r\n\t\t\t}\r\n\t\t\tif (!checkClick) {\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tcheckClick = true;\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tbox.addEventListener(\"mouseleave\", function (evt) {\r\n\t\t\tmouseHandle.style.display = \"\";\r\n\t\t\tclearInterval(interval);\r\n\t\t\tcheckClick = false;\r\n\t\t});\r\n\r\n\t\tfor (var i = 0; i < children.length; ++i) {\r\n\t\t\tlet ele = children[i];\r\n\t\t\tif (ele.classList.contains(\"item\")) {\r\n\t\t\t\tele.addEventListener(\"click\", function (e) {\r\n\t\t\t\t\tif (!checkClick) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\twindow.copyMaker = function(copyElement:HTMLElement, callback:Function){\r\n\t\tlet textCopy = copyElement.getAttribute('href');\r\n\t\tif (!textCopy || textCopy === \"#\"){\r\n\t\t\ttextCopy = window.location.href;\r\n\t\t}\r\n\r\n\t\tconst textElementSuccess = copyElement.getAttribute(\"dt-ss\") + \"\";\r\n\t\tconst textElementError = copyElement.getAttribute(\"dt-er\") + \"\";\r\n\r\n\t\ttry{\t\r\n\t\t\tcopyElement.removeAttribute('dt-ss');\r\n\t\t\tcopyElement.removeAttribute('dt-er');\r\n\r\n\t\t\tcopyElement.addEventListener(\"click\", function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tconst input = document.createElement(\"input\");\r\n\t\t\t\tinput.value = textCopy;\r\n\t\t\t\tinput.setAttribute('type', 'text');\r\n\t\t\t\tinput.style.height = \"0\";\r\n\t\t\t\tinput.style.opacity = \"0\";\r\n\t\t\t\tlet body = document.querySelector('body');\r\n\t\t\t\tbody.appendChild(input);\r\n\r\n\t\t\t\tinput.select();\r\n\r\n\t\t\t\tdocument.execCommand(\"copy\");\r\n\r\n\t\t\t\tinput.remove();\r\n\r\n\t\t\t\t// window.getSelection().selectAllChildren(input);\r\n\t\t\t\t// input.execCommand(\"copy\");\r\n\r\n\t\t\t\tcopyElement.setAttribute(\"tooltip\", textElementSuccess);\r\n\r\n\t\t\t\tcallback('success', textElementSuccess);\r\n\t\t\t});\r\n\r\n\t\t\t// copyElement.addEventListener(\"mouseover\", function(e){\r\n\t\t\t// \tcopyElement.setAttribute(\"tooltip\", textElement);\r\n\t\t\t// });\r\n\t\t}\r\n\t\tcatch{\r\n\t\t\tcallback('error', textElementError);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.addToastMsg = function(status:string, message:string){\r\n\t\tlet toastMsg = document.querySelector('.toast-msg');\r\n\t\tif (!toastMsg){\r\n\t\t\tlet eToast = document.createElement('ul');\r\n\t\t\teToast.classList.add('toast-msg');\r\n\r\n\t\t\ttoastMsg = eToast;\r\n\r\n\t\t\tdocument.body.appendChild(toastMsg);\r\n\t\t}\r\n\r\n\t\tlet item = document.createElement('li');\r\n\t\t\r\n\t\titem.classList.add(status);\r\n\r\n\t\titem.innerHTML = `\r\n\t\t\t

${message}

\r\n\t\t`;\r\n\t\tlet timeMsg = 3000;\r\n\t\tlet timeDurationMsg = 600;\r\n\r\n\t\tconst iChild = 5;\r\n\r\n\t\titem.style.transitionDuration = (timeDurationMsg / 1000) + \"s\";\r\n\r\n\t\titem.addEventListener('click', function(){\r\n\t\t\tlet promise = new Promise(function(res, rej){\r\n\t\t\t\titem.classList.remove('active');\r\n\t\t\t\tres(item);\r\n\t\t\t})\r\n\t\t\tpromise.then(function(value){\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.remove();\r\n\t\t\t\t}, timeDurationMsg)\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// time message\r\n\t\tlet timeout = new Promise(function(resole, reject){\r\n\t\t\ttry{\r\n\t\t\t\tif (!item){\r\n\t\t\t\t\tthrow 'Not item message!';\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.classList.add('active');\r\n\t\t\t\t\tresole(item);\r\n\t\t\t\t}, 0)\r\n\t\t\t}\r\n\t\t\tcatch(err){\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\ttimeout.then(function(item:HTMLElement){\r\n\t\t\treturn new Promise(function(resole, reject){\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.classList.remove('active');\r\n\t\t\t\t\tresole(item);\r\n\t\t\t\t}, timeMsg)\r\n\t\t\t})\r\n\t\t}).then(function(value:HTMLElement){\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tvalue.remove();\r\n\r\n\t\t\t\t// remove Toast list\r\n\t\t\t\tif (toastMsg.children.length === 0){\r\n\t\t\t\t\ttoastMsg.remove();\r\n\t\t\t\t}\r\n\t\t\t}, timeDurationMsg)\r\n\t\t})\r\n\t\t.catch(function(error){\r\n\t\t\tconsole.error(`${error}`)\r\n\t\t})\r\n\r\n\t\tif (toastMsg.children.length + 1 > iChild ){\r\n\t\t\ttoastMsg.children[0].remove();\r\n\t\t}\r\n\r\n\t\ttoastMsg.appendChild(item);\r\n\t}\r\n\r\n\twindow.targetHandle = function(target:any = document,checkCondition:Function, callBack:Function){\r\n\t\ttarget.addEventListener('click', function(e:any){\r\n\t\t\tlet target = e.target;\r\n\r\n\t\t\tif (checkCondition(target) === true){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\ttarget = target.parentElement;\r\n\t\t\tdo{\r\n\t\t\t\tif (checkCondition(target) === true){\r\n\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\ttarget = target.parentElement;\r\n\t\t\t}while(target.parentElement);\r\n\r\n\t\t\tcallBack();\r\n\t\t})\r\n\t}\r\n\r\n\tfunction closeHandle(target:any, callBack:Function){\r\n\t\ttarget.classList.remove('opened');\r\n\r\n\t\tcallBack(target);\r\n\t}\r\n\r\n\twindow.popupHandle = function(target:any, callBackClose:Function = function(){return\"\"}){\r\n\t\ttry{\r\n\t\t\tif (typeof target === 'string'){\r\n\t\t\t\ttarget = document.querySelector(`${target}`);\r\n\t\t\t}\r\n\r\n\t\t\tlet popup = document.querySelector(`${target.getAttribute('data-popup')}`);\r\n\t\t\tif (!popup){\r\n\t\t\t\tthrow `Not found popup: ${target.getAttribute('data-popup')}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (popup.classList.contains('initialized')){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet close = popup.querySelector('.close');\r\n\t\t\tif (close){\r\n\t\t\t\tclose.addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet cancel = popup.querySelector('.cancel');\r\n\t\t\tif (cancel){\r\n\t\t\t\tcancel.querySelector('a').addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t_window.targetHandle(popup, function(e:HTMLElement){\r\n\t\t\t\tif (e.classList.contains('wrapper')){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}, function(){\r\n\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\ttarget.addEventListener('click', function(e:any){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tpopup.classList.add('opened');\r\n\t\t\t})\r\n\r\n\t\t\tpopup.classList.add(\"initialized\");\r\n\t\t}\r\n\t\tcatch(err){\r\n\t\t\tconsole.error(err);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.initPopupHandle = function(target:any, callBackClose:Function = function(){return\"\"}){\r\n\t\ttry{\r\n\t\t\tlet popup = target;\r\n\t\t\tif (typeof target === \"string\"){\r\n\t\t\t\tpopup = document.querySelector(target);\r\n\t\t\t}\r\n\t\t\tif (!popup){\r\n\t\t\t\tthrow `Not found popup: ${target.getAttribute('data-popup')}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (popup.classList.contains('initialized')){\r\n\t\t\t\tpopup.classList.add('opened');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet close = popup.querySelector('.close');\r\n\t\t\tif (close){\r\n\t\t\t\tclose.addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet cancel = popup.querySelector('.cancel');\r\n\t\t\tif (cancel){\r\n\t\t\t\tcancel.querySelector('a').addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t_window.targetHandle(popup, function(e:HTMLElement){\r\n\t\t\t\tif (e.classList.contains('wrapper')){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}, function(){\r\n\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t// target.addEventListener('click', function(e:any){\r\n\t\t\t// \te.preventDefault();\r\n\t\t\t// })\r\n\t\t\t\r\n\t\t\tpopup.classList.add('opened');\r\n\t\t\tpopup.classList.add(\"initialized\");\r\n\t\t}\r\n\t\tcatch(err){\r\n\t\t\tconsole.error(err);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.backToTop = (target:HTMLElement, strQuery: string) => {\r\n\t\tconst backtotop = document.querySelector(strQuery);\r\n\t\tif (backtotop && target){\r\n\t\t\t\r\n\t\t\tconst handleScroll = () => {\r\n\t\t\t\tlet top = target.getBoundingClientRect().top;\r\n\t\t\t\tif (top <= window.innerHeight + 200){\r\n\t\t\t\t\tbacktotop.classList.add(\"showed\");\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\thandleScroll();\r\n\t\t\t\r\n\t\t\tlet timeout:any;\r\n\t\t\twindow.addEventListener('scroll', () => {\r\n\t\t\t\tclearTimeout(timeout);\r\n\t\t\t\ttimeout = setTimeout(handleScroll, 200);\r\n\t\t\t})\r\n\r\n\r\n\r\n\t\t\tconst handleClick = (e:any) =>{\r\n\t\t\t\te.preventDefault();\r\n\t\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\tbehavior: \"smooth\"\t\t\t\t\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tbacktotop.onclick = handleClick;\r\n\t\t}\r\n\t}\r\n};\r\n","declare const $: any;\r\n\r\nexport const _imgClass = function(){\r\n $(\"img.svg\").each((function () {\r\n var t = $(this),\r\n e = t.attr(\"id\"),\r\n n = t.attr(\"class\"),\r\n a = t.attr(\"src\");\r\n $.get(a, (function (a:any) {\r\n var i = $(a).find(\"svg\");\r\n void 0 !== e && (i = i.attr(\"id\", e)),\r\n void 0 !== n && (i = i.attr(\"class\", n + \" replaced-svg\")),\r\n !(i = i.removeAttr(\"xmlns:a\")).attr(\"viewBox\") && i.attr(\"height\") && i.attr(\"width\") && i.attr(\"viewBox\", \"0 0 \" + i.attr(\"height\") + \" \" + i.attr(\"width\")), t.replaceWith(i)\r\n }), \"xml\")\r\n }))\r\n}\r\n","declare const Fancybox:any;\r\n\r\nfunction init(){ \r\n let ls = document.querySelectorAll('a[data-fancybox]');\r\n let arrayFancy:any[] = [];\r\n ls.forEach(function(item){\r\n if (!arrayFancy.includes(item.getAttribute('data-fancybox'))){\r\n arrayFancy.push(item.getAttribute('data-fancybox'));\r\n }\r\n })\r\n\r\n arrayFancy.forEach(function(item){\r\n Fancybox.bind(`[data-fancybox=\"${item}\"]`, {\r\n Thumbs: {\r\n Carousel: {\r\n fill: false,\r\n center: true,\r\n },\r\n },\r\n \r\n Image: {\r\n zoom: true,\r\n },\r\n\r\n youtube: {\r\n controls: 1,\r\n showinfo: 0\r\n }\r\n });\r\n })\r\n}\r\n\r\n\r\n\r\nexport const fancyboxLib = function(){\r\n init();\r\n}","declare const gsap: any;\r\ndeclare const $: any;\r\nconst tl = gsap.timeline();\r\n\r\nfunction effectTop(...element:any){\r\n element.forEach(function(item:any){\r\n if (item && item.length === undefined){\r\n tl.set(item, {\r\n y: 100,\r\n opacity: 0\r\n })\r\n }else if (item && item.length > 0){\r\n tl.set(item, {\r\n y: 100,\r\n opacity: 0\r\n })\r\n }\r\n })\r\n}\r\nfunction effectBottom(...element:any){\r\n element.forEach(function(item:any){\r\n if (item && item.length === undefined){\r\n tl.set(item, {\r\n y: -100,\r\n opacity: 0\r\n })\r\n }else if (item && item.length > 0){\r\n tl.set(item, {\r\n y: -100,\r\n opacity: 0\r\n })\r\n }\r\n })\r\n}\r\nfunction effectLeft(...element:any){\r\n element.forEach(function(item:any){\r\n if (item && item.length === undefined){\r\n tl.set(item, {\r\n x: -100,\r\n opacity: 0\r\n })\r\n }else if (item && item.length > 0){\r\n tl.set(item, {\r\n x: -100,\r\n opacity: 0\r\n })\r\n }\r\n })\r\n}\r\nfunction effectRight(...element:any){\r\n element.forEach(function(item:any){\r\n if (item && item.length === undefined){\r\n tl.set(item, {\r\n x: 100,\r\n opacity: 0\r\n })\r\n }else if (item && item.length > 0){\r\n tl.set(item, {\r\n x: 100,\r\n opacity: 0\r\n })\r\n }\r\n })\r\n}\r\n\r\nfunction effectScale(...element:any){\r\n element.forEach(function(item:any){\r\n if (item.length === undefined){\r\n item && tl.set(item, {\r\n scale: 0,\r\n opacity: 0\r\n })\r\n }else if (item && item.length > 0){\r\n tl.set(item, {\r\n scale: 0,\r\n opacity: 0\r\n })\r\n }\r\n })\r\n}\r\n\r\nexport const gsapInitScroll = function () {\r\n initHeader();\r\n\r\n if (document.getElementById('indexPage')) {\r\n effectTop(\r\n document.querySelector(\".idx-1__title\"), \r\n document.querySelector(\".idx-1-more\"), \r\n document.querySelector(\".idx-1__desc\"),\r\n document.querySelectorAll('.idx-6-slider .item-logo'), \r\n document.querySelectorAll('.idx-7-ls>li .name'), \r\n $('.idx-7-ls>li .text'),\r\n $('.idx-5-ls .item'),\r\n $('.idx-5-all'),\r\n );\r\n\r\n // $('.idx-2 .quote') && tl.set($('.idx-2 .quote'), {\r\n // x: '100%',\r\n // opacity: 0,\r\n // })\r\n\r\n effectRight($('.idx-2 .quote'));\r\n\r\n $('.idx-3__thumbnail') && tl.set($('.idx-3__thumbnail'), {\r\n scale: 2\r\n })\r\n\r\n let idx4Odd = document.querySelector('.idx-4--section:nth-of-type(2n+1)');\r\n let idx4Even = document.querySelector('.idx-4--section:nth-of-type(2n)');\r\n\r\n idx4Odd && tl.set([idx4Odd.querySelector('.idx-4__bg'), idx4Odd.querySelector('.idx-4-content')], {\r\n x: '50vw',\r\n opacity: 0,\r\n })\r\n idx4Even && tl.set([idx4Even.querySelector('.idx-4__bg'), idx4Even.querySelector('.idx-4-content')], {\r\n x: '-50vw',\r\n opacity: 0,\r\n })\r\n\r\n\r\n effectLeft(document.querySelector('.idx-6-content .title'), document.querySelector('.idx-6-content .desc'), \r\n document.querySelector('.idx-7__title'), document.querySelector('.idx-7__desc'));\r\n \r\n\r\n $(\".idx-7-ls>li\") && tl.set($(\".idx-7-ls>li\"), {\r\n scale: 2,\r\n opacity: 0\r\n })\r\n }\r\n else if(document.getElementById('aboutPage')){\r\n\r\n effectTop(\r\n document.querySelector('.ab-1__title'),\r\n document.querySelector('.ab-1-wrapper'),\r\n document.querySelector('.ab-3__title'),\r\n document.querySelector('.ab-3-desc'),\r\n document.querySelector('.ab-4__title'),\r\n document.querySelector('.ab-4__desc'),\r\n document.querySelectorAll('.ab-4-wrapper .partner-ls'),\r\n document.querySelector('.ab-5__title'),\r\n document.querySelector('.ab-5__desc')\r\n );\r\n\r\n document.querySelector('.ab-3 .timeline__bg img') && tl.set(document.querySelector('.ab-3 .timeline__bg img'), {\r\n scale: 2,\r\n })\r\n\r\n effectLeft(\r\n document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n + 1) .item-content'),\r\n document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n) .item__thumbnail'),\r\n );\r\n effectRight(\r\n document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n) .item-content'), \r\n document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n + 1) .item__thumbnail'),\r\n );\r\n \r\n effectScale(\r\n document.querySelectorAll('.ab-5-wrapper .opt'), \r\n document.querySelectorAll('.ab-5-wrapper .wrapper-item .item-slide')\r\n );\r\n \r\n effectBottom(\r\n document.querySelectorAll('.ab-3-timeline .timeline-ls .item:nth-of-type(2n + 1)')\r\n );\r\n effectTop(\r\n document.querySelectorAll('.ab-3-timeline .timeline-ls .item:nth-of-type(2n)'), \r\n );\r\n }\r\n\r\n else if (document.getElementById('productsPage')){\r\n effectTop(\r\n document.querySelector('.pro-1__title'),\r\n document.querySelectorAll('.pro-1 .wrapper-ls .item')\r\n );\r\n\r\n }\r\n else if (document.getElementById('newsPage')){\r\n effectTop(\r\n document.querySelector('.news-1__title'),\r\n document.querySelectorAll('.news-1-wrapper .wrapper-ls .item .item-content>*'),\r\n );\r\n effectRight(\r\n document.querySelectorAll('.news-1-wrapper .wrapper-ls .item .item-thumbnail')\r\n );\r\n }\r\n else if (document.getElementById('contactPage')){\r\n effectTop(\r\n document.querySelector('.ct-1__title'),\r\n document.querySelectorAll('.ct-1-wrapper .content-infor .item .infor>*'),\r\n\r\n document.querySelector('.ct-2-box'),\r\n document.querySelector('.ct-2-box .ct-2__title'),\r\n\r\n document.querySelectorAll('.ct-2-box .group-nav'),\r\n document.querySelectorAll('.ct-2-box .group-form'),\r\n\r\n document.querySelectorAll('.ct-3-wrapper .question-ls .item'),\r\n );\r\n effectRight(\r\n document.querySelector('.ct-1-wrapper .maps'),\r\n );\r\n \r\n effectLeft(\r\n document.querySelector('.ct-1-wrapper .content .name'),\r\n document.querySelector('.ct-1-wrapper .content .addr'),\r\n\r\n document.querySelector('.ct-3__title'),\r\n );\r\n\r\n effectScale(\r\n document.querySelectorAll('.ct-1-wrapper .content-infor .item .icon'),\r\n );\r\n }\r\n \r\n if (document.querySelector('.infor-template')){\r\n let title = document.querySelector('.infor-template__title');\r\n let desc = document.querySelector('.infor-template__desc');\r\n\r\n let wrapper = document.querySelector('.infor-template-wrapper');\r\n let nameWrapper = wrapper?.querySelectorAll('.name');\r\n let descWrapper = wrapper?.querySelectorAll('.desc>*');\r\n let moreWrapper = wrapper?.querySelectorAll('.more');\r\n let thumbWrapper = wrapper?.querySelectorAll('.item__thumbnail');\r\n let thumbVideoWrapper = wrapper?.querySelectorAll('.item__thumbnail--video');\r\n\r\n effectTop(\r\n title, desc, nameWrapper, descWrapper, moreWrapper\r\n );\r\n \r\n effectLeft(\r\n document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n + 1) .item__thumbnail'),\r\n document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n + 1) .item__thumbnail--video')\r\n );\r\n\r\n effectRight(\r\n document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n) .item__thumbnail'),\r\n document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n) .item__thumbnail--video')\r\n );\r\n }\r\n\r\n effectTop(\r\n document.querySelectorAll('.pagination'),\r\n document.querySelectorAll('.effect-top'),\r\n document.querySelectorAll('.effect-top-stagger>*')\r\n );\r\n\r\n effectLeft(\r\n document.querySelectorAll('.navbar'),\r\n document.querySelectorAll('.effect-left'),\r\n document.querySelectorAll('.effect-left-stagger>*')\r\n );\r\n\r\n effectRight(\r\n document.querySelectorAll('.breadcrumbs>ul>li'),\r\n document.querySelectorAll('.effect-right'),\r\n document.querySelectorAll('.effect-right-stagger>*'),\r\n );\r\n\r\n effectBottom(\r\n document.querySelectorAll('.effect-bottom'),\r\n document.querySelectorAll('.effect-bottom-stagger>*'),\r\n );\r\n\r\n initSectionContact();\r\n initFooter();\r\n}\r\n\r\nfunction initHeader() {\r\n let header = document.querySelector('.header');\r\n if (!header) {\r\n return false;\r\n }\r\n\r\n effectLeft(\r\n header.querySelector('.logo'),\r\n );\r\n\r\n effectRight(\r\n header.querySelector('.languages')\r\n );\r\n \r\n effectTop(\r\n header.querySelectorAll('.header-navbar>ul>li'),\r\n );\r\n}\r\n\r\nfunction initSectionContact() {\r\n let element = document.querySelector('.section-contact');\r\n if (element) {\r\n effectTop(\r\n element.querySelector('.section-contact-form')\r\n );\r\n effectLeft(\r\n element.querySelector('.content-desc'),\r\n element.querySelector('.content-name'),\r\n element.querySelectorAll('.content-footer .item'),\r\n );\r\n }\r\n}\r\n\r\nfunction initFooter() {\r\n let element = document.querySelector('.footer');\r\n if (element) {\r\n element.querySelector('.footer-top .logo') && tl.set([element.querySelector('.footer-top .logo')], {\r\n x: 100,\r\n opacity: 0\r\n })\r\n element.querySelectorAll('.footer-navbar>ul>li').length > 0 && tl.set(element.querySelectorAll('.footer-navbar>ul>li'), {\r\n y: -40,\r\n opacity: 0,\r\n })\r\n element.querySelectorAll('.footer-information .item').length > 0 && tl.set(element.querySelectorAll('.footer-information .item'), {\r\n x: 120,\r\n opacity: 0\r\n })\r\n element.querySelector('.footer-copyright') && tl.set([element.querySelector('.footer-copyright')], {\r\n scale: 0\r\n })\r\n }\r\n}\r\n\r\n// export const gsapInitScroll = function () {\r\n// initHeader();\r\n\r\n// if (document.getElementById('indexPage')) {\r\n// tl.set([document.querySelector(\".idx-1__title\"),\r\n// document.querySelector(\".idx-1-more\"),\r\n// document.querySelector(\".idx-1__desc\")], {\r\n// y: 300,\r\n// opacity: 0\r\n// })\r\n// tl.set($('.idx-2 .quote'), {\r\n// opacity: 0,\r\n// x: '100%'\r\n// })\r\n\r\n// tl.set($('.idx-3__thumbnail'), {\r\n// scale: 2\r\n// })\r\n\r\n// let idx4Odd = document.querySelector('.idx-4--section:nth-of-type(2n+1)');\r\n// let idx4Even = document.querySelector('.idx-4--section:nth-of-type(2n)');\r\n\r\n// idx4Odd && tl.set([idx4Odd.querySelector('.idx-4__bg'), idx4Odd.querySelector('.idx-4-content')], {\r\n// x: '50vw',\r\n// opacity: 0,\r\n// })\r\n// idx4Even && tl.set([idx4Even.querySelector('.idx-4__bg'), idx4Even.querySelector('.idx-4-content')], {\r\n// x: '-50vw',\r\n// opacity: 0,\r\n// })\r\n\r\n// tl.set([$('.idx-5-ls .item'), $('.idx-5-all')], {\r\n// opacity: 0,\r\n// y: '20vh'\r\n// })\r\n\r\n\r\n// tl.set([document.querySelector('.idx-6-content .title'), document.querySelector('.idx-6-content .desc'),\r\n// document.querySelector('.idx-7__title'), document.querySelector('.idx-7__desc')], {\r\n// x: -100,\r\n// opacity: 0,\r\n// }).set([$('.idx-6-slider .item-logo'),\r\n// $(\".idx-7-ls>li .name\"), $('.idx-7-ls>li .text')], {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n\r\n// tl.set([$(\".idx-7-ls>li\")], {\r\n// scale: 2,\r\n// opacity: 0\r\n// })\r\n// }\r\n// else if(document.getElementById('aboutPage')){\r\n// tl.set([document.querySelector('.ab-1__title'),\r\n// document.querySelector('.ab-1-wrapper'),\r\n// document.querySelector('.ab-3__title'),\r\n// document.querySelector('.ab-3-desc'),\r\n// document.querySelector('.ab-4__title'),\r\n// document.querySelector('.ab-4__desc'),\r\n// document.querySelectorAll('.ab-4-wrapper .partner-ls'),\r\n// document.querySelector('.ab-5__title'),\r\n// document.querySelector('.ab-5__desc')], {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n\r\n// tl.set([document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n + 1) .item-content'),\r\n// document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n) .item__thumbnail')], {\r\n// x: -100,\r\n// opacity: 0\r\n// }).set([document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n) .item-content'),\r\n// document.querySelectorAll('.ab-2-wrapper .item:nth-of-type(2n + 1) .item__thumbnail')], {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// tl.set(document.querySelector('.ab-3 .timeline__bg img'), {\r\n// scale: 2,\r\n// })\r\n// .set([document.querySelectorAll('.ab-3-timeline .timeline-ls .item:nth-of-type(2n + 1)')], {\r\n// y: -100,\r\n// opacity: 0,\r\n// }).set([document.querySelectorAll('.ab-3-timeline .timeline-ls .item:nth-of-type(2n)')], {\r\n// y: 100,\r\n// opacity: 0,\r\n// }).set(document.querySelectorAll('.ab-5-wrapper .opt'), {\r\n// scale: 0,\r\n// opacity: 0\r\n// }).set(document.querySelectorAll('.ab-5-wrapper .wrapper-item .item-slide'), {\r\n// scale: 0,\r\n// opacity: 0\r\n// })\r\n// }\r\n\r\n// else if (document.getElementById('productsPage')){\r\n// tl.set([document.querySelector('.pro-1__title')], {\r\n// y: 100,\r\n// opacity: 0\r\n// }).set(document.querySelectorAll('.pro-1 .wrapper-ls .item'), {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// }\r\n// else if (document.getElementById('newsPage')){\r\n// tl.set([document.querySelector('.news-1__title')], {\r\n// y: 100,\r\n// opacity: 0\r\n// }).set(document.querySelectorAll('.news-1-wrapper .wrapper-ls .item .item-content>*'), {\r\n// y: 100,\r\n// opacity: 0\r\n// }).set(document.querySelectorAll('.news-1-wrapper .wrapper-ls .item .item-thumbnail'), {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// }\r\n \r\n// if (document.querySelector('.infor-template')){\r\n// let title = document.querySelector('.infor-template__title');\r\n// let desc = document.querySelector('.infor-template__desc');\r\n\r\n// let wrapper = document.querySelector('.infor-template-wrapper');\r\n// let nameWrapper = wrapper?.querySelectorAll('.name');\r\n// let descWrapper = wrapper?.querySelectorAll('.desc>*');\r\n// let moreWrapper = wrapper?.querySelectorAll('.more');\r\n// let thumbWrapper = wrapper?.querySelectorAll('.item__thumbnail');\r\n// let thumbVideoWrapper = wrapper?.querySelectorAll('.item__thumbnail--video');\r\n\r\n// title && tl.set(title, {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// desc && tl.set(desc, {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n \r\n// nameWrapper.length > 0 && tl.set(nameWrapper, {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// descWrapper.length > 0 && tl.set(descWrapper, {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// moreWrapper.length > 0 && tl.set(moreWrapper, {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// thumbWrapper.length > 1 && tl.set(document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n) .item__thumbnail'), {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// thumbWrapper.length > 0 && tl.set(document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n + 1) .item__thumbnail'), {\r\n// x: -100,\r\n// opacity: 0\r\n// })\r\n// thumbVideoWrapper.length > 1 && tl.set(document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n) .item__thumbnail--video'), {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// thumbVideoWrapper.length > 0 && tl.set(document.querySelectorAll('.infor-template-wrapper .item:nth-of-type(2n + 1) .item__thumbnail--video'), {\r\n// x: -100,\r\n// opacity: 0\r\n// })\r\n\r\n// }\r\n\r\n// document.querySelector('.breadcrumbs>ul>li') && tl.set(document.querySelectorAll('.breadcrumbs>ul>li'), {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// document.querySelector('.navbar') && tl.set(document.querySelectorAll('.navbar'), {\r\n// x: -100,\r\n// opacity: 0\r\n// })\r\n// document.querySelector('.pagination') && tl.set(document.querySelectorAll('.pagination'), {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n\r\n// initSectionContact();\r\n// initFooter();\r\n// }\r\n\r\n// function initHeader() {\r\n// let header = document.querySelector('.header');\r\n// if (!header) {\r\n// return false;\r\n// }\r\n// tl.set([header.querySelector('.logo'),\r\n// header.querySelector('.header-navbar'),\r\n// header.querySelector('.languages')], {\r\n// opacity: 0,\r\n// scale: 0,\r\n// }).set(header.querySelector('.logo'), {\r\n// x: -100,\r\n// }).set(header.querySelector('.languages'), {\r\n// x: 100,\r\n// })\r\n// }\r\n\r\n// function initSectionContact() {\r\n// let element = document.querySelector('.section-contact');\r\n// if (element) {\r\n// element.querySelector('.content-name') && tl.set(element.querySelector('.content-name'), {\r\n// x: -100,\r\n// opacity: 0,\r\n// })\r\n// element.querySelector('.content-desc') && tl.set(element.querySelector('.content-desc'), {\r\n// x: -100,\r\n// opacity: 0,\r\n// })\r\n// element.querySelectorAll('.content-footer .item') && tl.set(element.querySelectorAll('.content-footer .item'), {\r\n// x: -100,\r\n// opacity: 0,\r\n// })\r\n// element.querySelector('.section-contact-form') && tl.set(element.querySelector('.section-contact-form'), {\r\n// y: 100,\r\n// opacity: 0\r\n// })\r\n// }\r\n// }\r\n\r\n// function initFooter() {\r\n// let element = document.querySelector('.footer');\r\n// if (element) {\r\n// element.querySelector('.footer-top .logo') && tl.set([element.querySelector('.footer-top .logo')], {\r\n// x: 100,\r\n// opacity: 0\r\n// })\r\n// element.querySelectorAll('.footer-navbar>ul>li').length > 0 && tl.set(element.querySelectorAll('.footer-navbar>ul>li'), {\r\n// y: -40,\r\n// opacity: 0,\r\n// })\r\n// element.querySelectorAll('.footer-information .item').length > 0 && tl.set(element.querySelectorAll('.footer-information .item'), {\r\n// x: 120,\r\n// opacity: 0\r\n// })\r\n// element.querySelector('.footer-copyright') && tl.set([element.querySelector('.footer-copyright')], {\r\n// scale: 0\r\n// })\r\n// }\r\n// }","declare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const $:any;\r\ngsap.registerPlugin(ScrollTrigger);\r\n\r\nconst durationDefault = 0.4725;\r\n\r\nfunction initObjST(element: any, obj:any = {}){\r\n if (element){\r\n return {\r\n scrollTrigger: {\r\n trigger: element,\r\n start: \"top 90%\",\r\n end: \"center 70%\",\r\n toggleClass: \"gsap-actived\",\r\n ...obj\r\n }\r\n }\r\n }\r\n else{\r\n return {}\r\n }\r\n}\r\n\r\nfunction gsapToElement(element:any, outObj:any = {}, inObj:any = {}){\r\n if (element){\r\n let initSt = initObjST(element, inObj);\r\n let objEffect = {\r\n ...outObj,\r\n ...initSt,\r\n }\r\n \r\n gsap.to(element, objEffect)\r\n }\r\n \r\n}\r\n\r\nexport const gsapScroll = function () {\r\n initHeader();\r\n\r\n effectDefault();\r\n homepage();\r\n aboutPage();\r\n productsPage();\r\n newsPage();\r\n contactPage();\r\n\r\n initSectionContact();\r\n initFooter();\r\n\r\n document.querySelectorAll('.breadcrumbs>ul>li').length > 0 && gsapToElement(document.querySelectorAll('.breadcrumbs>ul>li'), {\r\n x: 0,\r\n opacity: 1,\r\n stagger: 0.2,\r\n duration: 0.6\r\n });\r\n\r\n if (document.querySelector('.infor-template')){\r\n document.querySelector('.infor-template__title') && gsapToElement(document.querySelector('.infor-template__title'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n }) \r\n document.querySelector('.infor-template__desc') && gsapToElement(document.querySelector('.infor-template__desc'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n })\r\n\r\n let items = document.querySelectorAll('.infor-template-wrapper .item');\r\n items.forEach(function(item){\r\n let tl = gsap.timeline(initObjST(item));\r\n if(item.querySelector('.item__thumbnail')){\r\n tl.to(item.querySelector('.item__thumbnail'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1,\r\n })\r\n }\r\n if(item.querySelector('.item__thumbnail--video')){\r\n tl.to(item.querySelector('.item__thumbnail--video'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1,\r\n })\r\n }\r\n if(item.querySelector('.item-content .name')){\r\n tl.to(item.querySelector('.item-content .name'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: .3,\r\n }, \"<\")\r\n }\r\n if(item.querySelector('.item-content .desc>*')){\r\n tl.to(item.querySelectorAll('.item-content .desc>*'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: .3,\r\n stagger: .1\r\n })\r\n }\r\n if(item.querySelector('.item-content .more')){\r\n tl.to(item.querySelector('.item-content .more'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: .3,\r\n })\r\n }\r\n })\r\n }\r\n\r\n document.querySelector('.navbar') && gsapToElement(document.querySelectorAll('.navbar'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n \r\n document.querySelector('.pagination') && gsapToElement(document.querySelectorAll('.pagination'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n\r\n return true;\r\n}\r\n\r\nfunction effectDefault(){\r\n document.querySelector('.effect-top') && gsapToElement(document.querySelectorAll('.effect-top'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n document.querySelector('.effect-top-stagger>*') && gsapToElement(document.querySelectorAll('.effect-top-stagger>*'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1,\r\n stagger: 0.2\r\n });\r\n document.querySelector('.effect-bottom') && gsapToElement(document.querySelectorAll('.effect-bottom'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n document.querySelector('.effect-bottom-stagger>*') && gsapToElement(document.querySelectorAll('.effect-bottom-stagger>*'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1,\r\n stagger: 0.2\r\n });\r\n document.querySelector('.effect-left') && gsapToElement(document.querySelectorAll('.effect-left'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n document.querySelector('.effect-left-stagger>*') && gsapToElement(document.querySelectorAll('.effect-left-stagger>*'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1,\r\n stagger: 0.2\r\n });\r\n document.querySelector('.effect-right') && gsapToElement(document.querySelectorAll('.effect-right'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n document.querySelector('.effect-right-stagger>*') && gsapToElement(document.querySelectorAll('.effect-right-stagger>*'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1,\r\n stagger: 0.2\r\n });\r\n}\r\n\r\nfunction contactPage(){\r\n if(!document.getElementById('contactPage')){\r\n return false;\r\n }\r\n\r\n gsapToElement(document.querySelector('.ct-1__title'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n });\r\n\r\n let items = document.querySelectorAll('.ct-1-wrapper');\r\n items.forEach(function(item){\r\n let tl = gsap.timeline(initObjST(item));\r\n item.querySelector('.maps') && tl.to(item.querySelector('.maps'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n ease: \"none\"\r\n })\r\n\r\n item.querySelector('.content .name') && tl.to(item.querySelector('.content .name'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault\r\n })\r\n item.querySelector('.content .addr') && tl.to(item.querySelector('.content .addr'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault\r\n }, \"<\")\r\n\r\n item.querySelectorAll('.content-infor .item .infor>*').length > 0 && tl.to(item.querySelectorAll('.content-infor .item .infor>*'), {\r\n y: 0,\r\n opacity: 1,\r\n stagger: 0.1,\r\n duration: 0.4,\r\n ease: \"none\"\r\n })\r\n item.querySelectorAll('.content-infor .item .icon').length > 0 && tl.to(item.querySelectorAll('.content-infor .item .icon'), {\r\n scale: 1,\r\n opacity: 1,\r\n stagger: 0.1,\r\n duration: 0.4,\r\n ease: \"none\"\r\n }, \"<\")\r\n })\r\n\r\n gsapToElement(document.querySelector('.ct-2-box'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n });\r\n gsapToElement(document.querySelector('.ct-2-box .ct-2__title'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n });\r\n gsapToElement(document.querySelectorAll('.ct-2-box .group-nav'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n });\r\n gsapToElement(document.querySelectorAll('.ct-2-box .group-form'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n });\r\n\r\n gsapToElement(document.querySelector('.ct-3__title'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n\r\n gsapToElement(document.querySelectorAll('.ct-3-wrapper .question-ls .item'), {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n });\r\n\r\n}\r\nfunction newsPage(){\r\n if(!document.getElementById('newsPage')){\r\n return false;\r\n }\r\n gsapToElement(document.querySelector('.news-1__title'), {\r\n y: 0,\r\n opacity: 1\r\n });\r\n\r\n let items = document.querySelectorAll('.news-1-wrapper .wrapper-ls .item');\r\n items.forEach(function(item){\r\n let tl = gsap.timeline(initObjST(item));\r\n item.querySelectorAll('.item-content>*').length > 0 && tl.to(item.querySelectorAll('.item-content>*'), {\r\n y: 0,\r\n opacity: 1,\r\n stagger: 0.2,\r\n duration: durationDefault,\r\n ease: \"none\"\r\n })\r\n item.querySelector('.item-thumbnail') && tl.to(item.querySelector('.item-thumbnail'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n ease: \"none\"\r\n }, \"<\")\r\n })\r\n}\r\n\r\nfunction productsPage(){\r\n if(!document.getElementById('productsPage')){\r\n return false;\r\n }\r\n const outObjY= {\r\n opacity: 1,\r\n y: 0,\r\n duration: durationDefault,\r\n }\r\n gsapToElement(document.querySelector('.pro-1__title'), outObjY);\r\n gsapToElement(document.querySelectorAll('.pro-1 .wrapper-ls .item'), {\r\n opacity: 1,\r\n y: 0,\r\n stagger: 0.3,\r\n duration: durationDefault,\r\n });\r\n}\r\n\r\nfunction aboutPage(){\r\n if(!document.getElementById('aboutPage')){\r\n return false;\r\n }\r\n const outObjX= {\r\n opacity: 1,\r\n x: 0,\r\n stagger: .1,\r\n duration: durationDefault,\r\n }\r\n const outObjY= {\r\n opacity: 1,\r\n y: 0,\r\n stagger: .1,\r\n duration: durationDefault,\r\n }\r\n\r\n const scaleDefault = {\r\n scale: 1,\r\n opacity: 1,\r\n duration: durationDefault,\r\n }\r\n\r\n gsapToElement(document.querySelector('.ab-1__title'), outObjY);\r\n gsapToElement(document.querySelector('.ab-1-wrapper'), outObjY);\r\n \r\n gsapToElement(document.querySelectorAll('.ab-2-wrapper .item-content'), outObjX);\r\n gsapToElement(document.querySelectorAll('.ab-2-wrapper .item__thumbnail'), outObjX);\r\n\r\n\r\n gsapToElement(document.querySelector('.ab-3__title'), outObjY);\r\n gsapToElement(document.querySelector('.ab-3-desc'), outObjY);\r\n gsapToElement(document.querySelector('.ab-3 .timeline__bg img'), scaleDefault);\r\n \r\n gsapToElement(document.querySelectorAll('.ab-3-timeline .timeline-ls .item'), outObjY);\r\n\r\n gsapToElement(document.querySelector('.ab-4__title'), outObjY);\r\n gsapToElement(document.querySelector('.ab-4__desc'), outObjY);\r\n \r\n gsapToElement(document.querySelectorAll('.ab-4-wrapper .partner-ls'), outObjY);\r\n \r\n gsapToElement(document.querySelector('.ab-5__title'), outObjY);\r\n gsapToElement(document.querySelector('.ab-5__desc'), outObjY);\r\n gsapToElement(document.querySelectorAll('.ab-5-wrapper .opt'), scaleDefault);\r\n gsapToElement(document.querySelectorAll('.ab-5-wrapper .wrapper-item .item-slide'), scaleDefault);\r\n\r\n return true;\r\n}\r\n\r\nfunction initHeader(){\r\n let header = document.querySelector('.header');\r\n if (header){\r\n const tl = gsap.timeline();\r\n \r\n header.querySelector('.logo') && tl.to(header.querySelector('.logo'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 0.4,\r\n ease: \"none\"\r\n })\r\n header.querySelector('.header-navbar') && tl.to(header.querySelectorAll('.header-navbar>ul>li'), {\r\n y: 0,\r\n opacity: 1,\r\n stagger: 0.1,\r\n duration: 0.4\r\n }, \"<\")\r\n header.querySelector('.languages') && tl.to(header.querySelector('.languages'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: 0.4,\r\n ease: \"none\"\r\n }, \"<\")\r\n \r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction homepage(){\r\n if (document.getElementById('indexPage')){\r\n initIndex1();\r\n initCube();\r\n\r\n initIndex2();\r\n initIndex3();\r\n initIndex4();\r\n initIndex5();\r\n initIndex6();\r\n initIndex7();\r\n\r\n return true;\r\n }\r\n}\r\n\r\nfunction initIndex1(){\r\n let elem = document.querySelector('.idx-1');\r\n if (!elem){\r\n return false;\r\n }\r\n const tl = gsap.timeline(initObjST(elem));\r\n\r\n let objEffect = {\r\n y: 0,\r\n opacity: 1,\r\n duration: 1\r\n };\r\n\r\n elem.querySelector(\".idx-1__title\") && tl.to(elem.querySelector(\".idx-1__title\"), objEffect)\r\n elem.querySelector(\".idx-1__desc\") && tl.to(elem.querySelector(\".idx-1__desc\"), objEffect, \"-=0.3\")\r\n elem.querySelector(\".idx-1-more\") && tl.to(elem.querySelector(\".idx-1-more\"), objEffect, \"-=0.3\")\r\n}\r\nfunction initIndex2(){\r\n let elem = document.querySelector('.idx-2');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n // const outObjCube = {\r\n // scale: 1,\r\n // y: 100,\r\n // duration: 2,\r\n // delay: 1,\r\n // }\r\n // gsapToElement(elem.querySelector('.idx-2-cube'), outObjCube);\r\n\r\n const outObjQuote = {\r\n opacity: 1,\r\n x: 0,\r\n duration: durationDefault,\r\n }\r\n\r\n gsapToElement(elem.querySelector('.quote'), outObjQuote);\r\n}\r\nfunction initIndex3(){\r\n let elem = document.querySelector('.idx-3');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObj = {\r\n scale: 1,\r\n duration: durationDefault,\r\n }\r\n gsapToElement(elem.querySelector('.idx-3__thumbnail'), outObj, {scrub: true});\r\n\r\n elem.querySelector('.idx-3-wrapper') && gsap.to(elem.querySelector('.idx-3-wrapper'), {\r\n opacity: 1,\r\n y: 0,\r\n duration: .6,\r\n scrollTrigger: {\r\n trigger: elem,\r\n start: \"top 80%\",\r\n end: \"bottom 40%\",\r\n toggleClass: \"gsap-actived\",\r\n }\r\n })\r\n}\r\nfunction initIndex4(){\r\n let elem = document.querySelector('.idx-4');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObj = {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n }\r\n\r\n let bgs = elem.querySelectorAll('.idx-4__bg');\r\n bgs.forEach(function(itemBg:any){\r\n gsapToElement(itemBg, outObj);\r\n })\r\n let cnts = elem.querySelectorAll('.idx-4-content');\r\n cnts.forEach(function(itemCnt){\r\n gsapToElement(itemCnt, outObj);\r\n })\r\n}\r\nfunction initIndex5(){\r\n let elem = document.querySelector('.idx-5');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObj = {\r\n y: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n }\r\n\r\n let bgs = elem.querySelectorAll('.idx-5-ls .item');\r\n bgs.forEach(function(itemBg){\r\n gsapToElement(itemBg, outObj);\r\n })\r\n \r\n gsapToElement(document.querySelector('.idx-5-all'), outObj);\r\n\r\n}\r\n\r\nfunction initIndex6(){\r\n let elem = document.querySelector('.idx-6');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObjContent = {\r\n opacity: 1,\r\n x: 0,\r\n stagger: 0.2,\r\n duration: durationDefault\r\n }\r\n\r\n const outObjSlider = {\r\n opacity: 1,\r\n y: 0,\r\n stagger: 0.1,\r\n duration: durationDefault\r\n }\r\n\r\n gsapToElement($('.idx-6-content>*'), outObjContent);\r\n gsapToElement($('.idx-6-slider .item-logo'), outObjSlider);\r\n}\r\n\r\nfunction initIndex7(){\r\n let elem = document.querySelector('.idx-7');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObjContent = {\r\n opacity: 1,\r\n x: 0,\r\n duration: durationDefault,\r\n }\r\n\r\n gsapToElement($('.idx-7__title'), outObjContent);\r\n gsapToElement($('.idx-7__desc'), outObjContent);\r\n\r\n let items = elem.querySelectorAll('.idx-7-ls>li');\r\n items.forEach(function(item:any){\r\n let tl = gsap.timeline(initObjST(item));\r\n item && tl.to(item, {\r\n scale: 1,\r\n opacity: 1,\r\n duration: 1.4\r\n })\r\n item.querySelector('.name') && tl.to(item.querySelector('.name'), {\r\n opacity: 1,\r\n x: 0,\r\n y: 0,\r\n duration: durationDefault,\r\n }, \"-=.4\")\r\n item.querySelector('.text') && tl.to(item.querySelector('.text'), {\r\n opacity: 1,\r\n y: 0,\r\n x: 0,\r\n duration: durationDefault,\r\n })\r\n })\r\n}\r\n\r\nfunction initSectionContact(){\r\n let elem = document.querySelector('.section-contact');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n const outObjContent = {\r\n opacity: 1,\r\n x: 0,\r\n duration: durationDefault\r\n }\r\n const outObjForm = {\r\n opacity: 1,\r\n y: 0,\r\n duration: durationDefault\r\n }\r\n\r\n gsapToElement(elem.querySelector('.content-name'), outObjContent);\r\n gsapToElement(elem.querySelector('.content-desc'), outObjContent);\r\n \r\n gsapToElement(elem.querySelector('.section-contact-form'), outObjForm);\r\n gsapToElement(elem.querySelectorAll('.content-footer .item'), outObjContent);\r\n}\r\n\r\n\r\nfunction initCube(){\r\n if (document.getElementById('indexPage')){\r\n if (document.querySelector('.idx-2-cube')){\r\n const tl = gsap.timeline({\r\n scrollTrigger: {\r\n trigger: \".idx-2-cube\",\r\n start: \"center center\",\r\n end: `bottom -${window.innerHeight}px`,\r\n scrub: 4,\r\n pin: true,\r\n toggleActons: \"restart none none none\",\r\n // onEnter onLeave onEnterBack onLeaveBack\r\n // play pause restart reset resume reverse complete none\r\n // markers: true,\r\n toggleClass: \"gsap-actived\",\r\n // onUpdate: (self:any) => {\r\n // // console.log(self.progress);\r\n // },\r\n\r\n snap: {\r\n snapTo: [0, 1/11, 2/11, 3/11, 4/11, 5/11, 6/11, 7/11, 8/11, 9/11, 10/11, 1],\r\n duration: { min: 1, max: 2 },\r\n delay: 0.3\r\n },\r\n }\r\n })\r\n const box = document.querySelector('.idx-2-cube .box');\r\n\r\n const cube = box.querySelector('.cube');\r\n const valTime = 5;\r\n const content = box.querySelector('.content');\r\n\r\n if (cube && content){\r\n tl.to(cube, {\r\n duration: 0,\r\n onComplete: function(){\r\n content.style.visibility = \"hidden\";\r\n },\r\n onReverseComplete: function(){\r\n content.style.visibility = \"hidden\";\r\n }\r\n })\r\n\r\n tl.to(cube, {\r\n duration: 0.5,\r\n onStart: function(){\r\n content.style.visibility = \"visible\";\r\n }\r\n })\r\n tl.to(cube, {\r\n rotationY: 45,\r\n duration: 0\r\n })\r\n\r\n\r\n // top\r\n const elementTop = content.querySelector('.content-item.top');\r\n if (elementTop){\r\n elementTop.classList.add('pos-tc');\r\n\r\n // 5s\r\n tl.to(cube, {\r\n rotationY: 0,\r\n duration: valTime,\r\n })\r\n\r\n // 20s\r\n timelineTop(tl, elementTop);\r\n\r\n // cân bằng thời giản visible\r\n tl.to(cube, {\r\n duration: valTime + 0.5,\r\n })\r\n }\r\n\r\n // -> top => 31s (lần 1 và 2) -> mỗi lần 15.5s\r\n \r\n\r\n // front\r\n const elementFront = content.querySelector('.content-item.front');\r\n if (elementFront){\r\n elementFront.classList.add('pos-front');\r\n tl.to(cube, {\r\n rotationY: 0,\r\n duration: valTime + 0.5,\r\n })\r\n // 20s\r\n timelineFace(tl, elementFront);\r\n\r\n tl.to(cube, {\r\n duration: valTime + 0.5,\r\n })\r\n }\r\n \r\n // right\r\n const elementRight = content.querySelector('.content-item.right');\r\n if (elementRight){\r\n elementRight.classList.add('pos-right');\r\n tl.to(cube, {\r\n rotationY: -90,\r\n duration: valTime + 0.5,\r\n\r\n })\r\n timelineFace(tl, elementRight);\r\n tl.to(cube, {\r\n duration: valTime + 0.5,\r\n })\r\n }\r\n \r\n // back\r\n const elementBack = content.querySelector('.content-item.back');\r\n if (elementBack){\r\n elementBack.classList.add('pos-back');\r\n tl.to(cube, {\r\n rotationY: -180,\r\n duration: valTime + 0.5,\r\n\r\n })\r\n timelineFace(tl, elementBack);\r\n tl.to(cube, {\r\n duration: valTime + 0.5,\r\n })\r\n }\r\n \r\n \r\n //left\r\n const elementLeft = content.querySelector('.content-item.left');\r\n if (elementLeft){\r\n elementLeft.classList.add('pos-left');\r\n tl.to(cube, {\r\n scale: 1,\r\n rotationY: -270,\r\n duration: valTime + 0.5,\r\n })\r\n timelineFace(tl, elementLeft);\r\n tl.to(cube, {\r\n duration: valTime + 0.5,\r\n })\r\n }\r\n \r\n // END\r\n tl.to(cube, {\r\n scale: 1,\r\n rotationY: -315,\r\n duration: 15.5\r\n })\r\n }\r\n }\r\n\r\n // setInterval(function() {\r\n // if (isScrolling) {\r\n // // Lấy chiều cao của thẻ div và thanh cuộn\r\n // const divHeight = scrollable.clientHeight;\r\n // const scrollHeight = scrollable.scrollHeight;\r\n \r\n // // Tính toán vị trí hiện tại của thanh cuộn\r\n // const scrollTop = scrollable.scrollTop;\r\n // const scrollPercent = (scrollTop + divHeight) / scrollHeight;\r\n \r\n // // Nếu thanh cuộn đã cuộn đến cuối thẻ div\r\n // if (scrollPercent === 1) {\r\n // // Ngừng cuộn sau 10 lần cuộn\r\n // if (count < 10) {\r\n // count++;\r\n // } else {\r\n // isScrolling = false;\r\n // count = 0;\r\n // }\r\n // }\r\n // }\r\n // }, 100);\r\n\r\n }\r\n}\r\n\r\nfunction timelineTop(tl: any, element:HTMLElement){\r\n let cube = document.querySelector('.cube');\r\n let dCube = cube.clientWidth;\r\n\r\n let dLine1 = 0;\r\n let topSpace = 0;\r\n\r\n if (element.classList.contains('pos-tc')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n dLine1 = 80;\r\n topSpace = -120;\r\n }\r\n else if( window.innerWidth < 1024){\r\n dLine1 = 120;\r\n topSpace = -180;\r\n }\r\n else if( window.innerWidth < 1440){\r\n dLine1 = 120;\r\n topSpace = -180;\r\n }\r\n else{\r\n dLine1 = 114;\r\n topSpace = -180;\r\n }\r\n }\r\n else if (element.classList.contains('pos-bc')){\r\n element.classList.add('dot-top');\r\n\r\n if( window.innerWidth < 768){\r\n dLine1 = 80;\r\n topSpace = dCube + 60;\r\n }\r\n\r\n else if( window.innerWidth < 1024){\r\n dLine1 = 120;\r\n topSpace = dCube + 120;\r\n }\r\n else if( window.innerWidth < 1440){\r\n dLine1 = 120;\r\n topSpace = dCube + 120;\r\n }\r\n else{\r\n dLine1 = 114;\r\n topSpace = dCube + 114;\r\n }\r\n }\r\n\r\n window.addEventListener('resize', function(){\r\n if (element.classList.contains('pos-tc')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n dLine1 = 80;\r\n topSpace = -120;\r\n }\r\n else if( window.innerWidth < 1024){\r\n dLine1 = 120;\r\n topSpace = -180;\r\n }\r\n else if( window.innerWidth < 1440){\r\n dLine1 = 120;\r\n topSpace = -180;\r\n }\r\n else{\r\n dLine1 = 114;\r\n topSpace = -180;\r\n }\r\n }\r\n else if (element.classList.contains('pos-bc')){\r\n element.classList.add('dot-top');\r\n \r\n if( window.innerWidth < 768){\r\n dLine1 = 80;\r\n topSpace = dCube + 60;\r\n }\r\n \r\n else if( window.innerWidth < 1024){\r\n dLine1 = 120;\r\n topSpace = dCube + 120;\r\n }\r\n else if( window.innerWidth < 1440){\r\n dLine1 = 120;\r\n topSpace = dCube + 120;\r\n }\r\n else{\r\n dLine1 = 114;\r\n topSpace = dCube + 114;\r\n }\r\n }\r\n })\r\n\r\n const obj = {\r\n timeline: tl,\r\n element: element,\r\n valueSpace: topSpace,\r\n valueLine: dLine1\r\n }\r\n animationCenter(obj);\r\n}\r\n\r\nfunction timelineFace(tl:any, element:HTMLElement){\r\n let cube = document.querySelector('.cube');\r\n let dCube = cube.clientWidth;\r\n let wElement = element.clientWidth;\r\n let hElement = element.clientHeight;\r\n \r\n let pos = {\r\n top: 0,\r\n left: 0,\r\n x: 0,\r\n y: 0\r\n }\r\n const durLine1 = 1;\r\n const durLine2 = 2;\r\n\r\n let line1 = {width: 0, height: 0, duration: durLine1};\r\n let line2 = {\r\n width: 0, \r\n height: 0,\r\n x: 0,\r\n y: 0,\r\n top: 0,\r\n left: 0,\r\n duration: durLine2,\r\n };\r\n element.classList.add('face');\r\n\r\n\r\n if (element.classList.contains('pos-front')){\r\n element.classList.add('dot-top');\r\n\r\n if( window.innerWidth < 768){\r\n pos = {\r\n top: dCube + 120,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: hElement\r\n }\r\n\r\n line1.height = 120;\r\n line1.duration = durLine1 + durLine2; \r\n\r\n line2.duration = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: dCube + 60,\r\n left: dCube / 2,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n\r\n line1.height = 140;\r\n \r\n line2.top = - line1.height - 10;\r\n\r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube,\r\n left: -20,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n\r\n line1.height = 80;\r\n\r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube,\r\n left: -20,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n\r\n line1.height = 80;\r\n\r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n\r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n else if (element.classList.contains('pos-right')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n pos = {\r\n top: -123,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: -hElement\r\n }\r\n\r\n line1.height = dCube / 2 + 123;\r\n line2.width = wElement / 2;\r\n\r\n line2.top = hElement + line1.height + 10;\r\n line2.left = 5;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: -dCube / 2,\r\n left: dCube / 2,\r\n x: 0,\r\n y: -hElement\r\n }\r\n\r\n line1.height = dCube / 2 + 100;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: 0,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n\r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: 0,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n\r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n\r\n\r\n }\r\n else if (element.classList.contains('pos-back')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n element.classList.remove('dot-bottom');\r\n element.classList.add('dot-top');\r\n pos = {\r\n top: dCube + 120,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: hElement\r\n }\r\n\r\n line1.height = 120;\r\n line1.duration = durLine1 + durLine2;\r\n\r\n line2.duration = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: -dCube / 2,\r\n left: dCube / 2,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = dCube / 2 + 100;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube / 2 - 30,\r\n left: -20,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube / 2 - 30,\r\n left: -20,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n else if (element.classList.contains('pos-left')){\r\n element.classList.add('dot-top');\r\n \r\n if( window.innerWidth < 768){\r\n element.classList.remove('dot-top');\r\n element.classList.add('dot-bottom');\r\n\r\n pos = {\r\n top: -123,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: -hElement\r\n }\r\n\r\n line1.height = dCube / 2 + 123;\r\n line2.width = wElement / 2;\r\n\r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement - 5;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: dCube + 60,\r\n left: dCube / 2,\r\n x: 0,\r\n y: hElement\r\n }\r\n \r\n line1.height = 140;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n \r\n window.addEventListener('resize', function(){\r\n if (element.classList.contains('pos-front')){\r\n element.classList.add('dot-top');\r\n \r\n if( window.innerWidth < 768){\r\n pos = {\r\n top: dCube + 120,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: hElement\r\n }\r\n \r\n line1.height = 120;\r\n line1.duration = durLine1 + durLine2; \r\n \r\n line2.duration = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: dCube + 60,\r\n left: dCube / 2,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n \r\n line1.height = 140;\r\n \r\n line2.top = - line1.height - 10;\r\n \r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube,\r\n left: -20,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n \r\n line1.height = 80;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube,\r\n left: -20,\r\n x: -wElement,\r\n y: hElement\r\n }\r\n \r\n line1.height = 80;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n else if (element.classList.contains('pos-right')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n pos = {\r\n top: -123,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: -hElement\r\n }\r\n \r\n line1.height = dCube / 2 + 123;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = 5;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: -dCube / 2,\r\n left: dCube / 2,\r\n x: 0,\r\n y: -hElement\r\n }\r\n \r\n line1.height = dCube / 2 + 100;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: 0,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: 0,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n \r\n \r\n }\r\n else if (element.classList.contains('pos-back')){\r\n element.classList.add('dot-bottom');\r\n if( window.innerWidth < 768){\r\n element.classList.remove('dot-bottom');\r\n element.classList.add('dot-top');\r\n pos = {\r\n top: dCube + 120,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: hElement\r\n }\r\n \r\n line1.height = 120;\r\n line1.duration = durLine1 + durLine2;\r\n \r\n line2.duration = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: -dCube / 2,\r\n left: dCube / 2,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = dCube / 2 + 100;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube / 2 - 30,\r\n left: -20,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube / 2 - 30,\r\n left: -20,\r\n x: -wElement,\r\n y: -hElement\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n else if (element.classList.contains('pos-left')){\r\n element.classList.add('dot-top');\r\n \r\n if( window.innerWidth < 768){\r\n element.classList.remove('dot-top');\r\n element.classList.add('dot-bottom');\r\n \r\n pos = {\r\n top: -123,\r\n left: dCube / 2,\r\n x: - wElement / 2,\r\n y: -hElement\r\n }\r\n \r\n line1.height = dCube / 2 + 123;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = hElement + line1.height + 10;\r\n line2.left = wElement - 5;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1024){\r\n pos = {\r\n top: dCube + 60,\r\n left: dCube / 2,\r\n x: 0,\r\n y: hElement\r\n }\r\n \r\n line1.height = 140;\r\n line2.width = wElement / 2;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else if( window.innerWidth < 1440){\r\n pos = {\r\n top: dCube,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n else{\r\n pos = {\r\n top: dCube,\r\n left: dCube + 20,\r\n x: 0,\r\n y: 0\r\n }\r\n \r\n line1.height = 80;\r\n line2.width = wElement / 2 + 20;\r\n \r\n line2.top = - line1.height - 10;\r\n line2.left = wElement / 2;\r\n \r\n line2.x = 0;\r\n line2.y = 0;\r\n }\r\n }\r\n })\r\n\r\n const obj = {\r\n timeline: tl, \r\n element, \r\n valueLine1: line1, \r\n valueLine2: line2,\r\n position: pos\r\n };\r\n animationFace(obj);\r\n}\r\n\r\n// chi phí ước tính 20\r\nfunction animationCenter({timeline, element, valueSpace, valueLine}:any){\r\n // top\r\n timeline.to(element, {\r\n duration: 0,\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n },\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n }\r\n })\r\n\r\n // bắt đầu\r\n .to(element, {\r\n top: valueSpace,\r\n duration: 1,\r\n\r\n onStart: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n },\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n },\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n }\r\n })\r\n .to('.content-item.top p', {\r\n opacity: 1,\r\n duration: 1,\r\n })\r\n .to('.content-item.top .line-1', {\r\n height: valueLine,\r\n duration: 3\r\n })\r\n\r\n // thời gian nghỉ\r\n .to('.content-item.top .line-1', {\r\n duration: 10\r\n })\r\n\r\n\r\n // kết thúc\r\n .to('.content-item.top .line-1', {\r\n height: '0px',\r\n duration: 3\r\n })\r\n .to('.content-item.top p', {\r\n opacity: 0,\r\n duration: 1,\r\n })\r\n .to('.content-item.top', {\r\n top: 0,\r\n duration: 1,\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n },\r\n\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n }\r\n })\r\n}\r\n\r\n// tổng chi phí 20s\r\nfunction animationFace({timeline, element, valueLine1, valueLine2, position}:any){\r\n timeline.to(element, {\r\n duration: 0,\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n },\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n }\r\n })\r\n // 0\r\n .to(element, {\r\n top: position.top,\r\n left: position.left,\r\n x: position.x,\r\n y: position.y,\r\n\r\n duration: 0,\r\n })\r\n .to(element.querySelector('.line-2'), {\r\n top: valueLine2.top,\r\n left: valueLine2.left,\r\n x: valueLine2.x,\r\n y: valueLine2.y,\r\n opacity: 0,\r\n duration: 0\r\n })\r\n\r\n // bắt đầu\r\n .to(element, {\r\n top: position.top,\r\n left: position.left,\r\n x: position.x,\r\n y: position.y,\r\n duration: 1,\r\n onStart: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n },\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n },\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n }\r\n })\r\n .to(element.querySelector('p'), {\r\n opacity: 1,\r\n duration: 1,\r\n })\r\n // .to(element.querySelector('.line-2'), {\r\n // top: valueLine2.top,\r\n // left: valueLine2.left,\r\n // x: valueLine2.x,\r\n // y: valueLine2.y,\r\n // opacity: 1,\r\n // duration: 0\r\n // })\r\n .to(element.querySelector('.line-1'), {\r\n width: valueLine1.width,\r\n height: valueLine1.height,\r\n duration: valueLine1.duration,\r\n })\r\n \r\n .to(element.querySelector('.line-2'), {\r\n opacity: 1,\r\n width: valueLine2.width,\r\n height: valueLine2.height,\r\n top: valueLine2.top,\r\n left: valueLine2.left,\r\n x: valueLine2.x,\r\n y: valueLine2.y,\r\n duration: valueLine2.duration,\r\n })\r\n\r\n // thời gian nghỉ\r\n .to(element.querySelector('.line-2'), {\r\n duration: 10,\r\n })\r\n\r\n // thời gian kết thúc\r\n .to(element.querySelector('.line-2'), {\r\n width: 0,\r\n height: 0,\r\n duration: valueLine2.duration,\r\n })\r\n .to(element.querySelector('.line-1'), {\r\n width: 0,\r\n height: 0,\r\n duration: valueLine1.duration\r\n })\r\n .to(element.querySelector('p'), {\r\n opacity: 0,\r\n duration: 1,\r\n })\r\n .to(element, {\r\n duration: 1,\r\n onComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.remove('actived');\r\n },\r\n onReverseComplete: function(){\r\n let _this = this._targets;\r\n _this[0].classList.add('actived');\r\n }\r\n })\r\n}\r\n\r\nfunction initFooter(){\r\n let elem = document.querySelector('.footer');\r\n if (!elem){\r\n return false;\r\n }\r\n\r\n gsap.to(elem.querySelector('.footer-top .logo'), {\r\n x: 0,\r\n opacity: 1,\r\n duration: durationDefault,\r\n scrollTrigger: {\r\n trigger: elem.querySelector('.footer-top .logo'),\r\n start: \"top 100%\",\r\n end: \"top 90%\",\r\n toggleClass: \"gsap-actived\"\r\n }\r\n })\r\n gsap.to(elem.querySelectorAll('.footer-navbar>ul>li'), {\r\n y: 0,\r\n stagger: 0.2,\r\n opacity: 1,\r\n duration: durationDefault,\r\n scrollTrigger: {\r\n trigger: elem.querySelectorAll('.footer-navbar>ul>li'),\r\n start: \"top 100%\",\r\n end: \"top 90%\",\r\n toggleClass: \"gsap-actived\"\r\n }\r\n })\r\n gsap.to(elem.querySelectorAll('.footer-information .item'), {\r\n x: 0,\r\n opacity: 1,\r\n stagger: 0.2,\r\n duration: durationDefault,\r\n scrollTrigger: {\r\n trigger: elem.querySelectorAll('.footer-information .item'),\r\n start: \"top 100%\",\r\n end: \"top 90%\",\r\n toggleClass: \"gsap-actived\"\r\n }\r\n })\r\n gsap.to(elem.querySelector('.footer-copyright'), {\r\n scale: 1,\r\n duration: durationDefault,\r\n scrollTrigger: {\r\n trigger: elem.querySelector('.footer'),\r\n start: \"top 100%\",\r\n toggleClass: \"gsap-actived\"\r\n }\r\n })\r\n}","declare const window: any;\r\n\r\nexport const initPage = function () {\r\n\tlet pagination: any;\r\n\r\n\tpagination = function (opts: any) {\r\n\t\tthis.options = Object.assign(pagination.defaults, opts);\r\n\t\tthis.init(this.options);\r\n\t};\r\n\r\n\tpagination.prototype.init = function (opts: any) {\r\n\t\tthis.options = opts ? Object.assign(this.options, opts) : this.options;\r\n\t\tvar plugin = this;\r\n\t\tlet options = plugin.options;\r\n\t\tlet paramItem = options.param;\r\n\r\n\t\t// queryPagination: string, queryBox: string\r\n\t\tvar pages = document.querySelector(`${options.selector}`);\r\n\t\tvar totalBox = document.querySelectorAll(options.items);\r\n\r\n\t\tvar totalPage = Math.ceil(totalBox.length / options.page);\r\n\t\tif (!pages || !totalBox || totalPage == 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar scrollTop = options.scroll;\r\n\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.paginationCreate(\r\n\t\t\t\tpages,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\t1,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\toptions.page,\r\n\t\t\t\tscrollTop,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tplugin.paginationCreate(\r\n\t\t\t\tpages,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\t1,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\toptions.page,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tplugin.activeBox(totalBox, options.page, 1);\r\n\r\n\t\t// let params = window.getParameters();\r\n\t\t// let page = parseInt(params[paramItem]);\r\n\t\tlet page = 1;\r\n\t\tif (!page || page < 1) {\r\n\t\t\tpage = 1;\r\n\t\t}\r\n\t\tplugin.activeItem(\r\n\t\t\tpage,\r\n\t\t\tpages,\r\n\t\t\ttotalBox,\r\n\t\t\ttotalPage,\r\n\t\t\toptions.page,\r\n\t\t\tscrollTop,\r\n\t\t\tparamItem,\r\n\t\t);\r\n\r\n\t\t// window.addEventListener(\"popstate\", function (event: any) {\r\n\t\t// \tlet params = window.getParameters();\r\n\t\t// \tlet page = parseInt(params[paramItem]);\r\n\r\n\t\t// \tif (!page || page < 1) {\r\n\t\t// \t\tpage = 1;\r\n\t\t// \t}\r\n\r\n\t\t// \tplugin.activeItem(\r\n\t\t// \t\tpage,\r\n\t\t// \t\tpages,\r\n\t\t// \t\ttotalBox,\r\n\t\t// \t\ttotalPage,\r\n\t\t// \t\toptions.page,\r\n\t\t// \t\tscrollTop,\r\n\t\t// \t\tparamItem,\r\n\t\t// \t);\r\n\t\t// });\r\n\t};\r\n\r\n\tpagination.prototype.paginationCreate = function (\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\tliActive: number,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any = null,\r\n\t) {\r\n\t\t// Math.ceil(totalBox.length / 5)\r\n\t\tvar plugin = this;\r\n\t\tobjClass.innerHTML = this.createPagination(totalPage, liActive);\r\n\r\n\t\tvar strIcon = `\r\n\t\t\r\n\t\t`;\r\n\r\n\t\tif (totalPage == 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// thay đổi kí tự next và prev\r\n\t\tplugin.changeIcon(objClass, \"next\", strIcon);\r\n\t\tplugin.changeIcon(objClass, \"prev\", strIcon);\r\n\r\n\t\t// click button\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.clickButton(\r\n\t\t\t\tobjClass,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\titemPages,\r\n\t\t\t\tscrollTop,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tplugin.clickButton(\r\n\t\t\t\tobjClass,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\titemPages,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.createPagination = function (\r\n\t\ttotalPages: any,\r\n\t\tpage: any,\r\n\t) {\r\n\t\tlet strStart = `
  • prev
  • `;\r\n\t\tlet strList = \"\";\r\n\r\n\t\t// khi tổng số page nhỏ hơn 5\r\n\t\tif (totalPages == 1) {\r\n\t\t\treturn \"\";\r\n\t\t} else if (totalPages < 5) {\r\n\t\t\tfor (var i = 1; i <= totalPages; i++) {\r\n\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\tif (i == page) {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\t(page <= 3 || page >= totalPages - 2) &&\r\n\t\t\tpage > 0 &&\r\n\t\t\tpage <= totalPages\r\n\t\t) {\r\n\t\t\t// trường hợp active tạo thành 1 2 3 4 ... 20\r\n\t\t\tif (page <= 3) {\r\n\t\t\t\tif (page == 3 && totalPages == 5) {\r\n\t\t\t\t\tfor (var i = 1; i <= totalPages; i++) {\r\n\t\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar visiblePage = page + 1;\r\n\t\t\t\t\tif (page == 1) {\r\n\t\t\t\t\t\tvisiblePage = 3;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var i = 1; i <= visiblePage; i++) {\r\n\t\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\r\n\t\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet strTotal = totalPages < 10 ? `0${totalPages}` : `${totalPages}`;\r\n\t\t\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\t\t\tstrList += `
  • ${strTotal}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// trường hợp active tạo thành 1 ... 18 19 20\r\n\t\t\telse {\r\n\t\t\t\tstrList += `
  • 01
  • `;\r\n\t\t\t\tstrList += `
  • ...
  • `;\r\n\r\n\t\t\t\tvar visiblePage2 = page - 1;\r\n\t\t\t\tif (page == totalPages) {\r\n\t\t\t\t\tvisiblePage2 = totalPages - 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var i = visiblePage2; i <= totalPages; i++) {\r\n\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// trường hợp active tạo thành 1 ... 7 8 9 ... 20\r\n\t\telse if (page > 3 && page < totalPages - 2) {\r\n\t\t\tstrList += `
  • 01
  • `;\r\n\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\tfor (var i = page - 1; i <= page + 1; i++) {\r\n\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\r\n\t\t\t\tif (i == page) {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet strTotal = totalPages < 10 ? `0${totalPages}` : `${totalPages}`;\r\n\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\tstrList += `
  • ${strTotal}
  • `;\r\n\t\t} else {\r\n\t\t\tconsole.log(\"error pagination!!!\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tlet strEnd = `
  • next
  • `;\r\n\r\n\t\treturn `
      ${strStart.concat(strList, strEnd)}
    `;\r\n\t};\r\n\r\n\tpagination.prototype.activeBox = function (\r\n\t\ttotalBox: any,\r\n\t\titemPages: number,\r\n\t\tliActive: any,\r\n\t) {\r\n\t\tlet _this = this;\r\n\t\ttotalBox.forEach(function (item: HTMLElement) {\r\n\t\t\titem.style.display = \"\";\r\n\t\t});\r\n\r\n\t\ttotalBox.forEach(function (item: HTMLElement, index: number, pageActive:number = liActive,lens: number = totalBox.length) {\r\n\t\t\tvar itemPage = Math.ceil((index + 1) / itemPages);\r\n\r\n\t\t\tif (itemPage !== liActive) {\r\n\t\t\t\titem.style.display = \"none\";\r\n\t\t\t}else{\r\n\t\t\t\t// item.style.setProperty('dt-i', `${numberActive + 1}`);\r\n\t\t\t\t_this.options.callback(item, index, liActive, lens);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tpagination.prototype.clickButton = function (\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tthis.itemActive = 0;\r\n\t\tvar plugin = this;\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\r\n\t\t// let itemActive = 0;\r\n\r\n\t\t// lấy giá trị được active\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\t\t\tif (item.classList.contains(\"active\")) {\r\n\t\t\t\tplugin.itemActive = parseInt(\r\n\t\t\t\t\titem.getAttribute(\"data-number\") || \"0\",\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Không cho click vào button Next or Prev nếu active gần nó\r\n\t\tplugin.hiddenNextPrev(\r\n\t\t\tobjClass,\r\n\t\t\tplugin.itemActive,\r\n\t\t\ttotalPage,\r\n\t\t);\r\n\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\r\n\t\t\titem.onclick = function () {\r\n\t\t\t\t// let classItem = this.getAttribute('class');\r\n\t\t\t\tlet dataItem = parseInt(this.getAttribute(\"data-number\"));\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.classList.contains(\"btn-hidden\") ||\r\n\t\t\t\t\tdataItem == plugin.itemActive\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.classList.contains(\"next\") &&\r\n\t\t\t\t\tplugin.itemActive < totalPage\r\n\t\t\t\t) {\r\n\t\t\t\t\tplugin.itemActive = plugin.itemActive + 1;\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tthis.classList.contains(\"prev\") &&\r\n\t\t\t\t\tplugin.itemActive > 1\r\n\t\t\t\t) {\r\n\t\t\t\t\tplugin.itemActive = plugin.itemActive - 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!dataItem) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tplugin.itemActive = dataItem;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tplugin.hiddenNextPrev(objClass, plugin.itemActive, totalPage);\r\n\t\t\t\tplugin.paginationCreate(\r\n\t\t\t\t\tobjClass,\r\n\t\t\t\t\ttotalBox,\r\n\t\t\t\t\tplugin.itemActive,\r\n\t\t\t\t\ttotalPage,\r\n\t\t\t\t\titemPages,\r\n\t\t\t\t\tscrollTop,\r\n\t\t\t\t\tparamItem,\r\n\t\t\t\t);\r\n\t\t\t\tplugin.activeBox(\r\n\t\t\t\t\ttotalBox,\r\n\t\t\t\t\titemPages,\r\n\t\t\t\t\tplugin.itemActive\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (scrollTop) {\r\n\t\t\t\t\tplugin.scrollToTop(\r\n\t\t\t\t\t\tscrollTop.id,\r\n\t\t\t\t\t\tscrollTop.header,\r\n\t\t\t\t\t\tparamItem,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// window.setPushState(paramItem, plugin.itemActive);\r\n\r\n\t\t\t\t// let params = window.getParameters();\r\n\t\t\t\t// params[paramItem] = plugin.itemActive;\r\n\t\t\t\t// let queryStr = window.getQueryString(params);\r\n\t\t\t\t// window.history.pushState(\"\", \"\", \"?\" + queryStr);\r\n\t\t\t};\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.activeItem = function (\r\n\t\tiNumber: any,\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tvar plugin = this;\r\n\t\tvar itemActive = plugin.itemActive;\r\n\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\t\tif (liBtns.length <= 0) {\r\n\t\t\tconsole.log(\"error click!!!!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet item = liBtns[0];\r\n\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet num = parseInt(liBtns[i].getAttribute(\"data-number\"));\r\n\t\t\tif (num && num == iNumber) {\r\n\t\t\t\titem = liBtns[i];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// let classItem = this.getAttribute('class');\r\n\t\tlet dataItem = parseInt(item.getAttribute(\"data-number\"));\r\n\r\n\t\tif (item.classList.contains(\"btn-hidden\") || dataItem == itemActive) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (item.classList.contains(\"next\") && itemActive < totalPage) {\r\n\t\t\titemActive = itemActive + 1;\r\n\t\t} else if (item.classList.contains(\"prev\") && itemActive > 1) {\r\n\t\t\titemActive = itemActive - 1;\r\n\t\t} else {\r\n\t\t\tif (!dataItem) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\titemActive = dataItem;\r\n\t\t}\r\n\r\n\t\t// this.hiddenNextPrev(objClass, itemActive, totalPage);\r\n\t\tplugin.paginationCreate(\r\n\t\t\tobjClass,\r\n\t\t\ttotalBox,\r\n\t\t\titemActive,\r\n\t\t\ttotalPage,\r\n\t\t\titemPages,\r\n\t\t\tscrollTop,\r\n\t\t\tparamItem,\r\n\t\t);\r\n\t\tplugin.activeBox(totalBox, itemPages, itemActive);\r\n\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.scrollToTop(scrollTop.id, scrollTop.header, paramItem);\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.scrollToTop = function (\r\n\t\tstrId: string,\r\n\t\tqueryHeader: string = \"\",\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tvar plugin = this;\r\n\r\n\t\tif (document.getElementById(strId)) {\r\n\t\t\tvar topFeatured = 0;\r\n\t\t\tvar featuredItem = document.getElementById(strId);\r\n\t\t\tif (featuredItem) {\r\n\t\t\t\tvar parentFeatured = featuredItem.offsetParent;\r\n\t\t\t\tvar count = 0;\r\n\t\t\t\twhile (parentFeatured.nodeName !== \"BODY\" && count < 100) {\r\n\t\t\t\t\ttopFeatured += parentFeatured.offsetTop;\r\n\t\t\t\t\tparentFeatured = parentFeatured.offsetParent;\r\n\t\t\t\t\tcount++;\r\n\t\t\t\t}\r\n\t\t\t\ttopFeatured += featuredItem.offsetTop;\r\n\t\t\t}\r\n\r\n\t\t\t// // Trừ đi thanh Header\r\n\t\t\t// var hHeader = document.querySelector(queryHeader);\r\n\t\t\t// if (hHeader){\r\n\t\t\t// var scroll = hHeader.getElementsByClassName('scroll');\r\n\t\t\t// if (scroll[0].classList.contains('active')){\r\n\t\t\t// topFeatured -= scroll[0].clientHeight;\r\n\t\t\t// }\r\n\t\t\t// else if (hHeader){\r\n\t\t\t// topFeatured -= hHeader.clientHeight;\r\n\t\t\t// }\r\n\t\t\t// }\r\n\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: topFeatured,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.changeIcon = function (\r\n\t\tobjClass: any,\r\n\t\tstrClass: string,\r\n\t\tstrIcon: string\r\n\t) {\r\n\t\tvar classStrChange = objClass.getElementsByClassName(strClass);\r\n\t\tvar innerStrClass = classStrChange[0];\r\n\r\n\t\tinnerStrClass.innerHTML = strIcon;\r\n\t};\r\n\r\n\tpagination.prototype.hiddenNextPrev = function (\r\n\t\tobjClass: any,\r\n\t\titemActive: number,\r\n\t\ttotalPage: number\r\n\t) {\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\r\n\t\tlet itemNext;\r\n\t\tlet itemPrev;\r\n\r\n\t\t// lấy giá trị được active\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\t\t\tif (item.classList.contains(\"next\")) {\r\n\t\t\t\titemNext = item;\r\n\t\t\t} else if (item.classList.contains(\"prev\")) {\r\n\t\t\t\titemPrev = item;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Không cho click vào button Next or Prev nếu active gần nó\r\n\t\tif (totalPage === 1) {\r\n\t\t\titemPrev.classList.add(\"btn-hidden\");\r\n\t\t\titemNext.classList.add(\"btn-hidden\");\r\n\t\t} else if (itemActive === 1) {\r\n\t\t\titemPrev.classList.add(\"btn-hidden\");\r\n\t\t\titemNext.classList.remove(\"btn-hidden\");\r\n\t\t} else if (itemActive === totalPage) {\r\n\t\t\titemPrev.classList.remove(\"btn-hidden\");\r\n\t\t\titemNext.classList.add(\"btn-hidden\");\r\n\t\t} else {\r\n\t\t\titemPrev.classList.remove(\"btn-hidden\");\r\n\t\t\titemNext.classList.remove(\"btn-hidden\");\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.defaults = {\r\n\t\tid: \"\", //\r\n\t\tparam: \"\",\r\n\t\tselector: \"\", // Class pagination\r\n\t\titems: \"\",\r\n\t\tpage: 0,\r\n\t\tscroll: {\r\n\t\t\tid: \"\",\r\n\t\t},\r\n\t\tcallback: function(){\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t};\r\n\r\n\twindow.pagination = pagination;\r\n};\r\n","// https://fancyapps.com/docs/ui/fancybox\r\n// https://www.npmjs.com/package/axios\r\n// https://greensock.com/\r\n// https://swiperjs.com/get-started\r\ndeclare const window:any;\r\n\r\ndeclare const Swiper : any;\r\ndeclare const $ : any;\r\ndeclare const AOS : any;\r\ndeclare const gsap : any;\r\ndeclare const Fancybox:any;\r\ndeclare const Panzoom:any;\r\ndeclare const THREE: any;\r\n\r\nconst load = document.createElement('div');\r\nload.classList.add('loading');\r\nload.innerHTML = `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `;\r\ndocument.body.style.overflow = \"hidden\";\r\ndocument.body.append(load);\r\n\r\n\r\n// declare const ScrollTrigger: any;\r\n// gsap.registerPlugin(ScrollTrigger);\r\n\r\n// Fancybox.defaults.ScrollLock = false;\r\n\r\n// AOS.init({\r\n// once: true\r\n// });\r\n\r\n// import axios from \"axios\";\r\n\r\n//////////////////////////////////////////////////////////\r\nimport {_base} from \"./libraries/_base\";\r\nimport {_imgClass} from \"./libraries/_imgClass\";\r\nimport {initPage} from \"./libraries/pagination\";\r\n\r\nimport {fancyboxLib} from \"./libraries/fancybox-lib\";\r\nimport {gsapInitScroll} from './libraries/gsapInitScroll';\r\n// import {_dateTime} from './libraries/_dateTimePicker';\r\n// import {initForm} from \"./libraries/_initForm\";\r\n\r\n_base();\r\ninitPage();\r\ngsapInitScroll();\r\n\r\nfunction copyMaker(){\r\n let copyElements = document.querySelectorAll('.copyMaker');\r\n copyElements.forEach(function(copyElement){\r\n if (!copyElement.classList.contains('i-cm-completed')){\r\n window.copyMaker(copyElement, function(status:string,text:string){\r\n window.addToastMsg(status, text);\r\n })\r\n copyElement.classList.add('i-cm-completed');\r\n }\r\n })\r\n}\r\n\r\n\r\n// Layout\r\nimport {header} from \"./layout/header\";\r\nimport {footer} from \"./layout/footer\";\r\n\r\nimport {banner} from \"./layout/banner\";\r\n// import {breadcrumbs} from \"./layout/breadcrumbs\";\r\nimport {popup} from \"./layout/popup\";\r\n\r\n// Page\r\nimport {index} from \"./pages/index\";\r\nimport {about} from \"./pages/about\";\r\nimport {products} from \"./pages/products\";\r\nimport {news} from \"./pages/news\";\r\nimport {contact} from \"./pages/contact\";\r\nimport {solution} from \"./pages/solution\";\r\n\r\n\r\n// setInterval(() => {\r\n// window.dispatchEvent(\r\n// new CustomEvent('_tagselect', {\r\n// detail: `Init tag select 2`\r\n// })\r\n// )\r\n\r\n// window.dispatchEvent(\r\n// new CustomEvent('_imgClass', {\r\n// detail: `Init tag svg to img`\r\n// })\r\n// )\r\n// window.dispatchEvent(\r\n// new CustomEvent('_dateTime', {\r\n// detail: `Init datetimepicker`\r\n// })\r\n// )\r\n// window.dispatchEvent(\r\n// new CustomEvent('_initForm', {\r\n// detail: `Init Form event`\r\n// })\r\n// )\r\n// }, 2000)\r\n\r\n\r\n//////////////////////////////////////////////////////////////\r\nwindow.addEventListener('DOMContentLoaded', function() { \r\n // components\r\n \r\n\r\n // layout\r\n header();\r\n footer();\r\n banner();\r\n \r\n // breadcrumbs();\r\n popup();\r\n \r\n // ----- Page in here ----- //\r\n index();\r\n about();\r\n products();\r\n news();\r\n contact();\r\n solution();\r\n \r\n _imgClass();\r\n copyMaker();\r\n fancyboxLib();\r\n \r\n\r\n})\r\n\r\n\r\nimport {gsapScroll} from './libraries/gsapScroll';\r\ndeclare const YT: any;\r\n\r\n\r\n\r\nwindow.addEventListener('load', function(){\r\n // lib\r\n let promise = new Promise(function(res, rej){\r\n gsapScroll();\r\n res(true);\r\n })\r\n\r\n promise.then(function(value){\r\n document.body.style.overflow = \"\";\r\n load.remove();\r\n })\r\n .catch(function(err){\r\n console.log(err)\r\n \r\n })\r\n})\r\n\r\n\r\n\r\n\r\n/////////////////////WEB FULLPAGE///////////////////////////\r\n// import loadingAni from \"./initAnimation/loading\";\r\n\r\n// const fullpageLoad = function(){\r\n// let loading = document.querySelector('#loading-container');\r\n// loadingAni.aniIn();\r\n// // import animateFullpage from \"./components/animateFullpage\";\r\n// // animateFullpage.default();\r\n \r\n// window.addEventListener('load', function() {\r\n// // swiper_nav();\r\n// allJs();\r\n// setTimeout(function(){\r\n// loading.classList.add('hiddenLoading');\r\n// setTimeout(function(){\r\n// loading.parentElement.removeChild(loading);\r\n\r\n// // let utiSubMap = document.getElementById('UtilitiesSubPage');\r\n// // if (utiSubMap){\r\n// // let map = utiSubMap.querySelector('.map');\r\n// // map.classList.add('animateActive');\r\n// // }\r\n// }, 700)\r\n// common();\r\n// }, loadingAni.delay)\r\n// })\r\n// }\r\n\r\n// fullpageLoad();\r\n\r\n/////////////////////WEB NORMAL///////////////////////////\r\n\r\n","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const THREE: any;\r\n\r\nexport const about = function () {\r\n let elem = document.getElementById('aboutPage');\r\n if (elem){\r\n handle3(elem);\r\n initSw4(elem);\r\n handle5(elem);\r\n }\r\n};\r\n\r\nfunction handle3(elem:HTMLElement){\r\n let item = elem.querySelector('.ab-3 .swiper');\r\n let sw = initSw3(item);\r\n \r\n // let len = item.querySelectorAll('.swiper-slide').length;\r\n let dashline = elem.querySelector('.ab-3 .dashline');\r\n\r\n document.addEventListener('scroll', function(e){\r\n let y = item.getBoundingClientRect().y;\r\n if (y <= window.innerHeight - item.clientHeight){\r\n dashline.classList.add('actived');\r\n sw.autoplay.start();\r\n }else{\r\n dashline.classList.remove('actived');\r\n sw.autoplay.stop();\r\n }\r\n })\r\n}\r\n\r\nfunction initSw3(elem:HTMLElement){\r\n let sw = new Swiper(elem, {\r\n slidesPerView: \"auto\",\r\n spaceBetween: 0,\r\n slidesPerGroup: 1,\r\n speed: 800,\r\n autoplay:{\r\n delay: 3000,\r\n disableOnInteraction: false,\r\n stopOnLastSlide: true,\r\n }\r\n // autoplay: {\r\n // delay: 0,\r\n // disableOnInteraction: false,\r\n // reverseDirection: true,\r\n // },\r\n })\r\n sw.autoplay.stop();\r\n return sw;\r\n}\r\n\r\nfunction initSw4(elem:HTMLElement){\r\n let ls = elem.querySelectorAll('.ab-4 .partner-ls');\r\n ls.forEach(function(item:HTMLElement){\r\n let speed = item.getAttribute('dt-speed');\r\n let sw = swPartner(item, parseInt(speed));\r\n let checked = false;\r\n\r\n document.addEventListener('scroll', function(e){\r\n let y = item.getBoundingClientRect().y;\r\n if (y < window.innerHeight * 3 / 4 - item.clientHeight){\r\n if (!checked){\r\n sw.autoplay.start();\r\n checked = true;\r\n }\r\n }\r\n else{\r\n if (checked === true){\r\n sw.autoplay.stop();\r\n checked = false;\r\n }\r\n }\r\n })\r\n })\r\n}\r\n\r\nfunction swPartner(item:HTMLElement, speed:number, delay:number = 0){\r\n let sw = new Swiper(item, {\r\n slidesPerView: 4,\r\n spaceBetween: 24,\r\n \r\n speed: typeof(speed) === \"number\" ? speed : 3100,\r\n loop: true,\r\n freeMode: {\r\n enabled: true,\r\n sticky: true,\r\n },\r\n\r\n autoplay:{\r\n delay: 0,\r\n disableOnInteraction: false,\r\n },\r\n breakpoints: {\r\n 1024: {\r\n slidesPerView: 3,\r\n spaceBetween: 40,\r\n },\r\n }\r\n })\r\n sw.autoplay.stop();\r\n \r\n return sw;\r\n}\r\n\r\nfunction handle5(elem:HTMLElement){\r\n let wrappers = document.querySelectorAll('.ab-5-wrapper .wrapper-item');\r\n let opts = elem.querySelectorAll('.ab-5-wrapper .opt-item');\r\n let swFlag:any;\r\n var gap = 30;\r\n\r\n if (window.innerWidth < 1024){\r\n gap = 13;\r\n }\r\n else{\r\n gap = 30;\r\n }\r\n\r\n window.addEventListener('resize', function(){\r\n if (window.innerWidth < 1024){\r\n gap = 13;\r\n }\r\n else{\r\n gap = 30;\r\n }\r\n })\r\n\r\n wrappers.forEach(function(itemw:HTMLElement, idx){\r\n if(itemw.classList.contains('showed')){\r\n swFlag = createInit5(itemw, gap);\r\n }\r\n\r\n opts[idx].addEventListener('click', function(e){\r\n e.preventDefault();\r\n window.delHandle(opts, 'active');\r\n this.classList.add('active');\r\n\r\n window.delHandle(wrappers, 'showed');\r\n itemw.classList.add('showed');\r\n\r\n if(swFlag){\r\n swFlag.destroy();\r\n swFlag = createInit5(itemw, gap);\r\n }\r\n })\r\n\r\n // let slides = itemsw.querySelectorAll('.swiper-slide');\r\n // let htmls = document.createElement('div');\r\n // htmls.classList.add('swiper');\r\n // let swwrapper = document.createElement('div');\r\n // swwrapper.classList.add('swiper-wrapper');\r\n \r\n // let i = slides.length \r\n })\r\n}\r\n\r\nfunction createInit5(itemw:HTMLElement, spaceBetween:number = 30){\r\n let swItem = itemw.querySelector('.swiper');\r\n let sw = initSw5(swItem, itemw.querySelector('.swiper-pagination'), spaceBetween);\r\n return sw;\r\n}\r\n\r\nfunction initSw5(swItem:HTMLElement, epagination: HTMLElement, spaceBetween:number){\r\n let sw = new Swiper(swItem, {\r\n slidesPerView: 2,\r\n grid: {\r\n rows: 2,\r\n fill: 'row'\r\n },\r\n spaceBetween: spaceBetween,\r\n pagination: {\r\n el: epagination,\r\n clickable: true,\r\n },\r\n breakpoints: {\r\n 640: {\r\n slidesPerView: 3,\r\n },\r\n }\r\n })\r\n\r\n let hItem = swItem.querySelector('.slide');\r\n if(hItem)\r\n {\r\n swItem.style.height = (hItem.clientHeight * 2) + spaceBetween + \"px\";\r\n } \r\n\r\n return sw;\r\n}\r\n","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const THREE: any;\r\n\r\nexport const contact = function () {\r\n let elem = document.getElementById('contactPage');\r\n if (elem){\r\n handleFileInput();\r\n showFAQ(elem);\r\n initPage();\r\n }\r\n};\r\n\r\n\r\nfunction initPage(){\r\n return new window.pagination({\r\n selector: '.ct-3 .pagination',\r\n items: '.ct-3 .question-ls .item',\r\n scroll: {\r\n id: 'scrollContact'\r\n },\r\n page: 6,\r\n })\r\n}\r\n\r\n\r\nfunction showFAQ(element:HTMLElement){\r\n let ls = element.querySelectorAll('.question-ls .item');\r\n ls.forEach(function(item:HTMLElement){\r\n let name = item.querySelector('.item-question');\r\n if(name){\r\n name.addEventListener('click', function(e){\r\n if (item.classList.contains('showed')){\r\n item.classList.remove('showed');\r\n }\r\n else{\r\n window.delHandle(ls, 'showed');\r\n item.classList.add('showed');\r\n }\r\n\r\n })\r\n }\r\n })\r\n}\r\n\r\nfunction handleFileInput(){\r\n let fileInput = document.getElementById('scFile');\r\n if (fileInput){\r\n fileInput.value = \"\";\r\n if (fileInput.value){\r\n // let li = appendFile(fileInput, fileName, size, type);\r\n\r\n // let prarent = fileInput.parentElement;\r\n // let details = prarent.querySelector('.details');\r\n // let ulDetail = details?.querySelector('ul');\r\n // if (!details){\r\n // let divDetails = document.createElement('div');\r\n // divDetails.classList.add('details');\r\n \r\n // ulDetail = document.createElement('ul');\r\n // divDetails.appendChild(ulDetail);\r\n \r\n // prarent.appendChild(divDetails);\r\n // }\r\n\r\n // ulDetail.innerHTML = \"\";\r\n\r\n // ulDetail.appendChild(li);\r\n }\r\n\r\n fileInput.addEventListener('change', function(e:any){\r\n let target = e.target;\r\n let file = target.files[0];\r\n\r\n if (file){\r\n let fileName = file.name;\r\n let size = file.size;\r\n let type = file.type;\r\n\r\n let li = appendFile(fileInput, fileName, size, type);\r\n // uploadFile(fileName);\r\n\r\n let prarent = fileInput.parentElement;\r\n let details = prarent.querySelector('.details');\r\n let ulDetail = details?.querySelector('ul');\r\n if (!details){\r\n let divDetails = document.createElement('div');\r\n divDetails.classList.add('details');\r\n \r\n ulDetail = document.createElement('ul');\r\n divDetails.appendChild(ulDetail);\r\n \r\n prarent.appendChild(divDetails);\r\n }\r\n\r\n ulDetail.innerHTML = \"\";\r\n\r\n ulDetail.appendChild(li);\r\n }\r\n })\r\n }\r\n}\r\n\r\n// size file\r\nfunction checkFileSize(fileInfo: any) {\r\n const mbSize = 1024 * 1024;\r\n let size = fileInfo.size / mbSize;\r\n if (size > 10) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n// accept file\r\nfunction checkFileAccept(fileInput:HTMLInputElement, type: any) {\r\n // console.log(type);\r\n // console.log(fileInput.getAttribute('accept'));\r\n // let accept = fileInput.getAttribute('accept');\r\n // accept = accept.replace(/\\s/g, '');\r\n\r\n // let arr = accept.split(',');\r\n // arr.forEach(function(item){\r\n // if (item === \"./pdf\"){\r\n\r\n // }\r\n // })\r\n // console.log(arr);\r\n \r\n\r\n return true;\r\n // if (type.split(\"/\")[0] == \"image\") {\r\n // return true;\r\n // }\r\n // // console.log(type);\r\n // return false;\r\n}\r\n\r\nfunction checkFile(fileInput:HTMLInputElement, size:number, type:string){\r\n if (checkFileSize(size) && checkFileAccept(fileInput, type)){\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction appendFile(fileInput:HTMLInputElement,name:string, size:number, type:string){\r\n\r\n\r\n let li = document.createElement('li');\r\n let currentSize = size / 1024 / 1024;\r\n\r\n let spanName = document.createElement('span');\r\n spanName.classList.add('name');\r\n spanName.innerHTML = `${name}`;\r\n let spanSize = document.createElement('span');\r\n spanSize.classList.add('capacity');\r\n\r\n let mbSize = size / 1024 / 1024;\r\n spanSize.innerHTML = `${mbSize.toFixed(2)}MB`;\r\n\r\n let spanChecked = document.createElement('span');\r\n spanChecked.classList.add('checked');\r\n\r\n let spanRemove = document.createElement('span');\r\n spanRemove.classList.add('remove');\r\n spanRemove.innerHTML = ``;\r\n \r\n li.appendChild(spanName);\r\n li.appendChild(spanSize);\r\n li.appendChild(spanChecked);\r\n li.appendChild(spanRemove);\r\n\r\n let iCheck = checkFile(fileInput, size, type);\r\n\r\n if (iCheck === true){\r\n li.classList.remove('error');\r\n li.classList.add('success');\r\n }else{\r\n li.classList.remove('success');\r\n li.classList.add('error');\r\n }\r\n\r\n spanRemove.addEventListener('click', function(e){\r\n li.remove();\r\n fileInput.value = \"\";\r\n })\r\n\r\n return li;\r\n\r\n // let html = `\r\n //
  • \r\n // ${name}\r\n // ${size}\r\n // ${name}\r\n // \r\n //
  • \r\n // `;\r\n}\r\n\r\n// function uploadFile(newFile: any) {\r\n// // 1. Khởi tạo XHR để call API\r\n// const xhr = new XMLHttpRequest();\r\n\r\n\r\n// xhr.open(\"POST\", \"/api/upload.php\");\r\n\r\n// // 5. Lắng nghe sự kiện progress lấy tỉ lệ %\r\n// xhr.upload.addEventListener(\"progress\", function (event) {\r\n// const percent = Math.round((event.loaded / event.total) * 100);\r\n// console.log(percent);\r\n// // fileProgressing(`#${elementId}`, randomId, newFile, percent);\r\n// });\r\n\r\n// const data = new FormData();\r\n// data.append(\"file\", newFile);\r\n\r\n// // 6. Gửi yêu cầu\r\n// xhr.send(data);\r\n// }","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const THREE: any;\r\n\r\nexport const index = function () {\r\n let elem = document.getElementById('indexPage');\r\n if (elem){\r\n introInit();\r\n\r\n swapBg4(elem);\r\n handle6(elem);\r\n }\r\n};\r\n\r\n\r\nfunction introInit(){\r\n const introSkip = document.querySelector('.index-intro-skip .scroll-prompt');\r\n const idxIntro = document.querySelector('.idx-intro');\r\n \r\n let header = document.querySelector('header');\r\n document.querySelector('body').classList.add('index-page');\r\n \r\n let timeout:any;\r\n if (idxIntro && introSkip && header){\r\n // header.classList.add('scroll');\r\n \r\n window.onbeforeunload = function () {\r\n window.scrollTo(0, 0);\r\n }\r\n \r\n introSkip && introSkip.addEventListener('click', function(el){\r\n el.preventDefault();\r\n clearTimeout(timeout);\r\n \r\n const promise = new Promise((res, rej) => {\r\n let timeoutInner:any;\r\n timeout = setTimeout(function(){\r\n document.body.classList.remove('index-page');\r\n \r\n idxIntro.style.transform = \"translateY(-100%)\";\r\n idxIntro.style.transition = \"1s transform linear\";\r\n \r\n clearTimeout(timeoutInner);\r\n timeoutInner = setTimeout(() => {\r\n res(true);\r\n }, 1000);\r\n }, 300)\r\n })\r\n promise.then(function(value){\r\n idxIntro.remove();\r\n })\r\n })\r\n }\r\n}\r\n \r\n\r\nfunction swapBg4(elem:HTMLElement){\r\n const wrapper = elem.querySelectorAll('.idx-4-wrapper');\r\n wrapper.forEach(function(itemWrapper){\r\n const sections = itemWrapper.querySelectorAll('.idx-4--section');\r\n if(sections.length > 2){\r\n console.error(\"Can't change!\");\r\n }else{\r\n const valImg1 = sections[0]?.querySelector('.idx-4__bg img');\r\n const valImg2 = sections[1]?.querySelector('.idx-4__bg img');\r\n \r\n if (valImg1 && valImg2){\r\n const val1 = valImg1.getAttribute('src');\r\n const val2 = valImg2.getAttribute('src');\r\n \r\n valImg1.setAttribute('src', val2);\r\n valImg2.setAttribute('src', val1);\r\n }\r\n }\r\n })\r\n}\r\n\r\nfunction sw6(elem:HTMLElement){\r\n let sw = new Swiper(elem, {\r\n spaceBetween: 30,\r\n scrollbar: {\r\n el: \".swiper-scrollbar\",\r\n hide: true,\r\n },\r\n\r\n slidesPerView: \"auto\",\r\n slidesPerGroup: 1,\r\n speed: 800,\r\n autoplay:{\r\n delay: 3000,\r\n disableOnInteraction: false,\r\n stopOnLastSlide: true,\r\n }\r\n })\r\n sw.autoplay.stop();\r\n return sw;\r\n}\r\n\r\n\r\nfunction handle6(elem:HTMLElement){\r\n let item = elem.querySelector('.idx-6-slider .swiper');\r\n let sw = sw6(item);\r\n\r\n let y = item.getBoundingClientRect().y;\r\n if (y <= window.innerHeight - item.clientHeight){\r\n item.classList.add('saw');\r\n sw.autoplay.start();\r\n }else{\r\n item.classList.remove('saw');\r\n sw.autoplay.stop();\r\n }\r\n \r\n document.addEventListener('scroll', function(e){\r\n let y = item.getBoundingClientRect().y;\r\n if (y <= window.innerHeight - item.clientHeight){\r\n item.classList.add('saw');\r\n sw.autoplay.start();\r\n }else{\r\n item.classList.remove('saw');\r\n sw.autoplay.stop();\r\n }\r\n })\r\n}","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const THREE: any;\r\ndeclare const pagination:any;\r\n\r\nexport const news = function () {\r\n let elem = document.getElementById('newsPage');\r\n if (elem){\r\n initPage()\r\n }\r\n};\r\n\r\n\r\nfunction initPage(){\r\n return new window.pagination({\r\n selector: '.news-1 .pagination',\r\n items: '.news-1 .wrapper-ls .item',\r\n scroll: {\r\n id: 'scrollnews'\r\n },\r\n page: 6,\r\n })\r\n}","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const pagination:any;\r\ndeclare const Panzoom:any;\r\n\r\n\r\nexport const products = function () {\r\n let elem = document.getElementById('productsPage');\r\n if (elem){\r\n initPage()\r\n }\r\n \r\n else if (document.getElementById('productsDetailPage')){\r\n handleDetail();\r\n }\r\n};\r\n\r\n\r\nfunction initPage(){\r\n \r\n return new window.pagination({\r\n selector: '.pro-1 .pagination',\r\n items: '.pro-1 .wrapper-ls .item',\r\n scroll: {\r\n id: 'scrollProducts'\r\n },\r\n page: 6,\r\n })\r\n}\r\n\r\nfunction handleDetail(){\r\n let sw = detailSwiper();\r\n const zoomImg = $('#zoom_01');\r\n const objZoom = {\r\n easing: true,\r\n scrollZoom: true,\r\n lensSize: 120,\r\n zoomType: 'lens',\r\n }\r\n\r\n sw.on('slideChange', function (e:any) {\r\n let idxActive = e.activeIndex;\r\n let target = e.slides[idxActive];\r\n let img = target.querySelector('img');\r\n\r\n thumbMain.setAttribute('src', img.getAttribute('src'));\r\n // zoomImg.ezPlus(objZoom);\r\n });\r\n\r\n let thumbMain = document.querySelector('.pd-1 .thumbnail-main img');\r\n let lsItem = document.querySelectorAll('.pd-1 .item-thumbnail');\r\n\r\n if (thumbMain && lsItem[sw.activeIndex]){\r\n let target = lsItem[sw.activeIndex];\r\n let img = target.querySelector('img');\r\n \r\n thumbMain.setAttribute('src', img.getAttribute('src'));\r\n\r\n // zoomImg.ezPlus(objZoom);\r\n }\r\n\r\n \r\n\r\n lsItem.forEach(function(item, idx){\r\n item.addEventListener('click', function(e){\r\n e.preventDefault();\r\n sw.slideTo(idx);\r\n })\r\n })\r\n\r\n let specifications = document.querySelectorAll('.pd-1 .content .item-specifications>*');\r\n specifications.forEach(function(itemSpec){\r\n let inp = itemSpec.querySelector('input');\r\n itemSpec.addEventListener('click', function(e){\r\n e.preventDefault();\r\n\r\n let target = e.target;\r\n let valActive = target.getAttribute('activeSlide');\r\n \r\n lsItem.forEach(function(itemThumbnail, idx){\r\n let thumbActive = itemThumbnail.getAttribute('slideName');\r\n\r\n if (valActive && thumbActive && valActive === thumbActive){\r\n sw.slideTo(idx);\r\n }\r\n })\r\n\r\n if (itemSpec.classList.contains('is-actived')){\r\n inp ? inp.checked = false : \"\";\r\n itemSpec.classList.remove('is-actived');\r\n }\r\n else{\r\n window.delHandle(specifications, 'is-actived');\r\n inp ? inp.checked = true : \"\";\r\n itemSpec.classList.add('is-actived');\r\n }\r\n })\r\n })\r\n\r\n let materials = document.querySelectorAll('.pd-1 .content .item-materials>*');\r\n materials.forEach(function(itemMaterial){\r\n itemMaterial.addEventListener('click', function(e){\r\n \r\n e.preventDefault();\r\n\r\n let target = e.target;\r\n let valActive = target.getAttribute('activeSlide');\r\n \r\n lsItem.forEach(function(itemThumbnail, idx){\r\n let thumbActive = itemThumbnail.getAttribute('slideName');\r\n\r\n if (valActive && thumbActive && valActive === thumbActive){\r\n sw.slideTo(idx);\r\n }\r\n })\r\n\r\n if (itemMaterial.classList.contains('is-actived')){\r\n itemMaterial.classList.remove('is-actived');\r\n }\r\n else{\r\n window.delHandle(materials, 'is-actived');\r\n itemMaterial.classList.add('is-actived');\r\n }\r\n })\r\n })\r\n}\r\n\r\nfunction detailSwiper(){\r\n let el = document.querySelector('.pd-1 .thumbnail-slide .swiper');\r\n let next = el.querySelector('.swiper-button-next');\r\n let prev = el.querySelector('.swiper-button-prev');\r\n\r\n next.innerHTML = `\r\n \r\n `;\r\n prev.innerHTML = `\r\n \r\n `;\r\n \r\n return new Swiper(el, {\r\n slidesPerView: 3,\r\n spaceBetween: 16,\r\n centeredSlides: true,\r\n initialSlide: 0,\r\n \r\n navigation: {\r\n nextEl: next,\r\n prevEl: prev,\r\n },\r\n\r\n \r\n\r\n // loop: true,\r\n\r\n // pagination: {\r\n // el: \".swiper-pagination\",\r\n // clickable: true,\r\n // },\r\n \r\n // autoplay: {\r\n // delay: 1800,\r\n // disableOnInteraction:true,\r\n // }\r\n })\r\n}","declare const Swiper: any;\r\n\r\nexport const solution = function(){\r\n const condition = document.querySelector('.solutions-1-thumbnail .swiper');\r\n \r\n if (condition){\r\n sw1(condition);\r\n }\r\n}\r\n\r\nfunction sw1(element:HTMLElement){\r\n var sw = new Swiper(element, {\r\n loop: true,\r\n effect: 'fade',\r\n\r\n speed: 1200,\r\n\r\n autoplay: {\r\n delay: 3200\r\n },\r\n\r\n autoHeight: true,\r\n\r\n pagination: {\r\n el: element.querySelector(\".swiper-pagination\"),\r\n clickable: true,\r\n dynamicBullets: true,\r\n },\r\n })\r\n return sw;\r\n}"]}