Closed
Description
TS noob here. I have installed @types/theme-ui
as well as have the following in theme.ts
:
export const theme = {
fonts: {
body:
'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
heading: '"Avenir Next", sans-serif',
monospace: 'Menlo, monospace',
},
colors: {
text: '#000',
background: 'white',
primary: '#bf1',
},
modes: {
dark: {
text: '#fff',
background: '#000',
primary: '#0cf',
},
},
}
How do I convert it to TS so I can get autocomplete?
I tried the following:
import {Theme} from 'theme-ui'
export const theme: Theme = {
fonts: {
body:
'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
heading: '"Avenir Next", sans-serif',
monospace: 'Menlo, monospace',
},
colors: {
text: '#000',
background: 'white',
primary: '#bf1',
},
modes: {
dark: {
text: '#fff',
background: '#000',
primary: '#0cf',
},
},
}
But I get red squiggly lines on modes
with the error
Object literal may only specify known properties, and ‘modes’ does not exist in type ‘Theme’
I tried finding what should be the type in https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/theme-ui/index.d.ts but I can’t find it. Then I saw #668 to wonder if it’s even complete. I just want the theme
object to have correct keys :)