194 lines
4.1 KiB
JavaScript
194 lines
4.1 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
module.exports = {
|
|
content: [
|
|
"./templates/**/*.html",
|
|
"./static/js/**/*.js",
|
|
"./static/css/**/*.css",
|
|
"./blueprints/**/*.py",
|
|
"./app.py",
|
|
"./models.py",
|
|
"./utils/**/*.py"
|
|
],
|
|
darkMode: 'class',
|
|
theme: {
|
|
// Reduzierte Farbpalette
|
|
colors: {
|
|
transparent: 'transparent',
|
|
current: 'currentColor',
|
|
white: '#ffffff',
|
|
black: '#000000',
|
|
primary: '#0073ce',
|
|
'primary-dark': '#005a9f',
|
|
gray: {
|
|
50: '#fafbfc',
|
|
100: '#f3f5f7',
|
|
200: '#e5e7eb',
|
|
300: '#d1d5db',
|
|
400: '#9ca3af',
|
|
500: '#6b7280',
|
|
600: '#4b5563',
|
|
700: '#374151',
|
|
800: '#1f2937',
|
|
900: '#111827',
|
|
},
|
|
blue: {
|
|
500: '#0073ce',
|
|
600: '#005a9f',
|
|
},
|
|
green: {
|
|
100: '#d1fae5',
|
|
600: '#065f46',
|
|
},
|
|
red: {
|
|
100: '#fee2e2',
|
|
600: '#991b1b',
|
|
},
|
|
},
|
|
|
|
// Reduzierte Spacing-Skala
|
|
spacing: {
|
|
'0': '0',
|
|
'1': '0.25rem',
|
|
'2': '0.5rem',
|
|
'3': '0.75rem',
|
|
'4': '1rem',
|
|
'5': '1.25rem',
|
|
'6': '1.5rem',
|
|
'8': '2rem',
|
|
'10': '2.5rem',
|
|
'12': '3rem',
|
|
'16': '4rem',
|
|
'20': '5rem',
|
|
},
|
|
|
|
// Reduzierte Font-Größen
|
|
fontSize: {
|
|
'xs': '0.75rem',
|
|
'sm': '0.875rem',
|
|
'base': '1rem',
|
|
'lg': '1.125rem',
|
|
'xl': '1.25rem',
|
|
'2xl': '1.5rem',
|
|
'3xl': '1.875rem',
|
|
},
|
|
|
|
// Minimale Border-Radius
|
|
borderRadius: {
|
|
'none': '0',
|
|
'sm': '2px',
|
|
'DEFAULT': '6px',
|
|
'lg': '8px',
|
|
'xl': '12px',
|
|
'full': '9999px',
|
|
},
|
|
|
|
// Reduzierte Schatten
|
|
boxShadow: {
|
|
'sm': '0 2px 4px rgba(0,0,0,0.05)',
|
|
'DEFAULT': '0 2px 4px rgba(0,0,0,0.05)',
|
|
'lg': '0 4px 8px rgba(0,0,0,0.1)',
|
|
},
|
|
|
|
// Minimale Transitions
|
|
transitionDuration: {
|
|
'75': '75ms',
|
|
'100': '100ms',
|
|
'150': '150ms',
|
|
'200': '200ms',
|
|
},
|
|
|
|
extend: {}
|
|
},
|
|
|
|
// Deaktivierte Utilities für bessere Performance
|
|
corePlugins: {
|
|
// Nicht benötigte Features deaktivieren
|
|
animation: false, // Animationen werden manuell gemacht
|
|
backdropBlur: false, // Nicht für Kiosk benötigt
|
|
backdropBrightness: false,
|
|
backdropContrast: false,
|
|
backdropFilter: false,
|
|
backdropGrayscale: false,
|
|
backdropHueRotate: false,
|
|
backdropInvert: false,
|
|
backdropOpacity: false,
|
|
backdropSaturate: false,
|
|
backdropSepia: false,
|
|
blur: false,
|
|
brightness: false,
|
|
contrast: false,
|
|
dropShadow: false,
|
|
filter: false,
|
|
grayscale: false,
|
|
hueRotate: false,
|
|
invert: false,
|
|
saturate: false,
|
|
sepia: false,
|
|
|
|
// Touch-spezifische Features deaktivieren
|
|
touchAction: false,
|
|
|
|
// Nicht benötigte Layout-Features
|
|
aspectRatio: false,
|
|
backdropFilter: false,
|
|
|
|
// Reduzierte Transform-Features
|
|
scale: false,
|
|
skew: false,
|
|
transformOrigin: false,
|
|
},
|
|
|
|
// Kiosk-spezifische Plugins deaktivieren
|
|
plugins: [],
|
|
|
|
// Aggressive Purge-Konfiguration
|
|
purge: {
|
|
enabled: true,
|
|
content: [
|
|
'./templates/**/*.html',
|
|
'./static/js/**/*.js',
|
|
],
|
|
// Aggressive Purging
|
|
options: {
|
|
safelist: [
|
|
// Nur essenzielle Klassen behalten
|
|
'container',
|
|
'flex',
|
|
'grid',
|
|
'hidden',
|
|
'block',
|
|
'inline',
|
|
'w-full',
|
|
'h-full',
|
|
'text-center',
|
|
'font-bold',
|
|
'text-primary',
|
|
'bg-white',
|
|
'border',
|
|
'rounded',
|
|
'p-4',
|
|
'm-4',
|
|
'btn',
|
|
'card',
|
|
'nav',
|
|
'header',
|
|
'status-online',
|
|
'status-offline',
|
|
'status-printing',
|
|
],
|
|
// Dynamische Klassen-Erkennung
|
|
defaultExtractor: content => content.match(/[\w-/:]+(?<!:)/g) || [],
|
|
}
|
|
},
|
|
|
|
// Performance-Optimierungen
|
|
future: {
|
|
removeDeprecatedGapUtilities: true,
|
|
purgeLayersByDefault: true,
|
|
},
|
|
|
|
// Experimental Features für bessere Performance
|
|
experimental: {
|
|
optimizeUniversalDefaults: true,
|
|
},
|
|
}
|