{"version":3,"file":"static/js/91004.e33a6214.chunk.js","mappings":"0KAEO,MAAMA,GAAmBC,E,SAAAA,KAC5B,uBACA,eAESC,EAGP,qBAEOC,EAAYA,IACvBC,SAASC,cAAcH,GAQzB,IAAII,EAAwB,KAE5B,MAkBaC,EAAkBA,KAC7B,MAAMC,EAASL,IAEf,OAAIK,EACKA,EAAOC,cAAgBD,EAAOE,aAGhC,CAAC,EAGGC,EAAkBA,KAC7B,MAAMH,EAASL,IAEf,GAAIK,IACGA,EAAOI,UAAUC,SAASb,GAAmB,CAChD,MAAMc,EAAeN,EAAOC,cAAgBD,EAAOE,aAInD,GArCoBK,MAAO,IAADC,EAAAC,EAC9B,MAAMT,EAASL,IACTe,EAASV,EAAOW,gBAGd,OAAND,QAAM,IAANA,GAAa,QAAPF,EAANE,EAAQE,aAAK,IAAAJ,OAAP,EAANA,EAAeK,aACfb,EAAOY,MAAME,YACP,OAANJ,QAAM,IAANA,GAAa,QAAPD,EAANC,EAAQE,aAAK,IAAAH,OAAP,EAANA,EAAeM,kBAEiBjB,IAChCA,EAAa,CACXkB,OAAQhB,EAAOY,MAAME,UACrBG,QAAe,OAANP,QAAM,IAANA,OAAM,EAANA,EAAQE,MAAMC,WACvBE,cAAqB,OAANL,QAAM,IAANA,OAAM,EAANA,EAAQE,MAAMG,eAEjC,EAmBIR,GACAP,EAAOY,MAAME,UAAY,IAAIR,MAEzBN,EAAOW,cAAe,CACxB,MAAME,EAAaK,OAChBC,iBAAiBnB,EAAOW,cAAe,MACvCS,iBAAiB,eAEdL,EAAgBG,OACnBC,iBAAiBnB,EAAOW,cAAe,MACvCS,iBAAiB,kBAEpBpB,EAAOW,cAAcC,MAAMC,WAAa,GACtCP,IAAgBO,EAAWQ,QAAQ,KAAM,QAG3CrB,EAAOW,cAAcC,MAAMG,cAAgB,GACzCT,IAAgBS,EAAcM,QAAQ,KAAM,OAEhD,CAEArB,EAAOI,UAAUkB,IAAI9B,EACvB,CACF,EAGW+B,EAAoBA,KAC/B,MAAMvB,EAASL,IAEF,IAAD6B,EAIgBC,EAAAC,EAJxB1B,IACFA,EAAOI,UAAUuB,OAAOnC,GACxBQ,EAAOY,MAAME,WAAsB,QAAVU,EAAA1B,SAAU,IAAA0B,OAAA,EAAVA,EAAYR,SAAU,GAE3ChB,EAAOW,gBACTX,EAAOW,cAAcC,MAAMC,YAAuB,QAAVY,EAAA3B,SAAU,IAAA2B,OAAA,EAAVA,EAAYR,UAAW,GAC/DjB,EAAOW,cAAcC,MAAMG,eACf,QAAVW,EAAA5B,SAAU,IAAA4B,OAAA,EAAVA,EAAYX,gBAAiB,KAInCjB,EAAa,IAAI,C","sources":["utils/helpers/fixed-header.ts"],"sourcesContent":["import { isMobile } from '../is-mobile';\n\nexport const HEADER_CLASSNAME = isMobile()\n ? 'fixed-header--mobile'\n : 'fixed-header';\n\nexport const HEADER_GETTER_CLASSNAME =\n process.env.NODE_ENV === 'development'\n ? '.pageHeaderWrapper'\n : 'header.header-rows';\n\nexport const getHeader = (): HTMLElement =>\n document.querySelector(HEADER_GETTER_CLASSNAME) as HTMLElement;\n\ntype PrevStyle = {\n margin?: string;\n padding?: string;\n paddingBottom?: string;\n} | null;\n\nlet prevStyles: PrevStyle = null;\n\nconst saveCurrentStyles = () => {\n const header = getHeader();\n const parent = header.parentElement;\n\n const isHasStylesToSaveAndReset =\n parent?.style?.paddingTop ||\n header.style.marginTop ||\n parent?.style?.paddingBottom;\n\n if (isHasStylesToSaveAndReset && !prevStyles) {\n prevStyles = {\n margin: header.style.marginTop,\n padding: parent?.style.paddingTop,\n paddingBottom: parent?.style.paddingBottom\n };\n }\n};\n\nexport const getHeaderHeight = (): number => {\n const header = getHeader();\n\n if (header) {\n return header.clientHeight || header.offsetHeight;\n }\n\n return 0;\n};\n\nexport const makeHeaderFixed = (): void => {\n const header = getHeader();\n\n if (header) {\n if (!header.classList.contains(HEADER_CLASSNAME)) {\n const headerHeight = header.clientHeight || header.offsetHeight;\n saveCurrentStyles();\n header.style.marginTop = `-${headerHeight}px`;\n\n if (header.parentElement) {\n const paddingTop = window\n .getComputedStyle(header.parentElement, null)\n .getPropertyValue('padding-top');\n\n const paddingBottom = window\n .getComputedStyle(header.parentElement, null)\n .getPropertyValue('padding-bottom');\n\n header.parentElement.style.paddingTop = `${\n headerHeight + +paddingTop.replace('px', '')\n }px`;\n\n header.parentElement.style.paddingBottom = `${\n headerHeight + +paddingBottom.replace('px', '')\n }px`;\n }\n\n header.classList.add(HEADER_CLASSNAME);\n }\n }\n};\n\nexport const removeFixedHeader = (): void => {\n const header = getHeader();\n\n if (header) {\n header.classList.remove(HEADER_CLASSNAME);\n header.style.marginTop = prevStyles?.margin || '';\n\n if (header.parentElement) {\n header.parentElement.style.paddingTop = prevStyles?.padding || '';\n header.parentElement.style.paddingBottom =\n prevStyles?.paddingBottom || '';\n }\n }\n\n prevStyles = null;\n};\n"],"names":["HEADER_CLASSNAME","isMobile","HEADER_GETTER_CLASSNAME","getHeader","document","querySelector","prevStyles","getHeaderHeight","header","clientHeight","offsetHeight","makeHeaderFixed","classList","contains","headerHeight","saveCurrentStyles","_parent$style","_parent$style2","parent","parentElement","style","paddingTop","marginTop","paddingBottom","margin","padding","window","getComputedStyle","getPropertyValue","replace","add","removeFixedHeader","_prevStyles","_prevStyles2","_prevStyles3","remove"],"sourceRoot":""}