mirror of
https://github.com/zed-industries/zed.git
synced 2024-10-28 01:07:09 +00:00
154 lines
4.4 KiB
TypeScript
154 lines
4.4 KiB
TypeScript
import { with_opacity } from "../theme/color"
|
|
import {
|
|
background,
|
|
border,
|
|
border_color,
|
|
foreground,
|
|
svg,
|
|
text,
|
|
} from "./components"
|
|
import statusBar from "./status_bar"
|
|
import tabBar from "./tab_bar"
|
|
import { interactive } from "../element"
|
|
import { titlebar } from "./titlebar"
|
|
import { useTheme } from "../theme"
|
|
import { toolbar } from "./toolbar"
|
|
|
|
export default function workspace(): any {
|
|
const theme = useTheme()
|
|
|
|
const { is_light } = theme
|
|
|
|
return {
|
|
background: background(theme.lowest),
|
|
blank_pane: {
|
|
logo_container: {
|
|
width: 256,
|
|
height: 256,
|
|
},
|
|
logo: svg(
|
|
with_opacity("#000000", theme.is_light ? 0.6 : 0.8),
|
|
"icons/logo_96.svg",
|
|
256,
|
|
256
|
|
),
|
|
|
|
logo_shadow: svg(
|
|
with_opacity(
|
|
theme.is_light
|
|
? "#FFFFFF"
|
|
: theme.lowest.base.default.background,
|
|
theme.is_light ? 1 : 0.6
|
|
),
|
|
"icons/logo_96.svg",
|
|
256,
|
|
256
|
|
),
|
|
keyboard_hints: {
|
|
margin: {
|
|
top: 96,
|
|
},
|
|
corner_radius: 4,
|
|
},
|
|
keyboard_hint: interactive({
|
|
base: {
|
|
...text(theme.lowest, "sans", "variant", { size: "sm" }),
|
|
padding: {
|
|
top: 3,
|
|
left: 8,
|
|
right: 8,
|
|
bottom: 3,
|
|
},
|
|
corner_radius: 8,
|
|
},
|
|
state: {
|
|
hovered: {
|
|
...text(theme.lowest, "sans", "active", { size: "sm" }),
|
|
},
|
|
},
|
|
}),
|
|
|
|
keyboard_hint_width: 320,
|
|
},
|
|
joining_project_avatar: {
|
|
corner_radius: 40,
|
|
width: 80,
|
|
},
|
|
joining_project_message: {
|
|
padding: 12,
|
|
...text(theme.lowest, "sans", { size: "lg" }),
|
|
},
|
|
external_location_message: {
|
|
background: background(theme.middle, "accent"),
|
|
border: border(theme.middle, "accent"),
|
|
corner_radius: 6,
|
|
padding: 12,
|
|
margin: { bottom: 8, right: 8 },
|
|
...text(theme.middle, "sans", "accent", { size: "xs" }),
|
|
},
|
|
leader_border_opacity: 0.7,
|
|
leader_border_width: 2.0,
|
|
tab_bar: tabBar(),
|
|
modal: {
|
|
margin: {
|
|
bottom: 52,
|
|
top: 52,
|
|
},
|
|
cursor: "Arrow",
|
|
},
|
|
zoomed_background: {
|
|
cursor: "Arrow",
|
|
background: is_light
|
|
? with_opacity(background(theme.lowest), 0.8)
|
|
: with_opacity(background(theme.highest), 0.6),
|
|
},
|
|
zoomed_pane_foreground: {
|
|
margin: 16,
|
|
shadow: theme.modal_shadow,
|
|
border: border(theme.lowest, { overlay: true }),
|
|
},
|
|
zoomed_panel_foreground: {
|
|
margin: 16,
|
|
border: border(theme.lowest, { overlay: true }),
|
|
},
|
|
dock: {
|
|
left: {
|
|
border: border(theme.lowest, { right: true }),
|
|
},
|
|
bottom: {
|
|
border: border(theme.lowest, { top: true }),
|
|
},
|
|
right: {
|
|
border: border(theme.lowest, { left: true }),
|
|
},
|
|
},
|
|
pane_divider: {
|
|
color: border_color(theme.lowest),
|
|
width: 1,
|
|
},
|
|
status_bar: statusBar(),
|
|
titlebar: titlebar(),
|
|
toolbar: toolbar(),
|
|
disconnected_overlay: {
|
|
...text(theme.lowest, "sans"),
|
|
background: with_opacity(background(theme.lowest), 0.8),
|
|
},
|
|
notification: {
|
|
margin: { top: 10 },
|
|
background: background(theme.middle),
|
|
corner_radius: 6,
|
|
padding: 12,
|
|
border: border(theme.middle),
|
|
shadow: theme.popover_shadow,
|
|
},
|
|
notifications: {
|
|
width: 400,
|
|
margin: { right: 10, bottom: 10 },
|
|
},
|
|
drop_target_overlay_color: with_opacity(
|
|
foreground(theme.lowest, "variant"),
|
|
0.5
|
|
),
|
|
}
|
|
}
|