UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 1.75 kB
{"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"}