# السمات
نظام السمات الخاص بعائلة lh-ui معرَّف في @lh-ui/share (المصدر الوحيد)، وتستهلكه مكتبة Vue2 عبر متغيرات CSS.
# متغيرات CSS
جميع الرموز مُسمّاة --lh-*، ويُحقنها @lh-ui/vue2/theme.css في :root:
:root {
--lh-primary-color: #2B4C7C;
--lh-bg-color: #FAF6F0;
--lh-text-color: #2C2A26;
/* القائمة الكاملة في مصدر theme بمستودع share */
}
# الوضع الداكن
<link rel="stylesheet" href="@lh-ui/vue2/theme-dark.css" />
<html data-theme="dark">
يُدعم أيضًا شكل .dark class. تتسلسل المتغيرات من ConfigProvider أو من :root، ولا تُكرِّر المكوّنات تعريفها.
# التخصيص المحلي عبر ConfigProvider
<template>
<LhConfigProvider :theme-vars="{ 'primary-color': '#4A6741' }">
<LhButton type="primary">زر بلون خيزران</LhButton>
</LhConfigProvider>
</template>
الأسبقية: themeVars الخاصة بالمكوّن نفسه > componentTheme[اسم المكوّن] > themeVars العامة؛
أما bg-pattern لنقشة الخلفية فيخضع إضافيًا لقائمة patternComponents البيضاء.
# السمات المسبقة والتبديل بينها
يعيد @lh-ui/vue2/theme توجيه السمات المسبقة (presets) الخاصة بـ share والمكتوبة بـ TS (مثل 青花瓷 (الخزف الأزرق) و 松花绿 (أخضر الصنوبر))، ومعها useLhPresetTheme:
import { useLhPresetTheme } from '@lh-ui/vue2'
const { preset, setPreset, presets, themeVars } = useLhPresetTheme()
setPreset('songhua') // تُكتب في :root؛ ويمكن أيضًا تسليم themeVars إلى ConfigProvider ليعمل محليًا
يتولى useLhTheme التبديل بين الفاتح والداكن (data-theme + الحفظ في localStorage).
Copyright © 2024-2026 FengMo WenXue