{"version":3,"file":"./modules/QuickLinksSidebar.xxxxxxxx.js","mappings":"4IAKA,aAUI,WAAmBA,GAAA,KAAAA,QAAAA,EACfC,KAAKC,aAAeD,KAAKD,QAAQG,cAAc,kBAC/CF,KAAKG,MACT,CAgEJ,OA1EW,EAAAC,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EALM,qCAMfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiCC,QAAQ,SAACf,GACpH,IAAIgB,EAAkBhB,GACtBA,EAAQa,QAAQC,kBAAoB,MACxC,EACJ,EAOQ,YAAAV,KAAR,sBAEUa,EAAkBR,SAASN,cAAc,uBACzCe,EAAiBT,SAASN,cAAc,wBACxCgB,EAAYV,SAASN,cAAc,eAOzC,GAAIc,EAAgB,CAGH,IAAIG,iBAAiB,SAAAC,GAClCA,EAAUN,QAAQ,SAAAO,GAEV,IAXFC,EACAC,EASoB,eAAlBF,EAASG,MAAoD,UAA3BH,EAASI,gBACzBT,EAAeU,UACnBC,SALF,wBAPdL,EAAYN,EAAeY,aAC3BL,EAAa,qBAAcD,EAAY,GAAE,OAC/CL,EAAeY,MAAMC,IAAMP,EAC3BL,EAAUW,MAAMC,IAAMP,GAatB,EACJ,GAESQ,QAAQf,EAAgB,CAAEgB,YAAY,GAE/C,CAmBA,OAlBK,YAAe,WAChBhC,KAAKiC,OAEJjB,GACLR,SAAS0B,iBAAiB,QAAS,SAACC,GAC5B,EAAKC,UACL,EAAKC,OACb,GAEArC,KAAKC,aAAaiC,iBAAiB,QAAS,SAACC,GACzCA,EAAEG,kBACG,EAAKF,SAIN,EAAKC,QAHL,EAAKJ,MAKb,GACOjC,IACX,EAEQ,YAAAoC,OAAR,WACI,OAAO,QAASpC,KAAKD,QAAS,mBAClC,EAEQ,YAAAkC,KAAR,WACSjC,KAAKoC,WACN,QAASpC,KAAKD,QAAS,mBAC/B,EAEQ,YAAAsC,MAAR,WACQrC,KAAKoC,WACL,QAAYpC,KAAKD,QAAS,mBAClC,EACJ,EA7EA,G,UA+EA,IAAIgB,EAAkBX,K","sources":["webpack:///./modules/QuickLinksSidebar.ts"],"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();"],"names":["element","this","sidebarItems","querySelector","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","QuickLinksSidebar","shariffSidebar","sectionSideBar","linkItems","MutationObserver","mutations","mutation","newHeight","dynamicTop","type","attributeName","classList","contains","offsetHeight","style","top","observe","attributes","open","addEventListener","e","isOpen","close","stopPropagation"],"sourceRoot":""}