115 lines
2.8 KiB
TypeScript
Executable File
115 lines
2.8 KiB
TypeScript
Executable File
/**
|
|
* Styles distinctifs pour chaque bouton d'action
|
|
* Couleurs spécifiques et animations pour une UX premium
|
|
*/
|
|
|
|
export const ACTION_BUTTON_THEMES = {
|
|
VIEW: {
|
|
name: 'Vue Rapide',
|
|
icon: 'pi pi-eye',
|
|
colors: {
|
|
primary: '#3B82F6', // Bleu moderne
|
|
light: '#DBEAFE', // Bleu très clair
|
|
dark: '#1D4ED8', // Bleu foncé
|
|
text: '#1E40AF' // Texte bleu
|
|
},
|
|
className: ''
|
|
},
|
|
PHASES: {
|
|
name: 'Phases',
|
|
icon: 'pi pi-sitemap',
|
|
colors: {
|
|
primary: '#10B981', // Vert émeraude
|
|
light: '#D1FAE5', // Vert très clair
|
|
dark: '#059669', // Vert foncé
|
|
text: '#047857' // Texte vert
|
|
},
|
|
className: ''
|
|
},
|
|
PLANNING: {
|
|
name: 'Planning',
|
|
icon: 'pi pi-calendar',
|
|
colors: {
|
|
primary: '#8B5CF6', // Violet moderne
|
|
light: '#EDE9FE', // Violet très clair
|
|
dark: '#7C3AED', // Violet foncé
|
|
text: '#6D28D9' // Texte violet
|
|
},
|
|
className: ''
|
|
},
|
|
STATS: {
|
|
name: 'Statistiques',
|
|
icon: 'pi pi-chart-bar',
|
|
colors: {
|
|
primary: '#06B6D4', // Cyan moderne
|
|
light: '#CFFAFE', // Cyan très clair
|
|
dark: '#0891B2', // Cyan foncé
|
|
text: '#0E7490' // Texte cyan
|
|
},
|
|
className: ''
|
|
},
|
|
MENU: {
|
|
name: 'Plus d\'actions',
|
|
icon: 'pi pi-ellipsis-v',
|
|
colors: {
|
|
primary: '#6B7280', // Gris moderne
|
|
light: '#F3F4F6', // Gris très clair
|
|
dark: '#4B5563', // Gris foncé
|
|
text: '#374151' // Texte gris
|
|
},
|
|
className: ''
|
|
},
|
|
EDIT: {
|
|
name: 'Modifier',
|
|
icon: 'pi pi-pencil',
|
|
colors: {
|
|
primary: '#F59E0B', // Orange/Ambre
|
|
light: '#FEF3C7', // Orange très clair
|
|
dark: '#D97706', // Orange foncé
|
|
text: '#B45309' // Texte orange
|
|
},
|
|
className: ''
|
|
},
|
|
DELETE: {
|
|
name: 'Supprimer',
|
|
icon: 'pi pi-trash',
|
|
colors: {
|
|
primary: '#EF4444', // Rouge moderne
|
|
light: '#FEE2E2', // Rouge très clair
|
|
dark: '#DC2626', // Rouge foncé
|
|
text: '#B91C1C' // Texte rouge
|
|
},
|
|
className: ''
|
|
}
|
|
} as const;
|
|
|
|
export type ActionButtonType = keyof typeof ACTION_BUTTON_THEMES;
|
|
|
|
// Tailles compactes pour DataTable optimisée
|
|
export const BUTTON_SIZES = {
|
|
xs: {
|
|
padding: 'p-1',
|
|
iconSize: 'text-xs',
|
|
width: 'w-5 h-5' // Extra compact
|
|
},
|
|
sm: {
|
|
padding: 'p-1',
|
|
iconSize: 'text-sm',
|
|
width: 'w-6 h-6' // Compact
|
|
},
|
|
md: {
|
|
padding: 'p-2',
|
|
iconSize: 'text-base',
|
|
width: 'w-8 h-8'
|
|
},
|
|
lg: {
|
|
padding: 'p-2',
|
|
iconSize: 'text-lg',
|
|
width: 'w-10 h-10'
|
|
}
|
|
} as const;
|
|
|
|
// Style Rounded Text uniquement - autres variantes supprimées
|
|
export const BUTTON_VARIANTS = {
|
|
roundedText: 'p-button-text p-button-rounded'
|
|
} as const; |