{"version":3,"sources":["webpack:///./groups_list.js","webpack:///./landing.js","webpack:///./pages/explore/groups/index.js"],"names":["GroupsList","_classCallCheck","this","form","document","querySelector","filter","holder","filterable_list","initSearch","landing","Landing","landingElement","dismissButton","cookieName","landing_classCallCheck","eventWrapper","isDismissed","classList","toggle","addEvents","dismissLanding","bind","addEventListener","removeEventListener","add","js_cookie_default","a","set","expires","get","groups_list","Object","groups"],"mappings":"+JAOE,SAAAA,iGAAcC,CAAAC,KAAAF,GACZ,IAAMG,EAAOC,SAASC,cAAc,0BAC9BC,EAASF,SAASC,cAAc,0BAChCE,EAASH,SAASC,cAAc,0BAElCF,GAAQG,GAAUC,GACP,IAAIC,EAAA,EAAeL,EAAMG,EAAQC,GACzCE,wRCsBXC,aAjCE,SAAAC,EAAYC,EAAgBC,EAAeC,gGAAYC,CAAAb,KAAAS,GACrDT,KAAKU,eAAiBA,EACtBV,KAAKY,WAAaA,EAClBZ,KAAKW,cAAgBA,EACrBX,KAAKc,2DAIL,IAAMC,EAAcf,KAAKe,cAEzBf,KAAKU,eAAeM,UAAUC,OAAO,SAAUF,GAC1CA,GAAaf,KAAKkB,gDAIvBlB,KAAKc,aAAaK,eAAiBnB,KAAKmB,eAAeC,KAAKpB,MAC5DA,KAAKW,cAAcU,iBAAiB,QAASrB,KAAKc,aAAaK,uDAI/DnB,KAAKW,cAAcW,oBAAoB,QAAStB,KAAKc,aAAaK,yDAIlEnB,KAAKU,eAAeM,UAAUO,IAAI,UAClCC,EAAAC,EAAQC,IAAI1B,KAAKY,WAAY,QAAUe,QAAS,4CAIhD,MAAwC,SAAjCH,EAAAC,EAAQG,IAAI5B,KAAKY,8BC5B5BV,SAASmB,iBAAiB,mBAAoB,WAC5C,IAAIQ,EACJC,OAAAC,EAAA,EAAAD,GACA,IAAMpB,EAAiBR,SAASC,cAAc,8BACzCO,GACwB,IAAIF,EAC/BE,EACAA,EAAeP,cAAc,mBAC7B,oCAEmBc","file":"pages.explore.groups.5bd9bc69.chunk.js","sourcesContent":["import FilterableList from './filterable_list';\n\n/**\n * Makes search request for groups when user types a value in the search input.\n * Updates the html content of the page with the received one.\n */\nexport default class GroupsList {\n constructor() {\n const form = document.querySelector('form#group-filter-form');\n const filter = document.querySelector('.js-groups-list-filter');\n const holder = document.querySelector('.js-groups-list-holder');\n\n if (form && filter && holder) {\n const list = new FilterableList(form, filter, holder);\n list.initSearch();\n }\n }\n}\n","import Cookies from 'js-cookie';\n\nclass Landing {\n constructor(landingElement, dismissButton, cookieName) {\n this.landingElement = landingElement;\n this.cookieName = cookieName;\n this.dismissButton = dismissButton;\n this.eventWrapper = {};\n }\n\n toggle() {\n const isDismissed = this.isDismissed();\n\n this.landingElement.classList.toggle('hidden', isDismissed);\n if (!isDismissed) this.addEvents();\n }\n\n addEvents() {\n this.eventWrapper.dismissLanding = this.dismissLanding.bind(this);\n this.dismissButton.addEventListener('click', this.eventWrapper.dismissLanding);\n }\n\n removeEvents() {\n this.dismissButton.removeEventListener('click', this.eventWrapper.dismissLanding);\n }\n\n dismissLanding() {\n this.landingElement.classList.add('hidden');\n Cookies.set(this.cookieName, 'true', { expires: 365 });\n }\n\n isDismissed() {\n return Cookies.get(this.cookieName) === 'true';\n }\n}\n\nexport default Landing;\n","import GroupsList from '~/groups_list';\nimport Landing from '~/landing';\nimport initGroupsList from '../../../groups';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new GroupsList(); // eslint-disable-line no-new\n initGroupsList();\n const landingElement = document.querySelector('.js-explore-groups-landing');\n if (!landingElement) return;\n const exploreGroupsLanding = new Landing(\n landingElement,\n landingElement.querySelector('.dismiss-button'),\n 'explore_groups_landing_dismissed',\n );\n exploreGroupsLanding.toggle();\n});\n"],"sourceRoot":""}