From 44533af1b51c267a3f90f2a3dbe6b78e7c8ad150 Mon Sep 17 00:00:00 2001 From: Abizrh Date: Fri, 8 Aug 2025 11:07:14 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat=20(style):=20add=20uno=20confi?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uno.config.ts | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 uno.config.ts diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 00000000..00421ebf --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,140 @@ +import { defineConfig, presetWind, presetAttributify, presetIcons } from 'unocss' + +export default defineConfig({ + presets: [ + presetWind(), // This is the Tailwind-compatible preset + presetAttributify(), + presetIcons(), + ], + theme: { + container: { + center: true, + padding: '2rem', + screens: { + '2xl': '1400px', + }, + }, + extend: { + colors: { + 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))', + hover: 'hsl(var(--primary-hover))', + }, + 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))', + }, + success: { + DEFAULT: 'hsl(var(--success))', + foreground: 'hsl(var(--success-foreground))', + }, + warning: { + DEFAULT: 'hsl(var(--warning))', + foreground: 'hsl(var(--warning-foreground))', + }, + info: { + DEFAULT: 'hsl(var(--info))', + foreground: 'hsl(var(--info-foreground))', + }, + sidebar: { + DEFAULT: 'hsl(var(--sidebar-background))', + foreground: 'hsl(var(--sidebar-foreground))', + primary: 'hsl(var(--sidebar-primary))', + 'primary-foreground': 'hsl(var(--sidebar-primary-foreground))', + accent: 'hsl(var(--sidebar-accent))', + 'accent-foreground': 'hsl(var(--sidebar-accent-foreground))', + border: 'hsl(var(--sidebar-border))', + ring: 'hsl(var(--sidebar-ring))', + }, + }, + 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', + }, + }, + fadeIn: { + '0%': { opacity: '0', transform: 'translateY(10px)' }, + '100%': { opacity: '1', transform: 'translateY(0)' }, + }, + slideUp: { + '0%': { transform: 'translateY(100%)' }, + '100%': { transform: 'translateY(0)' }, + }, + pulseMedical: { + '0%, 100%': { boxShadow: '0 0 0 0 hsl(var(--primary) / 0.4)' }, + '50%': { boxShadow: '0 0 0 10px hsl(var(--primary) / 0)' }, + }, + }, + animation: { + 'accordion-down': 'accordion-down 0.2s ease-out', + 'accordion-up': 'accordion-up 0.2s ease-out', + 'fade-in': 'fadeIn 0.5s ease-out', + 'slide-up': 'slideUp 0.3s ease-out', + 'pulse-medical': 'pulseMedical 2s ease-in-out infinite', + }, + backgroundImage: { + 'gradient-medical': 'var(--gradient-medical)', + 'gradient-primary': 'var(--gradient-primary)', + 'gradient-subtle': 'var(--gradient-subtle)', + }, + boxShadow: { + medical: 'var(--shadow-medical)', + card: 'var(--shadow-card)', + glow: 'var(--shadow-glow)', + }, + transitionProperty: { + smooth: 'var(--transition-smooth)', + fast: 'var(--transition-fast)', + }, + }, + }, + shortcuts: [ + // Add any custom shortcuts if needed + ], + rules: [ + // Custom rules if needed + ], +})