{"version":3,"sources":["webpack:////Users/owenli/Documents/workspace/awi-wool-fe/src/views/blocks/accordionBlock/js/accordionBlock.js","webpack:///./wool/mediaQuery.js"],"names":["CLS","AccordionBlock","element","_this","this","_classCallCheck","$element","$","mediaQuery","renderEllipsis","renderImageMargin","window","resize","_","throttle","wysiwygExtract","collapsEventsListener","key","value","find","concat","each","index","$cardContent","$cardTitle","$imageContainerContent","$cardContentCompact","length","outerHeight","setTimeout","targetedHeight","height","newPixelHeight","lineCount","css","display","-webkit-line-clamp","-webkit-box-orient","overflow","text-overflow","lengtj","marginBottom","_this2","$readMoreHeader","on","event","currentTarget","attr","e","$currentCollapse","slick","trigger","MediaQuery","BREAKPOINTS","XS","SM","MD","LG","XL","breakpoint","width","Math","max","document","documentElement","clientWidth","innerWidth","isFinite"],"mappings":"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","file":"block-0.430117f348aedc9992ce.js","sourcesContent":["const NS = 'AccordionBlock';\nconst CLS = 'accordionBlock';\n\nimport { mediaQuery } from '../../../../global/js/wool/mediaQuery';\n\nexport class AccordionBlock {\n\tconstructor(element) {\n\t\tthis.element = element;\n\t\tthis.$element = $(element);\n\n\t\tthis.mediaQuery = mediaQuery;\n\n\t\tthis.renderEllipsis();\n\t\tthis.renderImageMargin();\n\n\t\t$(window).resize(_.throttle(() => {\n\t\t\tthis.renderEllipsis();\n\t\t\tthis.renderImageMargin();\n\t\t}, 250));\n\n\t\tthis.wysiwygExtract();\n\n\t\tthis.collapsEventsListener();\n\t}\n\n\trenderEllipsis() {\n\t\tthis.$element.find(`.${CLS}-card-header`).each((index, element) => {\n\t\t\tlet $element = $(element);\n\t\t\tlet $cardContent = $element.find(`.${CLS}-card-header-content`);\n\t\t\tlet $cardTitle = $element.find(`.${CLS}-card-header-title`);\n\t\t\tlet $imageContainerContent = $element.find(`.${CLS}-card-header-imageContainer`);\n\t\t\tlet $cardContentCompact = $cardContent.find('[accordion-compact]');\n\n\t\t\tif($imageContainerContent && $imageContainerContent.length > 0) {\n\t\t\t\tif($cardContent.outerHeight() > $imageContainerContent.outerHeight()) {\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t// Hacky way of setting the max height to simulate an ellipsis…\n\t\t\t\t\t\tlet targetedHeight = $imageContainerContent.height() - $cardTitle.height();\n\t\t\t\t\t\tlet newPixelHeight = 0;\n\t\t\t\t\t\tlet averageLineHeight = 24;\n\t\t\t\t\t\tlet lineCount = 0;\n\t\t\t\t\t\twhile(newPixelHeight < targetedHeight) {\n\t\t\t\t\t\t\tnewPixelHeight += averageLineHeight;\n\t\t\t\t\t\t\tlineCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewPixelHeight += 4; // Tweak 4px into the pixel height\n\n\t\t\t\t\t\t// Use multi-line css properties to add an ellipsis\n\t\t\t\t\t\t$cardContentCompact.css({\n\t\t\t\t\t\t\t'display': '-webkit-box',\n\t\t\t\t\t\t\t'-webkit-line-clamp': `${lineCount}`,\n\t\t\t\t\t\t\t'-webkit-box-orient': 'vertical',\n\t\t\t\t\t\t\t'height': `${newPixelHeight}px`,\n\t\t\t\t\t\t\t'overflow': 'hidden',\n\t\t\t\t\t\t\t'text-overflow': 'ellipsis'\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 50);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$cardContentCompact.css({\n\t\t\t\t\t\t'display': '',\n\t\t\t\t\t\t'-webkit-line-clamp': '',\n\t\t\t\t\t\t'-webkit-box-orient': '',\n\t\t\t\t\t\t'height': '',\n\t\t\t\t\t\t'overflow': '',\n\t\t\t\t\t\t'text-overflow': ''\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\trenderImageMargin() {\n\t\tthis.$element.find(`.${CLS}-card-header`).each((index, element) => {\n\t\t\tlet $element = $(element);\n\t\t\tlet $cardContent = $element.find(`.${CLS}-card-header-content`);\n\t\t\tlet $imageContainerContent = $element.find(`.${CLS}-card-header-imageContainer`);\n\n\t\t\tif($imageContainerContent && $imageContainerContent.lengtj > 0) {\n\t\t\t\tif($cardContent.outerHeight() > $imageContainerContent.outerHeight()) {\n\t\t\t\t\t$imageContainerContent.css({\n\t\t\t\t\t\tmarginBottom: '0'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$imageContainerContent.css({\n\t\t\t\t\t\tmarginBottom: '1.5rem'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\twysiwygExtract() {\n\t\tthis.$readMoreHeader = this.$element.find(`.${CLS}-card-header[accordion-wysiwyg-extract]`);\n\n\t\tif(this.$readMoreHeader && this.$readMoreHeader.length > 0) {\n\t\t\tthis.$readMoreHeader.on('click', (event) => {\n\t\t\t\tlet $element = $(event.currentTarget);\n\t\t\t\tlet currentReveal = $element.attr('accordion-wysiwyg-extract-reveal');\n\t\t\t\tif(currentReveal === 'true') {\n\t\t\t\t\tthis.$readMoreHeader.attr('accordion-wysiwyg-extract-reveal', false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.$readMoreHeader.attr('accordion-wysiwyg-extract-reveal', false);\n\t\t\t\t\t$element.attr('accordion-wysiwyg-extract-reveal', true);\n\t\t\t\t}\n\n\t\t\t\tthis.renderImageMargin();\n\t\t\t});\n\t\t}\n\t}\n\n\tcollapsEventsListener() {\n\t\tthis.$element.find('.collapse').on('shown.bs.collapse', (e) => {\n\t\t\tlet $currentCollapse = $(e.currentTarget);\n\n\t\t\tif($currentCollapse.find('.slick-initialized').length > 0) {\n\t\t\t\t$currentCollapse.find('.slick-initialized').each((index, element) => {\n\t\t\t\t\t$(element).slick('setPosition');\n\t\t\t\t\t$(window).trigger('resize');\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n}\n","class MediaQuery {\n\tconstructor() {\n\t\tthis.BREAKPOINTS = {\n\t\t\tXS: 0,\n\t\t\tSM: 576,\n\t\t\tMD: 768,\n\t\t\tLG: 992,\n\t\t\tXL: 1200\n\t\t};\n\t}\n\n\tbreakpointMaxWidth(breakpoint) {\n\t\tlet width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n\t\tif(_.isFinite(breakpoint)) {\n\t\t\treturn breakpoint > width;\n\t\t}\n\t\tconsole.error(`MediaQuery::Error`, 'Please supply a valid breakpoint');\n\t\treturn false;\n\t}\n}\n\nexport let mediaQuery = new MediaQuery();\n"],"sourceRoot":""}