modrinth-code/apps/frontend/tailwind.config.ts
Calum H. e225bc9f66
feat: standardized page banners (#3610)
* feat: standardized site banners

* fix: lint issues

* fix: deduplicate SCSS with variant map

* feat: color shades + reduced scss

* feat: fix theming

* chore: Remove shades-generator.ts

* fix: lint issues

---------

Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
2025-05-16 10:12:34 +00:00

176 lines
6.0 KiB
TypeScript

import type { Config } from "tailwindcss";
const config: Config = {
content: [
"./src/components/**/*.{js,vue,ts}",
"./src/layouts/**/*.vue",
"./src/pages/**/*.vue",
"./src/plugins/**/*.{js,ts}",
"./src/app.vue",
"./src/error.vue",
// monorepo - TODO: migrate this to its own package
"../../packages/**/*.{js,vue,ts}",
],
theme: {
extend: {
colors: {
icon: "var(--color-base)",
// Text
primary: "var(--color-base)",
contrast: "var(--color-contrast)",
secondary: "var(--color-secondary)",
inactive: "var(--color-text-inactive)",
dark: "var(--color-text-dark)",
inverted: "var(--color-text-inverted)",
heading: "var(--color-heading)",
red: "var(--color-red)",
orange: "var(--color-orange)",
green: "var(--color-green)",
blue: "var(--color-blue)",
purple: "var(--color-purple)",
bg: {
DEFAULT: "var(--color-bg)",
red: "var(--color-red-bg)",
orange: "var(--color-orange-bg)",
green: "var(--color-green-bg)",
blue: "var(--color-blue-bg)",
purple: "var(--color-purple-bg)",
raised: "var(--color-raised-bg)",
},
banners: {
error: {
bg: "var(--banner-error-bg)",
text: "var(--banner-error-text)",
border: "var(--banner-error-border)",
},
warning: {
bg: "var(--banner-warning-bg)",
text: "var(--banner-warning-text)",
border: "var(--banner-warning-border)",
},
info: {
bg: "var(--banner-info-bg)",
text: "var(--banner-info-text)",
border: "var(--banner-info-border)",
},
},
highlight: {
DEFAULT: "var(--color-brand-highlight)",
red: "var(--color-red-highlight)",
orange: "var(--color-orange-highlight)",
green: "var(--color-green-highlight)",
blue: "var(--color-blue-highlight)",
purple: "var(--color-purple-highlight)",
},
divider: {
DEFAULT: "var(--color-divider)",
dark: "var(--color-divider-dark)",
},
brand: {
DEFAULT: "var(--color-brand)",
red: "var(--color-red)",
orange: "var(--color-orange)",
green: "var(--color-green)",
blue: "var(--color-blue)",
purple: "var(--color-purple)",
highlight: "var(--color-brand-highlight)",
shadow: "var(--color-brand-shadow)",
inverted: "var(--color-accent-contrast)",
},
tabUnderlineHovered: "var(--tab-underline-hovered)",
button: {
bg: "var(--color-button-bg)",
text: "var(--color-button-text)",
bgHover: "var(--color-button-bg-hover)",
textHover: "var(--color-button-text-hover)",
bgActive: "var(--color-button-bg-active)",
textActive: "var(--color-button-text-active)",
border: "var(--color-button-border)",
bgSelected: "var(--color-button-bg-selected)",
textSelected: "var(--color-button-text-selected)",
},
toggleHandle: "var(--color-toggle-handle)",
dropdown: {
bg: "var(--color-dropdown-bg)",
text: "var(--color-dropdown-text)",
},
tooltip: {
bg: "var(--color-tooltip-bg)",
text: "var(--color-tooltip-text)",
},
code: {
bg: "var(--color-code-bg)",
text: "var(--color-code-text)",
},
kbdShadow: "var(--color-kbd-shadow)",
ad: {
DEFAULT: "var(--color-ad)",
raised: "var(--color-ad-raised)",
contrast: "var(--color-ad-contrast)",
highlight: "var(--color-ad-highlight)",
},
greyLink: {
DEFAULT: "var(--color-grey-link)",
hover: "var(--color-grey-link-hover)",
active: "var(--color-grey-link-active)",
},
link: {
DEFAULT: "var(--color-link)",
hover: "var(--color-link-hover)",
active: "var(--color-link-active)",
},
warning: {
bg: "var(--color-warning-bg)",
text: "var(--color-warning-text)",
banner: {
text: "var(--color-warning-banner-text)",
bg: "var(--color-warning-banner-bg)",
side: "var(--color-warning-banner-side)",
},
},
infoBanner: {
text: "var(--color-info-banner-text)",
bg: "var(--color-info-banner-bg)",
side: "var(--color-info-banner-side)",
},
blockQuote: "var(--color-block-quote)",
headerUnderline: "var(--color-header-underline)",
hr: "var(--color-hr)",
table: {
border: "var(--color-table-border)",
alternateRow: " var(--color-table-alternate-row)",
},
},
backgroundImage: {
mazeBg: "var(--landing-maze-bg)",
mazeGradientBg: "var(--landing-maze-gradient-bg)",
// @ts-ignore
landing: {
mazeOuterBg: "var(--landing-maze-outer-bg)",
colorHeading: "var(--landing-color-heading)",
colorSubheading: "var(--landing-color-subheading)",
transitionGradientStart: "var(--landing-transition-gradient-start)",
transitionGradientEnd: "var(--landing-transition-gradient-end)",
hoverCardGradient: "var(--landing-hover-card-gradient)",
borderGradient: "var(--landing-border-gradient)",
borderColor: "var(--landing-border-color)",
creatorGradient: "var(--landing-creator-gradient)",
blobGradient: "var(--landing-blob-gradient)",
cardBg: "var(--landing-card-bg)",
blueLabel: "var(--landing-blue-label)",
blueLabelBg: "var(--landing-blue-label-bg)",
greenLabel: "var(--landing-green-label)",
greenLabelBg: "var(--landing-green-label-bg)",
rawBg: "var(--landing-raw-bg)",
},
},
},
},
plugins: [],
corePlugins: {
preflight: false,
},
};
export default config;