{"version":3,"file":"global-search-app.js","mappings":"oxCAGqD,IAE/CA,EAAY,SAAAC,GAChB,SAAAD,EAAYE,GAAI,IAAAC,EAiBI,O,4FAjBJC,CAAA,KAAAJ,IACdG,E,qYAAAE,CAAA,KAAAL,EAAA,CAAME,KAEDI,iBAAmBJ,EAAGK,iBAAiB,gCAE5CJ,EAAKK,cAAe,EACpBL,EAAKM,cAAe,EAEpBN,EAAKO,gBAAkB,iHAOvBP,EAAKQ,OAAS,CAAC,QAEfR,EAAKS,aAAaT,CACpB,CAAC,O,qRAAAU,CAAAb,EAAAC,G,EAAAD,G,EAAA,EAAAc,IAAA,aAAAC,MAED,WAEEC,KAAKC,SAASC,UACZ,uBACA,SAACC,EAAQC,EAAYC,EAAYC,GAC/B,GAAmB,SAAfD,EAAuB,CACzB,IAAME,EAAK,GAAHC,OAAMH,EAAU,KAAAG,QAAIC,EAAAA,EAAAA,GAAQL,IACpC,MAAO,mFAAPI,OAEaD,EAAE,aAAAC,OAAYJ,EAAU,YAAAI,OAAWH,EAAU,qBAAAG,OAAoBF,EAAW,+BAAAE,OAC3ED,EAAE,MAAAC,OAAKE,EAAAA,GAAcN,IAAeA,EAAU,2BAE9D,CAEA,OAAOD,CACT,GAEJ,GAEA,CAAAL,IAAA,SAAAC,MAOA,SAAOY,GACL,IAAMC,EAAaD,EAAKE,IAAIC,EAAAA,IAAaC,KAAK,IAC9Cf,KAAKgB,UAAUC,UAAY,kCAAHT,OAAqCI,EAAU,QACzE,GAEA,CAAAd,IAAA,qBAAAC,MAKA,WACqBC,KAAKkB,MAAMC,IAAI,UAA1BC,OAKNpB,KAAKV,iBAAiB+B,SAAQ,SAAAnC,GAAE,OAAIA,EAAGoC,gBAAgB,QAAQ,IAF/DtB,KAAKV,iBAAiB+B,SAAQ,SAAAnC,GAAE,OAAKA,EAAGqC,MAAMC,QAAU,MAAM,GAIlE,M,6EAAC,CAjEe,CAASC,EAAAA,GAoE3B,W","sources":["webpack://@upstatement/harvard-law-school-wp-theme/./static/js/components/algolia/global-search.js"],"sourcesContent":["import SearchApp from './search-app';\nimport { globalTease } from './render';\nimport { slugify } from '@src/utils';\nimport { POST_TYPE_MAP } from '@src/utils/constants';\n\nclass GlobalSearch extends SearchApp {\n constructor(el) {\n super(el);\n\n this.requiresQueryEls = el.querySelectorAll('[data-search-requires-query]');\n\n this.requireQuery = true;\n this.updateFacets = false;\n\n this.noResultsMarkup = `\n
\n

Sorry, no results match your search.

\n
\n `;\n\n // Set up facets for the query.\n this.facets = ['type'];\n\n this.setupHooks();\n }\n\n setupHooks() {\n // Custom sort incoming facet values.\n this.controls.addFilter(\n 'facetCheckboxMarkup',\n (markup, facetValue, facetGroup, checkedAttr) => {\n if (facetGroup === 'type') {\n const id = `${facetGroup}-${slugify(facetValue)}`;\n return `\n
\n \n \n
`;\n }\n\n return markup;\n },\n );\n }\n\n /**\n * Render the course tease.\n *\n * @param {array} hits Hits from Algolia.\n *\n * @return void\n */\n render(hits) {\n const hitsMarkup = hits.map(globalTease).join('');\n this.resultsEl.innerHTML = ``;\n }\n\n /**\n * Run some things after the query.\n *\n * @return void\n */\n afterQueryComplete() {\n const { search } = this.state.get('params');\n\n if (!search) {\n this.requiresQueryEls.forEach(el => (el.style.display = 'none'));\n } else {\n this.requiresQueryEls.forEach(el => el.removeAttribute('style'));\n }\n }\n}\n\nexport default GlobalSearch;\n"],"names":["GlobalSearch","_SearchApp","el","_this","_classCallCheck","_callSuper","requiresQueryEls","querySelectorAll","requireQuery","updateFacets","noResultsMarkup","facets","setupHooks","_inherits","key","value","this","controls","addFilter","markup","facetValue","facetGroup","checkedAttr","id","concat","slugify","POST_TYPE_MAP","hits","hitsMarkup","map","globalTease","join","resultsEl","innerHTML","state","get","search","forEach","removeAttribute","style","display","SearchApp"],"sourceRoot":""}