{"version":3,"sources":["src/scripts/components/masonry.js"],"names":["$","$wrapper","ELEMENT","GRID","GUTTER","length","breakpoint","addClass","document","ready","createMasonry","binds","masonry","itemSelector","columnWidth","percentPosition","gutter","fitWidth","containerStyle","window","on","debounce","hasClass","removeClass","func","wait","immediate","timeout","context","args","arguments","later","apply","callNow","clearTimeout","setTimeout","getComputedStyle","querySelector","getPropertyValue","replace","jQuery"],"mappings":";;AAAA;AACC,WAASA,CAAT,EAAY;AACX,MAAMC,WAAWD,EAAE,2BAAF,CAAjB;AACA,MAAME,UAAU,mBAAhB;AACA,MAAMC,OAAO,aAAb;AACA,MAAMC,SAAS,eAAf;;AAEA,MAAGH,SAASI,MAAT,GAAkB,CAArB,EAAwB;AACtB,QAAGC,iBAAiB,SAApB,EAA+B;AAC7BL,eAASM,QAAT,CAAkB,SAAlB;;AAEAP,QAAEQ,QAAF,EAAYC,KAAZ,CAAkB,YAAU;AAC1BC;AACD,OAFD;AAGD;AACDC;AACD;;AAED,WAASD,aAAT,GAAyB;AACvBT,aAASW,OAAT,CAAiB;AACf;AACAC,oBAAcX,OAFC;AAGfY,mBAAaX,IAHE;AAIfY,uBAAiB,IAJF;AAKfC,cAAQ,EALO;AAMfC,gBAAU,IANK;AAOfC,sBAAgB;AAPD,KAAjB;AASD;;AAED,WAASP,KAAT,GAAiB;AACfX,MAAEmB,MAAF,EAAUC,EAAV,CAAa,QAAb,EAAsBC,SAAS,YAAW;AACxC,UAAGpB,SAASqB,QAAT,CAAkB,SAAlB,CAAH,EAAiC;AAC/BrB,iBAASW,OAAT,CAAiB,SAAjB;AACD;;AAED,UAAGN,iBAAiB,SAApB,EAA+B;AAC7B,YAAG,CAACL,SAASqB,QAAT,CAAkB,SAAlB,CAAJ,EAAkC;AAChCrB,mBAASM,QAAT,CAAkB,SAAlB;AACD;;AAEDG;AACD,OAND,MAMO;AACLT,iBAASsB,WAAT,CAAqB,SAArB;AACD;AAEF,KAfqB,EAenB,GAfmB,CAAtB;AAgBD;;AAED,WAASF,QAAT,CAAkBG,IAAlB,EAAwBC,IAAxB,EAA8BC,SAA9B,EAAyC;AACvC,QAAIC,OAAJ;AACA,WAAO,YAAW;AAChB,UAAIC,UAAU,IAAd;AACA,UAAIC,OAAOC,SAAX;AACA,UAAIC,QAAQ,SAARA,KAAQ,GAAW;AACrBJ,kBAAU,IAAV;AACA,YAAI,CAACD,SAAL,EAAgBF,KAAKQ,KAAL,CAAWJ,OAAX,EAAoBC,IAApB;AACjB,OAHD;AAIA,UAAII,UAAUP,aAAa,CAACC,OAA5B;AACAO,mBAAaP,OAAb;AACAA,gBAAUQ,WAAWJ,KAAX,EAAkBN,IAAlB,CAAV;AACA,UAAIQ,OAAJ,EAAaT,KAAKQ,KAAL,CAAWJ,OAAX,EAAoBC,IAApB;AACd,KAXD;AAYD;;AAED,WAASvB,UAAT,GAAsB;AACpB,WAAOa,OAAOiB,gBAAP,CAAwB5B,SAAS6B,aAAT,CAAuB,MAAvB,CAAxB,EAAwD,SAAxD,EAAmEC,gBAAnE,CAAoF,SAApF,EAA+FC,OAA/F,CAAuG,KAAvG,EAA8G,EAA9G,CAAP;AACD;AAEF,CApEA,EAoECC,MApED,CAAD;AAqEA","file":"masonry.js","sourcesContent":["/* eslint-disable */\n(function($) {\n const $wrapper = $('.perspective-item-wrapper');\n const ELEMENT = '.perspective-item';\n const GRID = '.grid-sizer';\n const GUTTER = '.gutter-sizer';\n\n if($wrapper.length > 0) {\n if(breakpoint() === 'desktop') {\n $wrapper.addClass('_active');\n\n $(document).ready(function(){\n createMasonry(); \n });\n }\n binds(); \n }\n\n function createMasonry() {\n $wrapper.masonry({\n // options...\n itemSelector: ELEMENT,\n columnWidth: GRID,\n percentPosition: true,\n gutter: 20,\n fitWidth: true,\n containerStyle: null\n });\n }\n\n function binds() {\n $(window).on('resize',debounce(function() {\n if($wrapper.hasClass('_active')) {\n $wrapper.masonry('destroy'); \n }\n\n if(breakpoint() === 'desktop') {\n if(!$wrapper.hasClass('_active')) {\n $wrapper.addClass('_active');\n }\n \n createMasonry();\n } else {\n $wrapper.removeClass('_active');\n }\n \n }, 250));\n }\n\n function debounce(func, wait, immediate) {\n var timeout;\n return function() {\n var context = this;\n var args = arguments;\n var later = function() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n }\n\n function breakpoint() {\n return window.getComputedStyle(document.querySelector('body'), ':before').getPropertyValue('content').replace(/\\\"/g, '');\n }\n\n}(jQuery));\n/* eslint-enable */\n\n"]}