159 lines
2.7 KiB
TypeScript
159 lines
2.7 KiB
TypeScript
import { msg } from "@lingui/core/macro";
|
|
import type { ThemeManifest } from "../types";
|
|
|
|
/* Carnival poster inks. Declared in JS so Mantine regenerates every derived
|
|
variant var (-light rgba, -outline, filled hovers) from the retuned shades. */
|
|
const circusColors = {
|
|
// royal
|
|
blue: [
|
|
"#eef2fc",
|
|
"#d8e1f8",
|
|
"#b6c8f0",
|
|
"#8fa9e6",
|
|
"#6787d8",
|
|
"#4267c8",
|
|
"#2b4fb4",
|
|
"#21409a",
|
|
"#19317a",
|
|
"#11235c",
|
|
],
|
|
// carnival red
|
|
red: [
|
|
"#fdefed",
|
|
"#f9d8d4",
|
|
"#f2b6af",
|
|
"#e88d84",
|
|
"#d9655c",
|
|
"#c6443c",
|
|
"#b12724",
|
|
"#931c1d",
|
|
"#731316",
|
|
"#540c10",
|
|
],
|
|
// ticket-booth emerald
|
|
green: [
|
|
"#ecf8ef",
|
|
"#d2eeda",
|
|
"#a9dfba",
|
|
"#7bcb95",
|
|
"#4fb573",
|
|
"#2f9c57",
|
|
"#1d7f41",
|
|
"#156634",
|
|
"#0f4e27",
|
|
"#09381c",
|
|
],
|
|
// mustard
|
|
yellow: [
|
|
"#fbf4e2",
|
|
"#f5e5b8",
|
|
"#edd288",
|
|
"#e0ba55",
|
|
"#cf9f2a",
|
|
"#b58211",
|
|
"#97660a",
|
|
"#7b5207",
|
|
"#5f3f05",
|
|
"#452d03",
|
|
],
|
|
// sideshow plum
|
|
grape: [
|
|
"#f6effc",
|
|
"#e8d8f6",
|
|
"#d3b6ee",
|
|
"#b98ee2",
|
|
"#9d66d2",
|
|
"#8547bd",
|
|
"#6f2da0",
|
|
"#5b2284",
|
|
"#461868",
|
|
"#33104d",
|
|
],
|
|
// pumpkin
|
|
orange: [
|
|
"#fdf1e8",
|
|
"#f9dcc6",
|
|
"#f3bd97",
|
|
"#e99a63",
|
|
"#dc7736",
|
|
"#cd6016",
|
|
"#b84d09",
|
|
"#973d06",
|
|
"#752f05",
|
|
"#542103",
|
|
],
|
|
// raspberry
|
|
pink: [
|
|
"#fcedf4",
|
|
"#f8d3e4",
|
|
"#f1abcb",
|
|
"#e67dac",
|
|
"#d6528d",
|
|
"#c43574",
|
|
"#ab1f60",
|
|
"#8d154e",
|
|
"#6e0e3c",
|
|
"#50082b",
|
|
],
|
|
// fairground olive
|
|
lime: [
|
|
"#f5f8e4",
|
|
"#e7efbe",
|
|
"#d3e18d",
|
|
"#bccd5c",
|
|
"#a2b532",
|
|
"#849a15",
|
|
"#667c07",
|
|
"#536505",
|
|
"#404e04",
|
|
"#2e3902",
|
|
],
|
|
// warm parchment neutrals — light-scheme grays
|
|
gray: [
|
|
"#faf5ea",
|
|
"#f1e8d6",
|
|
"#e5d8bf",
|
|
"#d3c1a2",
|
|
"#b8a284",
|
|
"#97826a",
|
|
"#6f5d4b",
|
|
"#554638",
|
|
"#3d3128",
|
|
"#28201a",
|
|
],
|
|
// night fair — dark-scheme surfaces/borders
|
|
dark: [
|
|
"#f2e6da",
|
|
"#d8c7bb",
|
|
"#b5a096",
|
|
"#8a7268",
|
|
"#5c4547",
|
|
"#47343a",
|
|
"#382930",
|
|
"#2a1e24",
|
|
"#20161b",
|
|
"#150e12",
|
|
],
|
|
} as const;
|
|
|
|
const manifest: ThemeManifest = {
|
|
id: "circus",
|
|
label: msg`Big Top`,
|
|
colorSchemes: "both",
|
|
fontLinks: [
|
|
"https://fonts.googleapis.com/css2?family=Alfa+Slab+One&display=swap",
|
|
"https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap",
|
|
],
|
|
chromeColors: {
|
|
light: { base: "#f9f1e0", dimmed: "#e9dcbd" },
|
|
dark: { base: "#1e151a", dimmed: "#140d11" },
|
|
},
|
|
mantine: {
|
|
// deep poster inks in both schemes keep white filled-text legible
|
|
primaryShade: { light: 6, dark: 6 },
|
|
colors: circusColors,
|
|
},
|
|
};
|
|
|
|
export default manifest;
|