import { ThemeLike } from "../theming/dist/modules/types.js"; //#region src/utils/themeToTreeStyles.d.ts /** * Theme-like shape compatible with Shiki/VS Code theme format (e.g. from * highlighter.getTheme() or resolveTheme()). No dependency on shiki; use with * resolved themes from @pierre/diffs or shiki. Aliased to theming's * `ThemeLike` — a structural superset of the keys trees reads — so existing * callers and tests keep typechecking unchanged. */ type TreeThemeInput = ThemeLike; /** * CSS custom properties (--trees-theme-*) and layout styles for the tree host/panel. * Compatible with React inline style and the trees stylesheet fallback chain. */ type TreeThemeStyles = Record; /** * Maps a Shiki/VS Code–style theme to CSS for FileTree. The shared * fallback/repair work — surface chains, the git-color chain, the * transparent-focus repair, and dropping a text-erasing hover background — now * lives in @pierre/theming's `normalizeThemeColors`, which returns a theme in * the same workbench-key vocabulary with those keys resolved. This function * reads those resolved keys and maps them onto trees' `--trees-theme-*` * variables, applying trees' own presentation defaults where a key is absent. * * The one piece of trees-specific opinion kept here is the selection lookup: a * `list.activeSelectionBackground` that matches the sidebar surface is invisible, * so trees prefers `list.focusBackground` in that case. normalizeThemeColors * leaves the raw selection keys untouched precisely so this choice stays a trees * concern. The trees stylesheet uses --trees-theme-* in its fallback chain * (--trees-*-override → --trees-theme-* → default). * * Use with a resolved theme from shiki or @pierre/diffs: * * const theme = await resolveTheme('dracula'); * const styles = themeToTreeStyles(theme); * */ declare function themeToTreeStyles(theme: TreeThemeInput): TreeThemeStyles; //#endregion export { TreeThemeInput, TreeThemeStyles, themeToTreeStyles }; //# sourceMappingURL=themeToTreeStyles.d.ts.map