/** @type {import('tailwindcss').Config} */ import tailwindcssForms from "@tailwindcss/forms"; import tailwindcssTypography from "@tailwindcss/typography"; import tailwindcssAnimate from "tailwindcss-animate"; import tailwindcssDottedBackground from "tailwindcss-dotted-background"; import { fontFamily } from "tailwindcss/defaultTheme"; import plugin from "tailwindcss/plugin"; const config = { variants: { extend: { display: ["group-hover"], textColor: ["group-increment-hover", "group-decrement-hover"], }, }, darkMode: ["class"], content: [ "app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}", "./index.html", "./src/**/*.{js,ts,tsx,jsx}", ], safelist: [ "bg-status-blue", "bg-status-green", "bg-status-red", "bg-status-yellow", ], important: false, theme: { container: { center: true, screens: { "2xl": "1400px", }, }, extend: { keyframes: { wiggle: { "0%, 100%": { transform: "scale(100%)" }, "50%": { transform: "scale(120%)" }, }, "border-beam": { "100%": { "offset-distance": "100%", }, }, }, animation: { wiggle: "wiggle 150ms ease-in-out 1", "slow-wiggle": "wiggle 500ms ease-in-out 1", "border-beam": "border-beam calc(var(--duration)*1s) infinite linear", }, colors: { "frozen-blue": "rgba(128, 190, 219, 0.86)", // Custom blue color for the frozen effect "frosted-glass": "rgba(255, 255, 255, 0.8)", // Custom frosted glass effect "component-icon": "var(--component-icon)", "flow-icon": "var(--flow-icon)", "low-indigo": "var(--low-indigo)", "chat-send": "var(--chat-send)", connection: "var(--connection)", "almost-dark-gray": "var(--almost-dark-gray)", "almost-light-blue": "var(--almost-light-blue)", "almost-medium-gray": "var(--almost-medium-gray)", "almost-medium-green": "var(--almost-medium-green)", "almost-medium-red": "var(--almost-medium-red)", "btn-shadow": "var(--round-btn-shadow)", "build-trigger": "var(--build-trigger)", "chat-trigger": "var(--chat-trigger)", "chat-trigger-disabled": "var(--chat-trigger-disabled)", "blur-shared": "var(--blur-shared)", "dark-blue": "var(--dark-blue)", "dark-gray": "var(--dark-gray)", "dark-red": "var(--dark-red)", "note-placeholder": "var(--note-placeholder)", error: { DEFAULT: "var(--error)", background: "var(--error-background)", foreground: "var(--error-foreground)", }, "high-dark-gray": "var(--high-dark-gray)", "high-indigo": "var(--high-indigo)", "high-light-gray": "var(--high-light-gray)", "info-background": "var(--info-background)", "info-foreground": "var(--info-foreground)", "light-blue": "var(--light-blue)", "light-gray": "var(--light-gray)", "light-slate": "var(--light-slate)", "medium-blue": "var(--medium-blue)", "status-blue": "var(--status-blue)", "medium-dark-gray": "var(--medium-dark-gray)", "medium-dark-green": "var(--medium-dark-green)", "medium-dark-red": "var(--medium-dark-red)", "medium-emerald": "var(--medium-emerald)", "medium-gray": "var(--medium-gray)", "medium-high-indigo": "var(--medium-high-indigo)", "medium-indigo": "var(--medium-indigo)", "medium-low-gray": "var(--medium-low-gray)", "note-amber": "var(--note-amber)", "status-green": "var(--status-green)", "status-red": "var(--status-red)", "status-yellow": "var(--status-yellow)", "status-gray": "var(--status-gray)", "success-background": "var(--success-background)", "success-foreground": "var(--success-foreground)", "accent-pink": "hsl(var(--accent-pink))", "accent-pink-foreground": "hsl(var(--accent-pink-foreground))", filter: { foreground: "var(--filter-foreground)", background: "var(--filter-background)", }, beta: { background: "var(--beta-background)", foreground: "var(--beta-foreground)", "foreground-soft": "var(--beta-foreground-soft)", }, "chat-bot-icon": "var(--chat-bot-icon)", "chat-user-icon": "var(--chat-user-icon)", canvas: "hsl(var(--canvas))", ice: "var(--ice)", selected: "var(--selected)", hover: "var(--hover)", border: "hsl(var(--border))", input: "hsl(var(--input))", ring: "hsl(var(--ring))", "node-selected": "hsl(var(--node-selected))", background: "hsl(var(--background))", foreground: "hsl(var(--foreground))", "emerald-success": "hsl(var(--emerald-success))", "accent-emerald-foreground": "hsl(var(--accent-emerald-foreground))", "emerald-smooth": "hsl(var(--emaral-smooth))", "emerald-hard": "hsl(var(--emeral-hard))", placeholder: "hsl(var(--placeholder))", "hard-zinc": "hsl(var(--hard-zinc))", "smooth-red": "hsl(var(--smooth-red))", "placeholder-foreground": "hsl(var(--placeholder-foreground))", primary: { DEFAULT: "hsl(var(--primary))", foreground: "hsl(var(--primary-foreground))", hover: "hsl(var(--primary-hover))", }, secondary: { DEFAULT: "hsl(var(--secondary))", foreground: "hsl(var(--secondary-foreground))", hover: "hsl(var(--secondary-hover))", }, 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))", }, "accent-emerald": { DEFAULT: "hsl(var(--accent-emerald))", foreground: "hsl(var(--accent-emerald-foreground))", }, "accent-indigo": { DEFAULT: "hsl(var(--accent-indigo))", foreground: "hsl(var(--accent-indigo-foreground))", }, "accent-pink": { DEFAULT: "hsl(var(--accent-pink))", foreground: "hsl(var(--accent-pink-foreground))", }, popover: { DEFAULT: "hsl(var(--popover))", foreground: "hsl(var(--popover-foreground))", }, card: { DEFAULT: "hsl(var(--card))", foreground: "hsl(var(--card-foreground))", }, tooltip: { DEFAULT: "hsl(var(--tooltip))", foreground: "hsl(var(--tooltip-foreground))", }, "inner-yellow": { DEFAULT: "hsl(var(--inner-yellow))", foreground: "hsl(var(--inner-foreground-yellow))", muted: "hsl(var(--inner-yellow-muted-foreground))", }, "inner-blue": { DEFAULT: "hsl(var(--inner-blue))", foreground: "hsl(var(--inner-foreground-blue))", muted: "hsl(var(--inner-blue-muted-foreground))", }, "inner-gray": { DEFAULT: "hsl(var(--inner-gray))", foreground: "hsl(var(--inner-foreground-gray))", muted: "hsl(var(--inner-gray-muted-foreground))", }, "inner-lime": { DEFAULT: "hsl(var(--inner-lime))", foreground: "hsl(var(--inner-foreground-lime))", muted: "hsl(var(--inner-lime-muted-foreground))", }, "inner-red": { DEFAULT: "hsl(var(--inner-red))", foreground: "hsl(var(--inner-foreground-red))", muted: "hsl(var(--inner-red-muted-foreground))", }, "inner-violet": { DEFAULT: "hsl(var(--inner-violet))", foreground: "hsl(var(--inner-foreground-violet))", muted: "hsl(var(--inner-violet-muted-foreground))", }, "inner-emerald": { DEFAULT: "hsl(var(--inner-emerald))", foreground: "hsl(var(--inner-foreground-emerald))", muted: "hsl(var(--inner-emerald-muted-foreground))", }, "inner-fuchsia": { DEFAULT: "hsl(var(--inner-fuchsia))", foreground: "hsl(var(--inner-foreground-fuchsia))", muted: "hsl(var(--inner-fuchsia-muted-foreground))", }, "inner-purple": { DEFAULT: "hsl(var(--inner-purple))", foreground: "hsl(var(--inner-foreground-purple))", muted: "hsl(var(--inner-purple-muted-foreground))", }, "inner-cyan": { DEFAULT: "hsl(var(--inner-cyan))", foreground: "hsl(var(--inner-foreground-cyan))", muted: "hsl(var(--inner-cyan-muted-foreground))", }, "inner-indigo": { DEFAULT: "hsl(var(--inner-indigo))", foreground: "hsl(var(--inner-foreground-indigo))", muted: "hsl(var(--inner-indigo-muted-foreground))", }, }, borderRadius: { lg: `var(--radius)`, md: `calc(var(--radius) - 2px)`, sm: "calc(var(--radius) - 4px)", }, borderWidth: { 1.75: "1.75px", 1.5: "1.5px", }, fontFamily: { sans: ["var(--font-sans)", ...fontFamily.sans], mono: ["var(--font-mono)", ...fontFamily.mono], }, boxShadow: { "frozen-ring": "0 0 10px 2px rgba(128, 190, 230, 0.5)", node: "0 0px 15px -3px rgb(0 0 0 / 0.1), 0 0px 6px -4px rgb(0 0 0 / 0.1);", "frosted-ring": "0 0 10px 2px rgba(128, 190, 230, 0.7)", }, backdropBlur: { xs: "2px", }, }, }, plugins: [ tailwindcssAnimate, tailwindcssForms({ strategy: "class", // only generate classes }), plugin(function ({ addUtilities }) { addUtilities({ ".scrollbar-hide": { /* IE and Edge */ "-ms-overflow-style": "none", /* Firefox */ "scrollbar-width": "none", /* Safari and Chrome */ "&::-webkit-scrollbar": { display: "none", }, }, ".truncate-multiline": { display: "-webkit-box", "-webkit-line-clamp": "3" /* Change this number to the number of lines you want to show */, "-webkit-box-orient": "vertical", overflow: "hidden", "text-overflow": "ellipsis", }, ".truncate-doubleline": { display: "-webkit-box", "-webkit-line-clamp": "2" /* Change this number to the number of lines you want to show */, "-webkit-box-orient": "vertical", overflow: "hidden", "text-overflow": "ellipsis", }, ".word-break-break-word": { wordBreak: "break-word", }, ".arrow-hide": { "&::-webkit-inner-spin-button": { "-webkit-appearance": "none", margin: 0, }, "&::-webkit-outer-spin-button": { "-webkit-appearance": "none", margin: 0, }, }, ".password": { "-webkit-text-security": "disc", "font-family": "text-security-disc", }, ".stop": { "-webkit-animation-play-state": "paused", "-moz-animation-play-state": "paused", "animation-play-state": "paused", }, ".custom-scroll": { "&::-webkit-scrollbar": { width: "8px", height: "8px", }, "&::-webkit-scrollbar-track": { backgroundColor: "hsl(var(--muted))", }, "&::-webkit-scrollbar-thumb": { backgroundColor: "hsl(var(--border))", borderRadius: "999px", }, "&::-webkit-scrollbar-thumb:hover": { backgroundColor: "hsl(var(--ring))", }, cursor: "auto", }, ".dark .theme-attribution .react-flow__attribution": { backgroundColor: "rgba(255, 255, 255, 0.2)", padding: "0px 5px", }, ".dark .theme-attribution .react-flow__attribution a": { color: "black", }, ".text-align-last-left": { "text-align-last": "left", }, ".text-align-last-right": { "text-align-last": "right", }, ":focus-visible": { outline: "none !important", outlineOffset: "0px !important", }, ".note-node-markdown": { lineHeight: "1", "& ul li::marker": { color: "black", }, "& ol li::marker": { color: "black", }, "& h1, & h2, & h3, & h4, & h5, & h6, & p, & ul, & ol": { marginBottom: "0.25rem", }, }, }); }), tailwindcssTypography, tailwindcssDottedBackground, plugin(({ addVariant }) => { addVariant("group-increment-hover", ":merge(.group-increment):hover &"); addVariant("group-decrement-hover", ":merge(.group-decrement):hover &"); }), ], }; export default config;