UNPKG

@wener/console

Version:

Base console UI toolkit

176 lines (172 loc) 5.39 kB
import containerQueries from '@tailwindcss/container-queries'; import typography from '@tailwindcss/typography'; import daisyuiPlugin from 'daisyui'; import type { Config } from 'tailwindcss'; import animatePlugin from 'tailwindcss-animate'; import { PluginCreator } from 'tailwindcss/types/config'; export function createConfig(opts: { daisyui?: any } = {}): Config { const { daisyui } = opts; let config = { mode: 'jit', content: [ // './src/**/*.{html,ts,tsx,js,jsx,mdx}', 'node_modules/@wener/console/src/**/*.{html,ts,tsx,js,jsx,mdx}', ], safelist: [{ pattern: /^(btn|input)-/ }], darkMode: ['class'], theme: { extend: { spacing: { 15: '3.75rem', }, margin: { 'safe-top': 'env(safe-area-inset-top)', 'safe-right': 'env(safe-area-inset-right)', 'safe-bottom': 'env(safe-area-inset-bottom)', 'safe-left': 'env(safe-area-inset-left)', }, // shadcn colors: { // border: 'hsl(var(--border))', border: 'oklch(var(--b3))', input: 'hsl(var(--input))', ring: 'hsl(var(--ring))', background: 'oklch(var(--b1))', foreground: 'oklch(var(--n))', // background: 'hsl(var(--background))', // foreground: 'hsl(var(--foreground))', primary: { // DEFAULT: 'hsl(var(--primary))', // foreground: 'hsl(var(--primary-foreground))', DEFAULT: 'oklch(var(--p)', foreground: 'oklch(var(--pc))', }, secondary: { DEFAULT: 'oklch(var(--s)', foreground: 'oklch(var(--sc))', // DEFAULT: 'hsl(var(--secondary))', // foreground: 'hsl(var(--secondary-foreground))', }, destructive: { // DEFAULT: 'hsl(var(--destructive))', // foreground: 'hsl(var(--destructive-foreground))', DEFAULT: 'oklch(var(--er))', foreground: 'oklch(var(--erc))', }, muted: { DEFAULT: 'hsl(var(--muted))', foreground: 'hsl(var(--muted-foreground))', }, accent: { DEFAULT: 'oklch(var(--a))', foreground: 'oklch(var(--ac))', // DEFAULT: 'hsl(var(--accent))', // foreground: 'hsl(var(--accent-foreground))', }, popover: { // DEFAULT: 'hsl(var(--popover))', // foreground: 'hsl(var(--popover-foreground))', DEFAULT: 'oklch(var(--b1))', foreground: 'oklch(var(--pc))', }, card: { DEFAULT: 'hsl(var(--card))', foreground: 'hsl(var(--card-foreground))', }, }, borderRadius: { lg: 'var(--radius)', md: 'calc(var(--radius) - 2px)', sm: 'calc(var(--radius) - 4px)', }, 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', }, }, }, experimental: { // classRegex: [ // 'twc\\.[^`]+`([^`]*)`', // 'twc\\(.*?\\).*?`([^`]*)', // ['twc\\.[^`]+\\(([^)]*)\\)', "(?:'|\"|`)([^']*)(?:'|\"|`)"], // ['twc\\(.*?\\).*?\\(([^)]*)\\)', "(?:'|\"|`)([^']*)(?:'|\"|`)"], // ], }, variants: { extend: {}, }, plugins: [ typography, containerQueries, animatePlugin, // https://github.com/tailwindlabs/tailwindcss.com/blob/ceb07ba4d7694ef48e108e66598a20ae31cced19/tailwind.config.js#L280-L284 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'); } satisfies PluginCreator, // containerQuery, ], daisyui: { logs: false, themes: [ 'light', 'dark', 'cupcake', 'bumblebee', 'emerald', 'corporate', 'synthwave', 'retro', 'cyberpunk', 'valentine', 'halloween', 'garden', 'forest', 'aqua', 'lofi', 'pastel', 'fantasy', 'wireframe', 'black', 'luxury', 'dracula', 'cmyk', 'autumn', 'business', 'acid', 'lemonade', 'night', 'coffee', 'winter', 'dim', 'nord', 'sunset', ], ...(daisyui && typeof daisyui === 'object' ? daisyui : {}), }, } satisfies Config; if (daisyui ?? true) { config.plugins.push(daisyuiPlugin); } return config as Config; } export default createConfig();