Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(plasma-tokens): Add write / read and generation new format of theme.json #1207

Merged
merged 8 commits into from
Jun 3, 2024

Conversation

neretin-trike
Copy link
Collaborator

@neretin-trike neretin-trike commented May 16, 2024

Theme

  • добавлены классы для более гибкого и удобного управления темами, созданных в новом формате.
  • добавлена возможность генерации базовой темы в новом формате.
  • добавлена возможность считывать темы в новом формате и конвертировать их в экземпляры созданных классов.
  • добавлена возможность записывать темы в новом формате на основе созданного экземпляра класса.

What/why changed

Пример диаграммы зависимостей для токена типа color.

_new_diagram

Более подробное описание всех добавленных изменений.

Copy link
Contributor

Theme Builder app deployed!

https://plasma.sberdevices.ru/pr/plasma-theme-builder-pr-1207/

return new ColorToken(token, values);
});

const removeHoverAndActiveTokens = (token: TokenType) =>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

выглядит как костыль =/

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

идея в том, чтобы при создании инстанса класса Theme не добавлять эти технические токены по следующим причинам:

  1. Они не используются в визуальном интерфейсе сервиса
  2. Они не будут занимать лишнюю память
  3. Их не нужно будет пересчитывать каждый раз при изменении "основного" токена, на котором основаны токены состояния active / hover

const typography = createDefaultTypographyTokens(config);
const fontFamily = createDefaultFontFamilyTokens(config);

return new Theme(config.name, '0.1.0', {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0.1.0 это версия чего ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

это версия базовой темы. Т.е. когда пользователь создаёт свою тему, начинается отсчёт с версии 0.1.0

@neretin-trike neretin-trike force-pushed the neretinaa/add-new-scheme-generation branch from 39d3e6d to 79a8f6b Compare June 3, 2024 10:28
@neretin-trike neretin-trike added this pull request to the merge queue Jun 3, 2024
Merged via the queue into dev with commit 7b84fff Jun 3, 2024
21 checks passed
@neretin-trike neretin-trike deleted the neretinaa/add-new-scheme-generation branch June 3, 2024 14:14
This was referenced Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants