/**
* Définition complète de TOUTES les 29 variables CSS
*
* Structure pour chaque variable :
* - css_vars: Variables CSS générées (nouveau + ancien format)
* - default: Valeur par défaut (utilisée si non définie dans theme.json)
* - category: Catégorie pour l'organisation UI
* - label: Libellé pour l'admin
* - description: Description pour l'admin
*
* ⚠️ IMPORTANT : Ajouter une ligne ici suffit pour qu'elle soit
* automatiquement gérée partout dans l'application !
*
* @return array
*/
public static function getAllVariables(): array
{
return [
// ==========================================
// COULEURS PRINCIPALES (6)
// ==========================================
'primary_color' => [
'css_vars' => ['--color-primary', '--primary-color'],
'default' => '#007bff',
'category' => 'system',
'label' => 'Couleur primaire',
'description' => 'Couleur principale du thème (boutons, liens)',
'generate_variants' => true, // Générer dark, darker, rgb
],
'secondary_color' => [
'css_vars' => ['--color-secondary', '--secondary-color'],
'default' => '#6c757d',
'category' => 'system',
'label' => 'Couleur secondaire',
'description' => 'Couleur secondaire du thème',
'generate_variants' => true, // Générer dark, rgb
],
'success_color' => [
'css_vars' => ['--color-success', '--success-color'],
'default' => '#28a745',
'category' => 'system',
'label' => 'Couleur succès',
'description' => 'Messages de succès, confirmations',
'generate_variants' => true,
],
'danger_color' => [
'css_vars' => ['--color-danger', '--danger-color'],
'default' => '#dc3545',
'category' => 'system',
'label' => 'Couleur danger',
'description' => 'Erreurs, suppressions, avertissements critiques',
'generate_variants' => true,
],
'warning_color' => [
'css_vars' => ['--color-warning', '--warning-color'],
'default' => '#ffc107',
'category' => 'system',
'label' => 'Couleur avertissement',
'description' => 'Avertissements, alertes non critiques',
'generate_variants' => true,
],
'info_color' => [
'css_vars' => ['--color-info', '--info-color'],
'default' => '#17a2b8',
'category' => 'system',
'label' => 'Couleur info',
'description' => 'Messages informatifs, astuces',
'generate_variants' => true,
],
// ==========================================
// BACKGROUNDS LIGHT MODE (5)
// ==========================================
'bg_primary' => [
'css_vars' => ['--bg-primary'],
'default' => '#ffffff',
'category' => 'background_light',
'label' => 'Fond principal (clair)',
'description' => 'Fond principal des pages en mode clair',
],
'bg_secondary' => [
'css_vars' => ['--bg-secondary'],
'default' => '#f8f9fa',
'category' => 'background_light',
'label' => 'Fond secondaire (clair)',
'description' => 'Fond des cartes et sections en mode clair',
],
'bg_tertiary' => [
'css_vars' => ['--bg-tertiary'],
'default' => '#e9ecef',
'category' => 'background_light',
'label' => 'Fond tertiaire (clair)',
'description' => 'Fond des éléments au survol en mode clair',
],
'bg_dark' => [
'css_vars' => ['--bg-dark'],
'default' => '#2c3e50',
'category' => 'background_light',
'label' => 'Fond sombre (clair)',
'description' => 'Fond des headers/footers en mode clair',
],
'bg_darker' => [
'css_vars' => ['--bg-darker'],
'default' => '#1a252f',
'category' => 'background_light',
'label' => 'Fond très sombre (clair)',
'description' => 'Fond des éléments nécessitant un fort contraste',
],
// ==========================================
// TEXTES LIGHT MODE (5)
// ==========================================
'text_primary' => [
'css_vars' => ['--text-primary'],
'default' => '#212529',
'category' => 'text_light',
'label' => 'Texte principal (clair)',
'description' => 'Texte principal en mode clair',
],
'text_secondary' => [
'css_vars' => ['--text-secondary'],
'default' => '#6c757d',
'category' => 'text_light',
'label' => 'Texte secondaire (clair)',
'description' => 'Texte secondaire, métadonnées',
],
'text_light' => [
'css_vars' => ['--text-light'],
'default' => '#adb5bd',
'category' => 'text_light',
'label' => 'Texte clair',
'description' => 'Texte sur fond sombre',
],
'text_muted' => [
'css_vars' => ['--text-muted'],
'default' => '#868e96',
'category' => 'text_light',
'label' => 'Texte discret (clair)',
'description' => 'Texte peu important, désactivé',
],
'text_white' => [
'css_vars' => ['--text-white'],
'default' => '#ffffff',
'category' => 'text_light',
'label' => 'Texte blanc',
'description' => 'Texte blanc sur fond sombre',
],
// ==========================================
// BORDURES (3)
// ==========================================
'border_color' => [
'css_vars' => ['--border-color'],
'default' => '#dee2e6',
'category' => 'borders',
'label' => 'Bordure normale',
'description' => 'Couleur des bordures par défaut',
],
'border_color_light' => [
'css_vars' => ['--border-color-light'],
'default' => '#e9ecef',
'category' => 'borders',
'label' => 'Bordure claire',
'description' => 'Bordures subtiles, séparateurs légers',
],
'border_color_dark' => [
'css_vars' => ['--border-color-dark'],
'default' => '#ced4da',
'category' => 'borders',
'label' => 'Bordure foncée',
'description' => 'Bordures marquées, encadrements',
],
// ==========================================
// DARK MODE - BACKGROUNDS (5)
// ==========================================
'dark_bg_primary' => [
'css_vars' => ['--dark-bg-primary'],
'default' => '#1a1a1a',
'category' => 'background_dark',
'label' => 'Fond principal (sombre)',
'description' => 'Fond principal en mode sombre',
],
'dark_bg_secondary' => [
'css_vars' => ['--dark-bg-secondary'],
'default' => '#121212',
'category' => 'background_dark',
'label' => 'Fond secondaire (sombre)',
'description' => 'Fond des cartes en mode sombre',
],
'dark_bg_tertiary' => [
'css_vars' => ['--dark-bg-tertiary'],
'default' => '#2a2a2a',
'category' => 'background_dark',
'label' => 'Fond tertiaire (sombre)',
'description' => 'Fond au survol en mode sombre',
],
'dark_bg_dark' => [
'css_vars' => ['--dark-bg-dark'],
'default' => '#0d0d0d',
'category' => 'background_dark',
'label' => 'Fond très sombre',
'description' => 'Fond des headers/footers en mode sombre',
],
'dark_bg_darker' => [
'css_vars' => ['--dark-bg-darker'],
'default' => '#050505',
'category' => 'background_dark',
'label' => 'Fond ultra sombre',
'description' => 'Fond des modals, overlays',
],
// ==========================================
// DARK MODE - TEXTES (5)
// ==========================================
'dark_text_primary' => [
'css_vars' => ['--dark-text-primary'],
'default' => '#e0e0e0',
'category' => 'text_dark',
'label' => 'Texte principal (sombre)',
'description' => 'Texte principal en mode sombre',
],
'dark_text_secondary' => [
'css_vars' => ['--dark-text-secondary'],
'default' => '#b0b0b0',
'category' => 'text_dark',
'label' => 'Texte secondaire (sombre)',
'description' => 'Texte secondaire en mode sombre',
],
'dark_text_light' => [
'css_vars' => ['--dark-text-light'],
'default' => '#808080',
'category' => 'text_dark',
'label' => 'Texte clair (sombre)',
'description' => 'Texte peu contrasté en mode sombre',
],
'dark_text_muted' => [
'css_vars' => ['--dark-text-muted'],
'default' => '#606060',
'category' => 'text_dark',
'label' => 'Texte discret (sombre)',
'description' => 'Texte désactivé en mode sombre',
],
'dark_text_white' => [
'css_vars' => ['--dark-text-white'],
'default' => '#ffffff',
'category' => 'text_dark',
'label' => 'Texte blanc (sombre)',
'description' => 'Texte blanc pur en mode sombre',
],
];
}