πŸš€ DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more β†’
Socket
Book a DemoInstallSign in
Socket

@snack-uikit/figma-tokens

Package Overview
Dependencies
Maintainers
3
Versions
165
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@snack-uikit/figma-tokens

Figma Tokens for Cloud Design System

latest
Source
npmnpm
Version
18.0.1
Version published
Maintainers
3
Created
Source

Figma tokens

ΠŸΠ°ΠΊΠ΅Ρ‚ figma-Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π΄ΠΈΠ·Π°ΠΉΠ½-систСмы ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Cloud.ru ΠΈ сообщСства TeamSnack

  • ΠœΠ°ΠΊΠ΅Ρ‚Ρ‹ Figma
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для прСсборки Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²: Token Transformer
  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для сборки json-Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ стилСвыС Ρ„Π°ΠΉΠ»Ρ‹: Style Dictionary

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

  • УстановитС зависимости: pnpm deps
  • ЗапуститС сборку: pnpm build:all

Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ:

  • CSS-Ρ„Π°ΠΉΠ» со значСниями Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² (содСрТит Π΄Π²Π° класса для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ - .light ΠΈ .dark): build/css/brand.module.css
  • SCSS-Ρ„Π°ΠΉΠ»Ρ‹ с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ: build/scss: build/scss/brand.scss - Ρ„Π°ΠΉΠ» с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ, собранными Π² миксины lightThemeMode ΠΈ darkThemeMode.
  • TS-Ρ„Π°ΠΉΠ»Ρ‹ с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ: build/ts

Π Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ

Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²

Π•ΡΡ‚ΡŒ 3 слоя Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² - Π±Π°Π·ΠΎΠ²Ρ‹Π΅, тСматичСскиС ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ (Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… Base, Theme ΠΈ Components соотвСтствСнно)

  • Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ - самыС основныС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹; Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ†Π²Π΅Ρ‚ΠΎΠ², ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΈ Π°Π½Π°Ρ‚ΠΎΠΌΠΈΠΈ
  • ВСматичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ - ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹; ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π΄Π²ΡƒΡ… модификациях для Ρ†Π²Π΅Ρ‚ΠΎΠ² - Light ΠΈ Dark
  • Π’ΠΎΠΊΠ΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² - ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π° тСматичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ (Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Π΅, Ссли Π½Π΅ трСбуСтся тСмизация ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ св-Π²); ΠΏΠΎΠ΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ

Tokens Structure

Π’ΠΈΠΏΡ‹ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²

  • ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ - Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ содСрТат ΠΎΠ΄Π½ΠΎ св-Π²ΠΎ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ св-Π²Ρƒ css с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ simple-var Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· css-var, Ссли это простая пСрСмСнная
.buttonLabel {
  color: simple-var($theme-variables, 'sys', 'primary', 'on-accent');
  // ΠΈΠ»ΠΈ
  color: $sys-primary-on-accent;
}
  • ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹Π΅ (composite, typography, border) - Ρ‚ΠΎΠΊΠ΅Π½ Π²Π½ΡƒΡ‚Ρ€ΠΈ содСрТит нСсколько св-Π² css - ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ миксина composite-var
.buttonLabel {
  @include composite-var($theme-variables, 'sans', 'label', 'size-s');
  // ΠΈΠ»ΠΈ
  @include composite-var($sans-label-size-s);
}
  • Π‘Π»ΡƒΡ‡Π°ΠΈ-ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:
    • Π’ΠΎΠΊΠ΅Π½ для св-Π²Π° outline - Π² figma для Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, поэтому для Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Ρ‚ΠΈΠΏΠ° border. БоотвСтствСнно, для Π½Π΅Π³ΠΎ понадобится свой миксин outline-var
.button {
  &:focus-visible {
    @include outline-var($container-focused-available-size-s);
  }
}

Бвязи слоёв Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²

Tokens Structure

  • 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
  • scss
