UNPKG

@productshiv/baapui

Version:

A truly cross-platform multi-design UI framework that works with React, Next.js, React Native, and any React-based framework.

193 lines (191 loc) 4.15 kB
import { Theme } from '../types'; export const glassmorphicLightTheme: Theme = { mode: 'light', design: 'glassmorphic', colors: { primary: '#007AFF', secondary: '#5856D6', background: 'rgba(255, 255, 255, 0.1)', surface: 'rgba(255, 255, 255, 0.2)', text: '#1D1D1F', textSecondary: 'rgba(29, 29, 31, 0.7)', border: 'rgba(255, 255, 255, 0.3)', error: '#FF3B30', success: '#34C759', warning: '#FF9500', info: '#5856D6', lightShadow: 'rgba(255, 255, 255, 0.8)', darkShadow: 'rgba(0, 0, 0, 0.1)', }, shadows: { small: { shadowColor: 'rgba(0, 0, 0, 0.1)', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1, shadowRadius: 8, elevation: 2, }, medium: { shadowColor: 'rgba(0, 0, 0, 0.15)', shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.15, shadowRadius: 16, elevation: 4, }, large: { shadowColor: 'rgba(0, 0, 0, 0.2)', shadowOffset: { width: 0, height: 8 }, shadowOpacity: 0.2, shadowRadius: 24, elevation: 8, }, }, spacing: { xs: 4, sm: 8, md: 16, lg: 24, xl: 32, }, typography: { h1: { fontSize: 34, fontWeight: 'bold', letterSpacing: 0.37, color: 'rgba(29, 29, 31, 0.9)', }, h2: { fontSize: 28, fontWeight: '600', letterSpacing: 0.35, color: 'rgba(29, 29, 31, 0.9)', }, h3: { fontSize: 22, fontWeight: '600', letterSpacing: 0.35, color: 'rgba(29, 29, 31, 0.9)', }, body: { fontSize: 17, fontWeight: 'normal', letterSpacing: -0.41, color: 'rgba(29, 29, 31, 0.8)', }, button: { fontSize: 17, fontWeight: '600', letterSpacing: -0.41, color: 'rgba(29, 29, 31, 0.9)', }, caption: { fontSize: 12, fontWeight: 'normal', letterSpacing: 0, color: 'rgba(29, 29, 31, 0.6)', }, }, shape: { borderRadius: { sm: 8, md: 12, lg: 16, full: 9999, }, }, }; export const glassmorphicDarkTheme: Theme = { mode: 'dark', design: 'glassmorphic', colors: { primary: '#0A84FF', secondary: '#5E5CE6', background: 'rgba(0, 0, 0, 0.1)', surface: 'rgba(255, 255, 255, 0.1)', text: '#FFFFFF', textSecondary: 'rgba(255, 255, 255, 0.7)', border: 'rgba(255, 255, 255, 0.2)', error: '#FF453A', success: '#32D74B', warning: '#FF9F0A', info: '#5E5CE6', lightShadow: 'rgba(255, 255, 255, 0.1)', darkShadow: 'rgba(0, 0, 0, 0.3)', }, shadows: { small: { shadowColor: 'rgba(0, 0, 0, 0.3)', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.3, shadowRadius: 8, elevation: 2, }, medium: { shadowColor: 'rgba(0, 0, 0, 0.4)', shadowOffset: { width: 0, height: 4 }, shadowOpacity: 0.4, shadowRadius: 16, elevation: 4, }, large: { shadowColor: 'rgba(0, 0, 0, 0.5)', shadowOffset: { width: 0, height: 8 }, shadowOpacity: 0.5, shadowRadius: 24, elevation: 8, }, }, spacing: { xs: 4, sm: 8, md: 16, lg: 24, xl: 32, }, typography: { h1: { fontSize: 34, fontWeight: 'bold', letterSpacing: 0.37, color: 'rgba(255, 255, 255, 0.95)', }, h2: { fontSize: 28, fontWeight: '600', letterSpacing: 0.35, color: 'rgba(255, 255, 255, 0.95)', }, h3: { fontSize: 22, fontWeight: '600', letterSpacing: 0.35, color: 'rgba(255, 255, 255, 0.95)', }, body: { fontSize: 17, fontWeight: 'normal', letterSpacing: -0.41, color: 'rgba(255, 255, 255, 0.85)', }, button: { fontSize: 17, fontWeight: '600', letterSpacing: -0.41, color: 'rgba(255, 255, 255, 0.95)', }, caption: { fontSize: 12, fontWeight: 'normal', letterSpacing: 0, color: 'rgba(255, 255, 255, 0.6)', }, }, shape: { borderRadius: { sm: 8, md: 12, lg: 16, full: 9999, }, }, };