161 lines
4.7 KiB
TypeScript
161 lines
4.7 KiB
TypeScript
export const FONTS = {
|
|
Inter: {
|
|
load: async () => {
|
|
// default
|
|
},
|
|
},
|
|
|
|
"Open Sans": {
|
|
load: async () => {
|
|
await import("@fontsource/open-sans/300.css");
|
|
await import("@fontsource/open-sans/400.css");
|
|
await import("@fontsource/open-sans/500.css");
|
|
await import("@fontsource/open-sans/600.css");
|
|
await import("@fontsource/open-sans/700.css");
|
|
await import("@fontsource/open-sans/400-italic.css");
|
|
},
|
|
},
|
|
|
|
OpenDyslexic: {
|
|
load: async () => {
|
|
await import("@fontsource/opendyslexic/400.css");
|
|
await import("@fontsource/opendyslexic/700.css");
|
|
await import("@fontsource/opendyslexic/400-italic.css");
|
|
},
|
|
},
|
|
|
|
"Atkinson Hyperlegible": {
|
|
load: async () => {
|
|
await import("@fontsource/atkinson-hyperlegible/400.css");
|
|
await import("@fontsource/atkinson-hyperlegible/700.css");
|
|
await import("@fontsource/atkinson-hyperlegible/400-italic.css");
|
|
},
|
|
},
|
|
Roboto: {
|
|
load: async () => {
|
|
await import("@fontsource/roboto/400.css");
|
|
await import("@fontsource/roboto/700.css");
|
|
await import("@fontsource/roboto/400-italic.css");
|
|
},
|
|
},
|
|
"Noto Sans": {
|
|
load: async () => {
|
|
await import("@fontsource/noto-sans/400.css");
|
|
await import("@fontsource/noto-sans/700.css");
|
|
await import("@fontsource/noto-sans/400-italic.css");
|
|
},
|
|
},
|
|
Bitter: {
|
|
load: async () => {
|
|
await import("@fontsource/bitter/300.css");
|
|
await import("@fontsource/bitter/400.css");
|
|
await import("@fontsource/bitter/600.css");
|
|
await import("@fontsource/bitter/700.css");
|
|
},
|
|
},
|
|
Lato: {
|
|
load: async () => {
|
|
await import("@fontsource/lato/300.css");
|
|
await import("@fontsource/lato/400.css");
|
|
await import("@fontsource/lato/700.css");
|
|
await import("@fontsource/lato/400-italic.css");
|
|
},
|
|
},
|
|
Lexend: {
|
|
load: async () => {
|
|
await import("@fontsource/lexend/300.css");
|
|
await import("@fontsource/lexend/400.css");
|
|
await import("@fontsource/lexend/700.css");
|
|
},
|
|
},
|
|
Montserrat: {
|
|
load: async () => {
|
|
await import("@fontsource/montserrat/300.css");
|
|
await import("@fontsource/montserrat/400.css");
|
|
await import("@fontsource/montserrat/600.css");
|
|
await import("@fontsource/montserrat/700.css");
|
|
await import("@fontsource/montserrat/400-italic.css");
|
|
},
|
|
},
|
|
Poppins: {
|
|
load: async () => {
|
|
await import("@fontsource/poppins/300.css");
|
|
await import("@fontsource/poppins/400.css");
|
|
await import("@fontsource/poppins/600.css");
|
|
await import("@fontsource/poppins/700.css");
|
|
await import("@fontsource/poppins/400-italic.css");
|
|
},
|
|
},
|
|
Raleway: {
|
|
load: async () => {
|
|
await import("@fontsource/raleway/300.css");
|
|
await import("@fontsource/raleway/400.css");
|
|
await import("@fontsource/raleway/600.css");
|
|
await import("@fontsource/raleway/700.css");
|
|
await import("@fontsource/raleway/400-italic.css");
|
|
},
|
|
},
|
|
Ubuntu: {
|
|
load: async () => {
|
|
await import("@fontsource/ubuntu/300.css");
|
|
await import("@fontsource/ubuntu/400.css");
|
|
await import("@fontsource/ubuntu/500.css");
|
|
await import("@fontsource/ubuntu/700.css");
|
|
await import("@fontsource/ubuntu/400-italic.css");
|
|
},
|
|
},
|
|
"Comic Neue": {
|
|
load: async () => {
|
|
await import("@fontsource/comic-neue/300.css");
|
|
await import("@fontsource/comic-neue/400.css");
|
|
await import("@fontsource/comic-neue/700.css");
|
|
await import("@fontsource/comic-neue/400-italic.css");
|
|
},
|
|
},
|
|
"IBM Plex Sans Variable": {
|
|
load: async () => {
|
|
await import("@fontsource-variable/ibm-plex-sans/index.css");
|
|
},
|
|
},
|
|
"Plus Jakarta Sans Variable": {
|
|
load: async () => {
|
|
await import("@fontsource-variable/plus-jakarta-sans/index.css");
|
|
},
|
|
},
|
|
};
|
|
|
|
export const MONOSPACE_FONTS = {
|
|
"JetBrains Mono": {
|
|
load: () => {
|
|
/* default */
|
|
},
|
|
},
|
|
"Fira Code": {
|
|
load: () => import("@fontsource/fira-code/400.css"),
|
|
},
|
|
"Roboto Mono": {
|
|
load: () => import("@fontsource/roboto-mono/400.css"),
|
|
},
|
|
"Source Code Pro": {
|
|
load: () => import("@fontsource/source-code-pro/400.css"),
|
|
},
|
|
"Space Mono": {
|
|
load: () => import("@fontsource/space-mono/400.css"),
|
|
},
|
|
"Ubuntu Mono": {
|
|
load: () => import("@fontsource/ubuntu-mono/400.css"),
|
|
},
|
|
"IBM Plex Mono": {
|
|
load: () => import("@fontsource/ibm-plex-mono/400.css"),
|
|
},
|
|
};
|
|
|
|
export type Fonts = keyof typeof FONTS;
|
|
export type MonospaceFonts = keyof typeof MONOSPACE_FONTS;
|
|
|
|
export const FONT_KEYS = Object.keys(FONTS).sort();
|
|
export const MONOSPACE_FONT_KEYS = Object.keys(MONOSPACE_FONTS).sort();
|
|
|
|
export const DEFAULT_FONT = "Open Sans";
|
|
export const DEFAULT_MONO_FONT = "Fira Code";
|