feat(app): align interface typography to base size

Treat the appearance setting as the rendered base size so the type ramp scales predictably. Native starts one pixel larger while web and desktop preserve the authored 14px base, with legacy values migrated on load.
This commit is contained in:
Mohamed Boudra
2026-08-17 22:55:46 +02:00
parent df3e646fbe
commit 5ec26f0c09
171 changed files with 709 additions and 645 deletions
+5 -3
View File
@@ -28,11 +28,13 @@ Before adding a new component, read `components/ui/`. The primitive usually exis
## 3. Hierarchy ## 3. Hierarchy
Hierarchy is conveyed through weight and color, not size. Most interface text is `fontSize.sm`; compact metadata and hints use `fontSize.xs`. The distinction between a row's primary line and its secondary line is `foreground` versus `foregroundMuted`. Hierarchy is conveyed through weight and color, not size. Most interface text is `fontSize.base`; compact metadata and hints use `fontSize.sm`. The distinction between a row's primary line and its secondary line is `foreground` versus `foregroundMuted`.
The authored ramp uses a 14px base. New native installs default to 15px; web and desktop default to 14px. The Appearance **Base size** setting is the rendered `fontSize.base` value and scales the rest of the UI ramp proportionally. Code size remains independent.
Weight has three tiers, applied by role: Weight has three tiers, applied by role:
- **Screen titles** — the title at the top of a screen — use `<ScreenTitle>` (`packages/app/src/components/headers/screen-title.tsx`), which renders `fontSize.base` at weight `400` on compact and `300` on desktop. Top-of-screen titles are lighter on desktop, not heavier. The workspace header overrides the size to `fontSize.sm` so its title, project name, tabs, pane chrome, conversation text, and composer share the desktop working-surface scale (`packages/app/src/screens/workspace/workspace-screen.tsx`). - **Screen titles** — the title in app chrome — use `<ScreenTitle>` (`packages/app/src/components/headers/screen-title.tsx`), which renders `fontSize.base` at weight `400` on compact and `300` on desktop. The New workspace hero is the only larger product title; it uses `fontSize["2xl"]` (`packages/app/src/screens/new-workspace-screen.tsx`).
- **Structural labels** use `fontWeight.medium`. This applies to section labels above a stack of rows (`packages/app/src/components/agent-list.tsx:519-523`, `packages/app/src/components/keyboard-shortcuts-dialog.tsx:63-67`), form field labels above an input inside a modal (`packages/app/src/components/add-host-modal.tsx:19-23`, `packages/app/src/components/pair-link-modal.tsx:24-28`), the title at the top of a modal/sheet/dialog (`packages/app/src/components/adaptive-modal-sheet.tsx:90-94`, `packages/app/src/components/ui/combobox.tsx:1607-1611`, `packages/app/src/components/welcome-screen.tsx:48-53`), action button labels in tight components such as the sidebar callout actions (`packages/app/src/components/sidebar-callout.tsx:218-221`), and inline data emphasis on dense metadata rows (`packages/app/src/components/git-diff-pane.tsx:2322-2327`, `packages/app/src/components/file-explorer-pane.tsx:1115-1122`). - **Structural labels** use `fontWeight.medium`. This applies to section labels above a stack of rows (`packages/app/src/components/agent-list.tsx:519-523`, `packages/app/src/components/keyboard-shortcuts-dialog.tsx:63-67`), form field labels above an input inside a modal (`packages/app/src/components/add-host-modal.tsx:19-23`, `packages/app/src/components/pair-link-modal.tsx:24-28`), the title at the top of a modal/sheet/dialog (`packages/app/src/components/adaptive-modal-sheet.tsx:90-94`, `packages/app/src/components/ui/combobox.tsx:1607-1611`, `packages/app/src/components/welcome-screen.tsx:48-53`), action button labels in tight components such as the sidebar callout actions (`packages/app/src/components/sidebar-callout.tsx:218-221`), and inline data emphasis on dense metadata rows (`packages/app/src/components/git-diff-pane.tsx:2322-2327`, `packages/app/src/components/file-explorer-pane.tsx:1115-1122`).
- **Content** uses `fontWeight.normal`. This applies to settings rows (`packages/app/src/styles/settings.ts`), sidebar primary list-item titles (`packages/app/src/components/sidebar-workspace-list.tsx:2680-2686`, `packages/app/src/components/agent-list.tsx:572-578`), `<Button>` text (`packages/app/src/components/ui/button.tsx:80-84`), `<StatusBadge>` text (`packages/app/src/components/ui/status-badge.tsx:56-60`), and `<SidebarCallout>` titles (`packages/app/src/components/sidebar-callout.tsx:175-180`). - **Content** uses `fontWeight.normal`. This applies to settings rows (`packages/app/src/styles/settings.ts`), sidebar primary list-item titles (`packages/app/src/components/sidebar-workspace-list.tsx:2680-2686`, `packages/app/src/components/agent-list.tsx:572-578`), `<Button>` text (`packages/app/src/components/ui/button.tsx:80-84`), `<StatusBadge>` text (`packages/app/src/components/ui/status-badge.tsx:56-60`), and `<SidebarCallout>` titles (`packages/app/src/components/sidebar-callout.tsx:175-180`).
@@ -64,7 +66,7 @@ The button is `<Button>` (`packages/app/src/components/ui/button.tsx`). It has f
Sizes: `xs` for ultra-tight inline triggers. `sm` for any button sitting in a row. `md` is the page default. `lg` is reserved for large standalone CTAs. Sizes: `xs` for ultra-tight inline triggers. `sm` for any button sitting in a row. `md` is the page default. `lg` is reserved for large standalone CTAs.
Sizes are a shared contract across control kinds, defined once in `control-geometry.ts`: `xs` = 28px tall with `fontSize.xs` labels, `sm` = 32px with `fontSize.sm`, `md`/`lg` = 44px with `fontSize.sm`. `<SegmentedControl>` (`packages/app/src/components/ui/segmented-control.tsx`) takes the same `xs`/`sm`/`md` sizes — a segmented control next to a `<Button>` of the same size always matches in height, label size, and corner radius. Its segments run one padding step tighter than a button, because the gap between segments already reads as padding. The selected segment is a `surface3` fill with `foreground` text, not an inverted one — inverting it inside thin chrome puts a white slab in the toolbar. Thin chrome such as the file toolbar uses `xs`; settings rows use `sm`. Never shrink a control's font or padding locally to fit a context — if the context needs a smaller control, the size tier is missing or the wrong one is in use. Sizes are a shared contract across control kinds, defined once in `control-geometry.ts`: `xs` = 28px tall with `fontSize.sm` labels, `sm` = 32px with `fontSize.base`, `md`/`lg` = 44px with `fontSize.base`. `<SegmentedControl>` (`packages/app/src/components/ui/segmented-control.tsx`) takes the same `xs`/`sm`/`md` sizes — a segmented control next to a `<Button>` of the same size always matches in height, label size, and corner radius. Its segments run one padding step tighter than a button, because the gap between segments already reads as padding. The selected segment is a `surface3` fill with `foreground` text, not an inverted one — inverting it inside thin chrome puts a white slab in the toolbar. Thin chrome such as the file toolbar uses `xs`; settings rows use `sm`. Never shrink a control's font or padding locally to fit a context — if the context needs a smaller control, the size tier is missing or the wrong one is in use.
A `<Pressable>` wrapping a `<Text>` is a sixth variant. It is wrong. `<Button>` accepts `style`, `textStyle`, `leftIcon`, `disabled`, `size`, and `variant`. A `<Pressable>` wrapping a `<Text>` is a sixth variant. It is wrong. `<Button>` accepts `style`, `textStyle`, `leftIcon`, `disabled`, `size`, and `variant`.
@@ -523,11 +523,11 @@ const styles = StyleSheet.create((theme) => ({
}, },
featureLabel: { featureLabel: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
featureDescription: { featureDescription: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
notesInput: { notesInput: {
minHeight: 88, minHeight: 88,
@@ -535,7 +535,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
submitError: { submitError: {
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
actions: { actions: {
flexDirection: "row", flexDirection: "row",
@@ -168,7 +168,7 @@ const styles = StyleSheet.create((theme) => ({
summary: { summary: {
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
notes: { notes: {
flexDirection: "row", flexDirection: "row",
@@ -179,7 +179,7 @@ const styles = StyleSheet.create((theme) => ({
notesText: { notesText: {
flex: 1, flex: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
rowActions: { rowActions: {
flexDirection: "row", flexDirection: "row",
@@ -213,7 +213,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
emptyText: { emptyText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
})); }));
@@ -249,7 +249,7 @@ const styles = StyleSheet.create((theme) => ({
...theme.shadow.md, ...theme.shadow.md,
}, },
previewText: { previewText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
})); }));
+2 -2
View File
@@ -684,7 +684,7 @@ function ProvidersWrapper({ children }: { children: ReactNode }) {
applyAppearance({ applyAppearance({
uiFontFamily: settings.uiFontFamily, uiFontFamily: settings.uiFontFamily,
monoFontFamily: settings.monoFontFamily, monoFontFamily: settings.monoFontFamily,
uiFontSize: settings.uiFontSize, uiBaseFontSize: settings.uiBaseFontSize,
codeFontSize: settings.codeFontSize, codeFontSize: settings.codeFontSize,
syntaxTheme: settings.syntaxTheme, syntaxTheme: settings.syntaxTheme,
}); });
@@ -692,7 +692,7 @@ function ProvidersWrapper({ children }: { children: ReactNode }) {
settingsLoading, settingsLoading,
settings.uiFontFamily, settings.uiFontFamily,
settings.monoFontFamily, settings.monoFontFamily,
settings.uiFontSize, settings.uiBaseFontSize,
settings.codeFontSize, settings.codeFontSize,
settings.syntaxTheme, settings.syntaxTheme,
]); ]);
+1 -1
View File
@@ -90,7 +90,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
permissionTitle: { permissionTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
}, },
permissionBody: { permissionBody: {
@@ -238,7 +238,7 @@ function preventAnchorNavigation(event: MouseEvent<HTMLAnchorElement>): void {
const styles = StyleSheet.create((theme) => ({ const styles = StyleSheet.create((theme) => ({
tooltipPath: { tooltipPath: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
})); }));
@@ -867,14 +867,14 @@ const styles = StyleSheet.create((theme) => ({
}, },
scopeChipLabel: { scopeChipLabel: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "500", fontWeight: "500",
}, },
results: { flex: 1 }, results: { flex: 1 },
sectionLabel: { sectionLabel: {
paddingHorizontal: theme.spacing[4], paddingHorizontal: theme.spacing[4],
paddingBottom: theme.spacing[2], paddingBottom: theme.spacing[2],
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
sectionDivider: { sectionDivider: {
@@ -902,14 +902,14 @@ const styles = StyleSheet.create((theme) => ({
textContent: { flex: 1, minWidth: 0 }, textContent: { flex: 1, minWidth: 0 },
title: { title: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 18, lineHeight: 18,
flexShrink: 1, flexShrink: 1,
}, },
fileLine: { flex: 1, minWidth: 0, fontSize: theme.fontSize.sm, lineHeight: 20 }, fileLine: { flex: 1, minWidth: 0, fontSize: theme.fontSize.base, lineHeight: 20 },
fileName: { color: theme.colors.foreground }, fileName: { color: theme.colors.foreground },
filePath: { color: theme.colors.foregroundMuted }, filePath: { color: theme.colors.foregroundMuted },
subtitle: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.xs, lineHeight: 16 }, subtitle: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.sm, lineHeight: 16 },
iconSlot: { width: 16, height: 20, alignItems: "center", justifyContent: "center" }, iconSlot: { width: 16, height: 20, alignItems: "center", justifyContent: "center" },
rowShortcut: { flexShrink: 0 }, rowShortcut: { flexShrink: 0 },
breadcrumb: { breadcrumb: {
@@ -927,7 +927,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
breadcrumbGroup: { breadcrumbGroup: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
flexShrink: 0, flexShrink: 0,
}, },
@@ -936,7 +936,7 @@ const styles = StyleSheet.create((theme) => ({
paddingVertical: theme.spacing[6], paddingVertical: theme.spacing[6],
textAlign: "center", textAlign: "center",
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
errorText: { errorText: {
paddingHorizontal: theme.spacing[4], paddingHorizontal: theme.spacing[4],
@@ -944,7 +944,7 @@ const styles = StyleSheet.create((theme) => ({
borderBottomWidth: 1, borderBottomWidth: 1,
borderBottomColor: theme.colors.border, borderBottomColor: theme.colors.border,
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
sheetBackground: { backgroundColor: theme.colors.surface0 }, sheetBackground: { backgroundColor: theme.colors.surface0 },
sheetHandle: { backgroundColor: theme.colors.palette.zinc[600] }, sheetHandle: { backgroundColor: theme.colors.palette.zinc[600] },
@@ -112,7 +112,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
}, },
title: { title: {
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
headerActions: { headerActions: {
@@ -157,7 +157,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
inlineTitle: { inlineTitle: {
flex: 1, flex: 1,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
@@ -165,7 +165,7 @@ const styles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
paddingVertical: theme.spacing[2], paddingVertical: theme.spacing[2],
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
desktopScrollContainer: { desktopScrollContainer: {
flexShrink: 1, flexShrink: 1,
@@ -25,7 +25,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
optionSubtext: { optionSubtext: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
marginTop: theme.spacing[1], marginTop: theme.spacing[1],
}, },
optionBody: { optionBody: {
@@ -51,7 +51,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
label: { label: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
input: { input: {
@@ -120,7 +120,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
advancedText: { advancedText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
actions: { actions: {
@@ -130,11 +130,11 @@ const styles = StyleSheet.create((theme) => ({
}, },
helper: { helper: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
error: { error: {
color: theme.colors.destructive, color: theme.colors.destructive,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
@@ -1008,14 +1008,14 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
hostContext: { hostContext: {
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
input: { input: {
@@ -1043,11 +1043,11 @@ const styles = StyleSheet.create((theme) => ({
disabled: { opacity: theme.opacity[50] }, disabled: { opacity: theme.opacity[50] },
iconSlot: { width: 18, alignItems: "center" }, iconSlot: { width: 18, alignItems: "center" },
rowText: { flex: 1, minWidth: 0 }, rowText: { flex: 1, minWidth: 0 },
rowTitle: { color: theme.colors.foreground, fontSize: theme.fontSize.sm }, rowTitle: { color: theme.colors.foreground, fontSize: theme.fontSize.base },
rowSubtitle: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.xs, marginTop: 2 }, rowSubtitle: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.sm, marginTop: 2 },
preview: { preview: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
paddingHorizontal: theme.spacing[4], paddingHorizontal: theme.spacing[4],
paddingVertical: theme.spacing[2], paddingVertical: theme.spacing[2],
}, },
@@ -1059,7 +1059,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
errorText: { errorText: {
color: theme.colors.destructive, color: theme.colors.destructive,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
paddingHorizontal: theme.spacing[4], paddingHorizontal: theme.spacing[4],
paddingVertical: theme.spacing[3], paddingVertical: theme.spacing[3],
}, },
@@ -1081,10 +1081,10 @@ const styles = StyleSheet.create((theme) => ({
}, },
footerKeyText: { footerKeyText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
footerAction: { footerAction: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
+11 -11
View File
@@ -259,8 +259,8 @@ function SessionRow({
); );
const archivedIcon = useMemo( const archivedIcon = useMemo(
() => <Archive size={theme.fontSize.xs} color={theme.colors.foregroundMuted} />, () => <Archive size={theme.fontSize.sm} color={theme.colors.foregroundMuted} />,
[theme.fontSize.xs, theme.colors.foregroundMuted], [theme.fontSize.sm, theme.colors.foregroundMuted],
); );
const showDesktopAttention = const showDesktopAttention =
!isMobile && showAttentionIndicator && Boolean(agent.requiresAttention); !isMobile && showAttentionIndicator && Boolean(agent.requiresAttention);
@@ -617,7 +617,7 @@ const styles = StyleSheet.create((theme) => ({
marginBottom: theme.spacing[2], marginBottom: theme.spacing[2],
}, },
sectionTitle: { sectionTitle: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -655,7 +655,7 @@ const styles = StyleSheet.create((theme) => ({
workspaceTitleText: { workspaceTitleText: {
flexShrink: 0, flexShrink: 0,
maxWidth: 220, maxWidth: 220,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
rowMetaRow: { rowMetaRow: {
@@ -680,7 +680,7 @@ const styles = StyleSheet.create((theme) => ({
sessionTitle: { sessionTitle: {
flexShrink: 1, flexShrink: 1,
minWidth: 0, minWidth: 0,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "400", fontWeight: "400",
color: theme.colors.foreground, color: theme.colors.foreground,
opacity: 0.86, opacity: 0.86,
@@ -690,11 +690,11 @@ const styles = StyleSheet.create((theme) => ({
}, },
sessionMetaText: { sessionMetaText: {
maxWidth: "100%", maxWidth: "100%",
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
sessionMetaSeparator: { sessionMetaSeparator: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
opacity: 0.7, opacity: 0.7,
}, },
@@ -705,20 +705,20 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[3], gap: theme.spacing[3],
}, },
columnMeta: { columnMeta: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 0, flexShrink: 0,
width: 132, width: 132,
}, },
columnMetaFixed: { columnMetaFixed: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 0, flexShrink: 0,
width: 72, width: 72,
textAlign: "right" as const, textAlign: "right" as const,
}, },
columnMetaHost: { columnMetaHost: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 0, flexShrink: 0,
width: 120, width: 120,
@@ -754,7 +754,7 @@ const styles = StyleSheet.create((theme) => ({
opacity: 0.3, opacity: 0.3,
}, },
sheetTitle: { sheetTitle: {
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
color: theme.colors.foreground, color: theme.colors.foreground,
textAlign: "center", textAlign: "center",
@@ -339,7 +339,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
mutedText: { mutedText: {
flex: 1, flex: 1,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
headerActions: { headerActions: {
@@ -15,7 +15,6 @@ const appearanceStyleBoundaryMapping = (theme: Theme): Partial<AppearanceStyleBo
appearanceKey: [ appearanceKey: [
theme.fontFamily.ui, theme.fontFamily.ui,
theme.fontFamily.mono, theme.fontFamily.mono,
theme.fontSize.xs,
theme.fontSize.sm, theme.fontSize.sm,
theme.fontSize.base, theme.fontSize.base,
theme.fontSize.lg, theme.fontSize.lg,
@@ -116,7 +116,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
}, },
errorText: { errorText: {
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
})) as unknown as Record<string, object>; })) as unknown as Record<string, object>;
@@ -138,6 +138,6 @@ const styles = StyleSheet.create((theme) => ({
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -160,7 +160,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
errorText: { errorText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
closeButton: { closeButton: {
width: 32, width: 32,
@@ -174,11 +174,11 @@ const styles = StyleSheet.create((theme) => ({
}, },
labelTitle: { labelTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
labelSubtitle: { labelSubtitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
thumbnail: { thumbnail: {
width: ATTACHMENT_CONTENT_HEIGHT, width: ATTACHMENT_CONTENT_HEIGHT,
@@ -150,13 +150,13 @@ const styles = StyleSheet.create((theme) => ({
backgroundColor: theme.colors.surface1, backgroundColor: theme.colors.surface1,
}, },
branchLabel: { branchLabel: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
flexShrink: 1, flexShrink: 1,
}, },
tooltipText: { tooltipText: {
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -298,7 +298,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
customTriggerWrapper: { customTriggerWrapper: {
@@ -322,6 +322,6 @@ const styles = StyleSheet.create((theme) => ({
}, },
sheetLoadingText: { sheetLoadingText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
@@ -261,12 +261,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
percentageLabel: { percentageLabel: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
skeletonLabel: { skeletonLabel: {
width: 22, width: 22,
height: theme.fontSize.sm, height: theme.fontSize.base,
borderRadius: theme.borderRadius.full, borderRadius: theme.borderRadius.full,
backgroundColor: theme.colors.surface3, backgroundColor: theme.colors.surface3,
}, },
@@ -276,16 +276,16 @@ const styles = StyleSheet.create((theme) => ({
}, },
tooltipTitle: { tooltipTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: theme.fontSize.sm * 1.4, lineHeight: theme.fontSize.base * 1.4,
}, },
tooltipDetail: { tooltipDetail: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: theme.fontSize.xs * 1.4, lineHeight: theme.fontSize.sm * 1.4,
}, },
})); }));
@@ -288,7 +288,7 @@ const styles = StyleSheet.create((theme) => ({
justifyContent: "center", justifyContent: "center",
}, },
timerText: { timerText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
fontVariant: ["tabular-nums"], fontVariant: ["tabular-nums"],
}, },
@@ -326,7 +326,7 @@ const styles = StyleSheet.create((theme) => ({
justifyContent: "center", justifyContent: "center",
}, },
statusLabel: { statusLabel: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
}, },
})); }));
@@ -367,12 +367,12 @@ const overlayStyles = StyleSheet.create((theme) => ({
gap: theme.spacing[4], gap: theme.spacing[4],
}, },
timerText: { timerText: {
fontSize: theme.fontSize.xl, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
fontVariant: ["tabular-nums"], fontVariant: ["tabular-nums"],
}, },
transcriptText: { transcriptText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
textAlign: "center", textAlign: "center",
paddingHorizontal: theme.spacing[2], paddingHorizontal: theme.spacing[2],
+2 -2
View File
@@ -34,12 +34,12 @@ const styles = StyleSheet.create((theme) => ({
flexShrink: 0, flexShrink: 0,
}, },
additions: { additions: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.statusSuccess, color: theme.colors.statusSuccess,
}, },
deletions: { deletions: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
}, },
+1 -1
View File
@@ -271,7 +271,7 @@ const styles = StyleSheet.create((theme) => {
justifyContent: "center" as const, justifyContent: "center" as const,
}, },
emptyText: { emptyText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
}; };
@@ -130,12 +130,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
fileName: { fileName: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
}, },
status: { status: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
progressBar: { progressBar: {
height: 3, height: 3,
@@ -543,7 +543,7 @@ const styles = StyleSheet.create((theme) => ({
backgroundColor: theme.colors.surfaceSidebarHover, backgroundColor: theme.colors.surfaceSidebarHover,
}, },
tabText: { tabText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -1684,7 +1684,7 @@ const styles = StyleSheet.create((theme) => ({
backgroundColor: theme.colors.surface2, backgroundColor: theme.colors.surface2,
}, },
sortTriggerText: { sortTriggerText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
headerActions: { headerActions: {
@@ -1714,7 +1714,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
loadingText: { loadingText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
errorText: { errorText: {
color: theme.colors.destructive, color: theme.colors.destructive,
@@ -1730,7 +1730,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
retryButtonText: { retryButtonText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
}, },
errorActions: { errorActions: {
@@ -1745,7 +1745,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
binaryMetaText: { binaryMetaText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
entryInfo: { entryInfo: {
flex: 1, flex: 1,
@@ -1764,13 +1764,13 @@ const styles = StyleSheet.create((theme) => ({
entryName: { entryName: {
flex: 1, flex: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
userSelect: "none", userSelect: "none",
}, },
draftInput: { draftInput: {
flex: 1, flex: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
paddingVertical: 0, paddingVertical: 0,
paddingHorizontal: 0, paddingHorizontal: 0,
}, },
@@ -1788,12 +1788,12 @@ const styles = StyleSheet.create((theme) => ({
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
}, },
contextMetaLabel: { contextMetaLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 0, flexShrink: 0,
}, },
contextMetaValue: { contextMetaValue: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
flex: 1, flex: 1,
@@ -1803,7 +1803,7 @@ const styles = StyleSheet.create((theme) => ({
previewHeaderText: { previewHeaderText: {
flex: 1, flex: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
iconButton: { iconButton: {
@@ -1870,7 +1870,7 @@ const styles = StyleSheet.create((theme) => ({
borderBottomColor: theme.colors.border, borderBottomColor: theme.colors.border,
}, },
sheetTitle: { sheetTitle: {
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
color: theme.colors.foreground, color: theme.colors.foreground,
flex: 1, flex: 1,
@@ -85,7 +85,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
shortcut: {}, shortcut: {},
@@ -115,7 +115,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
filterTriggerText: { filterTriggerText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
})); }));
@@ -583,7 +583,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
filterTriggerText: { filterTriggerText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
list: { list: {
@@ -629,16 +629,16 @@ const styles = StyleSheet.create((theme) => ({
}, },
rowMeta: { rowMeta: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
rowPreview: { rowPreview: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
rowCwd: { rowCwd: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
statusRow: { statusRow: {
flexDirection: "row", flexDirection: "row",
@@ -648,7 +648,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
statusText: { statusText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
emptyState: { emptyState: {
alignItems: "center", alignItems: "center",
@@ -103,7 +103,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
sectionTitle: { sectionTitle: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -128,12 +128,12 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
}, },
rowLabel: { rowLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
rowNote: { rowNote: {
marginTop: 2, marginTop: 2,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
rowShortcut: { rowShortcut: {
@@ -143,13 +143,13 @@ const styles = StyleSheet.create((theme) => ({
// same state the same way. // same state the same way.
rowUnassigned: { rowUnassigned: {
alignSelf: "flex-start", alignSelf: "flex-start",
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
empty: { empty: {
paddingVertical: theme.spacing[6], paddingVertical: theme.spacing[6],
textAlign: "center", textAlign: "center",
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
})); }));
+4 -4
View File
@@ -1044,7 +1044,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
workspacesSectionTitle: { workspacesSectionTitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
workspacesSectionActions: { workspacesSectionActions: {
@@ -1118,7 +1118,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.accentForeground, color: theme.colors.accentForeground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
sidebarFooter: { sidebarFooter: {
@@ -1153,7 +1153,7 @@ const styles = StyleSheet.create((theme) => ({
footerAddProjectLabel: { footerAddProjectLabel: {
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -1174,7 +1174,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
})); }));
@@ -756,7 +756,7 @@ const detailsStyles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
minWidth: 0, minWidth: 0,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
lineHeight: 18, lineHeight: 18,
}, },
+13 -13
View File
@@ -194,7 +194,7 @@ let webToolCallShimmerRegistered = false;
const SCROLL_EDGE_EPSILON = 0.5; const SCROLL_EDGE_EPSILON = 0.5;
// Font size for stream metadata (timestamps, durations, live elapsed timer). // Font size for stream metadata (timestamps, durations, live elapsed timer).
// Lives between theme.fontSize.xs (12) and theme.fontSize.sm (14); no token. // Lives between theme.fontSize.sm (12) and theme.fontSize.base (14); no token.
export const STREAM_METADATA_FONT_SIZE = 13; export const STREAM_METADATA_FONT_SIZE = 13;
type ScrollAxis = "x" | "y"; type ScrollAxis = "x" | "y";
@@ -354,9 +354,9 @@ const userMessageStylesheet = StyleSheet.create((theme) => ({
}, },
text: { text: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
...(isWeb ...(isWeb
? { lineHeight: Math.round(theme.fontSize.sm * 1.4), overflowWrap: "anywhere" as const } ? { lineHeight: Math.round(theme.fontSize.base * 1.4), overflowWrap: "anywhere" as const }
: {}), : {}),
}, },
imagePreviewContainer: { imagePreviewContainer: {
@@ -787,7 +787,7 @@ export const assistantMessageStylesheet = StyleSheet.create((theme) => ({
}, },
imageErrorText: { imageErrorText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
})); }));
@@ -1095,7 +1095,7 @@ const expandableBadgeStylesheet = StyleSheet.create((theme) => ({
}, },
label: { label: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
flexShrink: 0, flexShrink: 0,
}, },
@@ -1110,7 +1110,7 @@ const expandableBadgeStylesheet = StyleSheet.create((theme) => ({
flexShrink: 1, flexShrink: 1,
minWidth: 0, minWidth: 0,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
marginLeft: theme.spacing[2], marginLeft: theme.spacing[2],
}, },
@@ -1119,7 +1119,7 @@ const expandableBadgeStylesheet = StyleSheet.create((theme) => ({
}, },
shimmerText: { shimmerText: {
color: "transparent", color: "transparent",
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
spacer: { spacer: {
@@ -1952,14 +1952,14 @@ const speakMessageStylesheet = StyleSheet.create((theme) => ({
}, },
headerLabel: { headerLabel: {
fontFamily: theme.fontFamily.ui, fontFamily: theme.fontFamily.ui,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
text: { text: {
fontFamily: theme.fontFamily.ui, fontFamily: theme.fontFamily.ui,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: Math.round(theme.fontSize.sm * 1.4), lineHeight: Math.round(theme.fontSize.base * 1.4),
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
})); }));
@@ -2044,7 +2044,7 @@ const activityLogStylesheet = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
}, },
messageText: { messageText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
detailsRow: { detailsRow: {
@@ -2054,7 +2054,7 @@ const activityLogStylesheet = StyleSheet.create((theme) => ({
}, },
detailsText: { detailsText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
marginRight: theme.spacing[1], marginRight: theme.spacing[1],
}, },
metadataContainer: { metadataContainer: {
@@ -2262,7 +2262,7 @@ const todoListCardStylesheet = StyleSheet.create((theme) => ({
}, },
emptyText: { emptyText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
@@ -1270,7 +1270,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
sectionHeadingText: { sectionHeadingText: {
flex: 1, flex: 1,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -1314,17 +1314,17 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
browserRowLabel: { browserRowLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
flexShrink: 0, flexShrink: 0,
}, },
browserRowLabelMuted: { browserRowLabelMuted: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 0, flexShrink: 0,
}, },
browserRowDescription: { browserRowDescription: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 1, flexShrink: 1,
}, },
@@ -1345,7 +1345,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[1], gap: theme.spacing[1],
}, },
drillDownCount: { drillDownCount: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
rowStateInline: { rowStateInline: {
@@ -1377,11 +1377,11 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
emptyStateText: { emptyStateText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
virtualizedModelList: { virtualizedModelList: {
@@ -17,14 +17,14 @@ const FLEX_ONE_STYLE = { flex: 1 } as const;
const styles = StyleSheet.create((theme) => ({ const styles = StyleSheet.create((theme) => ({
helper: { helper: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
field: { field: {
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
label: { label: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
input: { input: {
@@ -38,7 +38,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
error: { error: {
color: theme.colors.destructive, color: theme.colors.destructive,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
actions: { actions: {
flexDirection: "row", flexDirection: "row",
+1 -1
View File
@@ -243,7 +243,7 @@ const styles = StyleSheet.create((theme) => ({
lineHeight: 22, lineHeight: 22,
}, },
description: { description: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
footer: { footer: {
@@ -202,7 +202,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
paddingVertical: theme.spacing[3], paddingVertical: theme.spacing[3],
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
list: { list: {
borderRadius: theme.borderRadius.lg, borderRadius: theme.borderRadius.lg,
@@ -240,18 +240,18 @@ const styles = StyleSheet.create((theme) => ({
}, },
name: { name: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
flexShrink: 1, flexShrink: 1,
}, },
version: { version: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
flexShrink: 0, flexShrink: 0,
}, },
description: { description: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
installLink: { installLink: {
alignSelf: "flex-start", alignSelf: "flex-start",
@@ -262,7 +262,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
installLinkText: { installLinkText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
actionButton: { actionButton: {
width: 92, width: 92,
@@ -281,6 +281,6 @@ const styles = StyleSheet.create((theme) => ({
}, },
stateText: { stateText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
@@ -731,7 +731,7 @@ export function ProviderDiagnosticSheet({
const sheetStyles = StyleSheet.create((theme) => ({ const sheetStyles = StyleSheet.create((theme) => ({
mutedText: { mutedText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
monoHint: { monoHint: {
@@ -742,11 +742,11 @@ const sheetStyles = StyleSheet.create((theme) => ({
}, },
descriptionInline: { descriptionInline: {
flex: 1, flex: 1,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
errorText: { errorText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.destructive, color: theme.colors.destructive,
}, },
formInput: { formInput: {
@@ -757,7 +757,7 @@ const sheetStyles = StyleSheet.create((theme) => ({
color: theme.colors.foreground, color: theme.colors.foreground,
borderWidth: 1, borderWidth: 1,
borderColor: theme.colors.border, borderColor: theme.colors.border,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
iconButton: { iconButton: {
width: 28, width: 28,
@@ -804,7 +804,7 @@ const sheetStyles = StyleSheet.create((theme) => ({
}, },
modelTitle: { modelTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
flexShrink: 0, flexShrink: 0,
}, },
modelRowFiller: { modelRowFiller: {
@@ -828,7 +828,7 @@ const sheetStyles = StyleSheet.create((theme) => ({
}, },
footerMeta: { footerMeta: {
flex: 1, flex: 1,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
compactFooterMeta: { compactFooterMeta: {
@@ -849,7 +849,7 @@ const sheetStyles = StyleSheet.create((theme) => ({
gap: theme.spacing[3], gap: theme.spacing[3],
}, },
formLabel: { formLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
@@ -651,7 +651,7 @@ const styles = StyleSheet.create((theme) => ({
borderWidth: theme.borderWidth[1], borderWidth: theme.borderWidth[1],
}, },
questionNavText: { questionNavText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
optionItem: { optionItem: {
@@ -680,7 +680,7 @@ const styles = StyleSheet.create((theme) => ({
lineHeight: 22, lineHeight: 22,
}, },
optionDescription: { optionDescription: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
selectionControl: { selectionControl: {
@@ -707,7 +707,7 @@ const styles = StyleSheet.create((theme) => ({
borderRadius: theme.borderRadius.lg, borderRadius: theme.borderRadius.lg,
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
paddingVertical: theme.spacing[3], paddingVertical: theme.spacing[3],
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
actionsContainer: { actionsContainer: {
gap: theme.spacing[2], gap: theme.spacing[2],
@@ -730,6 +730,6 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
actionText: { actionText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
@@ -64,6 +64,6 @@ const styles = StyleSheet.create((theme) => ({
}, },
detail: { detail: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
+1 -1
View File
@@ -185,7 +185,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
errorText: { errorText: {
color: theme.colors.palette.red[300], color: theme.colors.palette.red[300],
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
actions: { actions: {
flexDirection: "row", flexDirection: "row",
@@ -161,7 +161,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
warningHeader: { warningHeader: {
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
@@ -170,6 +170,6 @@ const styles = StyleSheet.create((theme) => ({
}, },
warningText: { warningText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -128,13 +128,13 @@ const styles = StyleSheet.create((theme) => ({
}, },
title: { title: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xl, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
body: { body: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
textAlign: "center", textAlign: "center",
}, },
@@ -144,7 +144,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
detailsLabel: { detailsLabel: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
detailsSurface: { detailsSurface: {
@@ -132,11 +132,11 @@ const styles = StyleSheet.create((theme) => ({
fontFamily: theme.fontFamily.mono, fontFamily: theme.fontFamily.mono,
}, },
preview: { preview: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
error: { error: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.palette.red[300], color: theme.colors.palette.red[300],
}, },
})); }));
@@ -1056,7 +1056,7 @@ const styles = StyleSheet.create((theme) => {
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
readonlyTextSm: { readonlyTextSm: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
readonlyTextMd: { readonlyTextMd: {
fontSize: theme.fontSize.base, fontSize: theme.fontSize.base,
@@ -1077,7 +1077,7 @@ const styles = StyleSheet.create((theme) => {
}, },
submitError: { submitError: {
color: theme.colors.palette.red[300], color: theme.colors.palette.red[300],
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
providerIcon: { providerIcon: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
@@ -400,7 +400,7 @@ const styles = StyleSheet.create((theme) => ({
target: { target: {
marginTop: theme.spacing[1], marginTop: theme.spacing[1],
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
trailing: { trailing: {
flexDirection: "row", flexDirection: "row",
@@ -49,7 +49,7 @@ export function SettingsTextAreaCard(props: SettingsTextAreaProps) {
const styles = StyleSheet.create((theme) => ({ const styles = StyleSheet.create((theme) => ({
input: { input: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
paddingVertical: theme.spacing[3], paddingVertical: theme.spacing[3],
paddingHorizontal: theme.spacing[4], paddingHorizontal: theme.spacing[4],
minHeight: 96, minHeight: 96,
@@ -183,12 +183,12 @@ const styles = StyleSheet.create((theme) => ({
title: { title: {
flexShrink: 1, flexShrink: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
description: { description: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
descriptionSlot: { descriptionSlot: {
flexShrink: 1, flexShrink: 1,
@@ -224,7 +224,7 @@ const styles = StyleSheet.create((theme) => ({
opacity: 0.5, opacity: 0.5,
}, },
actionLabel: { actionLabel: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
actionLabelPrimary: { actionLabelPrimary: {
@@ -407,7 +407,7 @@ const prBadgeStyles = StyleSheet.create((theme) => ({
opacity: 0.82, opacity: 0.82,
}, },
text: { text: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
lineHeight: 14, lineHeight: 14,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
@@ -2548,12 +2548,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
newWorkspaceGhostText: { newWorkspaceGhostText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
}, },
newWorkspaceGhostTextHovered: { newWorkspaceGhostTextHovered: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
@@ -2571,13 +2571,13 @@ const styles = StyleSheet.create((theme) => ({
}, },
emptyTitle: { emptyTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
emptyText: { emptyText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
projectRow: { projectRow: {
@@ -2623,7 +2623,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
projectTitle: { projectTitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "400", fontWeight: "400",
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
@@ -2642,7 +2642,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
projectActionButtonText: { projectActionButtonText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
projectIconActionButton: { projectIconActionButton: {
width: 24, width: 24,
@@ -2695,7 +2695,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
projectActionTooltipText: { projectActionTooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
projectActionTooltipShortcut: {}, projectActionTooltipShortcut: {},
projectShortcutBadgeOverlay: { projectShortcutBadgeOverlay: {
@@ -2777,12 +2777,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
workspaceArchivingText: { workspaceArchivingText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: "600", fontWeight: "600",
}, },
workspaceBranchText: { workspaceBranchText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "400", fontWeight: "400",
lineHeight: 20, lineHeight: 20,
opacity: 0.76, opacity: 0.76,
@@ -2803,7 +2803,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
workspaceCreatingText: { workspaceCreatingText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
flexShrink: 0, flexShrink: 0,
}, },
kebabButton: { kebabButton: {
@@ -58,7 +58,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
title: { title: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
})); }));
@@ -114,13 +114,13 @@ const styles = StyleSheet.create((theme) => ({
}, },
text: { text: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
}, },
textHovered: { textHovered: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
}, },
@@ -149,7 +149,7 @@ const styles = StyleSheet.create((theme) => ({
backgroundColor: theme.colors.surfaceSidebarHover, backgroundColor: theme.colors.surfaceSidebarHover,
}, },
label: { label: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -194,7 +194,7 @@ const styles = StyleSheet.create((theme) => ({
paddingHorizontal: theme.spacing[1], paddingHorizontal: theme.spacing[1],
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
versionList: { versionList: {
@@ -1095,7 +1095,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
statusGroupTitle: { statusGroupTitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "400", fontWeight: "400",
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
@@ -301,7 +301,7 @@ export const sidebarWorkspaceRowStyles = StyleSheet.create((theme) => ({
}, },
shortcutBadgeText: { shortcutBadgeText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
lineHeight: 14, lineHeight: 14,
}, },
@@ -500,7 +500,7 @@ const styles = StyleSheet.create((theme) => ({
// to the meta row, so it takes the full width the trailing slot leaves behind. // to the meta row, so it takes the full width the trailing slot leaves behind.
workspaceBranchText: { workspaceBranchText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "400", fontWeight: "400",
lineHeight: 20, lineHeight: 20,
opacity: 0.76, opacity: 0.76,
@@ -539,7 +539,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
workspaceCreatingText: { workspaceCreatingText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
flexShrink: 0, flexShrink: 0,
}, },
})); }));
@@ -310,7 +310,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
identityText: { identityText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 1, flexShrink: 1,
}, },
@@ -319,7 +319,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
separator: { separator: {
color: theme.colors.foregroundExtraMuted, color: theme.colors.foregroundExtraMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
@@ -333,44 +333,44 @@ const styles = StyleSheet.create((theme) => ({
}, },
serviceName: { serviceName: {
color: theme.colors.statusSuccess, color: theme.colors.statusSuccess,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 1, flexShrink: 1,
}, },
serviceNameUnhealthy: { serviceNameUnhealthy: {
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 1, flexShrink: 1,
}, },
prText: { prText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
prTextHovered: { prTextHovered: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
// Matches the indicator — see COLOR_MAPPINGS in check-indicator.tsx. // Matches the indicator — see COLOR_MAPPINGS in check-indicator.tsx.
checksTextPassed: { checksTextPassed: {
color: theme.colors.statusSuccess, color: theme.colors.statusSuccess,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
checksTextFailed: { checksTextFailed: {
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
checksTextRunning: { checksTextRunning: {
color: theme.colors.statusWarning, color: theme.colors.statusWarning,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: 16, lineHeight: 16,
flexShrink: 0, flexShrink: 0,
}, },
@@ -76,7 +76,7 @@ const styles = StyleSheet.create((theme) => ({
height: 20, height: 20,
lineHeight: 20, lineHeight: 20,
color: theme.colors.foregroundExtraMuted, color: theme.colors.foregroundExtraMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
flexShrink: 0, flexShrink: 0,
}, },
@@ -1349,7 +1349,7 @@ const styles = StyleSheet.create((theme) => ({
maxWidth: 200, maxWidth: 200,
}, },
dragOverlayLabel: { dragOverlayLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
flexShrink: 1, flexShrink: 1,
}, },
})); }));
@@ -58,7 +58,7 @@ const styles = StyleSheet.create((theme) => ({
flexBasis: "auto", flexBasis: "auto",
minWidth: 0, minWidth: 0,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
runningText: { runningText: {
color: theme.colors.foreground, color: theme.colors.foreground,
@@ -119,7 +119,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
keyButtonText: { keyButtonText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
@@ -134,7 +134,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
floatingButtonText: { floatingButtonText: {
color: "#f5f5f5", color: "#f5f5f5",
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
@@ -1151,7 +1151,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
statusError: { statusError: {
color: theme.colors.destructive, color: theme.colors.destructive,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
keyboardContainer: { keyboardContainer: {
borderTopWidth: 1, borderTopWidth: 1,
@@ -1189,7 +1189,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
keyButtonText: { keyButtonText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
@@ -1204,7 +1204,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
stateText: { stateText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
})); }));
+1 -1
View File
@@ -339,7 +339,7 @@ const styles = StyleSheet.create((theme) => ({
message: { message: {
flexShrink: 1, flexShrink: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
messageError: { messageError: {
@@ -793,7 +793,7 @@ const styles = StyleSheet.create((theme) => {
}, },
groupHeaderText: { groupHeaderText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
section: { section: {
@@ -812,14 +812,14 @@ const styles = StyleSheet.create((theme) => {
}, },
sectionTitle: { sectionTitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
textTransform: "uppercase", textTransform: "uppercase",
letterSpacing: 0.5, letterSpacing: 0.5,
}, },
rangeText: { rangeText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
diffContainer: { diffContainer: {
borderWidth: theme.borderWidth[1], borderWidth: theme.borderWidth[1],
@@ -916,7 +916,7 @@ const styles = StyleSheet.create((theme) => {
}, },
emptyStateText: { emptyStateText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontStyle: "italic", fontStyle: "italic",
}, },
loadingContainer: { loadingContainer: {
@@ -193,7 +193,7 @@ const styles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
}, },
headerTitle: { headerTitle: {
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.semibold, fontWeight: theme.fontWeight.semibold,
color: theme.colors.foreground, color: theme.colors.foreground,
flex: 1, flex: 1,
+2 -2
View File
@@ -102,12 +102,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
title: { title: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
description: { description: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
descriptionSlot: { descriptionSlot: {
flexShrink: 1, flexShrink: 1,
@@ -301,17 +301,17 @@ const styles = StyleSheet.create((theme: Theme) => ({
}, },
detailLabel: { detailLabel: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
detailDescription: { detailDescription: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
marginTop: theme.spacing[1], marginTop: theme.spacing[1],
}, },
detailHint: { detailHint: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
marginTop: theme.spacing[1], marginTop: theme.spacing[1],
}, },
container: { container: {
@@ -363,22 +363,22 @@ const styles = StyleSheet.create((theme: Theme) => ({
}, },
itemLabel: { itemLabel: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
itemDetail: { itemDetail: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
itemDescription: { itemDescription: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
marginTop: 2, marginTop: 2,
}, },
itemDescriptionInline: { itemDescriptionInline: {
flex: 1, flex: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
emptyItem: { emptyItem: {
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
@@ -386,6 +386,6 @@ const styles = StyleSheet.create((theme: Theme) => ({
}, },
emptyText: { emptyText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})) as unknown as Record<string, object>; })) as unknown as Record<string, object>;
+5 -5
View File
@@ -1683,7 +1683,7 @@ const styles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
paddingVertical: theme.spacing[3], paddingVertical: theme.spacing[3],
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
comboboxItem: { comboboxItem: {
flexDirection: "row", flexDirection: "row",
@@ -1744,12 +1744,12 @@ const styles = StyleSheet.create((theme) => ({
justifyContent: "center", justifyContent: "center",
}, },
comboboxItemLabel: { comboboxItemLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
flexShrink: 0, flexShrink: 0,
}, },
comboboxItemDescription: { comboboxItemDescription: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 1, flexShrink: 1,
}, },
@@ -1757,7 +1757,7 @@ const styles = StyleSheet.create((theme) => ({
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
paddingVertical: theme.spacing[2], paddingVertical: theme.spacing[2],
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
footer: { footer: {
borderTopWidth: 1, borderTopWidth: 1,
@@ -1768,7 +1768,7 @@ const styles = StyleSheet.create((theme) => ({
paddingBottom: theme.spacing[2], paddingBottom: theme.spacing[2],
}, },
comboboxTitle: { comboboxTitle: {
fontSize: theme.fontSize.lg, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "left", textAlign: "left",
}, },
@@ -21,9 +21,9 @@ const theme = {
borderAccent: "#2F3534", borderAccent: "#2F3534",
}, },
fontSize: { fontSize: {
xs: 12, xs: 10,
sm: 14, sm: 12,
base: 16, base: 14,
}, },
opacity: { opacity: {
50: 0.5, 50: 0.5,
@@ -78,12 +78,12 @@ describe("control geometry", () => {
expect(geometry.fieldTextSm.fontSize).toBe(14); expect(geometry.fieldTextSm.fontSize).toBe(14);
expect(geometry.fieldTextSm.lineHeight).toBe(20); expect(geometry.fieldTextSm.lineHeight).toBe(20);
expect(geometry.fieldTextMd.fontSize).toBe(16); expect(geometry.fieldTextMd.fontSize).toBe(14);
expect(geometry.fieldTextMd.lineHeight).toBe(22); expect(geometry.fieldTextMd.lineHeight).toBe(20);
expect(geometry.formTextInputSm.fontSize).toBe(14); expect(geometry.formTextInputSm.fontSize).toBe(14);
expect(geometry.formTextInputSm.lineHeight).toBe(20); expect(geometry.formTextInputSm.lineHeight).toBe(20);
expect(geometry.formTextInputMd.fontSize).toBe(16); expect(geometry.formTextInputMd.fontSize).toBe(14);
expect(geometry.formTextInputMd.lineHeight).toBe(22); expect(geometry.formTextInputMd.lineHeight).toBe(20);
}); });
it("derives field padding from line height without changing the control height", () => { it("derives field padding from line height without changing the control height", () => {
@@ -96,13 +96,13 @@ describe("control geometry", () => {
); );
expect(geometry.fieldControlMd.minHeight).toBe(44); expect(geometry.fieldControlMd.minHeight).toBe(44);
expect(geometry.fieldControlMd.paddingVertical).toBe(11); expect(geometry.fieldControlMd.paddingVertical).toBe(12);
expect(geometry.fieldTextMd.lineHeight + geometry.fieldControlMd.paddingVertical * 2).toBe( expect(geometry.fieldTextMd.lineHeight + geometry.fieldControlMd.paddingVertical * 2).toBe(
geometry.fieldControlMd.minHeight, geometry.fieldControlMd.minHeight,
); );
expect(geometry.formTextInputSm.paddingVertical).toBe(6); expect(geometry.formTextInputSm.paddingVertical).toBe(6);
expect(geometry.formTextInputMd.paddingVertical).toBe(11); expect(geometry.formTextInputMd.paddingVertical).toBe(12);
}); });
it("keeps segmented controls ghost with button-radius segments in a button-sized track", () => { it("keeps segmented controls ghost with button-radius segments in a button-sized track", () => {
@@ -111,7 +111,7 @@ export function resolveControlInteractionStyles(
} }
export function createControlGeometry(theme: Theme) { export function createControlGeometry(theme: Theme) {
const fieldTextSmLineHeight = fieldLineHeight(theme.fontSize.sm); const fieldTextSmLineHeight = fieldLineHeight(theme.fontSize.base);
const fieldTextMdLineHeight = fieldLineHeight(theme.fontSize.base); const fieldTextMdLineHeight = fieldLineHeight(theme.fontSize.base);
const fieldControlSm = { const fieldControlSm = {
minHeight: CONTROL_HEIGHTS.compact, minHeight: CONTROL_HEIGHTS.compact,
@@ -126,7 +126,7 @@ export function createControlGeometry(theme: Theme) {
borderRadius: theme.borderRadius.lg, borderRadius: theme.borderRadius.lg,
}; };
const fieldTextSm = { const fieldTextSm = {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: fieldTextSmLineHeight, lineHeight: fieldTextSmLineHeight,
}; };
const fieldTextMd = { const fieldTextMd = {
@@ -160,10 +160,10 @@ export function createControlGeometry(theme: Theme) {
borderRadius: theme.borderRadius.xl, borderRadius: theme.borderRadius.xl,
}, },
buttonText: { buttonText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
buttonTextXs: { buttonTextXs: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
formTextInputSm: { formTextInputSm: {
...fieldControlSm, ...fieldControlSm,
@@ -232,13 +232,13 @@ export function createControlGeometry(theme: Theme) {
borderRadius: theme.borderRadius.lg, borderRadius: theme.borderRadius.lg,
}, },
segmentedLabelXs: { segmentedLabelXs: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
segmentedLabelSm: { segmentedLabelSm: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
segmentedLabelMd: { segmentedLabelMd: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
}; };
} }
@@ -66,12 +66,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
label: { label: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
maxWidth: 280, maxWidth: 280,
lineHeight: theme.fontSize.sm * 1.4, lineHeight: theme.fontSize.base * 1.4,
}, },
})); }));
@@ -226,18 +226,18 @@ const styles = StyleSheet.create((theme) => ({
}, },
label: { label: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
hintText: { hintText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: Math.round(theme.fontSize.xs * 1.4), lineHeight: Math.round(theme.fontSize.sm * 1.4),
}, },
errorText: { errorText: {
color: theme.colors.palette.red[300], color: theme.colors.palette.red[300],
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: Math.round(theme.fontSize.xs * 1.4), lineHeight: Math.round(theme.fontSize.sm * 1.4),
}, },
})); }));
@@ -314,7 +314,7 @@ const styles = StyleSheet.create((theme) => ({
paddingBottom: theme.spacing[1], paddingBottom: theme.spacing[1],
}, },
labelText: { labelText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
// `border` sits between surface1 and surface2, which put it within a hair of the hover fill and // `border` sits between surface1 and surface2, which put it within a hair of the hover fill and
@@ -343,12 +343,12 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
hintText: { hintText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 1, flexShrink: 1,
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
// The fill is inset from the surface's edges and rounded, so a hovered row reads as a chip // The fill is inset from the surface's edges and rounded, so a hovered row reads as a chip
@@ -392,7 +392,7 @@ const styles = StyleSheet.create((theme) => ({
opacity: 0.72, opacity: 0.72,
}, },
itemText: { itemText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: MENU_ITEM_LINE_HEIGHT, lineHeight: MENU_ITEM_LINE_HEIGHT,
color: theme.colors.foreground, color: theme.colors.foreground,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
@@ -408,7 +408,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
itemDescription: { itemDescription: {
marginTop: 2, marginTop: 2,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
checkSlot: { checkSlot: {
@@ -131,7 +131,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[1.5], gap: theme.spacing[1.5],
}, },
valueText: { valueText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
flexShrink: 1, flexShrink: 1,
}, },
@@ -108,6 +108,6 @@ const styles = StyleSheet.create((theme) => ({
// native, so this needs neither a cast nor a platform branch. // native, so this needs neither a cast nor a platform branch.
outlineWidth: 0, outlineWidth: 0,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})); }));
+1 -1
View File
@@ -72,7 +72,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[1], gap: theme.spacing[1],
}, },
text: { text: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -42,7 +42,7 @@ const styles = StyleSheet.create((theme) => ({
paddingVertical: 3, paddingVertical: 3,
}, },
pillText: { pillText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -49,13 +49,13 @@ const styles = StyleSheet.create((theme) => ({
}, },
title: { title: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.xl, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
textAlign: "center", textAlign: "center",
}, },
subtitle: { subtitle: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
copyBlock: { copyBlock: {
@@ -99,12 +99,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
setupLinkText: { setupLinkText: {
color: theme.colors.accent, color: theme.colors.accent,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
versionLabel: { versionLabel: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
textAlign: "center", textAlign: "center",
marginTop: theme.spacing[6], marginTop: theme.spacing[6],
}, },
@@ -600,7 +600,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
cardTitle: { cardTitle: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
flex: 1, flex: 1,
minWidth: 0, minWidth: 0,
@@ -616,7 +616,7 @@ const styles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
minWidth: 0, minWidth: 0,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
cardInfoTextHovered: { cardInfoTextHovered: {
@@ -638,7 +638,7 @@ const styles = StyleSheet.create((theme) => ({
minHeight: 28, minHeight: 28,
}, },
checksSummaryLabel: { checksSummaryLabel: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
@@ -658,17 +658,17 @@ const styles = StyleSheet.create((theme) => ({
gap: 3, gap: 3,
}, },
checksStatusTextFailed: { checksStatusTextFailed: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.statusDanger, color: theme.colors.statusDanger,
}, },
checksStatusTextPending: { checksStatusTextPending: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.statusWarning, color: theme.colors.statusWarning,
}, },
checksStatusTextPassed: { checksStatusTextPassed: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
color: theme.colors.statusSuccess, color: theme.colors.statusSuccess,
}, },
@@ -466,7 +466,7 @@ const styles = StyleSheet.create((theme) => ({
fontSize: 9, fontSize: 9,
}, },
projectTitle: { projectTitle: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
section: { section: {
@@ -475,7 +475,7 @@ const styles = StyleSheet.create((theme) => ({
marginVertical: -theme.spacing[2], marginVertical: -theme.spacing[2],
}, },
errorText: { errorText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.destructive, color: theme.colors.destructive,
lineHeight: 20, lineHeight: 20,
}, },
@@ -116,7 +116,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
sheetRow: { sheetRow: {
@@ -144,7 +144,7 @@ const styles = StyleSheet.create((theme) => ({
flex: 1, flex: 1,
minWidth: 0, minWidth: 0,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
sheetValue: { sheetValue: {
@@ -152,7 +152,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
hovered: { hovered: {
@@ -1926,13 +1926,13 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: theme.fontSize.sm * 1.4, lineHeight: theme.fontSize.base * 1.4,
}, },
combinedSheetControls: { combinedSheetControls: {
gap: theme.spacing[1], gap: theme.spacing[1],
@@ -317,7 +317,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
tooltipText: { tooltipText: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: theme.fontSize.sm * 1.4, lineHeight: theme.fontSize.base * 1.4,
}, },
})); }));
@@ -363,7 +363,7 @@ const styles = StyleSheet.create((theme) => ({
minWidth: 0, minWidth: 0,
flexShrink: 1, flexShrink: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
triggerLabels: { triggerLabels: {
@@ -376,7 +376,7 @@ const styles = StyleSheet.create((theme) => ({
triggerThinking: { triggerThinking: {
flexShrink: 0, flexShrink: 0,
color: theme.colors.foregroundExtraMuted, color: theme.colors.foregroundExtraMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
}, },
providerIcon: { providerIcon: {
+3 -3
View File
@@ -2430,7 +2430,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
buttonDisabled: { buttonDisabled: {
@@ -2455,7 +2455,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
queueText: { queueText: {
flex: 1, flex: 1,
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
queueActions: { queueActions: {
flexDirection: "row", flexDirection: "row",
@@ -2475,7 +2475,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
}, },
sendErrorText: { sendErrorText: {
color: theme.colors.palette.red[500], color: theme.colors.palette.red[500],
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
})) as unknown as Record<string, object>; })) as unknown as Record<string, object>;
+5 -5
View File
@@ -1966,16 +1966,16 @@ const styles = StyleSheet.create((theme: Theme) => ({
position: "absolute", position: "absolute",
top: 0, top: 0,
right: 0, right: 0,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
opacity: 0.5, opacity: 0.5,
}, },
textInput: { textInput: {
width: "100%", width: "100%",
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.normal, fontWeight: theme.fontWeight.normal,
lineHeight: theme.fontSize.sm * 1.4, lineHeight: theme.fontSize.base * 1.4,
...(isWeb ...(isWeb
? ({ ? ({
outlineStyle: "none", outlineStyle: "none",
@@ -2050,7 +2050,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
borderRadius: theme.borderRadius.full, borderRadius: theme.borderRadius.full,
}, },
sendButtonLabel: { sendButtonLabel: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
color: theme.colors.accentForeground, color: theme.colors.accentForeground,
}, },
@@ -2063,7 +2063,7 @@ const styles = StyleSheet.create((theme: Theme) => ({
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
tooltipText: { tooltipText: {
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
buttonDisabled: { buttonDisabled: {
@@ -1738,7 +1738,7 @@ const styles = StyleSheet.create((theme) => ({
urlInput: { urlInput: {
flex: 1, flex: 1,
minWidth: 0, minWidth: 0,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
paddingVertical: 0, paddingVertical: 0,
paddingHorizontal: 0, paddingHorizontal: 0,
}, },
@@ -1750,7 +1750,7 @@ const styles = StyleSheet.create((theme) => ({
backgroundColor: theme.colors.surface0, backgroundColor: theme.colors.surface0,
}, },
metaError: { metaError: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
webviewWrap: { webviewWrap: {
flex: 1, flex: 1,
@@ -1771,7 +1771,7 @@ const styles = StyleSheet.create((theme) => ({
gap: theme.spacing[1], gap: theme.spacing[1],
}, },
toolbarTooltipText: { toolbarTooltipText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.popoverForeground, color: theme.colors.popoverForeground,
}, },
annotationOverlay: { annotationOverlay: {
@@ -1803,7 +1803,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
annotationTitle: { annotationTitle: {
flex: 1, flex: 1,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: "600", fontWeight: "600",
color: theme.colors.foreground, color: theme.colors.foreground,
}, },
@@ -1815,13 +1815,13 @@ const styles = StyleSheet.create((theme) => ({
borderRadius: theme.borderRadius.md, borderRadius: theme.borderRadius.md,
}, },
annotationElement: { annotationElement: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
marginBottom: theme.spacing[2], marginBottom: theme.spacing[2],
}, },
annotationInput: { annotationInput: {
minHeight: 64, minHeight: 64,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
color: theme.colors.foreground, color: theme.colors.foreground,
borderRadius: theme.borderRadius.md, borderRadius: theme.borderRadius.md,
borderWidth: 1, borderWidth: 1,
@@ -1844,10 +1844,10 @@ const styles = StyleSheet.create((theme) => ({
gap: 8, gap: 8,
}, },
unavailableTitle: { unavailableTitle: {
fontSize: 16, fontSize: theme.fontSize.base,
fontWeight: "600", fontWeight: "600",
}, },
unavailableSubtitle: { unavailableSubtitle: {
fontSize: 12, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -32,7 +32,7 @@ export function BrowserPane({ browserId }: BrowserPaneProps) {
); );
} }
const styles = StyleSheet.create(() => ({ const styles = StyleSheet.create((theme) => ({
container: { container: {
flex: 1, flex: 1,
alignItems: "center", alignItems: "center",
@@ -41,10 +41,10 @@ const styles = StyleSheet.create(() => ({
padding: 16, padding: 16,
}, },
title: { title: {
fontSize: 16, fontSize: theme.fontSize.base,
fontWeight: "600", fontWeight: "600",
}, },
subtitle: { subtitle: {
fontSize: 12, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -33,7 +33,7 @@ export function BrowserPane({ browserId }: BrowserPaneProps) {
); );
} }
const styles = StyleSheet.create(() => ({ const styles = StyleSheet.create((theme) => ({
container: { container: {
flex: 1, flex: 1,
alignItems: "center", alignItems: "center",
@@ -42,10 +42,10 @@ const styles = StyleSheet.create(() => ({
padding: 16, padding: 16,
}, },
title: { title: {
fontSize: 16, fontSize: theme.fontSize.base,
fontWeight: "600", fontWeight: "600",
}, },
subtitle: { subtitle: {
fontSize: 12, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -89,12 +89,12 @@ const styles = StyleSheet.create((theme) => ({
justifyContent: "center", justifyContent: "center",
}, },
permissionStatusText: { permissionStatusText: {
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
}, },
permissionDetailText: { permissionDetailText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
maxWidth: 220, maxWidth: 220,
textAlign: "right", textAlign: "right",
}, },
@@ -489,11 +489,11 @@ const styles = StyleSheet.create((theme) => ({
}, },
valueText: { valueText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
valueSubtext: { valueSubtext: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
warningCard: { warningCard: {
marginTop: theme.spacing[3], marginTop: theme.spacing[3],
@@ -506,7 +506,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
warningText: { warningText: {
color: theme.colors.palette.amber[500], color: theme.colors.palette.amber[500],
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
modalBody: { modalBody: {
gap: theme.spacing[3], gap: theme.spacing[3],
@@ -514,7 +514,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
logOutput: { logOutput: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace", fontFamily: "ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",
lineHeight: 18, lineHeight: 18,
}, },
@@ -322,7 +322,7 @@ const styles = StyleSheet.create((theme) => ({
}, },
mutedText: { mutedText: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
}, },
actionsRow: { actionsRow: {
flexDirection: "row", flexDirection: "row",
@@ -280,7 +280,7 @@ function PairingQr({ svg, isError }: { svg: string | null; isError: boolean }) {
const styles = StyleSheet.create((theme) => ({ const styles = StyleSheet.create((theme) => ({
stateLine: { stateLine: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
paddingVertical: theme.spacing[6], paddingVertical: theme.spacing[6],
}, },
@@ -309,8 +309,8 @@ const styles = StyleSheet.create((theme) => ({
}, },
consentDescription: { consentDescription: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: theme.fontSize.sm * 1.5, lineHeight: theme.fontSize.base * 1.5,
}, },
actions: { actions: {
flexDirection: "row", flexDirection: "row",
@@ -331,15 +331,15 @@ const styles = StyleSheet.create((theme) => ({
directHint: { directHint: {
flex: 1, flex: 1,
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
lineHeight: theme.fontSize.xs * 1.5, lineHeight: theme.fontSize.sm * 1.5,
}, },
offer: { offer: {
gap: theme.spacing[4], gap: theme.spacing[4],
}, },
offerHint: { offerHint: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
textAlign: "center", textAlign: "center",
}, },
qrTile: { qrTile: {
@@ -375,13 +375,13 @@ const styles = StyleSheet.create((theme) => ({
linkInput: { linkInput: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontFamily: theme.fontFamily.mono, fontFamily: theme.fontFamily.mono,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
paddingVertical: theme.spacing[2], paddingVertical: theme.spacing[2],
paddingHorizontal: theme.spacing[3], paddingHorizontal: theme.spacing[3],
outlineStyle: "none", outlineStyle: "none",
} as object, } as object,
hint: { hint: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
+4 -4
View File
@@ -139,9 +139,9 @@ const styles = StyleSheet.create((theme) => ({
alignItems: "center", alignItems: "center",
gap: theme.spacing[2], gap: theme.spacing[2],
}, },
secondary: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.xs }, secondary: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.sm },
whisper: { color: theme.colors.foregroundExtraMuted, fontSize: theme.fontSize.xs }, whisper: { color: theme.colors.foregroundExtraMuted, fontSize: theme.fontSize.sm },
error: { color: theme.colors.palette.red[300], fontSize: theme.fontSize.xs }, error: { color: theme.colors.palette.red[300], fontSize: theme.fontSize.sm },
dirtyDot: { dirtyDot: {
width: 6, width: 6,
height: 6, height: 6,
@@ -157,6 +157,6 @@ const styles = StyleSheet.create((theme) => ({
vim: { vim: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontFamily: theme.fontFamily.mono, fontFamily: theme.fontFamily.mono,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
})); }));
@@ -73,12 +73,12 @@ const styles = StyleSheet.create((theme) => ({
}, },
title: { title: {
color: theme.colors.palette.amber[500], color: theme.colors.palette.amber[500],
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
fontWeight: theme.fontWeight.medium, fontWeight: theme.fontWeight.medium,
}, },
description: { description: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontSize: theme.fontSize.xs, fontSize: theme.fontSize.sm,
}, },
actions: { actions: {
flexShrink: 0, flexShrink: 0,
+1 -1
View File
@@ -32,5 +32,5 @@ export function FileEditorView(_props: {
const styles = StyleSheet.create((theme) => ({ const styles = StyleSheet.create((theme) => ({
container: { flex: 1, alignItems: "center", justifyContent: "center" }, container: { flex: 1, alignItems: "center", justifyContent: "center" },
text: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.sm }, text: { color: theme.colors.foregroundMuted, fontSize: theme.fontSize.base },
})); }));
@@ -84,12 +84,12 @@ const styles = StyleSheet.create((theme) => ({
frontMatterKey: { frontMatterKey: {
color: theme.colors.foregroundMuted, color: theme.colors.foregroundMuted,
fontFamily: theme.fontFamily.mono, fontFamily: theme.fontFamily.mono,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
frontMatterValue: { frontMatterValue: {
color: theme.colors.foreground, color: theme.colors.foreground,
fontSize: theme.fontSize.sm, fontSize: theme.fontSize.base,
lineHeight: 20, lineHeight: 20,
}, },
})); }));

Some files were not shown because too many files have changed in this diff Show More