| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- /** @type {import('tailwindcss').Config} */
- const defaultTheme = require("tailwindcss/defaultTheme");
- const {
- default: flattenColorPalette,
- } = require("tailwindcss/lib/util/flattenColorPalette");
- module.exports = {
- // experimental: {
- // optimizeUniversalDefaults: true,
- // },
- content: [
- "./pages/**/*.{js,ts,jsx,tsx}",
- "./src/**/*.{js,ts,jsx,tsx}",
- "./components/**/*.{js,ts,jsx,tsx}",
- ],
- darkMode: "class",
- theme: {
- // `demo-*` screens are used for the "mobile-first" responsive demo
- screens: {
- sm: "640px",
- "demo-sm": "720px",
- md: "768px",
- lg: "1024px",
- xl: "1280px",
- "2xl": "1536px",
- },
- aspectRatio: {
- auto: "auto",
- square: "1 / 1",
- video: "16 / 9",
- 1: "1",
- 2: "2",
- 3: "3",
- 4: "4",
- 5: "5",
- 6: "6",
- 7: "7",
- 8: "8",
- 9: "9",
- 10: "10",
- 11: "11",
- 12: "12",
- 13: "13",
- 14: "14",
- 15: "15",
- 16: "16",
- },
- extend: {
- fontFamily: {
- sans: [
- "Nunito Sans",
- "SF Pro Text",
- "SF Pro Icons",
- "Inter var",
- ...defaultTheme.fontFamily.sans,
- ],
- serif: ["Merriweather", ...defaultTheme.fontFamily.serif],
- mono: ["Fira Code VF", ...defaultTheme.fontFamily.mono],
- source: ["Source Sans Pro", ...defaultTheme.fontFamily.sans],
- "ubuntu-mono": ["Ubuntu Mono", ...defaultTheme.fontFamily.mono],
- },
- },
- },
- plugins: [
- // require("daisyui"),
- require("@tailwindcss/line-clamp"),
- require("@tailwindcss/typography"),
- require("@tailwindcss/aspect-ratio"),
- require("@tailwindcss/forms")({ strategy: "class" }),
- function ({ addVariant }) {
- addVariant(
- "supports-backdrop-blur",
- "@supports (backdrop-filter: blur(0)) or (-webkit-backdrop-filter: blur(0))"
- );
- addVariant(
- "supports-scrollbars",
- "@supports selector(::-webkit-scrollbar)"
- );
- addVariant("children", "& > *");
- addVariant("scrollbar", "&::-webkit-scrollbar");
- addVariant("scrollbar-track", "&::-webkit-scrollbar-track");
- addVariant("scrollbar-thumb", "&::-webkit-scrollbar-thumb");
- },
- function ({ matchUtilities, theme }) {
- matchUtilities(
- {
- highlight: (value) => ({ boxShadow: `inset 0 1px 0 0 ${value}` }),
- },
- { values: flattenColorPalette(theme("backgroundColor")), type: "color" }
- );
- },
- function ({ addUtilities, theme }) {
- let backgroundSize = "7.07px 7.07px";
- let backgroundImage = (color) =>
- `linear-gradient(135deg, ${color} 10%, transparent 10%, transparent 50%, ${color} 50%, ${color} 60%, transparent 60%, transparent 100%)`;
- let colors = Object.entries(theme("backgroundColor")).filter(
- ([, value]) => typeof value === "object" && value[400] && value[500]
- );
- addUtilities(
- Object.fromEntries(
- colors.map(([name, colors]) => {
- let backgroundColor = colors[400] + "1a"; // 10% opacity
- let stripeColor = colors[500] + "80"; // 50% opacity
- return [
- `.bg-stripes-${name}`,
- {
- backgroundColor,
- backgroundImage: backgroundImage(stripeColor),
- backgroundSize,
- },
- ];
- })
- )
- );
- addUtilities({
- ".bg-stripes-white": {
- backgroundImage: backgroundImage("rgba(255 255 255 / 0.75)"),
- backgroundSize,
- },
- });
- addUtilities({
- ".ligatures-none": {
- fontVariantLigatures: "none",
- },
- });
- },
- ],
- };
|