跳到主要内容

主题配置

范式组件库的主题是为了降低业务方接入成本而引入的一个机制,目的是将大量多个业务线可复用的配置项封装到组件内部,业务方在使用组件时只需要配置主题即可实现几乎 “零成本” 接入;另一方面,将可复用的配置项封装在组件内部,也是便于后续业务方迭代升级,多个业务方后期只需要升级组件版本即可。

使用示例:

import { init, PRESET_THEME } from 'path/to/bundle.esm.min.js';

const chart = init('#chart', 'mobile-app-light');
// 等同于 (v1.2.0+)
const chart = init('#chart', PRESET_THEME.MOBILE_APP_LIGHT);

设计 Token

支持设计 Token 机制之后(v1.2.0+),组件库还允许在主题层面对部分 Token 进行覆盖:

import { init, PRESET_THEME } from 'path/to/bundle.esm.min.js';

const chart = init('#chart', {
name: PRESET_THEME.MOBILE_APP_LIGHT,
token: {
fontSizeLabel: 26,
colorTextSecondary: 'red',
colorVisualizationPrimary: ['#f39800'],
colorVisualizationDivider: '#3366FF'
}
});
深入理解设计 Token

关于设计 Token 可参考该文章进一步了解:Design tokens, what?

设计规范拟定的token内容可见末尾

注意

设计 Token 的实现目前还没有覆盖所有组件和图表。

预置主题

目前,组件库中预先提供的主题配置分为两大类,即 “通用主题”“业务主题”,它们均具备可复用性,但前者覆盖的范围更广泛,后者通常覆盖某几个特殊的业务场景。

通用主题

mobile-app-light

移动平台 App 客户端(日间版)。

已经适配组件与图表
  • 柱状图(bar
    • 动态柱状图
  • 折线图(line
  • 散点图(scatter
  • 矩形树图(treemap
  • 双向树图(dvTwoWayTree

mobile-app-dark

移动平台 App 客户端(夜间版)。

已经适配组件与图表
  • 柱状图(bar
  • 折线图(line
  • 散点图(scatter
  • 双向树图(dvTwoWayTree

pc-app-light

PC 平台客户端(日间版)。

已经适配组件与图表
  • 柱状图(bar
  • 折线图(line
  • 散点图(scatter

pc-app-dark

PC 平台客户端(夜间版)。

已经适配组件与图表
  • 柱状图(bar
    • 动态柱状图
  • 折线图(line

pc-wencai-light

PC 平台问财业务线(日间版)。

已经适配组件与图表
  • 动态柱状图
  • 散点图(scatter
  • 矩形树图(treemap

ainvest-app-light

海外 AInvest 平台 App 客户端(日间版)。

已经适配组件与图表
  • 柱状图(bar
  • 折线图(line
  • 饼图(pie

ainvest-app-dark

海外 AInvest 平台 App 客户端(夜间版)。

已经适配组件与图表
  • 柱状图(bar
  • 折线图(line
  • 饼图(pie

业务主题

business-treemap-market-light

已经适配组件与图表
  • 矩形树图(treemap

设计规范token

const AIGCTokenLight: Token = {
'font-weight-regular': 400,
'font-weight-medium': 500,
'font-weight-bold': 600,

// 阴影大小
'shadow-elevation-small': '',
'shadow-elevation-medium': '',
'shadow-elevation-large': '',

// 字号
'font-size-super-large': 24,
'font-size-extra-large': 20,
'font-size-large': 18,
'font-size-base': 16,
'font-size-medium': 14,
'font-size-small': 13,
'font-size-extra-small': 12,
'font-size-super-small': 11,
'font-size-xxs': 10,
'font-size-xxxs': 9,

// 行高
'line-height-super-large': 30,
'line-height-extra-large': 24,
'line-height-large': 22,
'line-height-base': 20,
'line-height-medium': 18,
'line-height-small': 16,
'line-height-extra-small': 14,
'line-height-super-small': 12,
'line-height-xxs': 10,

// 层级
'z-index-axisLabel': 57,
'z-index-series': 50,
'z-index-splitLine': 0,
'z-index-axisPointer': 25,
'z-index-data-item': 50,
'z-index-marker': 7,

// 颜色 默认主色
'color-visualization-primary': '#3366ff',
'color-visualization-01': '#ff4019',
'color-visualization-02': '#ff9500',
'color-visualization-03': '#62b312',
'color-visualization-04': '#14ccbd',
'color-visualization-05': '#199fff',
'color-visualization-06': '#4433ff',
'color-visualization-07': '#ff33aa',
'color-visualization-08': '#cc41d9',
'color-visualization-09': '#858585',
// 颜色 分割线颜色
'color-visualization-divider': 'rgba(0, 0, 0, 0.06)',
// 颜色 零轴颜色
'color-visualization-divider-deep': '#858585',
// 颜色 tooltip背景
'color-visualization-tooltip': '#3b3b3b',
// 颜色 axisPointer文本颜色和文本背景色和线的颜色
'color-visualization-highlight-background-tick': '#3366ff',
'color-visualization-highlight-line': 'rgba(0, 0, 0, 0.6)',
'color-visualization-highlight-block': 'rgba(0, 0, 0, 0.1)',

// 颜色 弱化背景色
'color-background-weak': 'rgba(0, 0, 0, 0.04)',

// 颜色 涨跌色
'color-price-up': '#ff2436',
'color-price-down': '#07abab',
'color-price-even': 'rgba(0, 0, 0, 0.84)',

// 交易业务-下跌
'color-deal-price-down': '#4691ee',

// 下跌-色弱模式
'color-price-down-weakness': '#0ca3b0',

// 文字/图标颜色
'color-text-primary': 'rgba(0, 0, 0, 0.84)',
'color-text-secondary': 'rgba(0, 0, 0, 0.6)',
'color-text-tertiary': 'rgba(0, 0, 0, 0.4)',
'color-text-quanternary': 'rgba(0, 0, 0, 0.24)',

// 反色
'color-text-inverse': '#ffffff',
'color-text-inverse-primary': 'rgba(255, 255, 255, 0.84)',
'color-text-inverse-secondary': 'rgba(255, 255, 255, 0.6)',
'color-text-inverse-tertiary': 'rgba(255, 255, 255, 0.4)',
'color-text-inverse-quanternary': 'rgba(255, 255, 255, 0.24)',

// 文字链接色
'color-text-link': '#4167d9'
};