-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into feat/add-grid
- Loading branch information
Showing
72 changed files
with
979 additions
and
439 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
* @gizeasy @c1n1k @dmitriykorsakovnedra @karpovfv-nedra @VladislavYukhimenko @azhadanov | ||
*.md @miocene @fooontic @kolebayev @arhayka | ||
*.mdx @miocene @fooontic @kolebayev @arhayka | ||
*.css @miocene @fooontic @kolebayev | ||
* @gizeasy @c1n1k @dmitriykorsakovnedra @karpovfv-nedra @VladislavYukhimenko @azhadanov @kolebayev | ||
*.md @arhayka | ||
*.mdx @arhayka |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
import { Meta } from '@storybook/addon-docs/blocks'; | ||
|
||
<Meta | ||
title="Документация|Разработчикам/Как создать свой пресет" | ||
id="сommon-develop-creatingPreset" | ||
parameters={{ order: 331 }} | ||
/> | ||
|
||
# Как создать свой пресет | ||
|
||
> Перед прочтением этого гайда рекомендуем ознакомиться с [документацией по компоненту Theme](https://consta-uikit.vercel.app/?path=/docs/components-theme--playground). | ||
При работе с Consta в качестве установленной зависимости, | ||
в вашем проекте необходимо создать директорию для новых пресетов. | ||
|
||
Директория для пресетов должна содержать следующий набор папок и файлов | ||
(такой же, как в компоненте Theme): | ||
|
||
``` | ||
pathToPresets/ | ||
_color/ | ||
_Theme_color_myThemeDark.css | ||
_Theme_color_myThemeDefault.css | ||
_Theme_color_myThemeDisplay.css | ||
_control/ | ||
_Theme_control_myThemeDefault.css | ||
_font/ | ||
_Theme_font_myThemeDefault.css | ||
_size/ | ||
_Theme_size_myThemeDefault.css | ||
_space/ | ||
_Theme_space_myThemeDefault.css | ||
myPresetDefault.js | ||
``` | ||
|
||
Создание нового пресета подразумевает ручную настройку переменных CSS (также их принято называть _дизайн токенами_), составляющих темы. | ||
|
||
> Все переменные имеют семантические имена, так их проще контролировать и применять. | ||
## Тема на цвет `_color` | ||
|
||
Цветовая тема: набор переменных, которые применяются к разным частям компонентов Consta. Значения применяемых переменных получаются путем наследования значений от базовых `base` цветовых переменных. | ||
Первым делом необходимо определиться с базовыми переменными и записать их в CSS-файл на цвет в папке `_color`. | ||
Значения переменных внутри CSS-класса рассчитываются с помощью [postcss-color-function](https://github.com/postcss/postcss-color-function) | ||
и [postcss-simple-vars](https://github.com/postcss/postcss-simple-vars). **Но цвета можно подобрать и вручную.** | ||
|
||
Всегда желательно создавать минимум две темы: `default` — светлая и `dark` — темная, потому что некоторые | ||
компоненты используют инверсные цвета (например [Tooltip](https://consta-uikit.vercel.app/?path=/docs/components-tooltip--tooltip-positioned-by-anchor-story)). | ||
|
||
## Тема на контролы `_control` | ||
|
||
Здесь описаны размеры контролов, внутренние отступы и размеры текста внутри контролов. | ||
Все значения наследуются из темы на отступы `_space`, о ней ниже. | ||
|
||
## Тема на шрифт `_font` | ||
|
||
Здесь подключаются все начертания/насыщенности/жирности шрифта. Убедитесь, что в шрифте есть насыщенность, которую вы используете. | ||
Браузер имитирует насыщенность, которой нет в наборе, но неизвестно, как это будет выглядеть. | ||
|
||
> Ознакомьтесь [со списком значений weight по умолчанию](https://consta-uikit.vercel.app/?path=/docs/components-text--playground#%D0%BD%D0%B0%D1%81%D1%8B%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C) для компонента Text. | ||
Обратите внимание, что для каждого уникального шрифта в проекте необходимо использовать свою тему `font`. | ||
|
||
## Тема на размеры шрифта `_size` | ||
|
||
Содержит сетку размеров шрифта и межстрочных интервалов. Значения используются в компоненте Text и всех текстовых | ||
элементах компонентов. | ||
|
||
## Тема на отступы `_space` | ||
|
||
Содержит сетку отступов. | ||
|
||
## Создание файла пресета | ||
|
||
В самом файле пресета `myPresetDefault.js` необходимо прописать импорты всех новых CSS-файлов. И экспортировать | ||
объект со значениями ключей, которые совпадают с постфиксами из названия CSS-файлов. | ||
|
||
```js | ||
import './_color/Theme_color_myThemeDefault.css'; | ||
import './_color/Theme_color_myThemeDark.css'; | ||
import './_control/Theme_control_myThemeDefault.css'; | ||
import './_font/Theme_font_myThemeDefault.css'; | ||
import './_size/Theme_size_myThemeDefault.css'; | ||
import './_space/Theme_space_myThemeDefault.css'; | ||
|
||
export const myNewPreset = { | ||
color: { | ||
primary: 'myThemeDefault', | ||
accent: 'myThemeDark', | ||
invert: 'myThemeDark', | ||
}, | ||
control: 'myThemeDefault', | ||
font: 'myThemeDefault', | ||
size: 'myThemeDefault', | ||
space: 'myThemeDefault', | ||
}; | ||
``` | ||
|
||
Для проверки значений нужно подключить пресет в провайдер темы. | ||
|
||
```ts | ||
import React from 'react'; | ||
|
||
import { Theme } from '@consta/uikit/Theme'; | ||
import { myNewPreset } from 'pathToPresets/myPresetDefault'; | ||
|
||
const App = () => { | ||
return <Theme preset={myNewPreset}>your app code</Theme>; | ||
}; | ||
|
||
export default App; | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.