
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@snack-uikit/figma-tokens
Advanced tools
ΠΠ°ΠΊΠ΅Ρ figma-ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π΄ΠΈΠ·Π°ΠΉΠ½-ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Cloud.ru ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° TeamSnack
pnpm depspnpm build:allΠ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ:
build/css/brand.module.cssbuild/scss:
build/scss/brand.scss - ΡΠ°ΠΉΠ» Ρ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π² ΠΌΠΈΠΊΡΠΈΠ½Ρ lightThemeMode ΠΈ darkThemeMode.build/tsΠΡΡΡ 3 ΡΠ»ΠΎΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² - Π±Π°Π·ΠΎΠ²ΡΠ΅, ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ (Π»Π΅ΠΆΠ°Ρ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ Base, Theme ΠΈ Components ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ)

simple-var Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ΅ΡΠ΅Π· css-var, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.buttonLabel {
color: simple-var($theme-variables, 'sys', 'primary', 'on-accent');
// ΠΈΠ»ΠΈ
color: $sys-primary-on-accent;
}
composite-var.buttonLabel {
@include composite-var($theme-variables, 'sans', 'label', 'size-s');
// ΠΈΠ»ΠΈ
@include composite-var($sans-label-size-s);
}
outline-var.button {
&:focus-visible {
@include outline-var($container-focused-available-size-s);
}
}

