Skip to content

Instantly share code, notes, and snippets.

@yarastqt
Last active July 31, 2021 22:44
Show Gist options
  • Save yarastqt/ef7d40f4b8f52bc6c32f504c12da80c7 to your computer and use it in GitHub Desktop.
Save yarastqt/ef7d40f4b8f52bc6c32f504c12da80c7 to your computer and use it in GitHub Desktop.

Темизация

Надо подумать про то, чтобы сократить количество переменных, допустим у нас есть несколько уровней:

  1. Глобальный
  2. Компонентный

Есть следующая структура:

:root {
  --color-yellow-900: #fc0;
  --button-view-default-fill-color-base: var(--color-yellow-900);
}

.Button {
  background-color: var(--button-view-default-fill-color-base);
}

Вместо этого можно сделать следующее (используем фолбек и при необходимости можем поменять токен у кнопки):

:root {
  --color-yellow-900: #fc0;
-  --button-view-default-fill-color-base: var(--color-yellow-900);
}

.Button {
-  background-color: var(--button-view-default-fill-color-base);
+  background-color: var(--button-view-default-fill-color-base, var(--color-yellow-900));
}

TODO:

  • Подумать как переопределять общий цвет у всех компонентов (возможно в качестве fallback нужно указать токен а не значение)
@yarastqt
Copy link
Author

yarastqt commented Jul 31, 2021

Мысли №1

Также следует разделять глобальные переменные на несколько типов:

  1. Цвета
  2. Размеры

Более гранулярное разделение уже не имеет особого смысла (например отдельно типографика, отдельно отступы)

TODO:

  • Нужно подумать к какому типу относить тени, т.к. они содержат в себе и цвет и размерность

Применение

Применять как и сейчас, используем конфигуратор или провайдер, куда передаем два набора css

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment