文档定制Scales

Scales

Scales 可将 tokenssemanticTokens 与 CSS 属性关联,使得 CSS 属性能够映射到相应的 Token 类型,进而允许 CSS 属性能够使用相应类型的 Tokens 作为值。

自定义 Scales

Scales 可在您的主题配置 theme.scales 部分定义:

import { defineTheme } from '@nex-ui/react' const theme = defineTheme({ tokens: { colors: { blue: { 500: '#006fee', }, gray: '#fafafa', }, sizes: { 10: '40px', }, spaces: { 5: '20px', }, }, semanticTokens: { colors: { primary: '#06b6d4', }, }, scales: { color: 'colors', backgroundColor: 'colors', borderColor: 'colors', width: 'sizes', padding: 'spaces', }, })

Scale 的 keyCSSProperty 类型, valueTokenCategory 类型。

💡
此处 Alias 无需再关联 CSS 属性。

通过上述定义之后,在 sx 属性、 defineRecipedefineSlotRecipe 等方法使用中,colorborderColorbackgroundColor 可直接引用 Colors 类型的 Tokens, width 引用 Sizes 类型的 Tokens, padding 引用 Spaces 类型的 Tokens。

import { Box } from '@nex-ui/react' export default function App() { return ( <Box sx={{ color: 'gray', backgroundColor: 'primary', border: '1px solid', borderColor: 'blue.500', width: '10', padding: '5', }} > Box </Box> ) }

TypeScript

如果您正在使用 TypeScript,可通过 Module Augmentation 扩展自定义的 Scales。

declare module '@nex-ui/react' { interface ScalesOverrides { color: 'colors' backgroundColor: 'colors' borderColor: 'colors' width: 'sizes' padding: 'spaces' } }

默认可用的 Scales

CSS PropertyToken Category
colorcolors
borderColorcolors
backgroundColorcolors
borderBottomColorcolors
borderTopColorcolors
borderLeftColorcolors
borderRightColorcolors
fillcolors
strokecolors
widthsizes
minWidthsizes
maxWidthsizes
heightsizes
minHeightsizes
maxHeightsizes
fontWeightfontWeights
lineHeightlineHeights
fontFamilyfontFamilies
fontSizefontSizes
paddingspaces
paddingTopspaces
paddingBottomspaces
paddingLeftspaces
paddingRightspaces
marginRightspaces
marginTopspaces
marginLeftspaces
marginBottomspaces
marginspaces
topspaces
leftspaces
rightspaces
bottomspaces
gapspaces
rowGapspaces
columnGapspaces
gridGapspaces
gridColumnGapspaces
gridRowGapspaces
borderRadiusradii
borderTopRightRadiusradii
borderTopLeftRadiusradii
borderBottomRightRadiusradii
borderBottomLeftRadiusradii
borderTopWidthborderWidths
borderBottomWidthborderWidths
borderLeftWidthborderWidths
borderRightWidthborderWidths
borderWidthborderWidths
borderborders
borderTopborders
borderBottomborders
borderRightborders
borderLeftborders
boxShadowshadows
transitiontransitions
zIndexzIndexes
最后更新时间