@salutejs/plasma-giga 0.343.0-next-sbcom.0 → 0.343.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +202 -67
- package/README.mdx +3 -125
- package/dist/css/cjs/_virtual/_rollupPluginBabelHelpers.js +29 -0
- package/dist/css/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/css/cjs/components/Button/Button.js +3 -1
- package/dist/css/cjs/components/Button/Button.js.map +1 -1
- package/dist/css/cjs/components/DatePicker/DatePicker.js +8 -14
- package/dist/css/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/css/cjs/components/Link/Link.config.js +1 -1
- package/dist/css/cjs/components/Link/Link.config.js.map +1 -1
- package/dist/css/cjs/components/Link/{Link.config_13xp65i.css → Link.config_d4q86q.css} +9 -9
- package/dist/css/cjs/components/Link/Link.css +11 -11
- package/dist/css/cjs/components/Range/Range.js +4 -7
- package/dist/css/cjs/components/Range/Range.js.map +1 -1
- package/dist/css/cjs/components/Select/Select.js.map +1 -1
- package/dist/css/cjs/components/Slider/Slider.config.js +1 -1
- package/dist/css/cjs/components/Slider/Slider.config.js.map +1 -1
- package/dist/css/{es/components/Slider/Slider.config_supagc.css → cjs/components/Slider/Slider.config_e1i4g0.css} +6 -6
- package/dist/css/cjs/components/Slider/Slider.css +7 -7
- package/dist/css/cjs/components/TextArea/TextArea.js +4 -7
- package/dist/css/cjs/components/TextArea/TextArea.js.map +1 -1
- package/dist/css/cjs/components/TextField/TextField.js +4 -7
- package/dist/css/cjs/components/TextField/TextField.js.map +1 -1
- package/dist/css/cjs/components/TextFieldSlider/TextFieldSlider.js +4 -7
- package/dist/css/cjs/components/TextFieldSlider/TextFieldSlider.js.map +1 -1
- package/dist/css/cjs/components/Tooltip/Tooltip.js +17 -1
- package/dist/css/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/css/cjs/components/Tour/Tour.config.js +2 -2
- package/dist/css/cjs/components/Tour/Tour.config.js.map +1 -1
- package/dist/css/cjs/components/Tour/Tour.config_1j3xoyj.css +2 -0
- package/dist/css/cjs/components/Tour/Tour.css +1 -1
- package/dist/css/cjs/components/Tour/Tour.js +14 -1
- package/dist/css/cjs/components/Tour/Tour.js.map +1 -1
- package/dist/css/cjs/components/Tour/TourCard.config.js +22 -0
- package/dist/css/cjs/components/Tour/TourCard.config.js.map +1 -0
- package/dist/css/cjs/components/Tour/TourCard.config_yhspc4.css +2 -0
- package/dist/css/cjs/components/Tour/TourCard.css +2 -0
- package/dist/css/cjs/components/Tour/TourCard.js +12 -0
- package/dist/css/cjs/components/Tour/TourCard.js.map +1 -0
- package/dist/css/cjs/index.css +22 -19
- package/dist/css/cjs/index.js +2 -0
- package/dist/css/cjs/index.js.map +1 -1
- package/dist/css/es/_virtual/_rollupPluginBabelHelpers.js +28 -1
- package/dist/css/es/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/dist/css/es/components/Button/Button.js +3 -1
- package/dist/css/es/components/Button/Button.js.map +1 -1
- package/dist/css/es/components/DatePicker/DatePicker.js +14 -20
- package/dist/css/es/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/css/es/components/Link/Link.config.js +1 -1
- package/dist/css/es/components/Link/Link.config.js.map +1 -1
- package/dist/css/es/components/Link/{Link.config_13xp65i.css → Link.config_d4q86q.css} +9 -9
- package/dist/css/es/components/Link/Link.css +11 -11
- package/dist/css/es/components/Range/Range.js +8 -11
- package/dist/css/es/components/Range/Range.js.map +1 -1
- package/dist/css/es/components/Select/Select.js.map +1 -1
- package/dist/css/es/components/Slider/Slider.config.js +1 -1
- package/dist/css/es/components/Slider/Slider.config.js.map +1 -1
- package/dist/css/{cjs/components/Slider/Slider.config_supagc.css → es/components/Slider/Slider.config_e1i4g0.css} +6 -6
- package/dist/css/es/components/Slider/Slider.css +7 -7
- package/dist/css/es/components/TextArea/TextArea.js +8 -11
- package/dist/css/es/components/TextArea/TextArea.js.map +1 -1
- package/dist/css/es/components/TextField/TextField.js +8 -11
- package/dist/css/es/components/TextField/TextField.js.map +1 -1
- package/dist/css/es/components/TextFieldSlider/TextFieldSlider.js +8 -11
- package/dist/css/es/components/TextFieldSlider/TextFieldSlider.js.map +1 -1
- package/dist/css/es/components/Tooltip/Tooltip.js +13 -1
- package/dist/css/es/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/css/es/components/Tour/Tour.config.js +2 -2
- package/dist/css/es/components/Tour/Tour.config.js.map +1 -1
- package/dist/css/es/components/Tour/Tour.config_1j3xoyj.css +2 -0
- package/dist/css/es/components/Tour/Tour.css +1 -1
- package/dist/css/es/components/Tour/Tour.js +10 -1
- package/dist/css/es/components/Tour/Tour.js.map +1 -1
- package/dist/css/es/components/Tour/TourCard.config.js +18 -0
- package/dist/css/es/components/Tour/TourCard.config.js.map +1 -0
- package/dist/css/es/components/Tour/TourCard.config_yhspc4.css +2 -0
- package/dist/css/es/components/Tour/TourCard.css +2 -0
- package/dist/css/es/components/Tour/TourCard.js +8 -0
- package/dist/css/es/components/Tour/TourCard.js.map +1 -0
- package/dist/css/es/index.css +22 -19
- package/dist/css/es/index.js +1 -0
- package/dist/css/es/index.js.map +1 -1
- package/dist/styled-components/cjs/components/Button/Button.js +2 -1
- package/dist/styled-components/cjs/components/DatePicker/DatePicker.js +8 -18
- package/dist/styled-components/cjs/components/Link/Link.config.js +27 -18
- package/dist/styled-components/cjs/components/Range/Range.js +4 -9
- package/dist/styled-components/cjs/components/Slider/Slider.config.js +15 -6
- package/dist/styled-components/cjs/components/TextArea/TextArea.js +4 -9
- package/dist/styled-components/cjs/components/TextField/TextField.js +4 -9
- package/dist/styled-components/cjs/components/TextFieldSlider/TextFieldSlider.js +4 -9
- package/dist/styled-components/cjs/components/Tooltip/Tooltip.js +171 -1
- package/dist/styled-components/cjs/components/Tour/Tour.config.js +7 -8
- package/dist/styled-components/cjs/components/Tour/Tour.js +42 -1
- package/dist/styled-components/cjs/components/Tour/TourCard.config.js +91 -0
- package/dist/styled-components/cjs/components/Tour/TourCard.js +14 -0
- package/dist/styled-components/cjs/components/Tour/index.js +12 -3
- package/dist/styled-components/es/components/Button/Button.js +2 -1
- package/dist/styled-components/es/components/DatePicker/DatePicker.js +8 -18
- package/dist/styled-components/es/components/Link/Link.config.js +27 -18
- package/dist/styled-components/es/components/Range/Range.js +4 -9
- package/dist/styled-components/es/components/Slider/Slider.config.js +15 -6
- package/dist/styled-components/es/components/TextArea/TextArea.js +4 -9
- package/dist/styled-components/es/components/TextField/TextField.js +4 -9
- package/dist/styled-components/es/components/TextFieldSlider/TextFieldSlider.js +4 -9
- package/dist/styled-components/es/components/Tooltip/Tooltip.js +130 -1
- package/dist/styled-components/es/components/Tour/Tour.config.js +8 -9
- package/dist/styled-components/es/components/Tour/Tour.js +38 -1
- package/dist/styled-components/es/components/Tour/TourCard.config.js +81 -0
- package/dist/styled-components/es/components/Tour/TourCard.js +4 -0
- package/dist/styled-components/es/components/Tour/index.js +1 -0
- package/package.json +8 -8
- package/types/components/Attach/Attach.d.ts +32 -32
- package/types/components/Button/Button.d.ts +12 -11
- package/types/components/DatePicker/DatePicker.d.ts +252 -7
- package/types/components/EmbedIconButton/EmbedIconButton.d.ts +4 -4
- package/types/components/IconButton/IconButton.d.ts +4 -4
- package/types/components/Mask/Mask.d.ts +657 -9
- package/types/components/Radiobox/Radiobox.d.ts +2 -2
- package/types/components/Range/Range.d.ts +977 -13
- package/types/components/Select/Select.d.ts +464 -285
- package/types/components/Select/index.d.ts +1 -1
- package/types/components/Slider/Slider.d.ts +43 -27
- package/types/components/TextArea/TextArea.d.ts +621 -9
- package/types/components/TextField/TextField.d.ts +629 -9
- package/types/components/TextFieldSlider/TextFieldSlider.d.ts +155 -3
- package/types/components/Tooltip/Tooltip.d.ts +2 -2
- package/types/components/Tour/Tour.d.ts +4 -2
- package/types/components/Tour/TourCard.config.d.ts +14 -0
- package/types/components/Tour/TourCard.d.ts +23 -0
- package/types/components/Tour/index.d.ts +1 -0
- package/dist/css/cjs/components/Tour/Tour.config_emlbg6.css +0 -2
- package/dist/css/es/components/Tour/Tour.config_emlbg6.css +0 -2
package/README.md
CHANGED
|
@@ -1,121 +1,256 @@
|
|
|
1
|
-
#
|
|
1
|
+
# PLASMA-GIGA
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Набор компонентов и утилит для создания web-приложений на базе [ReactJS](https://reactjs.org/).
|
|
4
4
|
|
|
5
5
|
## Использование
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Библиотека реализована с помощью:
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- [typescript](https://www.typescriptlang.org/)
|
|
10
|
+
- [styled-components](https://styled-components.com/) (рекомендуем использовать версию `5.3.1`)
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
Однако их использование **необязательно**!
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
### Установка пакета
|
|
14
|
+
### Установка зависимостей
|
|
16
15
|
|
|
17
16
|
```bash
|
|
18
|
-
$ npm install --save
|
|
19
|
-
$ npm install --save @salutejs/plasma-giga @salutejs/plasma-typo @salutejs/plasma-themes
|
|
17
|
+
$ npm install --save @salutejs/plasma-giga @salutejs/plasma-themes
|
|
20
18
|
```
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
Для работы со `styled-components`, необходимо установить
|
|
23
21
|
|
|
24
22
|
```bash
|
|
25
23
|
$ npm install --save styled-components@5.3.1
|
|
26
24
|
```
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
### Использование компонентов
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
$ npm install --save @emotion/styled @emotion/react @emotion/css
|
|
32
|
-
```
|
|
28
|
+
Все компоненты доступны напрямую из пакета
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
```jsx
|
|
31
|
+
import styled from 'styled-components';
|
|
32
|
+
import { Button } from '@salutejs/plasma-giga';
|
|
33
|
+
import { textAccent } from '@salutejs/plasma-themes/tokens';
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
export const App = () => {
|
|
36
|
+
const StyledP = styled.p`
|
|
37
|
+
color: ${textAccent};
|
|
38
|
+
`;
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
return (
|
|
41
|
+
<>
|
|
42
|
+
<Button>Hello, GIGA!</Button>
|
|
43
|
+
<StyledP>Token usage example</StyledP>
|
|
44
|
+
</>
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
```
|
|
42
48
|
|
|
43
|
-
|
|
44
|
-
const TypoStyle = createGlobalStyle(standard);
|
|
49
|
+
Так же библиотека поставляет компоненты собранные с помощью `styled-components`
|
|
45
50
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<ThemeStyle />
|
|
49
|
-
<TypoStyle />
|
|
50
|
-
</>
|
|
51
|
-
);
|
|
51
|
+
```js
|
|
52
|
+
import { Button } from '@salutejs/plasma-giga/styled-components';
|
|
52
53
|
```
|
|
53
54
|
|
|
54
|
-
##
|
|
55
|
+
## Подключение шрифтов
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
Типографическая система основана на фирменных шрифтах.
|
|
57
58
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
Для того чтобы шрифт было удобно поставлять в web-приложения, шрифт был загружен на **CDN**
|
|
60
|
+
|
|
61
|
+
Для использования типографической системы необходимо загрузить два `css` файла в зависимости от используемых шрифтов в теме.
|
|
62
|
+
|
|
63
|
+
### Create react app
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
const typoStyle = css(standard);
|
|
65
|
+
Добавить внутрь тега `head`.
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
```html
|
|
68
|
+
<html>
|
|
69
|
+
<head>
|
|
70
|
+
<link rel="stylesheet" href="https://cdn-app.sberdevices.ru/shared-static/0.0.0/styles/SBSansText.0.2.0.css" />
|
|
71
|
+
<link
|
|
72
|
+
rel="stylesheet"
|
|
73
|
+
href="https://cdn-app.sberdevices.ru/shared-static/0.0.0/styles/SBSansDisplay.0.2.0.css"
|
|
74
|
+
/>
|
|
75
|
+
<title>Wep App</title>
|
|
76
|
+
</head>
|
|
77
|
+
<body>
|
|
78
|
+
...
|
|
79
|
+
</body>
|
|
80
|
+
</html>
|
|
72
81
|
```
|
|
73
82
|
|
|
74
|
-
###
|
|
83
|
+
### NextJs
|
|
75
84
|
|
|
76
|
-
|
|
85
|
+
```tsx
|
|
86
|
+
import Head from 'next/head';
|
|
87
|
+
|
|
88
|
+
import { H2, Button } from '@salutejs/plasma-giga';
|
|
89
|
+
|
|
90
|
+
export default function Home() {
|
|
91
|
+
return (
|
|
92
|
+
<>
|
|
93
|
+
<Head>
|
|
94
|
+
<title>Create Next App with plasma-giga components</title>
|
|
95
|
+
<link
|
|
96
|
+
rel="stylesheet"
|
|
97
|
+
href="https://cdn-app.sberdevices.ru/shared-static/0.0.0/styles/SBSansText.0.2.0.css"
|
|
98
|
+
/>
|
|
99
|
+
<link
|
|
100
|
+
rel="stylesheet"
|
|
101
|
+
href="https://cdn-app.sberdevices.ru/shared-static/0.0.0/styles/SBSansDisplay.0.2.0.css"
|
|
102
|
+
/>
|
|
103
|
+
</Head>
|
|
104
|
+
<div>
|
|
105
|
+
<main>
|
|
106
|
+
<div>
|
|
107
|
+
<H2> Salute </H2>
|
|
108
|
+
<Button text="Hello" />
|
|
109
|
+
</div>
|
|
110
|
+
</main>
|
|
111
|
+
</div>
|
|
112
|
+
</>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Подключение темы
|
|
118
|
+
|
|
119
|
+
Точкой входа является корень приложения:
|
|
77
120
|
|
|
78
121
|
- Если вы используете [Create React App](https://create-react-app.dev), делайте вызов внутри `src/index.tsx`.
|
|
79
122
|
- Если вы используете [Next.js](https://nextjs.org/), создайте файл `pages/_app.tsx` и подключите стили в нем.
|
|
80
123
|
|
|
81
|
-
|
|
124
|
+
### CSS
|
|
82
125
|
|
|
83
|
-
|
|
126
|
+
Возможные дополнительные настройки bundle tools для проекта:
|
|
127
|
+
|
|
128
|
+
<ul>
|
|
129
|
+
<li>
|
|
130
|
+
<a href="https://webpack.js.org/loaders/css-loader/">webpack + css</a>
|
|
131
|
+
</li>
|
|
132
|
+
<li>
|
|
133
|
+
<a href="https://vite.dev/guide/features.html#css-pre-processors">vite</a>
|
|
134
|
+
</li>
|
|
135
|
+
</ul>
|
|
84
136
|
|
|
85
|
-
|
|
137
|
+
В файле, где происходит подключение всех стилей, например `index.css`
|
|
138
|
+
|
|
139
|
+
```css
|
|
140
|
+
@import '@salutejs/plasma-themes/css/plasma_giga__light.css';
|
|
141
|
+
```
|
|
86
142
|
|
|
87
143
|
```jsx
|
|
88
|
-
|
|
89
|
-
import { Button } from '@salutejs/plasma-giga';
|
|
90
|
-
import { textAccent } from '@salutejs/plasma-themes/tokens/plasma-giga';
|
|
144
|
+
import React from 'react';
|
|
145
|
+
import { Button, BodyL } from '@salutejs/plasma-giga';
|
|
91
146
|
|
|
92
|
-
|
|
93
|
-
return (
|
|
94
|
-
<Button>Hello, Plasma Giga!</Button>
|
|
147
|
+
import 'index.css';
|
|
95
148
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
149
|
+
const App = () => {
|
|
150
|
+
return (
|
|
151
|
+
<>
|
|
152
|
+
<BodyL>Hello GIGA</BodyL>
|
|
153
|
+
<Button text="This is themed button" />
|
|
154
|
+
</>
|
|
99
155
|
);
|
|
100
156
|
};
|
|
101
|
-
```
|
|
102
157
|
|
|
103
|
-
|
|
158
|
+
export default App;
|
|
159
|
+
```
|
|
104
160
|
|
|
105
|
-
|
|
161
|
+
### Styled-components
|
|
106
162
|
|
|
107
163
|
```jsx
|
|
108
|
-
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
164
|
+
import React from 'react';
|
|
165
|
+
import { createGlobalStyle } from 'styled-components';
|
|
166
|
+
import { Button, BodyL } from '@salutejs/plasma-giga/styled-components';
|
|
167
|
+
import { plasma_giga__light } from '@salutejs/plasma-themes';
|
|
111
168
|
|
|
112
|
-
|
|
169
|
+
const Theme = createGlobalStyle(plasma_giga__light);
|
|
170
|
+
|
|
171
|
+
const App = () => {
|
|
113
172
|
return (
|
|
114
173
|
<>
|
|
115
|
-
<
|
|
116
|
-
|
|
117
|
-
<
|
|
174
|
+
<Theme />
|
|
175
|
+
<BodyL>Hello GIGA</BodyL>
|
|
176
|
+
<Button text="This is themed button" />
|
|
118
177
|
</>
|
|
119
178
|
);
|
|
120
179
|
};
|
|
180
|
+
|
|
181
|
+
export default App;
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Токены
|
|
185
|
+
|
|
186
|
+
Все `css` токены завернуты в `js` переменные для более удобного доступа:
|
|
187
|
+
|
|
188
|
+
```js
|
|
189
|
+
/** Основной цвет текста */
|
|
190
|
+
export const textPrimary = 'var(--text-primary, #F5F5F5)';
|
|
191
|
+
/** Основной фон */
|
|
192
|
+
export const backgroundPrimary = 'var(--background-primary, #000000)';
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Способы подключения
|
|
196
|
+
|
|
197
|
+
Есть два пути импорта токенов:
|
|
198
|
+
|
|
199
|
+
- Из вертикали `@salutejs/plasma-themes/tokens` (подходит в большинстве случаев, т.к там лежит весь базовый набор токенов)
|
|
200
|
+
- Непосредственно из темы `@salutejs/plasma-themes/tokens/plasma_giga` (следует использовать, когда необходимо импортировать уникальные токены, которые используются только в этой теме)
|
|
201
|
+
|
|
202
|
+
### Использование
|
|
203
|
+
|
|
204
|
+
```jsx
|
|
205
|
+
import React from 'react';
|
|
206
|
+
import styled from 'styled-components';
|
|
207
|
+
import { textAccent, backgroundPrimary, textL } from '@salutejs/plasma-themes/tokens';
|
|
208
|
+
|
|
209
|
+
const AppStyled = styled.div`
|
|
210
|
+
padding: 2rem;
|
|
211
|
+
color: ${textAccent};
|
|
212
|
+
background-color: ${backgroundPrimary};
|
|
213
|
+
`;
|
|
214
|
+
|
|
215
|
+
const Container = styled.div`
|
|
216
|
+
${textL};
|
|
217
|
+
margin: 1rem;
|
|
218
|
+
`;
|
|
219
|
+
|
|
220
|
+
const App = () => {
|
|
221
|
+
return (
|
|
222
|
+
<AppStyled>
|
|
223
|
+
<Container>
|
|
224
|
+
<span>Hello GIGA</span>
|
|
225
|
+
</Container>
|
|
226
|
+
</AppStyled>
|
|
227
|
+
);
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
export default App;
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Типографика
|
|
234
|
+
|
|
235
|
+
Рекомендуем использовать типографические компоненты, которые поставляет библиотека.
|
|
236
|
+
|
|
237
|
+
```ts
|
|
238
|
+
import { BodyL, DsplL, H3 } from '@salutejs/plasma-giga';
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Токены типографики на примере компонента `DsplL`
|
|
242
|
+
|
|
243
|
+
Так же в пакете есть типографические токены, для случаев, когда необходимо точечно применить типографику к контейнеру.
|
|
244
|
+
|
|
245
|
+
```tsx
|
|
246
|
+
import { CSSObject } from 'styled-components';
|
|
247
|
+
|
|
248
|
+
export const dsplL = ({
|
|
249
|
+
fontFamily: 'var(--plasma-typo-dspl-l-font-family)',
|
|
250
|
+
fontSize: 'var(--plasma-typo-dspl-l-font-size)',
|
|
251
|
+
fontStyle: 'var(--plasma-typo-dspl-l-font-style)',
|
|
252
|
+
fontWeight: 'var(--plasma-typo-dspl-l-font-weight)',
|
|
253
|
+
letterSpacing: 'var(--plasma-typo-dspl-l-letter-spacing)',
|
|
254
|
+
lineHeight: 'var(--plasma-typo-dspl-l-line-height)',
|
|
255
|
+
} as unknown) as CSSObject;
|
|
121
256
|
```
|
package/README.mdx
CHANGED
|
@@ -1,128 +1,6 @@
|
|
|
1
|
-
import { Meta } from "@storybook/addon-docs/blocks";
|
|
1
|
+
import { Meta, Markdown } from "@storybook/addon-docs/blocks";
|
|
2
|
+
import ReadmeMd from './README.md?raw';
|
|
2
3
|
|
|
3
4
|
<Meta title="About" />
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Реализация компонентов для создания веб-приложений.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Использование
|
|
11
|
-
|
|
12
|
-
Компоненты реализованы на [typescript](https://www.typescriptlang.org/) с помощью [react](https://reactjs.org/) , [styled-components](https://styled-components.com/) и [emotion](https://emotion.sh/);
|
|
13
|
-
|
|
14
|
-
Использование данного пакета предполагает установку зависимостей: `react` & `react-dom`;
|
|
15
|
-
|
|
16
|
-
Использование `styled-components` и `emotion` на проекте необязательно, так же как и использование `typescript`.
|
|
17
|
-
|
|
18
|
-
**Но** для того чтобы компоненты работали корректно необходимо установить `styled-components` или `emotion`.
|
|
19
|
-
|
|
20
|
-
### Установка пакета
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
$ npm install --save react react-dom
|
|
24
|
-
$ npm install --save @salutejs/plasma-giga @salutejs/plasma-typo @salutejs/plasma-themes
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Так же надо установить пакет styled-components
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
$ npm install --save styled-components@5.3.1
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Или, если вы используете пакет @emotion
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
$ npm install --save @emotion/styled @emotion/react @emotion/css
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Настройка при работе с пакетом `styled-components`
|
|
40
|
-
|
|
41
|
-
Создайте компонент для подключения глобальных стилей:
|
|
42
|
-
|
|
43
|
-
```jsx title="GlobalStyle.tsx"
|
|
44
|
-
import { createGlobalStyle } from 'styled-components';
|
|
45
|
-
import { standard } from '@salutejs/plasma-typo';
|
|
46
|
-
import { plasma_giga__light } from '@salutejs/plasma-themes';
|
|
47
|
-
|
|
48
|
-
const ThemeStyle = createGlobalStyle(plasma_giga__light);
|
|
49
|
-
const TypoStyle = createGlobalStyle(standard);
|
|
50
|
-
|
|
51
|
-
export const GlobalStyle = () => (
|
|
52
|
-
<>
|
|
53
|
-
<ThemeStyle />
|
|
54
|
-
<TypoStyle />
|
|
55
|
-
</>
|
|
56
|
-
);
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Настройка при работе с пакетом `@emotion`
|
|
60
|
-
|
|
61
|
-
Создайте компонент для подключения глобальных стилей:
|
|
62
|
-
|
|
63
|
-
```jsx title="GlobalStyle.tsx"
|
|
64
|
-
import { Global, css } from '@emotion/react';
|
|
65
|
-
import { standard } from '@salutejs/plasma-typo';
|
|
66
|
-
import { plasma_giga__light } from '@salutejs/plasma-themes';
|
|
67
|
-
|
|
68
|
-
const themeStyle = css(plasma_giga__light);
|
|
69
|
-
const typoStyle = css(standard);
|
|
70
|
-
|
|
71
|
-
export const GlobalStyle = () => (
|
|
72
|
-
<>
|
|
73
|
-
<Global styles={themeStyle} />
|
|
74
|
-
<Global styles={typoStyle} />
|
|
75
|
-
</>
|
|
76
|
-
);
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Корень приложения
|
|
80
|
-
|
|
81
|
-
В корне приложения вызовите компонент глобальных стилей `GlobalStyle`:
|
|
82
|
-
|
|
83
|
-
- Если вы используете [Create React App](https://create-react-app.dev), делайте вызов внутри `src/index.tsx`.
|
|
84
|
-
- Если вы используете [Next.js](https://nextjs.org/), создайте файл `pages/_app.tsx` и подключите стили в нем.
|
|
85
|
-
|
|
86
|
-
Для корректной работы server side rendering приложение нужно обернуть `SSRProvider` (доступен в plasma-giga);
|
|
87
|
-
|
|
88
|
-
### Использование компонентов
|
|
89
|
-
|
|
90
|
-
Все компоненты доступны из папки `components` или напрямую из пакета:
|
|
91
|
-
|
|
92
|
-
```jsx
|
|
93
|
-
// App.tsx
|
|
94
|
-
import { Button } from '@salutejs/plasma-giga';
|
|
95
|
-
import { textAccent } from '@salutejs/plasma-themes/tokens/plasma-giga';
|
|
96
|
-
|
|
97
|
-
export const App = () => {
|
|
98
|
-
return (
|
|
99
|
-
<Button>Hello, Plasma Giga!</Button>
|
|
100
|
-
|
|
101
|
-
<p style={{color: textAccent}}>
|
|
102
|
-
Token usage example
|
|
103
|
-
</p>
|
|
104
|
-
);
|
|
105
|
-
};
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
#### `@emotion`
|
|
109
|
-
|
|
110
|
-
Все компоненты `@emotion` доступны из директории `emotion`:
|
|
111
|
-
|
|
112
|
-
```jsx
|
|
113
|
-
// App.tsx
|
|
114
|
-
import { Button } from '@salutejs/plasma-giga/emotion';
|
|
115
|
-
import { textAccent } from '@salutejs/plasma-tokens/brands/plasma-giga';
|
|
116
|
-
|
|
117
|
-
export const App = () => {
|
|
118
|
-
return (
|
|
119
|
-
<>
|
|
120
|
-
<Button>Hello, Plasma Giga!</Button>
|
|
121
|
-
|
|
122
|
-
<p style={{ color: textAccent }}>
|
|
123
|
-
Token usage example
|
|
124
|
-
</p>
|
|
125
|
-
</>
|
|
126
|
-
);
|
|
127
|
-
};
|
|
128
|
-
```
|
|
6
|
+
<Markdown>{ReadmeMd}</Markdown>
|
|
@@ -16,6 +16,35 @@ function _extends() {
|
|
|
16
16
|
};
|
|
17
17
|
return _extends.apply(this, arguments);
|
|
18
18
|
}
|
|
19
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
20
|
+
if (source == null) return {};
|
|
21
|
+
var target = {};
|
|
22
|
+
var sourceKeys = Object.keys(source);
|
|
23
|
+
var key, i;
|
|
24
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
25
|
+
key = sourceKeys[i];
|
|
26
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
27
|
+
target[key] = source[key];
|
|
28
|
+
}
|
|
29
|
+
return target;
|
|
30
|
+
}
|
|
31
|
+
function _objectWithoutProperties(source, excluded) {
|
|
32
|
+
if (source == null) return {};
|
|
33
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
34
|
+
var key, i;
|
|
35
|
+
if (Object.getOwnPropertySymbols) {
|
|
36
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
37
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
38
|
+
key = sourceSymbolKeys[i];
|
|
39
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
40
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
41
|
+
target[key] = source[key];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return target;
|
|
45
|
+
}
|
|
19
46
|
|
|
20
47
|
exports.extends = _extends;
|
|
48
|
+
exports.objectWithoutProperties = _objectWithoutProperties;
|
|
49
|
+
exports.objectWithoutPropertiesLoose = _objectWithoutPropertiesLoose;
|
|
21
50
|
//# sourceMappingURL=_rollupPluginBabelHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var css = require('@salutejs/plasma-new-hope/css');
|
|
6
|
+
var plasmaNewHope = require('@salutejs/plasma-new-hope');
|
|
6
7
|
var Button_config = require('./Button.config.js');
|
|
7
8
|
|
|
8
9
|
var mergedConfig = /*#__PURE__*/css.mergeConfig(css.buttonConfig, Button_config.config);
|
|
9
10
|
var ButtonComponent = /*#__PURE__*/css.component(mergedConfig);
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* Кнопка.
|
|
12
14
|
*/
|
|
13
|
-
var Button = ButtonComponent;
|
|
15
|
+
var Button = /*#__PURE__*/plasmaNewHope.makePolymorphic(ButtonComponent, 'button');
|
|
14
16
|
|
|
15
17
|
exports.Button = Button;
|
|
16
18
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../../../../src-css/components/Button/Button.tsx"],"sourcesContent":["import { buttonConfig, component, mergeConfig } from '@salutejs/plasma-new-hope/css';\n\nimport { config } from './Button.config';\n\nconst mergedConfig = mergeConfig(buttonConfig, config);\nconst ButtonComponent = component(mergedConfig);\n\
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../../../src-css/components/Button/Button.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { buttonConfig, component, mergeConfig } from '@salutejs/plasma-new-hope/css';\nimport { makePolymorphic } from '@salutejs/plasma-new-hope';\n\nimport { config } from './Button.config';\n\nconst mergedConfig = mergeConfig(buttonConfig, config);\nconst ButtonComponent = component(mergedConfig);\n\n/**\n * Кнопка.\n */\nexport const Button = makePolymorphic(ButtonComponent, 'button');\nexport type ButtonProps = ComponentProps<typeof ButtonComponent>;\n"],"names":["mergedConfig","mergeConfig","buttonConfig","config","ButtonComponent","component","Button","makePolymorphic"],"mappings":";;;;;;;;AAMA,IAAMA,YAAY,gBAAGC,eAAW,CAACC,gBAAY,EAAEC,oBAAM,CAAC;AACtD,IAAMC,eAAe,gBAAGC,aAAS,CAACL,YAAY,CAAC;;AAE/C;AACA;AACA;AACO,IAAMM,MAAM,gBAAGC,6BAAe,CAACH,eAAe,EAAE,QAAQ;;;;"}
|
|
@@ -10,24 +10,18 @@ var mergedConfigDefault = /*#__PURE__*/css.mergeConfig(css.datePickerConfig, Dat
|
|
|
10
10
|
var DatePickerDefault = /*#__PURE__*/css.component(mergedConfigDefault);
|
|
11
11
|
var mergedConfigClear = /*#__PURE__*/css.mergeConfig(css.datePickerConfig, DatePicker_clear_config.config);
|
|
12
12
|
var DatePickerClear = /*#__PURE__*/css.component(mergedConfigClear);
|
|
13
|
-
var DatePicker = /*#__PURE__*/css.createConditionalComponent(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
component: DatePickerClear
|
|
19
|
-
}]);
|
|
13
|
+
var DatePicker = /*#__PURE__*/css.createConditionalComponent({
|
|
14
|
+
"default": DatePickerDefault,
|
|
15
|
+
clear: DatePickerClear
|
|
16
|
+
});
|
|
20
17
|
var mergedRangeConfigDefault = /*#__PURE__*/css.mergeConfig(css.datePickerRangeConfig, DatePicker_config.config);
|
|
21
18
|
var DatePickerRangeDefault = /*#__PURE__*/css.component(mergedRangeConfigDefault);
|
|
22
19
|
var mergedRangeConfigClea = /*#__PURE__*/css.mergeConfig(css.datePickerRangeConfig, DatePicker_clear_config.config);
|
|
23
20
|
var DatePickerRangeClear = /*#__PURE__*/css.component(mergedRangeConfigClea);
|
|
24
|
-
var DatePickerRange = /*#__PURE__*/css.createConditionalComponent(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
component: DatePickerRangeClear
|
|
30
|
-
}]);
|
|
21
|
+
var DatePickerRange = /*#__PURE__*/css.createConditionalComponent({
|
|
22
|
+
"default": DatePickerRangeDefault,
|
|
23
|
+
clear: DatePickerRangeClear
|
|
24
|
+
});
|
|
31
25
|
|
|
32
26
|
exports.DatePicker = DatePicker;
|
|
33
27
|
exports.DatePickerClear = DatePickerClear;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sources":["../../../../../src-css/components/DatePicker/DatePicker.ts"],"sourcesContent":["import {\n datePickerConfig,\n datePickerRangeConfig,\n component,\n mergeConfig,\n createConditionalComponent,\n} from '@salutejs/plasma-new-hope/css';\n\nimport { config } from './DatePicker.config';\nimport { config as configClear } from './DatePicker.clear.config';\n\nconst mergedConfigDefault = mergeConfig(datePickerConfig, config);\nexport const DatePickerDefault = component(mergedConfigDefault);\n\nconst mergedConfigClear = mergeConfig(datePickerConfig, configClear);\nexport const DatePickerClear = component(mergedConfigClear);\n\nexport const DatePicker = createConditionalComponent(
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":["../../../../../src-css/components/DatePicker/DatePicker.ts"],"sourcesContent":["import {\n datePickerConfig,\n datePickerRangeConfig,\n component,\n mergeConfig,\n createConditionalComponent,\n} from '@salutejs/plasma-new-hope/css';\n\nimport { config } from './DatePicker.config';\nimport { config as configClear } from './DatePicker.clear.config';\n\nconst mergedConfigDefault = mergeConfig(datePickerConfig, config);\nexport const DatePickerDefault = component(mergedConfigDefault);\n\nconst mergedConfigClear = mergeConfig(datePickerConfig, configClear);\nexport const DatePickerClear = component(mergedConfigClear);\n\nexport const DatePicker = createConditionalComponent({\n default: DatePickerDefault,\n clear: DatePickerClear,\n});\n\nconst mergedRangeConfigDefault = mergeConfig(datePickerRangeConfig, config);\nexport const DatePickerRangeDefault = component(mergedRangeConfigDefault);\n\nconst mergedRangeConfigClea = mergeConfig(datePickerRangeConfig, configClear);\nexport const DatePickerRangeClear = component(mergedRangeConfigClea);\n\nexport const DatePickerRange = createConditionalComponent({\n default: DatePickerRangeDefault,\n clear: DatePickerRangeClear,\n});\n"],"names":["mergedConfigDefault","mergeConfig","datePickerConfig","config","DatePickerDefault","component","mergedConfigClear","configClear","DatePickerClear","DatePicker","createConditionalComponent","clear","mergedRangeConfigDefault","datePickerRangeConfig","DatePickerRangeDefault","mergedRangeConfigClea","DatePickerRangeClear","DatePickerRange"],"mappings":";;;;;;;;AAWA,IAAMA,mBAAmB,gBAAGC,eAAW,CAACC,oBAAgB,EAAEC,wBAAM,CAAC;IACpDC,iBAAiB,gBAAGC,aAAS,CAACL,mBAAmB;AAE9D,IAAMM,iBAAiB,gBAAGL,eAAW,CAACC,oBAAgB,EAAEK,8BAAW,CAAC;IACvDC,eAAe,gBAAGH,aAAS,CAACC,iBAAiB;AAEnD,IAAMG,UAAU,gBAAGC,8BAA0B,CAAC;AACjD,EAAA,SAAA,EAASN,iBAAiB;AAC1BO,EAAAA,KAAK,EAAEH;AACX,CAAC;AAED,IAAMI,wBAAwB,gBAAGX,eAAW,CAACY,yBAAqB,EAAEV,wBAAM,CAAC;IAC9DW,sBAAsB,gBAAGT,aAAS,CAACO,wBAAwB;AAExE,IAAMG,qBAAqB,gBAAGd,eAAW,CAACY,yBAAqB,EAAEN,8BAAW,CAAC;IAChES,oBAAoB,gBAAGX,aAAS,CAACU,qBAAqB;AAE5D,IAAME,eAAe,gBAAGP,8BAA0B,CAAC;AACtD,EAAA,SAAA,EAASI,sBAAsB;AAC/BH,EAAAA,KAAK,EAAEK;AACX,CAAC;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.config.js","sources":["../../../../../src-css/components/Link/Link.config.tsx"],"sourcesContent":["import { css, linkTokens as tokens } from '@salutejs/plasma-new-hope/css';\n\nexport const config = {\n defaults: {\n view: 'default',\n focused: 'true',\n },\n variations: {\n view: {\n default: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-primary);\n ${tokens.linkColorHover}: var(--text-primary-hover);\n ${tokens.linkColorActive}: var(--text-primary-active);\n ${tokens.linkColorVisited}: var(--text-primary);\n ${tokens.linkColorVisitedHover}: var(--text-primary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-primary-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n secondary: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-secondary);\n ${tokens.linkColorHover}: var(--text-secondary-hover);\n ${tokens.linkColorActive}: var(--text-secondary-active);\n ${tokens.linkColorVisited}: var(--text-secondary);\n ${tokens.linkColorVisitedHover}: var(--text-secondary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-secondary-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n tertiary: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-tertiary);\n ${tokens.linkColorHover}: var(--text-tertiary-hover);\n ${tokens.linkColorActive}: var(--text-tertiary-active);\n ${tokens.linkColorVisited}: var(--text-tertiary);\n ${tokens.linkColorVisitedHover}: var(--text-tertiary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-tertiary-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n paragraph: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-paragraph);\n ${tokens.linkColorHover}: var(--text-paragraph-hover);\n ${tokens.linkColorActive}: var(--text-paragraph-active);\n ${tokens.linkColorVisited}: var(--text-paragraph);\n ${tokens.linkColorVisitedHover}: var(--text-paragraph-hover);\n ${tokens.linkColorVisitedActive}: var(--text-paragraph-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n accent: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-accent);\n ${tokens.linkColorHover}: var(--text-accent-hover);\n ${tokens.linkColorActive}: var(--text-accent-active);\n ${tokens.linkColorVisited}: var(--text-accent);\n ${tokens.linkColorVisitedHover}: var(--text-accent-hover);\n ${tokens.linkColorVisitedActive}: var(--text-accent-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n positive: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-positive);\n ${tokens.linkColorHover}: var(--text-positive-hover);\n ${tokens.linkColorActive}: var(--text-positive-active);\n ${tokens.linkColorVisited}: var(--text-positive);\n ${tokens.linkColorVisitedHover}: var(--text-positive-hover);\n ${tokens.linkColorVisitedActive}: var(--text-positive-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n warning: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-warning);\n ${tokens.linkColorHover}: var(--text-warning-hover);\n ${tokens.linkColorActive}: var(--text-warning-active);\n ${tokens.linkColorVisited}: var(--text-warning);\n ${tokens.linkColorVisitedHover}: var(--text-warning-hover);\n ${tokens.linkColorVisitedActive}: var(--text-warning-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n negative: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-negative);\n ${tokens.linkColorHover}: var(--text-negative-hover);\n ${tokens.linkColorActive}: var(--text-negative-active);\n ${tokens.linkColorVisited}: var(--text-negative);\n ${tokens.linkColorVisitedHover}: var(--text-negative-hover);\n ${tokens.linkColorVisitedActive}: var(--text-negative-active);\n ${tokens.linkUnderlineBorder}: 0;\n `,\n clear: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}:inherit;\n ${tokens.linkColorHover}: inherit;\n ${tokens.linkColorActive}: inherit;\n ${tokens.linkColorVisited}: inherit;\n ${tokens.linkColorVisitedHover}: inherit;\n ${tokens.linkColorVisitedActive}: inherit;\n ${tokens.linkUnderlineBorder}: 0.063rem;\n `,\n },\n disabled: {\n true: css`\n ${tokens.linkDisabledOpacity}: 0.4;\n `,\n },\n focused: {\n true: css`\n ${tokens.linkColorFocus}: var(--text-primary);\n `,\n },\n },\n};\n"],"names":["config","defaults","view","focused","variations","default","secondary","tertiary","paragraph","accent","positive","warning","negative","clear","disabled","true"],"mappings":";;;;AAEO,IAAMA,MAAM,GAAG;AAClBC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,OAAO,EAAE;GACZ;AACDC,EAAAA,UAAU,EAAE;AACRF,IAAAA,IAAI,EAAE;AACFG,MAAAA,SAAAA,EAAO,
|
|
1
|
+
{"version":3,"file":"Link.config.js","sources":["../../../../../src-css/components/Link/Link.config.tsx"],"sourcesContent":["import { css, linkTokens as tokens } from '@salutejs/plasma-new-hope/css';\n\nexport const config = {\n defaults: {\n view: 'default',\n focused: 'true',\n },\n variations: {\n view: {\n default: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-primary);\n ${tokens.linkColorHover}: var(--text-primary-hover);\n ${tokens.linkColorActive}: var(--text-primary-active);\n ${tokens.linkColorVisited}: var(--text-primary);\n ${tokens.linkColorVisitedHover}: var(--text-primary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-primary-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n secondary: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-secondary);\n ${tokens.linkColorHover}: var(--text-secondary-hover);\n ${tokens.linkColorActive}: var(--text-secondary-active);\n ${tokens.linkColorVisited}: var(--text-secondary);\n ${tokens.linkColorVisitedHover}: var(--text-secondary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-secondary-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n tertiary: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-tertiary);\n ${tokens.linkColorHover}: var(--text-tertiary-hover);\n ${tokens.linkColorActive}: var(--text-tertiary-active);\n ${tokens.linkColorVisited}: var(--text-tertiary);\n ${tokens.linkColorVisitedHover}: var(--text-tertiary-hover);\n ${tokens.linkColorVisitedActive}: var(--text-tertiary-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n paragraph: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-paragraph);\n ${tokens.linkColorHover}: var(--text-paragraph-hover);\n ${tokens.linkColorActive}: var(--text-paragraph-active);\n ${tokens.linkColorVisited}: var(--text-paragraph);\n ${tokens.linkColorVisitedHover}: var(--text-paragraph-hover);\n ${tokens.linkColorVisitedActive}: var(--text-paragraph-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n accent: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-accent);\n ${tokens.linkColorHover}: var(--text-accent-hover);\n ${tokens.linkColorActive}: var(--text-accent-active);\n ${tokens.linkColorVisited}: var(--text-accent);\n ${tokens.linkColorVisitedHover}: var(--text-accent-hover);\n ${tokens.linkColorVisitedActive}: var(--text-accent-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n positive: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-positive);\n ${tokens.linkColorHover}: var(--text-positive-hover);\n ${tokens.linkColorActive}: var(--text-positive-active);\n ${tokens.linkColorVisited}: var(--text-positive);\n ${tokens.linkColorVisitedHover}: var(--text-positive-hover);\n ${tokens.linkColorVisitedActive}: var(--text-positive-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n warning: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-warning);\n ${tokens.linkColorHover}: var(--text-warning-hover);\n ${tokens.linkColorActive}: var(--text-warning-active);\n ${tokens.linkColorVisited}: var(--text-warning);\n ${tokens.linkColorVisitedHover}: var(--text-warning-hover);\n ${tokens.linkColorVisitedActive}: var(--text-warning-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n negative: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}: var(--text-negative);\n ${tokens.linkColorHover}: var(--text-negative-hover);\n ${tokens.linkColorActive}: var(--text-negative-active);\n ${tokens.linkColorVisited}: var(--text-negative);\n ${tokens.linkColorVisitedHover}: var(--text-negative-hover);\n ${tokens.linkColorVisitedActive}: var(--text-negative-active);\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n clear: css`\n ${tokens.linkFontFamily}: var(--plasma-typo-text-m-font-family);\n ${tokens.linkColor}:inherit;\n ${tokens.linkColorHover}: inherit;\n ${tokens.linkColorActive}: inherit;\n ${tokens.linkColorVisited}: inherit;\n ${tokens.linkColorVisitedHover}: inherit;\n ${tokens.linkColorVisitedActive}: inherit;\n ${tokens.linkUnderlineBorder}: 0.063rem;\n ${tokens.linkUnderlineOffset}: 0.25rem;\n `,\n },\n disabled: {\n true: css`\n ${tokens.linkDisabledOpacity}: 0.4;\n `,\n },\n focused: {\n true: css`\n ${tokens.linkColorFocus}: var(--text-primary);\n `,\n },\n },\n};\n"],"names":["config","defaults","view","focused","variations","default","secondary","tertiary","paragraph","accent","positive","warning","negative","clear","disabled","true"],"mappings":";;;;AAEO,IAAMA,MAAM,GAAG;AAClBC,EAAAA,QAAQ,EAAE;AACNC,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,OAAO,EAAE;GACZ;AACDC,EAAAA,UAAU,EAAE;AACRF,IAAAA,IAAI,EAAE;AACFG,MAAAA,SAAAA,EAAO,SAUN;AACDC,MAAAA,SAAS,EAAA,UAUR;AACDC,MAAAA,QAAQ,EAAA,UAUP;AACDC,MAAAA,SAAS,EAAA,UAUR;AACDC,MAAAA,MAAM,EAAA,UAUL;AACDC,MAAAA,QAAQ,EAAA,UAUP;AACDC,MAAAA,OAAO,EAAA,UAUN;AACDC,MAAAA,QAAQ,EAAA,UAUP;AACDC,MAAAA,KAAK,EAAA;KAWR;AACDC,IAAAA,QAAQ,EAAE;MACNC,MAAAA,EAAI;KAGP;AACDZ,IAAAA,OAAO,EAAE;MACLY,MAAAA,EAAI;AAGR;AACJ;AACJ;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
.dee0pdb{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-primary);--plasma-link-color-hover:var(--text-primary-hover);--plasma-link-color-active:var(--text-primary-active);--plasma-link-color-visited:var(--text-primary);--plasma-link-color-visited-hover:var(--text-primary-hover);--plasma-link-color-visited-active:var(--text-primary-active);--plasma-link-underline-border:0;}
|
|
2
|
-
.s1vofuw3{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-secondary);--plasma-link-color-hover:var(--text-secondary-hover);--plasma-link-color-active:var(--text-secondary-active);--plasma-link-color-visited:var(--text-secondary);--plasma-link-color-visited-hover:var(--text-secondary-hover);--plasma-link-color-visited-active:var(--text-secondary-active);--plasma-link-underline-border:0;}
|
|
3
|
-
.t1ahuwbf{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-tertiary);--plasma-link-color-hover:var(--text-tertiary-hover);--plasma-link-color-active:var(--text-tertiary-active);--plasma-link-color-visited:var(--text-tertiary);--plasma-link-color-visited-hover:var(--text-tertiary-hover);--plasma-link-color-visited-active:var(--text-tertiary-active);--plasma-link-underline-border:0;}
|
|
4
|
-
.p1ui8jxv{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-paragraph);--plasma-link-color-hover:var(--text-paragraph-hover);--plasma-link-color-active:var(--text-paragraph-active);--plasma-link-color-visited:var(--text-paragraph);--plasma-link-color-visited-hover:var(--text-paragraph-hover);--plasma-link-color-visited-active:var(--text-paragraph-active);--plasma-link-underline-border:0;}
|
|
5
|
-
.a19bifbw{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-accent);--plasma-link-color-hover:var(--text-accent-hover);--plasma-link-color-active:var(--text-accent-active);--plasma-link-color-visited:var(--text-accent);--plasma-link-color-visited-hover:var(--text-accent-hover);--plasma-link-color-visited-active:var(--text-accent-active);--plasma-link-underline-border:0;}
|
|
6
|
-
.p11g3bq7{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-positive);--plasma-link-color-hover:var(--text-positive-hover);--plasma-link-color-active:var(--text-positive-active);--plasma-link-color-visited:var(--text-positive);--plasma-link-color-visited-hover:var(--text-positive-hover);--plasma-link-color-visited-active:var(--text-positive-active);--plasma-link-underline-border:0;}
|
|
7
|
-
.w1j34p05{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-warning);--plasma-link-color-hover:var(--text-warning-hover);--plasma-link-color-active:var(--text-warning-active);--plasma-link-color-visited:var(--text-warning);--plasma-link-color-visited-hover:var(--text-warning-hover);--plasma-link-color-visited-active:var(--text-warning-active);--plasma-link-underline-border:0;}
|
|
8
|
-
.n1ozoxtr{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-negative);--plasma-link-color-hover:var(--text-negative-hover);--plasma-link-color-active:var(--text-negative-active);--plasma-link-color-visited:var(--text-negative);--plasma-link-color-visited-hover:var(--text-negative-hover);--plasma-link-color-visited-active:var(--text-negative-active);--plasma-link-underline-border:0;}
|
|
9
|
-
.cwo06rj{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:inherit;--plasma-link-color-hover:inherit;--plasma-link-color-active:inherit;--plasma-link-color-visited:inherit;--plasma-link-color-visited-hover:inherit;--plasma-link-color-visited-active:inherit;--plasma-link-underline-border:0.063rem;}
|
|
1
|
+
.dee0pdb{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-primary);--plasma-link-color-hover:var(--text-primary-hover);--plasma-link-color-active:var(--text-primary-active);--plasma-link-color-visited:var(--text-primary);--plasma-link-color-visited-hover:var(--text-primary-hover);--plasma-link-color-visited-active:var(--text-primary-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
2
|
+
.s1vofuw3{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-secondary);--plasma-link-color-hover:var(--text-secondary-hover);--plasma-link-color-active:var(--text-secondary-active);--plasma-link-color-visited:var(--text-secondary);--plasma-link-color-visited-hover:var(--text-secondary-hover);--plasma-link-color-visited-active:var(--text-secondary-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
3
|
+
.t1ahuwbf{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-tertiary);--plasma-link-color-hover:var(--text-tertiary-hover);--plasma-link-color-active:var(--text-tertiary-active);--plasma-link-color-visited:var(--text-tertiary);--plasma-link-color-visited-hover:var(--text-tertiary-hover);--plasma-link-color-visited-active:var(--text-tertiary-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
4
|
+
.p1ui8jxv{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-paragraph);--plasma-link-color-hover:var(--text-paragraph-hover);--plasma-link-color-active:var(--text-paragraph-active);--plasma-link-color-visited:var(--text-paragraph);--plasma-link-color-visited-hover:var(--text-paragraph-hover);--plasma-link-color-visited-active:var(--text-paragraph-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
5
|
+
.a19bifbw{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-accent);--plasma-link-color-hover:var(--text-accent-hover);--plasma-link-color-active:var(--text-accent-active);--plasma-link-color-visited:var(--text-accent);--plasma-link-color-visited-hover:var(--text-accent-hover);--plasma-link-color-visited-active:var(--text-accent-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
6
|
+
.p11g3bq7{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-positive);--plasma-link-color-hover:var(--text-positive-hover);--plasma-link-color-active:var(--text-positive-active);--plasma-link-color-visited:var(--text-positive);--plasma-link-color-visited-hover:var(--text-positive-hover);--plasma-link-color-visited-active:var(--text-positive-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
7
|
+
.w1j34p05{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-warning);--plasma-link-color-hover:var(--text-warning-hover);--plasma-link-color-active:var(--text-warning-active);--plasma-link-color-visited:var(--text-warning);--plasma-link-color-visited-hover:var(--text-warning-hover);--plasma-link-color-visited-active:var(--text-warning-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
8
|
+
.n1ozoxtr{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:var(--text-negative);--plasma-link-color-hover:var(--text-negative-hover);--plasma-link-color-active:var(--text-negative-active);--plasma-link-color-visited:var(--text-negative);--plasma-link-color-visited-hover:var(--text-negative-hover);--plasma-link-color-visited-active:var(--text-negative-active);--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
9
|
+
.cwo06rj{--plasma-link-font-family:var(--plasma-typo-text-m-font-family);--plasma-link-color:inherit;--plasma-link-color-hover:inherit;--plasma-link-color-active:inherit;--plasma-link-color-visited:inherit;--plasma-link-color-visited-hover:inherit;--plasma-link-color-visited-active:inherit;--plasma-link-underline-border:0.063rem;--plasma-link-underline-offset:0.25rem;}
|
|
10
10
|
.t1v6tmnt{--plasma-link-disabled-opacity:0.4;}
|
|
11
11
|
.t1obm9h5{--plasma-link-color-focus:var(--text-primary);}
|