{"version":3,"file":"collab.min.js","sources":["collab.min.js"],"sourcesContent":["'use strict';\n/**\n * @description Initialize event handlers on landing page\n */\n\nvar collabCache = {\n $stickyAreaWrapper: $('.js-sticky-area-wrapper'),\n $bannerWrapper: $('.js-banner-wrapper'),\n $stickyMainContent: $('.js-sticky-main-content'),\n $stickySectionVertical: $('.js-sticky-section-vertical')\n};\n\n/**\n * Set filter sticky\n * @param {Number} offsetNumber - offset number\n */\n function setFilterSticky(offsetNumber) {\n if (!collabCache.$bannerWrapper.hasClass('sticky')) {\n collabCache.$bannerWrapper\n .removeClass('absolute')\n .addClass('sticky')\n .css('top', offsetNumber)\n .css('bottom', '');\n }\n}\n\n/**\n * Set filter position as absolute\n * Filter will stop at the bottom of the screen and will move alongside the rest of the elements up, when the page is scrolled down\n */\nfunction setFilterAbsolute() {\n if (!collabCache.$bannerWrapper.hasClass('absolute')) {\n collabCache.$bannerWrapper\n .removeClass('sticky')\n .css('top', '')\n .css('width', '')\n .addClass('absolute');\n }\n}\n\n/**\n * Remove any set classes, reset filter state\n */\nfunction resetFilterState() {\n if (collabCache.$bannerWrapper.hasClass('sticky') || collabCache.$bannerWrapper.hasClass('absolute')) {\n collabCache.$bannerWrapper\n .removeClass('sticky')\n .removeClass('absolute')\n .css('width', '')\n .css('top', '');\n }\n}\n\nfunction collabInit() {\n var updateLeftFilterState = window.vbqUtils._debounce(function () {\n if (collabCache.$stickyAreaWrapper.length) {\n var windowTop = parseInt(window.vbqUtils.cache.$window.scrollTop(), 10),\n stickOffset = parseInt(window.vbqUtils.cache.$stickyHeader.height(), 10), // sticky filter offset: sticky header\n stickyTop = parseInt(collabCache.$stickyAreaWrapper.offset().top, 10),\n stickyTopPadding = parseInt(collabCache.$stickyAreaWrapper.css('padding-top'), 10),\n startPoint = stickyTop + stickyTopPadding,\n endPoint = startPoint + parseInt(collabCache.$stickyAreaWrapper.height(), 10),\n filterHeight = parseInt(collabCache.$stickySectionVertical.height(), 10),\n filterBottomPos = windowTop + stickOffset + filterHeight,\n resultItemsHeight = parseInt(collabCache.$stickyMainContent.height(), 10);\n\n if (filterHeight < resultItemsHeight) {\n if (windowTop + stickOffset > startPoint) {\n // absolute refinement panel mode if place to show filter <= filter height\n if (filterBottomPos >= endPoint) {\n setFilterAbsolute();\n }\n // sticky refinement panel mode\n else {\n setFilterSticky(stickOffset);\n }\n }\n else {\n resetFilterState();\n }\n }\n else {\n resetFilterState();\n }\n }\n }, 50);\n\n // Question block\n var $collabQuestion = $('.js-collab-question'),\n $collabAnswer = $('.js-collab-answer');\n\n $collabQuestion.on('click', function () {\n $collabQuestion.hide();\n $collabAnswer.show();\n });\n\n // Desktop sticky panel\n window.vbqUtils.breakpoint.set([\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('mobileAndTablet'),\n enter: function () {\n window.vbqUtils.cache.$window.off('scroll', updateLeftFilterState);\n window.vbqUtils.cache.$window.off('resize', updateLeftFilterState);\n }\n },\n {\n media: window.vbqUtils.breakpoint.getMediaQuery('fromDesktop'),\n enter: function () {\n updateLeftFilterState();\n window.vbqUtils.cache.$window.scroll(updateLeftFilterState);\n window.vbqUtils.cache.$window.resize(updateLeftFilterState);\n }\n }\n ]);\n}\n\nwindow.addEventListener('mainJsLoaded', function (event) {\n collabInit();\n});\n"],"names":["collabCache","$stickyAreaWrapper","$","$bannerWrapper","$stickyMainContent","$stickySectionVertical","setFilterSticky","offsetNumber","hasClass","removeClass","addClass","css","setFilterAbsolute","resetFilterState","collabInit","updateLeftFilterState","window","vbqUtils","_debounce","windowTop","stickOffset","startPoint","endPoint","filterHeight","filterBottomPos","length","parseInt","cache","$window","scrollTop","$stickyHeader","height","offset","top","$collabQuestion","$collabAnswer","on","hide","show","breakpoint","set","media","getMediaQuery","enter","off","scroll","resize","addEventListener","event"],"mappings":"AAAA,aAKA,IAAIA,YAAc,CACdC,mBAAoBC,EAAE,yBAAyB,EAC/CC,eAAgBD,EAAE,oBAAoB,EACtCE,mBAAoBF,EAAE,yBAAyB,EAC/CG,uBAAwBH,EAAE,6BAA6B,CAC3D,EAMC,SAASI,gBAAgBC,GACjBP,YAAYG,eAAeK,SAAS,QAAQ,GAC7CR,YAAYG,eACPM,YAAY,UAAU,EACtBC,SAAS,QAAQ,EACjBC,IAAI,MAAOJ,CAAY,EACvBI,IAAI,SAAU,EAAE,CAE7B,CAMA,SAASC,oBACAZ,YAAYG,eAAeK,SAAS,UAAU,GAC/CR,YAAYG,eACPM,YAAY,QAAQ,EACpBE,IAAI,MAAO,EAAE,EACbA,IAAI,QAAS,EAAE,EACfD,SAAS,UAAU,CAEhC,CAKA,SAASG,oBACDb,YAAYG,eAAeK,SAAS,QAAQ,GAAKR,YAAYG,eAAeK,SAAS,UAAU,IAC/FR,YAAYG,eACPM,YAAY,QAAQ,EACpBA,YAAY,UAAU,EACtBE,IAAI,QAAS,EAAE,EACfA,IAAI,MAAO,EAAE,CAE1B,CAEA,SAASG,aACL,IAAIC,EAAwBC,OAAOC,SAASC,UAAU,WAClD,IACQC,EACAC,EAGAC,EACAC,EACAC,EACAC,EARJxB,YAAYC,mBAAmBwB,SAC3BN,EAAYO,SAASV,OAAOC,SAASU,MAAMC,QAAQC,UAAU,EAAG,EAAE,EAClET,EAAcM,SAASV,OAAOC,SAASU,MAAMG,cAAcC,OAAO,EAAG,EAAE,EAIvET,GADAD,EAFYK,SAAS1B,YAAYC,mBAAmB+B,OAAO,EAAEC,IAAK,EAAE,EACjDP,SAAS1B,YAAYC,mBAAmBU,IAAI,aAAa,EAAG,EAAE,GAEzDe,SAAS1B,YAAYC,mBAAmB8B,OAAO,EAAG,EAAE,EAE5EP,EAAkBL,EAAYC,GAD9BG,EAAeG,SAAS1B,YAAYK,uBAAuB0B,OAAO,EAAG,EAAE,GAIvER,EAFoBG,SAAS1B,YAAYI,mBAAmB2B,OAAO,EAAG,EAAE,GAG1CV,EAA1BF,EAAYC,EAEWE,GAAnBE,EACAZ,kBAAkB,EAIlBN,gBAAgBc,CAAW,EAQnCP,iBAAiB,EAG7B,EAAG,EAAE,EAGDqB,EAAkBhC,EAAE,qBAAqB,EACzCiC,EAAgBjC,EAAE,mBAAmB,EAEzCgC,EAAgBE,GAAG,QAAS,WACxBF,EAAgBG,KAAK,EACrBF,EAAcG,KAAK,CACvB,CAAC,EAGDtB,OAAOC,SAASsB,WAAWC,IAAI,CAC3B,CACIC,MAAOzB,OAAOC,SAASsB,WAAWG,cAAc,iBAAiB,EACjEC,MAAO,WACH3B,OAAOC,SAASU,MAAMC,QAAQgB,IAAI,SAAU7B,CAAqB,EACjEC,OAAOC,SAASU,MAAMC,QAAQgB,IAAI,SAAU7B,CAAqB,CACrE,CACJ,EACA,CACI0B,MAAOzB,OAAOC,SAASsB,WAAWG,cAAc,aAAa,EAC7DC,MAAO,WACH5B,EAAsB,EACtBC,OAAOC,SAASU,MAAMC,QAAQiB,OAAO9B,CAAqB,EAC1DC,OAAOC,SAASU,MAAMC,QAAQkB,OAAO/B,CAAqB,CAC9D,CACJ,EACH,CACL,CAEAC,OAAO+B,iBAAiB,eAAgB,SAAUC,GAC9ClC,WAAW,CACf,CAAC"}