{"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"}