{"version":3,"file":"archivefilterexpands.8debf13f33c3ce680d9d.js","mappings":"yIAOAA,IAAEC,UAAUC,OAAM,KAEd,MAAMC,EAAgBF,SAASG,cAAc,yBACvCC,EAAkBJ,SAASG,cAAc,0BACzCE,EAAoBL,SAASG,cAAc,8CAEjD,IAEIG,EAFAC,EAA2BR,IAAE,yBAAyBS,KAAK,gCAAgCC,OAI/F,MAAMC,EAAgB,KACfR,GAAiBE,IAChBL,IAAEK,GAAiBO,YAAY,UAC/BZ,IAAEK,GAAiBQ,KAAK,gBAAe,GACvCb,IAAEK,GAAiBQ,KAAK,iBAAgB,GAExCb,IAAEG,GAAeW,IAAI,CAAC,OAAS,IAAK,SAAW,WAC/Cd,IAAE,uDAAuDa,KAAK,WAAW,MACzEb,IAAE,8DAA8Da,KAAK,WAAW,MACnF,EAGCE,EAAe,KACdZ,GAAiBE,IAChBL,IAAEK,GAAiBW,SAAS,UAC5BhB,IAAEK,GAAiBQ,KAAK,gBAAe,GACvCb,IAAEK,GAAiBQ,KAAK,iBAAgB,GAExCb,IAAEG,GAAeW,IAAI,SAASP,GAC9BP,IAAE,uDAAuDa,KAAK,WAAW,KACzEb,IAAE,8DAA8Da,KAAK,WAAW,KAChFI,YAAW,KACPjB,IAAEG,GAAeW,IAAI,WAAW,UAAhC,GACD,KACN,EAGCI,EAAuBC,IACX,UAAXA,EAAEC,MAA+B,UAAXD,EAAEE,MAAkC,KAAdF,EAAEG,UACzCtB,IAAEmB,EAAEI,QAAQC,SAAS,WAAaxB,IAAEmB,EAAEI,QAAQE,OAAO,0BAA0BD,SAAS,WAAaxB,IAAEmB,EAAEI,QAAQE,OAAO,4CAA4CD,SAAS,UAC7Kb,IAEAI,IAEP,EAGCW,EAAuB,KACtBvB,GAAiBE,IAChBA,EAAgBsB,iBAAiB,QAAST,GAC1Cb,EAAgBsB,iBAAiB,UAAWT,GAC/C,EAUL,IAAIU,EAAgB,EAEG,IAAIC,gBAAeC,IACtC,IAAK,IAAIC,KAASD,EAAS,CACvB,MAAME,EAAKD,EAAME,YACjB1B,EAAaC,EAA2BR,IAAEM,GAAmB4B,aAAY,GAEtEF,EAAGG,MAAQ,KAAOH,EAAGG,QAAUP,GAC9BA,EAAgBI,EAAGG,MACnBT,IACAf,IACAX,IAAEK,GAAiBQ,KAAK,WAAW,MAC7BmB,EAAGG,OAAS,KAlBvBhC,GAAiBE,IAChBA,EAAgB+B,oBAAoB,QAASlB,GAC7Cb,EAAgB+B,oBAAoB,UAAWlB,IAkB3CH,IACAf,IAAEG,GAAeW,IAAI,SAAS,QAC9Bd,IAAEK,GAAiBQ,KAAK,WAAW,OAEnCa,GAEP,KAGUW,QAAQpC,SAASqC,KAAhC,G","sources":["webpack://capgemini2020/./assets/js/archiveFilterExpands.js"],"sourcesContent":["import $ from 'jquery'\r\n\r\n/**\r\n * Provides functionality for the archive pages dropdown toggling in mobile.\r\n * Removes the event listeners if in tablet / desktop mode.\r\n * @Author Amal Ajith\r\n */\r\n$(document).ready(() => {\r\n\r\n const slideListNode = document.querySelector('.filters-selects-list');\r\n const filterLabelNode = document.querySelector('.filters-selects-label');\r\n const slideListChildren = document.querySelector('.filters-selects-list .filters-selects-box');\r\n\r\n var slideListNodeChildLength = $('.filters-selects-list').find('.filters-selects-box:visible').length;\r\n // var autoHeight = $('.filters-selects-list .filters-selects-box').height() * slideListNodeChildLength;\r\n var autoHeight;\r\n\r\n const closeDropdown = () => {\r\n if(slideListNode && filterLabelNode) {\r\n $(filterLabelNode).removeClass('opened');\r\n $(filterLabelNode).attr('aria-pressed',false);\r\n $(filterLabelNode).attr('aria-expanded',false);\r\n //$(slideListNode).slideUp();\r\n $(slideListNode).css({'height':'0', 'overflow':'hidden'});\r\n $('.filters-selects-list .filters-multiselect-dropdown').attr('tabindex','-1');\r\n $('.filters-selects-list .react-select__value-container input').attr('tabindex','-1');\r\n }\r\n }\r\n\r\n const openDropdown = () => {\r\n if(slideListNode && filterLabelNode) {\r\n $(filterLabelNode).addClass('opened');\r\n $(filterLabelNode).attr('aria-pressed',true);\r\n $(filterLabelNode).attr('aria-expanded',true);\r\n //$(slideListNode).slideDown();\r\n $(slideListNode).css('height',autoHeight);\r\n $('.filters-selects-list .filters-multiselect-dropdown').attr('tabindex','0');\r\n $('.filters-selects-list .react-select__value-container input').attr('tabindex','0');\r\n setTimeout(() => {\r\n $(slideListNode).css('overflow','initial');\r\n }, 500);\r\n }\r\n }\r\n\r\n const toggleFilterContent = (e) => {\r\n if(e.type === 'click' || e.code === 'Enter' || e.keyCode === 13) {\r\n if ($(e.target).hasClass('opened') || $(e.target).parent('.filters-selects-label').hasClass('opened') || $(e.target).parent('.filters-selects-label.filter-jobs-label').hasClass('opened')) {\r\n closeDropdown();\r\n } else {\r\n openDropdown();\r\n }\r\n }\r\n }\r\n\r\n const activateFilterButton = () => {\r\n if(slideListNode && filterLabelNode) {\r\n filterLabelNode.addEventListener('click', toggleFilterContent);\r\n filterLabelNode.addEventListener('keydown', toggleFilterContent);\r\n }\r\n }\r\n\r\n const deactivateFilterButton = () => {\r\n if(slideListNode && filterLabelNode) {\r\n filterLabelNode.removeEventListener('click', toggleFilterContent);\r\n filterLabelNode.removeEventListener('keydown', toggleFilterContent);\r\n }\r\n }\r\n\r\n let previousWidth = 0;\r\n\r\n const resizeObserver = new ResizeObserver(entries => {\r\n for (let entry of entries) {\r\n const cr = entry.contentRect;\r\n autoHeight = slideListNodeChildLength * $(slideListChildren).outerHeight(true);\r\n // resize observer fires for document height change so comparing with previousWidth.\r\n if(cr.width < 768 && cr.width !== previousWidth) {\r\n previousWidth = cr.width;\r\n activateFilterButton();\r\n closeDropdown();\r\n $(filterLabelNode).attr('tabindex','0');\r\n } else if(cr.width >= 768) {\r\n deactivateFilterButton();\r\n openDropdown();\r\n $(slideListNode).css('height','auto');\r\n $(filterLabelNode).attr('tabindex','-1');\r\n } else {\r\n activateFilterButton();\r\n }\r\n }\r\n });\r\n\r\n resizeObserver.observe(document.body);\r\n // resizeObserver.observe(filterLabelNode);\r\n})\r\n"],"names":["$","document","ready","slideListNode","querySelector","filterLabelNode","slideListChildren","autoHeight","slideListNodeChildLength","find","length","closeDropdown","removeClass","attr","css","openDropdown","addClass","setTimeout","toggleFilterContent","e","type","code","keyCode","target","hasClass","parent","activateFilterButton","addEventListener","previousWidth","ResizeObserver","entries","entry","cr","contentRect","outerHeight","width","removeEventListener","observe","body"],"sourceRoot":""}