@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);
}
  • ts
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};
`;

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… uikit-a

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² uikit ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ @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-***';
  • Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ стили ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌ Π² figma, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· var, simple-var ΠΈΠ»ΠΈ composite-var
    • Π² scss ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ миксины ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
// ΠΏΡ€ΠΈΠΌΠ΅Ρ€ миксина, Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ

$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;
}
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ scss-Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с класснСймами, ΠΈ Π΄Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
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)
      • token-transformer собираСт Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ‚Π΅ΠΌΡ‹ Π² 2 ΠΎΠ±Ρ‰ΠΈΡ… Ρ„Π°ΠΉΠ»Π° - для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ dark ΠΈ light
      • Π‘Π±ΠΎΡ€ΠΊΠ° token-transformer-ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π΅Π·ΠΎΠ»Π² всСх зависимостСй ΠΈ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
    • Π‘Π±ΠΎΡ€ΠΊΠ° Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (ΠΏΠ°ΠΏΠΊΠ° build/tokens/components)
      • Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° собираСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ
      • Бвязи с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ Ρ‚Π΅ΠΌ ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ здСсь ΡƒΠΆΠ΅ Π½Π΅ рСзолвятся, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π΅ΠΌ Π² дальнСйшСм
      • Π’Π°ΠΆΠ½ΠΎ - Π² Ρ‚ΠΎΠΊΠ΅Π½Π°Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ! Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Π΅/тСматичСскиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹
  • Π‘Π±ΠΎΡ€ΠΊΠ° css, scss ΠΈ ts Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· json-ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ style-dictionary (scripts/buildStyleFiles)

    • Π‘Π±ΠΎΡ€ΠΊΠ° тСматичСских Ρ„Π°ΠΉΠ»ΠΎΠ²
      • Π€Π°ΠΉΠ» с Ρ‚Π΅ΠΌΠ°ΠΌΠΈ (build/css/brand.module.css)
      • Π€Π°ΠΉΠ»Ρ‹, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Ρ‚Π΅ΠΌΡ‹:
        • SCSS (build/scss/styles-theme-variables.scss)
        • TS (build/ts/styles-theme-variables.ts)
      • Π€Π°ΠΉΠ» с Ρ‚Π΅ΠΌΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Π²Π΅ΡΠΈΡ‚ΡŒ классы Π½Π° ΡΠ°ΠΌΡƒΡŽ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ
      • Π€Π°ΠΉΠ»Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ мСстС использования Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
    • Π‘Π±ΠΎΡ€ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (ΠΏΠ°ΠΏΠΊΠ° build/scss/components)
      • Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° собираСтся свой scss, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ - ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
    • ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со style-dictionary
      • Transform - трансформСры для Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² - функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сырой Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚
      • Filter - Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² - функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true/false - Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ список Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²
      • Format - Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ для Ρ„Π°ΠΉΠ»ΠΎΠ² - функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² сСбя ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ список Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° (Ρ‚.Π΅. Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ - это ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ scss Ρ„Π°ΠΉΠ»Π°)
      • ΠšΠΎΠ½Ρ„ΠΈΠ³ΠΈ для style-dictionary
        • scripts/buildStyleFiles/utils/getCSSModuleThemeConfig.ts - ΠΊΠΎΠ½Ρ„ΠΈΠ³ для сборки тСматичСского css-Ρ„Π°ΠΉΠ»Π°
        • scripts/buildStyleFiles/utils/getSCSSThemeVariablesConfig.ts - ΠΊΠΎΠ½Ρ„ΠΈΠ³ для сборки scss-Ρ„Π°ΠΉΠ»Π° с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ
        • scripts/buildStyleFiles/utils/getTSThemeVariablesConfig.ts - ΠΊΠΎΠ½Ρ„ΠΈΠ³ для сборки ts-Ρ„Π°ΠΉΠ»Π° с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ
        • scripts/buildStyleFiles/utils/getComponentStylesConfig.ts - ΠΊΠΎΠ½Ρ„ΠΈΠ³ для сборки ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… scss Ρ„Π°ΠΉΠ»ΠΎΠ²

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнной Ρ‚Π΅ΠΌΡ‹

Π’ΠΈΠ΄Π΅ΠΎ инструкция прСдставлСна ΠΏΠΎ ссылкС

Настройка Ρ„ΠΎΡ€ΠΊΠ° figma-tokens

  • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΈ создаСм Ρ„ΠΎΡ€ΠΊ
  • ДобавляСм Π² Repository secrets ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ CI_NPM_TOKEN с Access Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΈΠ· npmjs (для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ собствСнного ΠΏΠ°ΠΊΠ΅Ρ‚Π°)

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ pnpm Π² качСствС ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² CI/CD настроСн pnpm.

  • Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²Π΅Ρ‚ΠΊΡƒ brand ΠΈ пСрСносим Π² ΠΊΠΎΡ€Π΅Π½ΡŒ содСрТимоС ΠΏΠ°ΠΏΠΊΠΈ github-settings-example
  • ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ собствСнныС значСния (YOUR_PACKAGE_NAME, YOUR_BRAND, YOUR USERNAME, YOUR_USERNAME) Π² patch.package.json
  • ΠŸΡƒΡˆΠΈΠΌ измСния Π² origin/brand
  • МСняСм default branch Π² настройках рСпозитория Π½Π° brand

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ*

  • Π’Π΅Ρ‚ΠΊΠ° brand являСтся ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ для хранСния настроСк для собствСнного Π±Ρ€Π΅Π½Π΄Π°.
  • НовыС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² brand Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Pull Request
  • Π—Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΡˆΠΈ Π² Π²Π΅Ρ‚ΠΊΡƒ master ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ эту Π²Π΅Ρ‚ΠΊΡƒ синхронизированной с ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΠΎΠΌ
  • Для автоматичСской синхронизации Ρ„ΠΎΡ€ΠΊΠ° ΠΈ Ρ€Π΅Π±Π΅ΠΉΠ·Π° Π²Π΅Ρ‚ΠΊΠΈ brand ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ Auto fork sync
  • Для выпуска ΠΏΡ€Π΅Π²ΡŒΡŽ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ Release Preview

FAQs

Package last updated on 26 Aug 2025

Did you know?

Socket

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.

Install

Related posts