50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { useTheme } from "../theme"
|
|
import { background, border, foreground, text } from "./components"
|
|
|
|
export default function hover_popover(): any {
|
|
const theme = useTheme()
|
|
|
|
const base_container = {
|
|
background: background(theme.middle),
|
|
corner_radius: 8,
|
|
padding: {
|
|
left: 8,
|
|
right: 8,
|
|
top: 4,
|
|
bottom: 4,
|
|
},
|
|
shadow: theme.popover_shadow,
|
|
border: border(theme.middle),
|
|
margin: {
|
|
left: -8,
|
|
},
|
|
}
|
|
|
|
return {
|
|
container: base_container,
|
|
info_container: {
|
|
...base_container,
|
|
background: background(theme.middle, "accent"),
|
|
border: border(theme.middle, "accent"),
|
|
},
|
|
warning_container: {
|
|
...base_container,
|
|
background: background(theme.middle, "warning"),
|
|
border: border(theme.middle, "warning"),
|
|
},
|
|
error_container: {
|
|
...base_container,
|
|
background: background(theme.middle, "negative"),
|
|
border: border(theme.middle, "negative"),
|
|
},
|
|
block_style: {
|
|
padding: { top: 4 },
|
|
},
|
|
prose: text(theme.middle, "sans", { size: "sm" }),
|
|
diagnostic_source_highlight: {
|
|
color: foreground(theme.middle, "accent"),
|
|
},
|
|
highlight: theme.ramps.neutral(0.5).alpha(0.2).hex(), // TODO: blend was used here. Replace with something better
|
|
}
|
|
}
|