diff --git a/src/view/nova/components/Button.tsx b/src/view/nova/components/Button.tsx
index ae18cb7835..f7e504e900 100644
--- a/src/view/nova/components/Button.tsx
+++ b/src/view/nova/components/Button.tsx
@@ -4,6 +4,6 @@ import {styled} from '#/view/nova/system'
export const Button = styled(Pressable, {
px: 'l',
py: 's',
- bg: 'l3',
+ bg: 'l2',
radius: 40,
})
diff --git a/src/view/nova/components/Typography.tsx b/src/view/nova/components/Typography.tsx
index 627f6b8078..16b72ed1a9 100644
--- a/src/view/nova/components/Typography.tsx
+++ b/src/view/nova/components/Typography.tsx
@@ -3,7 +3,7 @@ import {styled} from '#/view/nova/system'
import {web} from '#/view/nova/util/platform'
export const Text = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 's',
})
@@ -12,7 +12,7 @@ export const Text = styled(RNText, {
* @see https://docs.expo.dev/develop/user-interface/fonts/
*/
export const H1 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 'l',
gtMobile: {
fontSize: 'xl',
@@ -23,7 +23,7 @@ export const H1 = styled(RNText, {
}),
})
export const H2 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 'm',
gtMobile: {
fontSize: 'l',
@@ -34,7 +34,7 @@ export const H2 = styled(RNText, {
}),
})
export const H3 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 'm',
...web({
role: 'heading',
@@ -42,7 +42,7 @@ export const H3 = styled(RNText, {
}),
})
export const H4 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 's',
...web({
role: 'heading',
@@ -50,7 +50,7 @@ export const H4 = styled(RNText, {
}),
})
export const H5 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 'xs',
...web({
role: 'heading',
@@ -58,7 +58,7 @@ export const H5 = styled(RNText, {
}),
})
export const H6 = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 'xxs',
...web({
role: 'heading',
@@ -66,7 +66,7 @@ export const H6 = styled(RNText, {
}),
})
export const P = styled(RNText, {
- color: 'l8',
+ color: 'l7',
fontSize: 's',
...web({
role: 'paragraph',
diff --git a/src/view/nova/themes.ts b/src/view/nova/themes.ts
index 977a77eb25..eb40335184 100644
--- a/src/view/nova/themes.ts
+++ b/src/view/nova/themes.ts
@@ -1,15 +1,24 @@
import {createTheme} from './lib/theme'
-const palette = {
+const BLUE_HUE = 210
+const GRAYSCALE_SATURATION = 12
+
+export const palette = {
white: '#FFFFFF',
- black: '#0A0B0D',
- gray1: '#F7F9FC',
- gray2: '#E4E8EE',
- gray3: '#CED5DE',
- gray4: '#828A99',
- gray5: '#4D5564',
- gray6: '#1D2126',
- blue: '#1185FE',
+
+ /**
+ * Mathematical scale of grays, from lightest to darkest, all based on the
+ * primary blue color
+ */
+ gray1: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 95%)`,
+ gray2: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 85%)`,
+ gray3: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 75%)`,
+ gray4: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 30%)`,
+ gray5: `hsl(${BLUE_HUE} ${GRAYSCALE_SATURATION}%, 20%)`,
+ gray6: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 10%)`,
+ black: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 5%)`,
+
+ blue: `hsl(${BLUE_HUE}, 100%, 53%)`,
green: '#54D469',
red: '#FB4566',
}
@@ -27,14 +36,14 @@ export const light = createTheme({
},
color: {
primary: palette.blue,
- l1: palette.white,
- l2: palette.gray1,
- l3: palette.gray2,
- l4: palette.gray3,
- l5: palette.gray4,
- l6: palette.gray5,
- l7: palette.gray6,
- l8: palette.black,
+ l0: palette.white,
+ l1: palette.gray1,
+ l2: palette.gray2,
+ l3: palette.gray3,
+ l4: palette.gray4,
+ l5: palette.gray5,
+ l6: palette.gray6,
+ l7: palette.black,
},
fontSize: {
xxs: 10,
@@ -54,6 +63,17 @@ export const light = createTheme({
xl: 22,
xxl: 26,
},
+ borderRadius: {
+ s: 8,
+ m: 12,
+ xl: 36,
+ round: 999,
+ },
+ fontWeight: {
+ normal: '400',
+ semi: '700',
+ bold: '900',
+ },
},
properties: {
/** Alias for `width` */
@@ -149,14 +169,14 @@ export const dark = createTheme({
...light.config.tokens,
color: {
...light.config.tokens.color,
- l1: palette.black,
- l2: palette.gray6,
- l3: palette.gray5,
- l4: palette.gray4,
- l5: palette.gray3,
- l6: palette.gray2,
- l7: palette.gray1,
- l8: palette.white,
+ l0: palette.black,
+ l1: palette.gray6,
+ l2: palette.gray5,
+ l3: palette.gray4,
+ l4: palette.gray3,
+ l5: palette.gray2,
+ l6: palette.gray1,
+ l7: palette.white,
},
},
})
diff --git a/src/view/screens/Debug.tsx b/src/view/screens/Debug.tsx
index 90bc6e5601..ae8a983f1c 100644
--- a/src/view/screens/Debug.tsx
+++ b/src/view/screens/Debug.tsx
@@ -41,10 +41,10 @@ function BreakpointDebugger() {
return (
-
+
Breakpoint Debugger
-
+
{JSON.stringify(breakpoints, null, 2)}
@@ -54,12 +54,12 @@ function BreakpointDebugger() {
function Hooks() {
const outer = useStyle({
pa: 'm',
- bg: 'l2',
+ bg: 'l1',
})
const {heading} = useStyles({
heading: {
fontSize: 'l',
- fontWeight: '900',
+ fontWeight: 'bold',
gtTablet: {
fontSize: 'xl',
},
@@ -74,26 +74,42 @@ function Hooks() {
}
export function DebugScreen() {
+ const backgroundStyles = useStyle({
+ bg: 'l0',
+ })
+
return (
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
Typography
-
+
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
-
+
H1 Size Text
H2 Size Text
@@ -105,10 +121,10 @@ export function DebugScreen() {
-
+
Grid
-
+
@@ -116,21 +132,21 @@ export function DebugScreen() {
-
-
-
+
+
+
-
-
-
+
+
+
-
+
Breakpoint styles
@@ -139,14 +155,14 @@ export function DebugScreen() {
justifyContent="center"
px="l"
py="l"
- bg="l3"
+ bg="l2"
gtMobile={{
py: 'xl',
- bg: 'l5',
+ bg: 'l4',
}}
gtTablet={{
py: 64,
- bg: 'l7',
+ bg: 'l6',
}}>