CSS Variables
Vueland UI использует слоистую систему CSS custom properties:
--c-ref-*- reference-токены с базовыми значениями палитры.--c-sys-*- глобальные system-токены темизации, которые используют компоненты и стили приложения.--c-{component}-*- компонентные токены. Они описаны на страницах компонентов.
Эта страница описывает глобальные reference и system токены. Старые --global-* переменные больше не используются.
Переопределение темы
System-токены можно переопределять через themes в createVuelandUI. CamelCase-ключи мапятся в CSS-переменные: primary -> --c-sys-color-primary, shapeMd -> --c-sys-shape-md, motionDurationFast -> --c-sys-motion-duration-fast.
createVuelandUI({
theme: 'light',
themes: {
light: {
primary: '#4f6ef7',
onPrimary: '#ffffff',
surface: '#ffffff',
onSurface: '#1f2937',
shapeMd: '10px',
motionDurationFast: '100ms',
},
},
})Ключи, которые уже начинаются с --, передаются как есть. Используйте это только для точечных интеграций; для темы предпочтительнее короткие system-ключи.
Reference Tokens
Reference-токены задаются в :root и служат сырой палитрой для system-ролей. У них нет коротких ключей ThemeDefinition; при необходимости их можно переопределить только как прямые CSS custom properties.
--c-ref-color-white#ffffff--c-ref-color-black#000000--c-ref-color-neutral-0#ffffff--c-ref-color-neutral-50#fafafa--c-ref-color-neutral-100#f5f5f5--c-ref-color-neutral-200#eeeeee--c-ref-color-neutral-300#e0e0e0--c-ref-color-neutral-400#bdbdbd--c-ref-color-neutral-500#9e9e9e--c-ref-color-neutral-600#757575--c-ref-color-neutral-700#616161--c-ref-color-neutral-800#424242--c-ref-color-neutral-900#212121--c-ref-color-neutral-950#000000--c-ref-color-blue-40#1976d2--c-ref-color-blue-50#1e88e5--c-ref-color-blue-80#90caf9--c-ref-color-blue-90#bbdefb--c-ref-color-blue-95#e3f2fd--c-ref-color-green-40#4caf50--c-ref-color-green-80#81c784--c-ref-color-green-95#e8f5e9--c-ref-color-red-40#e53935--c-ref-color-red-80#e57373--c-ref-color-red-95#ffebee--c-ref-color-orange-40#ff9800--c-ref-color-orange-80#ffb74d--c-ref-color-orange-95#fff3e0--c-ref-color-cyan-40#039be5--c-ref-color-cyan-80#4fc3f7--c-ref-color-cyan-95#e1f5fe--c-ref-color-lime-40#7cb342--c-ref-color-lime-80#aed581--c-ref-color-lime-95#f1f8e9System Color Tokens
--c-sys-color-schemeschemelightdarkcolor-scheme--c-sys-color-primaryprimaryvar(--c-ref-color-blue-40)var(--c-ref-color-blue-80)--c-sys-color-primary-rgbprimaryRgb25, 118, 210144, 202, 249--c-sys-color-on-primaryonPrimaryvar(--c-ref-color-white)var(--c-ref-color-neutral-950)--c-sys-color-primary-containerprimaryContainervar(--c-ref-color-blue-95)#1565c0--c-sys-color-on-primary-containeronPrimaryContainer#0d47a1var(--c-ref-color-blue-95)--c-sys-color-secondarysecondary#1565c0#64b5f6--c-sys-color-on-secondaryonSecondaryvar(--c-ref-color-white)var(--c-ref-color-neutral-950)--c-sys-color-secondary-containersecondaryContainervar(--c-ref-color-blue-90)#0d47a1--c-sys-color-on-secondary-containeronSecondaryContainer#0d47a1var(--c-ref-color-blue-90)--c-sys-color-tertiarytertiaryvar(--c-ref-color-lime-40)var(--c-ref-color-lime-80)--c-sys-color-on-tertiaryonTertiaryvar(--c-ref-color-black)var(--c-ref-color-neutral-950)--c-sys-color-tertiary-containertertiaryContainervar(--c-ref-color-lime-95)#33691e--c-sys-color-on-tertiary-containeronTertiaryContainer#33691evar(--c-ref-color-lime-95)--c-sys-color-successsuccessvar(--c-ref-color-green-40)var(--c-ref-color-green-80)--c-sys-color-on-successonSuccessvar(--c-ref-color-white)var(--c-ref-color-neutral-950)--c-sys-color-success-containersuccessContainervar(--c-ref-color-green-95)#1b5e20--c-sys-color-on-success-containeronSuccessContainer#1b5e20var(--c-ref-color-green-95)--c-sys-color-errorerrorvar(--c-ref-color-red-40)var(--c-ref-color-red-80)--c-sys-color-on-erroronErrorvar(--c-ref-color-white)var(--c-ref-color-neutral-950)--c-sys-color-error-containererrorContainervar(--c-ref-color-red-95)#b71c1c--c-sys-color-on-error-containeronErrorContainer#b71c1cvar(--c-ref-color-red-95)--c-sys-color-warningwarningvar(--c-ref-color-orange-40)var(--c-ref-color-orange-80)--c-sys-color-on-warningonWarningvar(--c-ref-color-black)var(--c-ref-color-neutral-950)--c-sys-color-warning-containerwarningContainervar(--c-ref-color-orange-95)#e65100--c-sys-color-on-warning-containeronWarningContainer#e65100var(--c-ref-color-orange-95)--c-sys-color-infoinfovar(--c-ref-color-cyan-40)var(--c-ref-color-cyan-80)--c-sys-color-on-infoonInfovar(--c-ref-color-white)var(--c-ref-color-neutral-950)--c-sys-color-info-containerinfoContainervar(--c-ref-color-cyan-95)#01579b--c-sys-color-on-info-containeronInfoContainer#01579bvar(--c-ref-color-cyan-95)--c-sys-color-backgroundbackgroundvar(--c-ref-color-neutral-100)#121212--c-sys-color-on-backgroundonBackgroundvar(--c-ref-color-neutral-900)var(--c-ref-color-neutral-300)--c-sys-color-surfacesurfacevar(--c-ref-color-neutral-0)#1e1e1e--c-sys-color-surface-dimsurfaceDimvar(--c-ref-color-neutral-100)#121212--c-sys-color-surface-brightsurfaceBrightvar(--c-ref-color-white)#2f2f2f--c-sys-color-surface-container-lowestsurfaceContainerLowestvar(--c-ref-color-white)#161616--c-sys-color-surface-container-lowsurfaceContainerLowvar(--c-ref-color-neutral-50)#202020--c-sys-color-surface-containersurfaceContainervar(--c-ref-color-neutral-100)#242424--c-sys-color-surface-container-highsurfaceContainerHighvar(--c-ref-color-neutral-200)#2a2a2a--c-sys-color-surface-container-highestsurfaceContainerHighestvar(--c-ref-color-neutral-300)#333333--c-sys-color-surface-variantsurfaceVariantvar(--c-ref-color-neutral-200)#2f2f2f--c-sys-color-on-surfaceonSurfacevar(--c-ref-color-neutral-900)var(--c-ref-color-neutral-300)--c-sys-color-on-surface-variantonSurfaceVariantvar(--c-ref-color-neutral-700)var(--c-ref-color-neutral-400)--c-sys-color-inverse-surfaceinverseSurfacevar(--c-ref-color-neutral-900)var(--c-ref-color-neutral-300)--c-sys-color-inverse-on-surfaceinverseOnSurfacevar(--c-ref-color-neutral-100)var(--c-ref-color-neutral-900)--c-sys-color-outlineoutlinevar(--c-ref-color-neutral-600)var(--c-ref-color-neutral-500)--c-sys-color-outline-variantoutlineVariantvar(--c-ref-color-neutral-300)var(--c-ref-color-neutral-800)--c-sys-color-placeholderplaceholdervar(--c-ref-color-neutral-500)var(--c-ref-color-neutral-600)--c-sys-color-disableddisabledvar(--c-ref-color-neutral-500)var(--c-ref-color-neutral-700)--c-sys-color-disabled-containerdisabledContainervar(--c-ref-color-neutral-200)var(--c-sys-color-surface-container-high)--c-sys-color-readonlyreadonlyvar(--c-sys-color-primary)var(--c-sys-color-primary)--c-sys-color-readonly-containerreadonlyContainervar(--c-ref-color-neutral-100)var(--c-sys-color-surface-container-high)--c-sys-color-focus-ringfocusRingvar(--c-sys-color-primary)var(--c-sys-color-primary)--c-sys-color-scrimscrimrgba(0, 0, 0, 0.5)rgba(0, 0, 0, 0.7)--c-sys-color-shadowshadowrgba(0, 0, 0, 0.15)rgba(0, 0, 0, 0.4)System State Tokens
--c-sys-state-hover-opacitystateHoverOpacity0.08--c-sys-state-focus-opacitystateFocusOpacity0.16--c-sys-state-pressed-opacitystatePressedOpacity0.12--c-sys-state-dragged-opacitystateDraggedOpacity0.16--c-sys-state-disabled-opacitystateDisabledOpacity0.50.4--c-sys-state-disabled-container-opacitystateDisabledContainerOpacity0.120.16--c-sys-state-hover-colorstateHoverColorrgba(var(--c-sys-color-primary-rgb), var(--c-sys-state-hover-opacity))--c-sys-state-focus-colorstateFocusColorrgba(var(--c-sys-color-primary-rgb), var(--c-sys-state-focus-opacity))--c-sys-state-pressed-colorstatePressedColorrgba(var(--c-sys-color-primary-rgb), var(--c-sys-state-pressed-opacity))--c-sys-state-selected-colorstateSelectedColorrgba(var(--c-sys-color-primary-rgb), var(--c-sys-state-pressed-opacity))System Typography Tokens
--c-sys-typography-font-family-basetypographyFontFamilyBaseinherit--c-sys-typography-font-family-monotypographyFontFamilyMonoui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace--c-sys-typography-body-sizetypographyBodySize1rem--c-sys-typography-body-line-heighttypographyBodyLineHeight1.5--c-sys-typography-label-sizetypographyLabelSize0.875rem--c-sys-typography-label-line-heighttypographyLabelLineHeight1.25rem--c-sys-typography-label-weighttypographyLabelWeight500--c-sys-typography-title-sizetypographyTitleSize1.125rem--c-sys-typography-title-line-heighttypographyTitleLineHeight1.5rem--c-sys-typography-title-weighttypographyTitleWeight600System Spacing And Control Tokens
--c-sys-space-0space00--c-sys-space-1space14px--c-sys-space-2space28px--c-sys-space-3space312px--c-sys-space-4space416px--c-sys-space-5space520px--c-sys-space-6space624px--c-sys-space-8space832px--c-sys-space-10space1040px--c-sys-density-scaledensityScale0px--c-sys-control-height-smcontrolHeightSm32px--c-sys-control-height-mdcontrolHeightMd42px--c-sys-control-height-lgcontrolHeightLg48px--c-sys-control-padding-inlinecontrolPaddingInlinevar(--c-sys-space-3)--c-sys-control-icon-sizecontrolIconSize24pxSystem Shape And Border Tokens
--c-sys-shape-noneshapeNone0--c-sys-shape-xsshapeXs2px--c-sys-shape-smshapeSm4px--c-sys-shape-mdshapeMd8px--c-sys-shape-lgshapeLg12px--c-sys-shape-xlshapeXl16px--c-sys-shape-pillshapePill9999px--c-sys-border-width-thinborderWidthThin1px--c-sys-border-width-mediumborderWidthMedium1.5px--c-sys-border-width-thickborderWidthThick2pxSystem Elevation And Motion Tokens
--c-sys-elevation-0elevation0none--c-sys-elevation-1elevation1--c-sys-elevation-2elevation2--c-sys-elevation-3elevation3--c-sys-elevation-4elevation4--c-sys-elevation-5elevation5--c-sys-motion-duration-instantmotionDurationInstant0ms--c-sys-motion-duration-fastmotionDurationFast120ms--c-sys-motion-duration-mediummotionDurationMedium200ms--c-sys-motion-duration-slowmotionDurationSlow320ms--c-sys-motion-easing-linearmotionEasingLinearlinear--c-sys-motion-easing-standardmotionEasingStandardcubic-bezier(0.25, 0.8, 0.5, 1)--c-sys-motion-easing-emphasizedmotionEasingEmphasizedcubic-bezier(0.2, 0, 0, 1)