Files
Nitro-V3/tailwind.config.js
T
Life 73ee9c7603 Badge DnD rework: fix duplicate/disappearing badges, add visual feedback
Fix slot 0 drag bug ('0' is falsy), prevent badge duplication from stale
props fallback in InfoStand, add sparse slot support, fix race condition
with pending server updates. Add drag preview, glow animations, drop
settle effect, and remove-badge indicator overlay.
2026-04-04 21:25:03 +02:00

186 lines
4.9 KiB
JavaScript

/** @type {import('tailwindcss').Config} */
const {
generateShades
} = require('./css-utils/CSSColorUtils');
const colors = {
'toolbar': '#555555',
'card-header': '#1E7295',
'card-close': '#921911',
'card-tabs': '#185D79',
'card-border': '#283F5D',
'card-tab-item': '#B6BEC5',
'card-tab-item-active': '#DFDFDF',
'card-content-area': '#DFDFDF',
'card-grid-item': '#CDD3D9',
'card-grid-item-active': '#ECECEC',
'card-grid-item-border': '#B6BEC5',
'card-grid-item-border-active': '#FFFFFF',
'loading': '#393A85',
'muted': 'rgba(182, 190, 197)',
'blue': '#0d6efd',
'indigo': '#6610f2',
'pink': '#d63384',
'red': '#a81a12',
'orange': '#fd7e14',
'yellow': '#ffc107',
'green': '#00800b',
'teal': '#20c997',
'cyan': '#0dcaf0',
'gray': '#6c757d',
'gray-dark': '#343a40',
'gray-100': '#f8f9fa',
'gray-200': '#e9ecef',
'gray-300': '#dee2e6',
'gray-400': '#ced4da',
'gray-500': '#adb5bd',
'gray-600': '#6c757d',
'gray-700': '#495057',
'gray-800': '#343a40',
'gray-900': '#212529',
'primary': '#1E7295',
'secondary': '#185D79',
'success': '#00800b',
'info': '#0dcaf0',
'warning': '#ffc107',
'danger': '#a81a12',
'light': '#DFDFDF',
'dark': 'rgba(28, 28, 32, .9803921569)',
'light-dark': '#343a40',
'white': '#fff',
'black': '#000',
'muted': '#B6BEC5',
'purple': '#6f42c1',
'gainsboro': '#d9d9d9'
};
const boxShadow = {
'inner1px': 'inset 0 0 0 1px rgba(255,255,255,.3)',
'room-previewer': '-2px -2px rgba(0, 0, 0, 0.4), inset 3px 3px rgba(0, 0, 0, 0.2);'
};
module.exports = {
theme: {
extend: {
fontSize: {
base: '0.9rem',
sm: '0.7875rem',
xl: '1.25rem',
'2xl': '1.563rem',
'3xl': '1.953rem',
'4xl': '2.441rem',
'5xl': '3.052rem',
},
fontFamily: {
sans: ['Ubuntu'],
},
colors: generateShades(colors),
boxShadow,
backgroundImage: {
'button-gradient-gray': 'linear-gradient(to bottom, #e2e2e2 50%, #c8c8c8 50%)',
},
spacing: {
'card-header': '33px',
'card-tabs': '33px',
'navigator-w': '480px',
'navigator-h': '520px',
'inventory-w': '528px',
'inventory-h': '320px'
},
borderRadius: {
'3': '0.3rem',
},
zIndex: {
'toolbar': '',
'loading': '100',
'chat-zindex': '20'
},
dropShadow: {
'hover': '2px 2px 0 rgba(0,0,0,0.8)'
},
keyframes: {
pulseGlow: {
'0%, 100%': { boxShadow: '0 0 6px rgba(59,130,246,0.3)' },
'50%': { boxShadow: '0 0 14px rgba(59,130,246,0.6)' },
},
pulseGlowRed: {
'0%, 100%': { boxShadow: '0 0 6px rgba(239,68,68,0.3)' },
'50%': { boxShadow: '0 0 14px rgba(239,68,68,0.6)' },
},
dropSettle: {
'0%': { transform: 'scale(1.15)' },
'100%': { transform: 'scale(1)' },
},
},
animation: {
'pulse-glow': 'pulseGlow 1.2s ease-in-out infinite',
'pulse-glow-red': 'pulseGlowRed 1.2s ease-in-out infinite',
'drop-settle': 'dropSettle 0.3s ease-out',
},
},
},
safelist: [
'grid-cols-1',
'grid-cols-2',
'grid-cols-3',
'grid-cols-4',
'grid-cols-5',
'grid-cols-6',
'grid-cols-7',
'grid-cols-8',
'grid-cols-9',
'grid-cols-10',
'grid-cols-11',
'grid-cols-12',
'col-span-1',
'col-span-2',
'col-span-3',
'col-span-4',
'col-span-5',
'col-span-6',
'col-span-7',
'col-span-8',
'col-span-9',
'col-span-10',
'col-span-11',
'col-span-12',
'grid-cols-13',
'grid-cols-14',
'grid-rows-1',
'grid-rows-2',
'grid-rows-3',
'grid-rows-4',
'grid-rows-5',
'grid-rows-6',
'grid-rows-7',
'grid-rows-8',
'grid-rows-9',
'grid-rows-10',
'grid-rows-11',
'grid-rows-12',
'justify-end',
'items-end',
'animate-pulse-glow',
'animate-pulse-glow-red',
'animate-drop-settle'
],
darkMode: 'class',
variants: {
extend: {
divideColor: ['group-hover'],
backgroundColor: ['group-focus'],
}
},
plugins: [
require('@tailwindcss/forms'),
],
content: [
'./index.html',
'./src/**/*.{html,js,jsx,ts,tsx}'
]
}