{"version":3,"sources":["webpack:///./modules/QuickLinksSidebar.ts"],"names":["__webpack_require__","r","__webpack_exports__","_helpers_DOMHelpers__WEBPACK_IMPORTED_MODULE_0__","_helpers_helperFunctions__WEBPACK_IMPORTED_MODULE_1__","QuickLinksSidebar","element","this","sidebarItems","querySelector","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","_this","shariffSidebar","sectionSideBar","linkItems","MutationObserver","mutations","mutation","type","attributeName","classList","contains","dynamicTop","offsetHeight","style","top","updateSiblingHeight","observe","attributes","Object","open","addEventListener","e","isOpen","close","stopPropagation"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,GAAAI,EAAAJ,EAAA,IAKAK,EAAA,WAUI,SAAAA,EAAmBC,GAAAC,KAAAD,UACfC,KAAKC,aAAeD,KAAKD,QAAQG,cAAc,kBAC/CF,KAAKG,OAiEb,OA1EWL,EAAAM,MAAP,SAAaC,QAAA,IAAAA,MALM,qCAMfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACf,GACpH,IAAID,EAAkBC,GACtBA,EAAQa,QAAQC,kBAAoB,UASpCf,EAAAiB,UAAAZ,KAAR,eAAAa,EAAAhB,KAEUiB,EAAkBT,SAASN,cAAc,uBACzCgB,EAAiBV,SAASN,cAAc,wBACxCiB,EAAYX,SAASN,cAAc,eAOzC,GAAIe,EAAgB,CAGH,IAAIG,iBAAiB,SAAAC,GAClCA,EAAUP,QAAQ,SAAAQ,GACQ,eAAlBA,EAASC,MAAoD,UAA3BD,EAASE,gBACzBP,EAAeQ,UACnBC,SALF,uBARxB,WACI,IACMC,EAAa,eADDV,EAAeW,aACY,IAAE,MAC/CV,EAAeW,MAAMC,IAAMH,EAC3BR,EAAUU,MAAMC,IAAMH,EAUVI,QAMPC,QAAQf,GAAkBgB,YAAY,IAqB/C,OAlBKC,OAAArC,EAAA,EAAAqC,IAAeA,OAAArC,EAAA,EAAAqC,IAChBlC,KAAKmC,OAEJlB,GACLT,SAAS4B,iBAAiB,QAAS,SAACC,GAC5BrB,EAAKsB,UACLtB,EAAKuB,UAGbvC,KAAKC,aAAamC,iBAAiB,QAAS,SAACC,GACzCA,EAAEG,kBACGxB,EAAKsB,SAINtB,EAAKuB,QAHLvB,EAAKmB,SAMNnC,MAGHF,EAAAiB,UAAAuB,OAAR,WACI,OAAOJ,OAAAtC,EAAA,EAAAsC,CAASlC,KAAKD,QAAS,qBAG1BD,EAAAiB,UAAAoB,KAAR,WACSnC,KAAKsC,UACNJ,OAAAtC,EAAA,EAAAsC,CAASlC,KAAKD,QAAS,qBAGvBD,EAAAiB,UAAAwB,MAAR,WACQvC,KAAKsC,UACLJ,OAAAtC,EAAA,EAAAsC,CAAYlC,KAAKD,QAAS,qBAEtCD,EA7EA,eA+EA,IAAIA,EAAkBM","file":"./modules/QuickLinksSidebar.690dbcee.js","sourcesContent":["import { addClass, removeClass, hasClass } from \"../helpers/DOMHelpers\";\r\nimport { isMobile, isTouch } from \"../helpers/helperFunctions\";\r\n\r\nconst moduleSelector = '[data-module=\"QuickLinksSidebar\"]';\r\n\r\nexport default class QuickLinksSidebar {\r\n private sidebarItems: HTMLElement;\r\n\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new QuickLinksSidebar(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.sidebarItems = this.element.querySelector('.sidebar-icons');\r\n this.init();\r\n }\r\n\r\n private init(): QuickLinksSidebar {\r\n\r\n const shariffSidebar = document.querySelector(\".cw-shariff-sidebar\") as HTMLElement;\r\n const sectionSideBar = document.querySelector(\".quick-links-sidebar\") as HTMLElement;\r\n const linkItems = document.querySelector(\".link-items\") as HTMLElement;\r\n function updateSiblingHeight() {\r\n const newHeight = shariffSidebar.offsetHeight;\r\n const dynamicTop = `calc(30% + ${newHeight + 15}px)`;\r\n sectionSideBar.style.top = dynamicTop;\r\n linkItems.style.top = dynamicTop;\r\n }\r\n if (shariffSidebar) {\r\n\r\n const classToWatchFor = 'cw-shariff-sidebar';\r\n const observer = new MutationObserver(mutations => {\r\n mutations.forEach(mutation => {\r\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\r\n const classList = shariffSidebar.classList;\r\n if (classList.contains(classToWatchFor)) {\r\n updateSiblingHeight()\r\n }\r\n }\r\n });\r\n });\r\n\r\n observer.observe(shariffSidebar, { attributes: true });\r\n \r\n }\r\n if (!isMobile() || !isTouch()) {\r\n this.open();\r\n }\r\n if (!shariffSidebar) {\r\n document.addEventListener('click', (e: Event) => {\r\n if (this.isOpen())\r\n this.close();\r\n });\r\n }\r\n this.sidebarItems.addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n if (!this.isOpen()) {\r\n this.open();\r\n }\r\n else {\r\n this.close();\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n private isOpen(): boolean {\r\n return hasClass(this.element, 'sidebar-expanded');\r\n }\r\n\r\n private open(): void {\r\n if (!this.isOpen())\r\n addClass(this.element, 'sidebar-expanded');\r\n }\r\n\r\n private close(): void {\r\n if (this.isOpen())\r\n removeClass(this.element, 'sidebar-expanded');\r\n }\r\n}\r\n\r\nnew QuickLinksSidebar.setup();"],"sourceRoot":""}