{"version":3,"file":"./modules/ShariffSidebar.xxxxxxxx.js","mappings":"qJAKA,aAcI,WAAmBA,GAAA,KAAAA,QAAAA,EACfC,KAAKC,YAAcD,KAAKD,QAAQG,cAAc,iBAC9CF,KAAKG,YAAcH,KAAKD,QAAQG,cAAc,iBAC9CF,KAAKI,YAAcJ,KAAKD,QAAQG,cAAc,iBAC9CF,KAAKK,YAAcL,KAAKD,QAAQG,cAAc,iBAC9CF,KAAKM,QAAUN,KAAKG,YAAYD,cAAc,eAE9CF,KAAKO,MACT,CA+EJ,OA9FW,EAAAC,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EATM,kCAUfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiCC,QAAQ,SAACnB,GACpH,IAAIoB,EAAepB,GACnBA,EAAQiB,QAAQC,kBAAoB,MACxC,EACJ,EAYQ,YAAAV,KAAR,sBA8CI,OA7CIP,KAAKM,SACL,IAAI,IAAJ,CAAYN,KAAKM,SAErBI,MAAMC,KAAKX,KAAKK,YAAYQ,iBAAiB,uCAAuCK,QAAQ,SAACnB,GACzFA,EAAQqB,iBAAiB,QAAS,SAACC,GAC/BA,EAAMC,kBACNC,OAAOC,OACX,EACJ,GACAZ,SAASQ,iBAAiB,QAAS,SAACK,GAC5B,EAAKC,UACL,EAAKC,OACb,GAEA3B,KAAKC,YAAYmB,iBAAiB,QAAS,SAACK,GACxCA,EAAEH,kBACE,EAAKI,SACD,EAAKE,eACL,EAAKD,QACL,EAAKE,aAGL,EAAKF,QAIT,EAAKE,WAEb,GAEA7B,KAAKI,YAAYgB,iBAAiB,QAAS,SAACK,GACxCA,EAAEH,kBACE,EAAKI,SACD,EAAKI,eACL,EAAKH,QACL,EAAKI,aAGL,EAAKJ,QAIT,EAAKI,WAEb,GACO/B,IACX,EAEQ,YAAA0B,OAAR,WACI,OAAO,QAAS1B,KAAKD,QAAS,oBAAqB,QAASC,KAAKD,QAAS,iBAC9E,EAEQ,YAAA6B,YAAR,WACI,OAAO,QAAS5B,KAAKD,QAAS,iBAClC,EAEQ,YAAA+B,YAAR,WACI,OAAO,QAAS9B,KAAKD,QAAS,iBAClC,EAEQ,YAAAgC,UAAR,WACS/B,KAAK0B,WACN,QAAS1B,KAAKD,QAAS,iBAC/B,EAEQ,YAAA8B,UAAR,WACS7B,KAAK0B,WACN,QAAS1B,KAAKD,QAAS,iBAC/B,EAEQ,YAAA4B,MAAR,WACQ3B,KAAK0B,YACL,QAAY1B,KAAKD,QAAS,mBAC1B,QAAYC,KAAKD,QAAS,kBAElC,EACJ,EArGA,G,UAuGA,IAAIoB,EAAeX,K","sources":["webpack:///./modules/ShariffSidebar.ts"],"sourcesContent":["import { addClass, removeClass, hasClass } from \"../helpers/DOMHelpers\";\r\nimport Shariff from \"../../js/libs/shariff/shariff.js\";\r\n\r\nconst moduleSelector = '[data-module=\"ShariffSidebar\"]';\r\n\r\nexport default class ShariffSidebar {\r\n private shareToggle: HTMLElement;\r\n private shareFlyout: HTMLElement;\r\n private printToggle: HTMLElement;\r\n private printFlyout: HTMLElement;\r\n private shariff: 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 ShariffSidebar(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.shareToggle = this.element.querySelector('.share-toggle');\r\n this.shareFlyout = this.element.querySelector('.share-flyout');\r\n this.printToggle = this.element.querySelector('.print-toggle');\r\n this.printFlyout = this.element.querySelector('.print-flyout');\r\n this.shariff = this.shareFlyout.querySelector('.cw-shariff');\r\n\r\n this.init();\r\n }\r\n\r\n private init(): ShariffSidebar {\r\n if (this.shariff)\r\n new Shariff(this.shariff);\r\n\r\n Array.from(this.printFlyout.querySelectorAll('.title-wrapper, .print-description')).forEach((element) => {\r\n element.addEventListener('click', (event: Event) => {\r\n event.stopPropagation();\r\n window.print();\r\n });\r\n });\r\n document.addEventListener('click', (e: Event) => {\r\n if (this.isOpen())\r\n this.close();\r\n });\r\n\r\n this.shareToggle.addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n if (this.isOpen()) {\r\n if (this.isPrintOpen()) {\r\n this.close();\r\n this.openShare();\r\n }\r\n else {\r\n this.close();\r\n }\r\n }\r\n else {\r\n this.openShare();\r\n }\r\n });\r\n\r\n this.printToggle.addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n if (this.isOpen()) {\r\n if (this.isShareOpen()) {\r\n this.close();\r\n this.openPrint();\r\n }\r\n else {\r\n this.close();\r\n } \r\n }\r\n else {\r\n this.openPrint();\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n private isOpen(): boolean {\r\n return hasClass(this.element, 'print-expanded') || hasClass(this.element, 'share-expanded');\r\n }\r\n\r\n private isPrintOpen(): boolean {\r\n return hasClass(this.element, 'print-expanded');\r\n }\r\n\r\n private isShareOpen(): boolean {\r\n return hasClass(this.element, 'share-expanded');\r\n }\r\n\r\n private openPrint(): void {\r\n if (!this.isOpen())\r\n addClass(this.element, 'print-expanded');\r\n }\r\n\r\n private openShare(): void {\r\n if (!this.isOpen())\r\n addClass(this.element, 'share-expanded');\r\n }\r\n\r\n private close(): void {\r\n if (this.isOpen()) {\r\n removeClass(this.element, 'print-expanded');\r\n removeClass(this.element, 'share-expanded');\r\n }\r\n }\r\n}\r\n\r\nnew ShariffSidebar.setup();"],"names":["element","this","shareToggle","querySelector","shareFlyout","printToggle","printFlyout","shariff","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","ShariffSidebar","addEventListener","event","stopPropagation","window","print","e","isOpen","close","isPrintOpen","openShare","isShareOpen","openPrint"],"sourceRoot":""}