blob: 98b04e974cba85216723cd453c739e175148700b [file] [log] [blame]
{
"version": 3,
"sources": ["header.ts"],
"sourcesContent": ["function registerHeaderListeners() {\n const header = document.querySelector('.js-header');\n const menuButtons = document.querySelectorAll('.js-headerMenuButton');\n menuButtons.forEach(button => {\n button.addEventListener('click', e => {\n e.preventDefault();\n header?.classList.toggle('is-active');\n button.setAttribute('aria-expanded', String(header?.classList.contains('is-active')));\n });\n });\n\n const scrim = document.querySelector('.js-scrim');\n scrim?.addEventListener('click', e => {\n e.preventDefault();\n header?.classList.remove('is-active');\n menuButtons.forEach(button => {\n button.setAttribute('aria-expanded', String(header?.classList.contains('is-active')));\n });\n });\n}\n\nfunction registerSearchFormListeners() {\n const searchForm = document.querySelector('.js-searchForm');\n const expandSearch = document.querySelector('.js-expandSearch');\n const input = searchForm?.querySelector('input');\n const headerLogo = document.querySelector('.js-headerLogo');\n const menuButton = document.querySelector('.js-headerMenuButton');\n expandSearch?.addEventListener('click', () => {\n searchForm?.classList.add('go-SearchForm--expanded');\n headerLogo?.classList.add('go-Header-logo--hidden');\n menuButton?.classList.add('go-Header-navOpen--hidden');\n input?.focus();\n });\n document?.addEventListener('click', e => {\n if (!searchForm?.contains(e.target as Node)) {\n searchForm?.classList.remove('go-SearchForm--expanded');\n headerLogo?.classList.remove('go-Header-logo--hidden');\n menuButton?.classList.remove('go-Header-navOpen--hidden');\n }\n });\n}\n\n/**\n * Listen for changes in the search dropdown.\n *\n * TODO(https://golang.org/issue/44142): Fix this flow:\n * A user will likely expect to submit the search again after selecting the\n * type of search. The change event should trigger a form submission, so that the\n * search event is still captured in analytics without a manual instrumentation.\n */\ndocument.querySelectorAll('.js-searchModeSelect').forEach(el => {\n el.addEventListener('change', e => {\n const urlSearchParams = new URLSearchParams(window.location.search);\n const params = Object.fromEntries(urlSearchParams.entries());\n const query = params['q'];\n if (query) {\n window.location.search = `q=${query}&m=${(e.target as HTMLSelectElement).value}`;\n }\n });\n});\n\nregisterHeaderListeners();\nregisterSearchFormListeners();\n"],
"mappings": "AAAA,kCAAmC,CACjC,KAAM,GAAS,SAAS,cAAc,cAChC,EAAc,SAAS,iBAAiB,wBAC9C,EAAY,QAAQ,GAAU,CAC5B,EAAO,iBAAiB,QAAS,GAAK,CACpC,EAAE,iBACF,GAAQ,UAAU,OAAO,aACzB,EAAO,aAAa,gBAAiB,OAAO,GAAQ,UAAU,SAAS,mBAK3E,AADc,SAAS,cAAc,cAC9B,iBAAiB,QAAS,GAAK,CACpC,EAAE,iBACF,GAAQ,UAAU,OAAO,aACzB,EAAY,QAAQ,GAAU,CAC5B,EAAO,aAAa,gBAAiB,OAAO,GAAQ,UAAU,SAAS,mBAK7E,sCAAuC,CACrC,KAAM,GAAa,SAAS,cAAc,kBACpC,EAAe,SAAS,cAAc,oBACtC,EAAQ,GAAY,cAAc,SAClC,EAAa,SAAS,cAAc,kBACpC,EAAa,SAAS,cAAc,wBAC1C,GAAc,iBAAiB,QAAS,IAAM,CAC5C,GAAY,UAAU,IAAI,2BAC1B,GAAY,UAAU,IAAI,0BAC1B,GAAY,UAAU,IAAI,6BAC1B,GAAO,UAET,UAAU,iBAAiB,QAAS,GAAK,CACvC,AAAK,GAAY,SAAS,EAAE,SAC1B,IAAY,UAAU,OAAO,2BAC7B,GAAY,UAAU,OAAO,0BAC7B,GAAY,UAAU,OAAO,gCAanC,SAAS,iBAAiB,wBAAwB,QAAQ,GAAM,CAC9D,EAAG,iBAAiB,SAAU,GAAK,CACjC,KAAM,GAAkB,GAAI,iBAAgB,OAAO,SAAS,QAEtD,EAAQ,AADC,OAAO,YAAY,EAAgB,WAC7B,EACrB,AAAI,GACF,QAAO,SAAS,OAAS,KAAK,OAAY,EAAE,OAA6B,aAK/E,0BACA",
"names": []
}