استوديو السمات
لا تريد الاكتفاء بالمسبقات الجاهزة؟ اختر أحد المسبقات في الاستوديو أدناه كنقطة انطلاق، واضبط الرموز واحدًا تلو الآخر لتصل إلى لوحة ألوانك الخاصة، مع تحديث منطقة المعاينة فوريًا، ثم صدّر ملف scss واحدًا تضعه مباشرة في مشروعك — دون إعادة بناء مكتبة المكوّنات.
主要文字·常规文字·次要文字
编辑的令牌只作用于预览区(与 ConfigProvider 同机制);导出的文件已包含暗色适配。
اعتماد السمة المُصدَّرة
هكذا يبدو الملف الذي يصدّره الاستوديو (مصدر الرموز في @lh-ui/share/styles/theme/common/var.scss):
@use '@lh-ui/share/styles/index.scss';
:root {
--lh-primary-color: #2B4C7C;
/* ... */
}
[data-theme='dark'],
.dark {
--lh-primary-color-bg: color-mix(in srgb, var(--lh-primary-color) 25%, transparent);
--lh-selected-color: color-mix(in srgb, var(--lh-primary-color) 40%, #fff);
}طريقتان للاعتماد:
الطريقة الأولى: الاستيراد الثابت (موصى بها) — ضع ملف lh-theme.scss المُصدَّر في المشروع واستورده في نقطة الدخول:
// main.ts
import './lh-theme.scss'يتضمن @use '@lh-ui/share/styles/index.scss' كافة تنسيقات المكوّنات ورموز السمات في سطر واحد؛ أما كتلة الوضع الداكن فتتشارك المصدر نفسه مع آلية المسبقات في share، وتتبدّل تلقائيًا تحت data-theme="dark".
الطريقة الثانية: الحقن وقت التشغيل — استخدم خاصية themeVars في LhConfigProvider للتجاوز المحلي (المفاتيح بصيغة مختصرة، ويُضاف تلقائيًا البادئة --lh-)، وهي مناسبة لعرض عدة سمات متجاورة في الصفحة نفسها:
<script setup lang="ts">
import { LhConfigProvider, LhButton } from '@lh-ui/vue3'
</script>
<template>
<LhConfigProvider :theme-vars="{ primaryColor: '#2B4C7C', onPrimary: '#FFFFFF' }">
<LhButton type="primary">الزر الرئيسي</LhButton>
</LhConfigProvider>
</template>تستخدم الشيفرات النموذجية أسماء حزم npm (
@lh-ui/vue3/@lh-ui/share) لتكون جاهزة للنسخ مباشرة؛ أما التشغيل الفعلي لموقع التوثيق هذا فيعتمد المصادر المحلية للعائلة، لذا تظهر التعديلات فورًا.
ملاحظات
- يجب التصريح صراحةً بـ
--lh-color-on-primaryمع الألوان الأساسية الفاتحة: النص الأبيض فوق لون أساسي فاتح لا يحقق تباين AA (4.5:1)، ولهذا اعتمدت المسبقات الحبرَ (墨) بدل النص الأبيض مع 松花绿 (أخضر الصنوبر) و藤黄 (الأصفر العشبي). حقل «نص الخلفية الأساسية» في الاستوديو يقابل هذا الرمز. - عند ترك
--lh-selected-colorفارغًا يتبع السلسلة الافتراضية لـ--lh-primary-color-active؛ ومع الألوان الأساسية الفاتحة غالبًا ما يحتاج النص المحدّد إلى تغميق مستقل (كما هو ظاهر في المسبقات أيضًا). - بوابة التباين: يعيد الأمر
pnpm verify:themeفي share حساب تباين AA لكل سمة مسبقة وفق أزواج الاستهلاك الحقيقية، ويُنصح بمراجعة تعليقات السمات المسبقة يدويًا للسمات المخصصة.