我在项目中使用的一些个人 Storybook 文档块的集合,用于以更直观的方式记录设计令牌、颜色、排版等 🧉
📚 文档块
ColorPalette
使用 /
import { ColorPalette } from "@lucas-labs/plots";
export const palette = [
{
label: 'text',
color: '#320b4f'
},
{
label: 'background',
color: '#feefec'
},
{
name: 'base',
colors: [
{ label: 'secondary', color: '#9985a7' },
{ label: 'dark', color: '#0d0d0d' },
{ label: 'light', color: '#ffffff' },
{ label: 'disabled', color: '#5c5c5c' },
]
},
...
];
<ColorPalette palettes={palette} />
EffectsPalette
使用 /
import { EffectsPalette } from "@lucas-labs/plots";
export const effects = [
{
name: 'shadows',
effects: [
{
label: 'noticeable',
description: 'diffuse and more noticeable shadow for big elements',
style: {
boxShadow: '0px 24px 24px rgba(50, 11, 79, 0.16)',
}
},
...
]
}
];
<EffectsPalette effects={effects} />
SpacingSet
使用 /
import { SpacingSet } from "@lucas-labs/plots";
export const measures = [
{
name: 'spacing',
measures: [
{ label: '.25x', value: '4px' },
{ label: '.5x', value: '8px' },
...
]
},
{
name: 'radius',
type: 'radius',
measures: [
{ label: '1', value: '4px' },
{ label: '2', value: '8px' },
...
]
}
];
<SpacingSet measures={measures} />
TypeSet
使用 /
import { TypeSet } from "@lucas-labs/plots";
export const typographies = [
{
name: 'headings / display',
fontFamily: 'Outfit',
size: '5rem',
weight: '600',
lineHeight: '5.5rem',
letterSpacing: '-0.125rem',
},
{
typographies: [
{
name: 'xs',
fontFamily: 'Inter',
size: '0.75rem',
weight: '400',
lineHeight: 'normal',
letterSpacing: '0.031rem',
},
{
name: 'xs-bold',
fontFamily: 'Inter',
size: '0.75rem',
weight: '600',
lineHeight: 'normal',
letterSpacing: 'normal',
},
]
},
...
];
<TypeSet typographies={typographies} />