Skip to content

useDesignTokens

useDesignTokens 是一个用于管理设计令牌(Design Tokens)和 CSS 变量的 Hook,支持动态主题切换和颜色系统管理。

基本用法

typescript
import { useDesignTokens } from '@quantum-design/hooks';

const { updateCssVariables, generateColors } = useDesignTokens();

功能特性

CSS 变量管理

useDesignTokens 提供了一套完整的 CSS 变量管理方案,支持:

  • 基础颜色系统
  • 暗黑模式切换
  • 动态主题色生成
  • 组件样式变量

与 Tailwind CSS 集成

设计令牌系统与 Tailwind CSS 完全集成,可以在 Tailwind 类中使用 CSS 变量:

html
<div class="bg-success text-header">使用 CSS 变量定义的颜色</div>

动态主题色生成

typescript
import { useDesignTokens } from '@quantum-design/hooks';

const { generateColors } = useDesignTokens();

// 根据主色生成色板
const colorPalette = generateColors('#1890ff');

API 参考

updateCssVariables

更新文档根元素的 CSS 变量。

typescript
function updateCssVariables(options: { primaryColor?: string; isDark?: boolean; customVariables?: Record<string, string> }): void;

generateColors

根据主色生成完整的颜色系统。

typescript
function generateColors(primaryColor: string): Record<string, string>;

使用示例

切换暗黑模式

typescript
import { useDesignTokens } from '@quantum-design/hooks';

const { updateCssVariables } = useDesignTokens();

// 切换到暗黑模式
updateCssVariables({ isDark: true });

// 切换到亮色模式
updateCssVariables({ isDark: false });

更改主题色

typescript
import { useDesignTokens } from '@quantum-design/hooks';

const { updateCssVariables } = useDesignTokens();

// 更改主题色
updateCssVariables({ primaryColor: '#f5222d' });

自定义 CSS 变量

typescript
import { useDesignTokens } from '@quantum-design/hooks';

const { updateCssVariables } = useDesignTokens();

// 自定义 CSS 变量
updateCssVariables({
    customVariables: {
        '--header-bg': '#f0f2f5',
        '--body-bg': '#ffffff',
    },
});

MIT Licensed