# Thèmes

Le système de thème de la famille lh-ui est défini dans @lh-ui/share (source unique) ; la bibliothèque Vue2 le consomme sous forme de variables CSS.

# Variables CSS

Tous les jetons sont nommés --lh-* et injectés dans :root par @lh-ui/vue2/theme.css :

:root {
  --lh-primary-color: #2B4C7C;
  --lh-bg-color: #FAF6F0;
  --lh-text-color: #2C2A26;
  /* La liste complète se trouve dans la source theme du dépôt share */
}

# Mode sombre

<link rel="stylesheet" href="@lh-ui/vue2/theme-dark.css" />
<html data-theme="dark">

La forme par classe .dark est également prise en charge. Les variables cascadent depuis ConfigProvider ou :root ; les composants ne les redéclarent pas.

# Personnalisation locale avec ConfigProvider

<template>
  <LhConfigProvider :theme-vars="{ 'primary-color': '#4A6741' }">
    <LhButton type="primary">Bouton vert bambou</LhButton>
  </LhConfigProvider>
</template>

Priorité : themeVars du composant lui-même > componentTheme[nom du composant] > themeVars globale ; le motif bg-pattern est en outre soumis à la liste blanche patternComponents.

# Thèmes prédéfinis et bascule entre préréglages

@lh-ui/vue2/theme retransmet les préréglages TypeScript de share (青花瓷 (porcelaine bleue et blanche), 松花绿 (vert pin), etc.), à utiliser avec useLhPresetTheme :

import { useLhPresetTheme } from '@lh-ui/vue2'

const { preset, setPreset, presets, themeVars } = useLhPresetTheme()
setPreset('songhua') // Écrit dans :root ; themeVars peut également être confié à ConfigProvider pour une portée locale

useLhTheme prend en charge la bascule clair / sombre (data-theme + persistance dans localStorage).

Copyright © 2024-2026 FengMo WenXue