{"version":3,"sources":["webpack://gli-frontend/../web/themes/custom/gilderlehrman_theme/src/js/gli__search-facets.js"],"names":["Drupal","once","$","behaviors","gliSearchFacets","attach","context","document","getElementsByClassName","forEach","element","$element","on","hasClass","closest","get","scrollIntoView","max","scrollHeight","offsetHeight","Math","ceil","addClass","scrollTop","removeClass","jQuery"],"mappings":"CAAA,SAAEA,EAAQC,EAAMC,GACdF,EAAOG,UAAUC,gBAAkB,CACjCC,OADiC,SACzBC,GACYL,EAAK,kBAAmBM,SAASC,uBAAuB,0BAA2BF,GAC3FG,SAAQ,SAAAC,GAChB,IAAIC,EAAWT,EAAEQ,GACjBC,EAASC,GAAG,SAAS,WACdD,EAASE,SAAS,SACPF,EAASG,QAAQ,kBACtBC,IAAI,GAAGC,uBAKNf,EAAK,iBAAkB,gDAAiDK,GAChFG,SAAQ,SAAAC,GACd,IAAIC,EAAWT,EAAEQ,GACbO,EAAM,EACVN,EAASC,GAAG,sCAAsC,WAC5CF,EAAQQ,aAAeR,EAAQS,cACjCF,EAAMG,KAAKC,KAAKX,EAAQQ,aAAeR,EAAQS,cAAgB,EAE1DR,EAASE,SAAS,cACrBF,EAASW,SAAS,aAGhBZ,EAAQa,WAAa,IAAMZ,EAASE,SAAS,cAC/CF,EAASW,SAAS,cAEXZ,EAAQa,UAAY,GAAKb,EAAQa,UAAYN,GACpDN,EAASa,YAAY,cACrBb,EAASa,YAAY,kBAEdJ,KAAKC,KAAKX,EAAQa,YAAcN,IAAON,EAASE,SAAS,kBAChEF,EAASW,SAAS,kBAGbX,EAASE,SAAS,cACzBF,EAASa,YAAY,qBAtCjC,CA4CGxB,OAAQC,KAAMwB","file":"/js/gli__search-facets.js","sourcesContent":["((Drupal, once, $) => {\n Drupal.behaviors.gliSearchFacets = {\n attach (context) {\n const showLinks = once('gli-facet-links', document.getElementsByClassName('facets-soft-limit-link'), context);\n showLinks.forEach(element => {\n let $element = $(element);\n $element.on('click', () => {\n if (!$element.hasClass('open')) {\n let $summary= $element.closest('.facet-details');\n $summary.get(0).scrollIntoView();\n }\n });\n });\n\n const sidebar = once('sticky-sidebar', '.sticky-sidebar .layout-content-wrapper aside', context);\n sidebar.forEach(element => {\n let $element = $(element);\n let max = 0;\n $element.on('scroll click mouseenter mouseleave', () => {\n if (element.scrollHeight > element.offsetHeight) {\n max = Math.ceil(element.scrollHeight - element.offsetHeight) - 1;\n\n if (!$element.hasClass('scrolling')) {\n $element.addClass('scrolling');\n }\n\n if (element.scrollTop <= 1 && !$element.hasClass('anchor-top')) {\n $element.addClass('anchor-top');\n }\n else if (element.scrollTop > 1 && element.scrollTop < max) {\n $element.removeClass('anchor-top');\n $element.removeClass('anchor-bottom');\n }\n else if (Math.ceil(element.scrollTop) >= max&& !$element.hasClass('anchor-bottom')) {\n $element.addClass('anchor-bottom');\n }\n }\n else if ($element.hasClass('scrolling')) {\n $element.removeClass('scrolling');\n }\n });\n });\n }\n };\n})(Drupal, once, jQuery);\n"],"sourceRoot":""}