{"version":3,"names":["DEFAULT_MOBILE_BREAKPOINT","replaceMediaQuery","style","mobileBreakpoint","replace","RegExp","replaceStyleSheet","element","stylesheets","_a","shadowRoot","adoptedStyleSheets","length","stylesheet","Object","values","cssRules","map","rule","cssText","join","_b","replaceSync","call","replateStyleContent","breakpoint","styleTag","querySelector","textContent","layouts","updateBreakpoints","layout","closest"],"sources":["src/utils/replace-breakpoint.ts"],"sourcesContent":["import {closest} from './utils';\n\nexport const DEFAULT_MOBILE_BREAKPOINT = '1024px';\n\nfunction replaceMediaQuery(style: string, mobileBreakpoint: string) {\n return style.replace(\n new RegExp(`\\\\(min-width: ${DEFAULT_MOBILE_BREAKPOINT}\\\\)`, 'g'),\n `(min-width: ${mobileBreakpoint})`\n );\n}\n\nfunction replaceStyleSheet(element: HTMLElement, mobileBreakpoint: string) {\n // Not adopted by all browsers, not part of Typescript yet\n // https://caniuse.com/mdn-api_document_adoptedstylesheets\n // https://github.com/microsoft/TypeScript/issues/30022\n const stylesheets = element.shadowRoot?.adoptedStyleSheets;\n if (!stylesheets || !stylesheets.length) {\n return;\n }\n\n const stylesheet = stylesheets[0];\n const style = Object.values(stylesheet.cssRules)\n .map((rule) => rule.cssText)\n .join('');\n stylesheet.replaceSync?.(replaceMediaQuery(style, mobileBreakpoint));\n}\n\nfunction replateStyleContent(element: HTMLElement, breakpoint: string) {\n const styleTag = element.shadowRoot?.querySelector('style');\n if (!styleTag) {\n return;\n }\n\n styleTag.textContent = replaceMediaQuery(styleTag.textContent!, breakpoint);\n}\n\nconst layouts = ['atomic-search-layout', 'atomic-insight-layout'];\ntype LayoutElement = HTMLElement & {mobileBreakpoint: string};\nexport function updateBreakpoints(element: HTMLElement) {\n const layout: LayoutElement | null = closest(element, layouts.join(', '));\n\n if (!layout?.mobileBreakpoint) {\n return;\n }\n\n if (layout.mobileBreakpoint === DEFAULT_MOBILE_BREAKPOINT) {\n return;\n }\n\n replaceStyleSheet(element, layout.mobileBreakpoint);\n replateStyleContent(element, layout.mobileBreakpoint);\n}\n"],"mappings":"0CAEaA,EAA4B,SAEzC,SAASC,EAAkBC,EAAeC,GACxC,OAAOD,EAAME,QACX,IAAIC,OAAO,iBAAiBL,OAAgC,KAC5D,eAAeG,KAEnB,CAEA,SAASG,EAAkBC,EAAsBJ,G,QAI/C,MAAMK,GAAcC,EAAAF,EAAQG,cAAU,MAAAD,SAAA,SAAAA,EAAEE,mBACxC,IAAKH,IAAgBA,EAAYI,OAAQ,CACvC,M,CAGF,MAAMC,EAAaL,EAAY,GAC/B,MAAMN,EAAQY,OAAOC,OAAOF,EAAWG,UACpCC,KAAKC,GAASA,EAAKC,UACnBC,KAAK,KACRC,EAAAR,EAAWS,eAAW,MAAAD,SAAA,SAAAA,EAAAE,KAAAV,EAAGZ,EAAkBC,EAAOC,GACpD,CAEA,SAASqB,EAAoBjB,EAAsBkB,G,MACjD,MAAMC,GAAWjB,EAAAF,EAAQG,cAAU,MAAAD,SAAA,SAAAA,EAAEkB,cAAc,SACnD,IAAKD,EAAU,CACb,M,CAGFA,EAASE,YAAc3B,EAAkByB,EAASE,YAAcH,EAClE,CAEA,MAAMI,EAAU,CAAC,uBAAwB,yB,SAEzBC,EAAkBvB,GAChC,MAAMwB,EAA+BC,EAAQzB,EAASsB,EAAQT,KAAK,OAEnE,KAAKW,IAAM,MAANA,SAAM,SAANA,EAAQ5B,kBAAkB,CAC7B,M,CAGF,GAAI4B,EAAO5B,mBAAqBH,EAA2B,CACzD,M,CAGFM,EAAkBC,EAASwB,EAAO5B,kBAClCqB,EAAoBjB,EAASwB,EAAO5B,iBACtC,Q"}