{"version":3,"file":"cssWrappers.js","names":["rawStyles"],"sources":["../../src/utils/cssWrappers.ts"],"sourcesContent":["import { DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY } from '../constants';\nimport rawStyles from '../style.css';\nimport type { ThemeTypes } from '../types';\nimport { createMeasuredScrollbarGutterDeclaration } from './scrollbarGutter';\n\nconst LAYER_ORDER = `@layer base, theme, rendered, unsafe;`;\nconst SCROLLBAR_GUTTER_DECLARATION_PATTERN = new RegExp(\n  `${escapeRegExp(DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY)}\\\\s*:\\\\s*[^;]+;`\n);\n\nexport function wrapCoreCSS(mainCSS: string) {\n  return `${LAYER_ORDER}\n${rawStyles}\n@layer theme {\n  ${mainCSS}\n}`;\n}\n\nexport function wrapUnsafeCSS(unsafeCSS: string) {\n  return `${LAYER_ORDER}\n@layer unsafe {\n  ${unsafeCSS}\n}`;\n}\n\nexport function wrapThemeCSS(\n  themeCSS: string,\n  themeType: ThemeTypes = 'system',\n  scrollbarGutter?: number\n) {\n  const colorSchemeRule =\n    themeType === 'system'\n      ? ''\n      : `\n  color-scheme: ${themeType};`;\n  const scrollbarGutterVar =\n    createMeasuredScrollbarGutterDeclaration(scrollbarGutter);\n\n  return `${LAYER_ORDER}\n@layer rendered {\n  :host {${colorSchemeRule}\n  ${scrollbarGutterVar}\n  ${themeCSS}\n  }\n}`;\n}\n\nexport function patchScrollbarGutterSize(\n  themeCSS: string,\n  scrollbarGutter: number | undefined\n): string {\n  const scrollbarGutterRule =\n    createMeasuredScrollbarGutterDeclaration(scrollbarGutter);\n  return themeCSS.replace(\n    SCROLLBAR_GUTTER_DECLARATION_PATTERN,\n    scrollbarGutterRule\n  );\n}\n\nfunction escapeRegExp(value: string): string {\n  return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n"],"mappings":";;;;;AAKA,MAAM,cAAc;AACpB,MAAM,uDAAuC,IAAI,OAC/C,GAAG,aAAa,yCAAyC,CAAC,iBAC3D;AAED,SAAgB,YAAY,SAAiB;AAC3C,QAAO,GAAG,YAAY;EACtBA,cAAU;;IAER,QAAQ;;;AAIZ,SAAgB,cAAc,WAAmB;AAC/C,QAAO,GAAG,YAAY;;IAEpB,UAAU;;;AAId,SAAgB,aACd,UACA,YAAwB,UACxB,iBACA;AASA,QAAO,GAAG,YAAY;;WAPpB,cAAc,WACV,KACA;kBACU,UAAU,GAMD;IAJvB,yCAAyC,gBAAgB,CAKtC;IACnB,SAAS;;;;AAKb,SAAgB,yBACd,UACA,iBACQ;CACR,MAAM,sBACJ,yCAAyC,gBAAgB;AAC3D,QAAO,SAAS,QACd,sCACA,oBACD;;AAGH,SAAS,aAAa,OAAuB;AAC3C,QAAO,MAAM,QAAQ,uBAAuB,OAAO"}