mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-06-08 11:37:25 +00:00
272 lines
8.6 KiB
JavaScript
272 lines
8.6 KiB
JavaScript
const { fontFamily } = require("tailwindcss/defaultTheme");
|
|
/** @type {import('tailwindcss').Config} */
|
|
const colors = require("tailwindcss/colors"); // Correctly import colors
|
|
|
|
module.exports = {
|
|
darkMode: ["class"],
|
|
content: [
|
|
"./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./src/components/**/*.{js,ts,jsx,tsx,mdx}",
|
|
"./src/app/**/*.{js,ts,jsx,tsx,mdx}",
|
|
// Path to Tremor module
|
|
"./node_modules/@tremor/**/*.{js,ts,jsx,tsx}",
|
|
],
|
|
theme: {
|
|
transparent: "transparent",
|
|
current: "currentColor",
|
|
container: {
|
|
center: true,
|
|
padding: "2rem",
|
|
screens: {
|
|
"2xl": "1400px",
|
|
},
|
|
},
|
|
extend: {
|
|
backgroundImage: {
|
|
"gradient-radial": "radial-gradient(var(--tw-gradient-stops))",
|
|
"gradient-conic":
|
|
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
|
|
},
|
|
colors: {
|
|
// Tremor light mode
|
|
tremor: {
|
|
brand: {
|
|
faint: colors.blue[50],
|
|
muted: colors.blue[200],
|
|
subtle: colors.blue[400],
|
|
DEFAULT: colors.blue[500],
|
|
emphasis: colors.blue[700],
|
|
inverted: colors.white,
|
|
},
|
|
background: {
|
|
muted: colors.gray[50],
|
|
subtle: colors.gray[100],
|
|
DEFAULT: colors.white,
|
|
emphasis: colors.gray[700],
|
|
},
|
|
border: {
|
|
DEFAULT: colors.gray[200],
|
|
},
|
|
ring: {
|
|
DEFAULT: colors.gray[200],
|
|
},
|
|
content: {
|
|
subtle: colors.gray[400],
|
|
DEFAULT: colors.gray[500],
|
|
emphasis: colors.gray[700],
|
|
strong: colors.gray[900],
|
|
inverted: colors.white,
|
|
},
|
|
},
|
|
// Tremor dark mode
|
|
// dark mode
|
|
"dark-tremor": {
|
|
brand: {
|
|
faint: "#0B1229",
|
|
muted: colors.blue[950],
|
|
subtle: colors.blue[800],
|
|
DEFAULT: colors.blue[500],
|
|
emphasis: colors.blue[400],
|
|
inverted: colors.blue[950],
|
|
},
|
|
background: {
|
|
muted: "#131A2B",
|
|
subtle: colors.gray[800],
|
|
DEFAULT: colors.gray[900],
|
|
emphasis: colors.gray[300],
|
|
},
|
|
border: {
|
|
DEFAULT: colors.gray[800],
|
|
},
|
|
ring: {
|
|
DEFAULT: colors.gray[800],
|
|
},
|
|
content: {
|
|
subtle: colors.gray[600],
|
|
DEFAULT: colors.gray[500],
|
|
emphasis: colors.gray[200],
|
|
strong: colors.gray[50],
|
|
inverted: colors.gray[950],
|
|
},
|
|
},
|
|
epc_a: "#117d58",
|
|
epc_b: "#2da55c",
|
|
epc_c: "#8dbd40",
|
|
epc_d: "#f7cd14",
|
|
epc_e: "#f3a96a",
|
|
epc_f: "#ef8026",
|
|
epc_g: "#e41e3b",
|
|
brandblue: "#14163d",
|
|
hoverblue: "#3e4073",
|
|
brandtan: "#d3b488",
|
|
hovertan: "#947750",
|
|
brandgold: "#f1bb06",
|
|
hovergold: "#c79d12",
|
|
brandbrown: "#3d1e05",
|
|
brandmidblue: "#3943b7",
|
|
border: "hsl(var(--border))",
|
|
input: "hsl(var(--input))",
|
|
ring: "hsl(var(--ring))",
|
|
background: "hsl(var(--background))",
|
|
foreground: "hsl(var(--foreground))",
|
|
primary: {
|
|
DEFAULT: "hsl(var(--primary))",
|
|
foreground: "hsl(var(--primary-foreground))",
|
|
},
|
|
secondary: {
|
|
DEFAULT: "hsl(var(--secondary))",
|
|
foreground: "hsl(var(--secondary-foreground))",
|
|
},
|
|
destructive: {
|
|
DEFAULT: "hsl(var(--destructive))",
|
|
foreground: "hsl(var(--destructive-foreground))",
|
|
},
|
|
muted: {
|
|
DEFAULT: "hsl(var(--muted))",
|
|
foreground: "hsl(var(--muted-foreground))",
|
|
},
|
|
accent: {
|
|
DEFAULT: "hsl(var(--accent))",
|
|
foreground: "hsl(var(--accent-foreground))",
|
|
},
|
|
popover: {
|
|
DEFAULT: "hsl(var(--popover))",
|
|
foreground: "hsl(var(--popover-foreground))",
|
|
},
|
|
card: {
|
|
DEFAULT: "hsl(var(--card))",
|
|
foreground: "hsl(var(--card-foreground))",
|
|
},
|
|
},
|
|
textColor: {
|
|
brandblue: "#14163d",
|
|
hoverblue: "#3e4073",
|
|
brandtan: "#d3b488",
|
|
hovertan: "#947750",
|
|
brandbrown: "#3d1e05",
|
|
brandmidblue: "#3943b7",
|
|
},
|
|
borderRadius: {
|
|
lg: `var(--radius)`,
|
|
md: `calc(var(--radius) - 2px)`,
|
|
sm: "calc(var(--radius) - 4px)",
|
|
},
|
|
fontFamily: {
|
|
sans: ["var(--font-sans)", ...fontFamily.sans],
|
|
},
|
|
keyframes: {
|
|
"accordion-down": {
|
|
from: { height: 0 },
|
|
to: { height: "var(--radix-accordion-content-height)" },
|
|
},
|
|
"accordion-up": {
|
|
from: { height: "var(--radix-accordion-content-height)" },
|
|
to: { height: 0 },
|
|
},
|
|
},
|
|
animation: {
|
|
"accordion-down": "accordion-down 0.2s ease-out",
|
|
"accordion-up": "accordion-up 0.2s ease-out",
|
|
},
|
|
maxWidth: {
|
|
"8xl": "90rem",
|
|
},
|
|
boxShadow: {
|
|
// light
|
|
"tremor-input": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
"tremor-card":
|
|
"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
"tremor-dropdown":
|
|
"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
// dark
|
|
"dark-tremor-input": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
"dark-tremor-card":
|
|
"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
"dark-tremor-dropdown":
|
|
"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
},
|
|
borderRadius: {
|
|
"tremor-small": "0.375rem",
|
|
"tremor-default": "0.5rem",
|
|
"tremor-full": "9999px",
|
|
},
|
|
fontSize: {
|
|
"tremor-label": ["0.75rem", { lineHeight: "1rem" }],
|
|
"tremor-default": ["0.875rem", { lineHeight: "1.25rem" }],
|
|
"tremor-title": ["1.125rem", { lineHeight: "1.75rem" }],
|
|
"tremor-metric": ["1.875rem", { lineHeight: "2.25rem" }],
|
|
},
|
|
},
|
|
},
|
|
variants: {
|
|
extend: {
|
|
visibility: ["group-hover"],
|
|
},
|
|
},
|
|
safelist: [
|
|
{
|
|
pattern:
|
|
/^(bg-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
variants: ["hover", "ui-selected"],
|
|
},
|
|
{
|
|
pattern:
|
|
/^(text-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
variants: ["hover", "ui-selected"],
|
|
},
|
|
{
|
|
pattern:
|
|
/^(border-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
variants: ["hover", "ui-selected"],
|
|
},
|
|
{
|
|
pattern:
|
|
/^(ring-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
},
|
|
{
|
|
pattern:
|
|
/^(stroke-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
},
|
|
{
|
|
pattern:
|
|
/^(fill-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/,
|
|
},
|
|
// This enables the EPC colours for tremor. They're listed from EPC G -> A
|
|
...[
|
|
"[#e41e3b]",
|
|
"[#ef8026]",
|
|
"[#f3a96a]",
|
|
"[#f7cd14]",
|
|
"[#8dbd40]",
|
|
"[#2da55c]",
|
|
"[#117d58]",
|
|
].flatMap((customColor) => [
|
|
`bg-${customColor}`,
|
|
`border-${customColor}`,
|
|
`hover:bg-${customColor}`,
|
|
`hover:border-${customColor}`,
|
|
`hover:text-${customColor}`,
|
|
`fill-${customColor}`,
|
|
`ring-${customColor}`,
|
|
`stroke-${customColor}`,
|
|
`text-${customColor}`,
|
|
`ui-selected:bg-${customColor}`,
|
|
`ui-selected:border-${customColor}`,
|
|
`ui-selected:text-${customColor}`,
|
|
]),
|
|
],
|
|
plugins: [
|
|
function ({ addVariant }) {
|
|
addVariant("important", ({ container }) => {
|
|
container.walkRules((rule) => {
|
|
rule.selector = `.\\!${rule.selector.slice(1)}`;
|
|
rule.walkDecls((decl) => {
|
|
decl.important = true;
|
|
});
|
|
});
|
|
});
|
|
},
|
|
require("@headlessui/tailwindcss"),
|
|
require("@tailwindcss/forms"),
|
|
],
|
|
};
|