{"version":3,"sources":["webpack:///./modules/ShariffSidebar.ts"],"names":["__webpack_require__","r","__webpack_exports__","_helpers_DOMHelpers__WEBPACK_IMPORTED_MODULE_0__","_js_libs_shariff_shariff_js__WEBPACK_IMPORTED_MODULE_1__","_js_libs_shariff_shariff_js__WEBPACK_IMPORTED_MODULE_1___default","n","ShariffSidebar","element","this","shareToggle","querySelector","shareFlyout","printToggle","printFlyout","shariff","init","setup","selector","Array","from","document","querySelectorAll","filter","node","dataset","moduleInitialized","forEach","prototype","_this","a","addEventListener","event","stopPropagation","window","print","e","isOpen","close","isPrintOpen","openShare","isShareOpen","openPrint","Object"],"mappings":"2FAAAA,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,GAAAI,EAAAJ,EAAA,KAAAK,EAAAL,EAAAM,EAAAF,GAKAG,EAAA,WAcI,SAAAA,EAAmBC,GAAAC,KAAAD,UACfC,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,OAgFb,OA9FWT,EAAAU,MAAP,SAAaC,QAAA,IAAAA,MATM,kCAUfC,MAAMC,KAAKC,SAASC,iBAAiBJ,IAAWK,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,oBAAmBC,QAAQ,SAACnB,GACpH,IAAID,EAAeC,GACnBA,EAAQiB,QAAQC,kBAAoB,UAcpCnB,EAAAqB,UAAAZ,KAAR,eAAAa,EAAApB,KA8CI,OA7CIA,KAAKM,SACL,IAAIV,EAAAyB,EAAQrB,KAAKM,SAErBI,MAAMC,KAAKX,KAAKK,YAAYQ,iBAAiB,uCAAuCK,QAAQ,SAACnB,GACzFA,EAAQuB,iBAAiB,QAAS,SAACC,GAC/BA,EAAMC,kBACNC,OAAOC,YAGfd,SAASU,iBAAiB,QAAS,SAACK,GAC5BP,EAAKQ,UACLR,EAAKS,UAGb7B,KAAKC,YAAYqB,iBAAiB,QAAS,SAACK,GACxCA,EAAEH,kBACEJ,EAAKQ,SACDR,EAAKU,eACLV,EAAKS,QACLT,EAAKW,aAGLX,EAAKS,QAITT,EAAKW,cAIb/B,KAAKI,YAAYkB,iBAAiB,QAAS,SAACK,GACxCA,EAAEH,kBACEJ,EAAKQ,SACDR,EAAKY,eACLZ,EAAKS,QACLT,EAAKa,aAGLb,EAAKS,QAITT,EAAKa,cAGNjC,MAGHF,EAAAqB,UAAAS,OAAR,WACI,OAAOM,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAAqBmC,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAGtED,EAAAqB,UAAAW,YAAR,WACI,OAAOI,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAG1BD,EAAAqB,UAAAa,YAAR,WACI,OAAOE,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAG1BD,EAAAqB,UAAAc,UAAR,WACSjC,KAAK4B,UACNM,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAGvBD,EAAAqB,UAAAY,UAAR,WACS/B,KAAK4B,UACNM,OAAAxC,EAAA,EAAAwC,CAASlC,KAAKD,QAAS,mBAGvBD,EAAAqB,UAAAU,MAAR,WACQ7B,KAAK4B,WACLM,OAAAxC,EAAA,EAAAwC,CAAYlC,KAAKD,QAAS,kBAC1BmC,OAAAxC,EAAA,EAAAwC,CAAYlC,KAAKD,QAAS,oBAGtCD,EArGA,eAuGA,IAAIA,EAAeU","file":"./modules/ShariffSidebar.07c3b9e8.js","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();"],"sourceRoot":""}