Base/Colors (References palette) ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ System palette ΠΡΠΎ Π½Π°Π±ΠΎΡΡ ΡΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ²Π΅Ρ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ Π½Π° 20 ΡΠΎΠ½ΠΎΠ² ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ»ΠΎΠ³ΠΎ. ΠΠ»Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΎ ΡΠ²Π΅ΡΠ΅, ΠΎΠ½ΠΈ ΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌΠΈ ΡΠ²Π΅ΡΠ°ΠΌΠΈ ΡΠ°Π΄ΡΠ³ΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° System palette
Themes/Color (System palette) ΠΠ°Π±ΠΎΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Components ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΠΊ Π² figma, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄Π΅. ΠΡΠΈ ΡΡΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Composition ΡΠΎΠΊΠ΅Π½Π°Ρ . ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ° Π² Composition ΡΠΎΠΊΠ΅Π½Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ΄Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Composition ΡΠΎΠΊΠ΅Π½Π°. System ΠΏΠ°Π»ΠΈΡΡΠ°, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ References, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ². System ΠΏΠ°Π»ΠΈΡΡΠ° ΠΈΠΌΠ΅Π΅Ρ 2 ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ - ΡΠ΅ΠΌΠ½Π°Ρ ΠΈ ΡΠ²Π΅ΡΠ»Π°Ρ. ΠΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π°ΡΠ»Π΅Π΄ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ½Π° References ΠΏΠ°Π»ΠΈΡΡΡ, Π½Π°ΡΠ»Π΅Π΄ΠΈΠ΅ ΡΠΎΠ½ΠΎΠ² Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Components.
Base/Fonts ΠΠ°Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΠΊΠΈ - ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΡΠΈΡΡΠΎΠ², Π²Π΅Ρ ΡΡΠΈΡΡΠ°, Π²ΡΡΠΎΡΠ° ΡΡΡΠΎΠΊΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΈΡΡΠ°, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠΊΠ²Π°ΠΌΠΈ, ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π°Π±Π·Π°ΡΠ°ΠΌΠΈ, Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ ΡΠ΅ΠΊΡΡΠ° ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Typography
Themes/Typography ΠΠ°Π±ΠΎΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΠΊΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΡΠΈΠ³ΠΌΠ° ΠΈ ΠΊΠΎΠ΄Π΅.Π‘Π΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΡΡΠΈΠ»Π΅ΠΉ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° 5 ΡΠΎΠ»Π΅ΠΉ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠ»ΠΈ Π·Π°Π΄Π°ΡΡΡΡ ΠΏΠΎ 3 ΡΠ°Π·ΠΌΠ΅ΡΠ°. Typography ΠΈΠΌΠ΅Π΅Ρ 2 ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ - ΡΠ΅ΠΌΠ½Π°Ρ ΠΈ ΡΠ²Π΅ΡΠ»Π°Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»Π΅ΠΉ Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ. Π¦Π²Π΅Ρ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΠΊΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΈΠ· Themes/Color ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Components
Themes/Effects ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΎΠ² - ΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΡΡΠΈΡ ΠΠ°Π±ΠΎΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Components ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΠΊ Π² ΡΠΈΠ³ΠΌΠ°, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄Π΅. Effects ΠΈΠΌΠ΅Π΅Ρ 2 ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ - ΡΠ΅ΠΌΠ½Π°Ρ ΠΈ ΡΠ²Π΅ΡΠ»Π°Ρ. ΠΡΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Components
Base/Anatomy ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°Π½Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² - ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ², ΠΎΡΡΡΡΠΏΠΎΠ², Π±ΠΎΡΠ΄Π΅ΡΠΎΠ², ΡΠΊΡΡΠ³Π»Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Settings
Themes/Settings ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°Π½Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Components. ΠΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π½Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ΅ΠΌΡ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Composition tokens, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π°Π½Π°ΡΠΎΠΌΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΡΠΎ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π½Π° ΡΠ»ΠΎΠ΅ Components. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π°Π½Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ. ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Composition token.
* 7.1 **Themes/Settings**
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°Π½Π°ΡΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Components.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΡΠΌΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΊΠ°ΠΊ Π² ΡΠΈΠ³ΠΌΠ°, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄Π΅ Π² ΡΠ»ΡΡΠ°ΡΡ
ΠΊΠΎΠ³Π΄Π° Composition token ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΠΊΠΎΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΡΠ΅Ρ Π΄ΡΠΎΠΏΠ»ΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· 4 Π΅Π³ΠΎ ΡΡΠΎΡΠΎΠ½, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π΅Π³ΠΎ ΡΡΠΈΠ³Π³Π΅Ρ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΡΠΎΡ ΠΎΡΡΡΠ΅Ρ Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ (Π° Π·Π½Π°ΡΠΈΡ, Π½Π΅ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Composition token).
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΡΠΎΠΊΠ΅Π½Π΅.
ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Components ΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ Components.
Components/Composition tokens ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Components ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Components. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² ΡΠ΅Π±Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π°Π½Π°ΡΠΎΠΌΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Settings ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Components ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΠΊ Π² ΡΠΈΠ³ΠΌΠ°, ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄Π΅. ΠΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΡΡΡΡ Π½Π° Components.
@snack-uikit/figma-tokens Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈvar, simple-var ΠΈΠ»ΠΈ composite-var@import '@snack-uikit/figma-tokens/build/scss/styles-theme-variables';
.wrapper {
color: $sys-primary-text-main-enabled;
opacity: simple-var($theme-variables, 'opacity', 'a032');
@include composite-var($sans-label-l);
}
import { styled } from '@linaria/react';
import { themeVars } from '@snack-uikit/figma-tokens';
export const Wrapper = styled.div`
color: ${themeVars.sys.primary.textMainEnabled};
${themeVars.sans.label.s};
`;
@snack-uikit/figma-tokens Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈButtonFilled.tsx) ΠΈ scss-ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ (styles.module.scss), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°styles.module.scss (ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΠ΅ - ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡΠΆΠ½Ρ):
@import '@snack-uikit/figma-tokens/build/scss/styles-theme-variables';
@import '@snack-uikit/figma-tokens/build/scss/components/styles-tokens-***';
var, simple-var ΠΈΠ»ΠΈ composite-var
// ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΈΠ½Π°, Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ
$sizes: s, m, l;
$variants: label-only, icon-only, label-icon;
@mixin button-anatomy-styles {
@each $size in $sizes {
&[data-size='#{$size}'] {
@each $variant in $variants {
&[data-variant='#{$variant}'] {
@include composite-var($button-filled, 'container', $size, $variant);
}
}
}
}
}
.button {
@include button-anatomy-styles;
}
import styles from './styles.module.scss';
export type ButtonFilledProps = {
label?: string;
size?: Size;
variant?: Variant;
disabled?: boolean;
loading?: boolean;
};
export const ButtonFilled = ({ label, size, variant, disabled, loading }: ButtonFilledProps) => {
return (
<button
className={classNames.button}
data-size={size}
data-variant={variant}
data-disabled={disabled || undefined}
data-loading={loading || undefined}
>
<label className={styles.label}>{label}</label>
</button>
);
};
Π‘Π±ΠΎΡΠΊΠ° json-ΠΎΠ² c ΠΏΠΎΠΌΠΎΡΡΡ token-transformer (Π² ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π»Ρ style-dictionary) (scripts/buildTokens)
build/tokens/themes)
tokens/$themes.json ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ±ΠΎΡΠΊΠ° ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (Π² ΡΠ°ΠΉΠ»Π΅ Π»Π΅ΠΆΠΈΡ 2 ΠΊΠΎΠ½ΡΠΈΠ³Π° Π΄Π»Ρ ΡΠ΅ΠΌ, Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ - ΡΠ²-Π²ΠΎ selectedTokenSets)build/tokens/components)
Π‘Π±ΠΎΡΠΊΠ° css, scss ΠΈ ts ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· json-ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ style-dictionary (scripts/buildStyleFiles)
build/css/brand.module.css)build/scss/styles-theme-variables.scss)build/ts/styles-theme-variables.ts)build/scss/components)
scripts/buildStyleFiles/transformersscripts/buildStyleFiles/tokenFilters.tsscripts/buildStyleFiles/fileFormattersscripts/buildStyleFiles/utils/getCSSModuleThemeConfig.ts - ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ css-ΡΠ°ΠΉΠ»Π°scripts/buildStyleFiles/utils/getSCSSThemeVariablesConfig.ts - ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ scss-ΡΠ°ΠΉΠ»Π° Ρ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈscripts/buildStyleFiles/utils/getTSThemeVariablesConfig.ts - ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ts-ΡΠ°ΠΉΠ»Π° Ρ ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈscripts/buildStyleFiles/utils/getComponentStylesConfig.ts - ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ
scss ΡΠ°ΠΉΠ»ΠΎΠ²ΠΠΈΠ΄Π΅ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅
CI_NPM_TOKEN Ρ Access ΡΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΈΠ· npmjs (Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°)ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠΎΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ pnpm Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² CI/CD Π½Π°ΡΡΡΠΎΠ΅Π½ pnpm.
brand ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ Π² ΠΊΠΎΡΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ github-settings-exampleYOUR_PACKAGE_NAME, YOUR_BRAND, YOUR USERNAME, YOUR_USERNAME) Π² patch.package.jsonorigin/branddefault branch Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° brandbrand ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡΠ΅Π½Π΄Π°.brand Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Pull Requestmaster ΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡ Π²Π΅ΡΠΊΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌbrand ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΡΠΊΡΠ»ΠΎΡ Auto fork syncRelease PreviewFAQs
Figma Tokens for Cloud Design System
We found that @snack-uikit/figma-tokens demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authoritiesβ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socketβs new workflow scanning support.