hover_popover.ts

 1import { ColorScheme } from "../theme/color_scheme"
 2import { background, border, foreground, text } from "./components"
 3
 4export default function hover_popover(theme: ColorScheme): any {
 5    const base_container = {
 6        background: background(theme.middle),
 7        corner_radius: 8,
 8        padding: {
 9            left: 8,
10            right: 8,
11            top: 4,
12            bottom: 4,
13        },
14        shadow: theme.popover_shadow,
15        border: border(theme.middle),
16        margin: {
17            left: -8,
18        },
19    }
20
21    return {
22        container: base_container,
23        info_container: {
24            ...base_container,
25            background: background(theme.middle, "accent"),
26            border: border(theme.middle, "accent"),
27        },
28        warning_container: {
29            ...base_container,
30            background: background(theme.middle, "warning"),
31            border: border(theme.middle, "warning"),
32        },
33        error_container: {
34            ...base_container,
35            background: background(theme.middle, "negative"),
36            border: border(theme.middle, "negative"),
37        },
38        block_style: {
39            padding: { top: 4 },
40        },
41        prose: text(theme.middle, "sans", { size: "sm" }),
42        diagnostic_source_highlight: {
43            color: foreground(theme.middle, "accent"),
44        },
45        highlight: theme.ramps.neutral(0.5).alpha(0.2).hex(), // TODO: blend was used here. Replace with something better
46    }
47}