{"version":3,"file":"theme.mjs","names":["lobeTheme"],"sources":["../../src/CodeDiff/theme.ts"],"sourcesContent":["import type { FileDiffOptions } from '@pierre/diffs';\nimport { registerCustomTheme, resolveTheme } from '@pierre/diffs';\n\nimport lobeTheme from '@/Highlighter/theme/lobe-theme';\n\nimport type { DiffViewMode } from './type';\n\nlet isLobeDiffThemeRegistered = false;\n\nexport const registerLobeDiffThemes = () => {\n  if (isLobeDiffThemeRegistered) return;\n\n  registerCustomTheme('lobe-theme', () => Promise.resolve(lobeTheme as any));\n  void resolveTheme('lobe-theme');\n\n  isLobeDiffThemeRegistered = true;\n};\n\nconst customSeparatorCSS = `\n:host {\n  --diffs-dark-bg: transparent !important;\n  --diffs-light-bg: transparent !important;\n\n}\n\n[data-gutter-buffer] {\n  opacity: 0.2 !important;\n}\n\n[data-code] {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n[data-gutter] {\n backdrop-filter: blur(16px) !important;\n}\n`;\n\nexport const getLobeDiffOptions = ({\n  diffOptions,\n  isDarkMode,\n  viewMode,\n}: {\n  diffOptions?: FileDiffOptions<string>;\n  isDarkMode: boolean;\n  viewMode: DiffViewMode;\n}): FileDiffOptions<string> => ({\n  theme: {\n    dark: 'lobe-theme',\n    light: 'lobe-theme',\n  },\n  themeType: isDarkMode ? 'dark' : 'light',\n  diffStyle: viewMode,\n  disableFileHeader: true,\n  unsafeCSS: customSeparatorCSS,\n  ...diffOptions,\n});\n"],"mappings":";;;AAOA,IAAI,4BAA4B;AAEhC,MAAa,+BAA+B;AAC1C,KAAI,0BAA2B;AAE/B,qBAAoB,oBAAoB,QAAQ,QAAQA,mBAAiB,CAAC;AACrE,cAAa,aAAa;AAE/B,6BAA4B;;AAG9B,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;AAqB3B,MAAa,sBAAsB,EACjC,aACA,YACA,gBAK8B;CAC9B,OAAO;EACL,MAAM;EACN,OAAO;EACR;CACD,WAAW,aAAa,SAAS;CACjC,WAAW;CACX,mBAAmB;CACnB,WAAW;CACX,GAAG;CACJ"}