@salutejs/plasma-new-hope 0.67.0-canary.1148.8443817650.0 → 0.67.0-canary.1148.8449317874.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. package/cjs/components/Cell/Cell.js +3 -0
  2. package/cjs/components/Cell/Cell.js.map +1 -1
  3. package/cjs/components/Cell/Cell.tokens.js +2 -3
  4. package/cjs/components/Cell/Cell.tokens.js.map +1 -1
  5. package/es/components/Cell/Cell.js +3 -0
  6. package/es/components/Cell/Cell.js.map +1 -1
  7. package/es/components/Cell/Cell.tokens.js +2 -3
  8. package/es/components/Cell/Cell.tokens.js.map +1 -1
  9. package/package.json +2 -2
  10. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +97 -0
  11. package/styled-components/cjs/components/AvatarGroup/AvatarGroup.template-doc.mdx +29 -0
  12. package/styled-components/cjs/components/Badge/Badge.template-doc.mdx +131 -0
  13. package/styled-components/cjs/components/Button/Button.template-doc.mdx +162 -0
  14. package/styled-components/cjs/components/ButtonGroup/ButtonGroup.template-doc.mdx +123 -0
  15. package/styled-components/cjs/components/Calendar/Calendar.template-doc.mdx +208 -0
  16. package/styled-components/cjs/components/Cell/Cell.js +3 -0
  17. package/styled-components/cjs/components/Cell/Cell.tokens.js +2 -3
  18. package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +44 -0
  19. package/styled-components/cjs/components/Chip/Chip.template-doc.mdx +90 -0
  20. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +237 -0
  21. package/styled-components/cjs/components/Counter/Counter.template-doc.mdx +76 -0
  22. package/styled-components/cjs/components/Drawer/Drawer.template-doc.mdx +170 -0
  23. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  24. package/styled-components/cjs/components/Grid/Grid.template-doc.mdx +142 -0
  25. package/styled-components/cjs/components/Image/Image.template-doc.mdx +26 -0
  26. package/styled-components/cjs/components/Indicator/Indicator.template-doc.mdx +76 -0
  27. package/styled-components/cjs/components/Link/Link.template-doc.mdx +23 -0
  28. package/styled-components/cjs/components/Modal/Modal.template-doc.mdx +56 -0
  29. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +59 -0
  30. package/styled-components/cjs/components/Overlay/Overlay.template-doc.mdx +10 -0
  31. package/styled-components/cjs/components/Popover/Popover.template-doc.mdx +72 -0
  32. package/styled-components/cjs/components/Popup/Popup.template-doc.mdx +209 -0
  33. package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +38 -0
  34. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +61 -0
  35. package/styled-components/cjs/components/Select/Select.template-doc.mdx +115 -0
  36. package/styled-components/cjs/components/Skeleton/Skeleton.template-doc.mdx +103 -0
  37. package/styled-components/cjs/components/Spinner/Spinner.template-doc.mdx +21 -0
  38. package/styled-components/cjs/components/Switch/Switch.template-doc.mdx +24 -0
  39. package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +94 -0
  40. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +88 -0
  41. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +112 -0
  42. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +153 -0
  43. package/styled-components/cjs/components/Tooltip/Tooltip.template-doc.mdx +30 -0
  44. package/styled-components/cjs/components/Typography/Typography.template-doc.mdx +127 -0
  45. package/styled-components/cjs/examples/plasma_b2c/components/Cell/Cell.config.js +5 -5
  46. package/styled-components/cjs/examples/plasma_b2c/components/Cell/Cell.stories.tsx +16 -19
  47. package/styled-components/cjs/examples/plasma_web/components/Cell/Cell.config.js +5 -5
  48. package/styled-components/cjs/examples/plasma_web/components/Cell/Cell.stories.tsx +16 -19
  49. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +97 -0
  50. package/styled-components/es/components/AvatarGroup/AvatarGroup.template-doc.mdx +29 -0
  51. package/styled-components/es/components/Badge/Badge.template-doc.mdx +131 -0
  52. package/styled-components/es/components/Button/Button.template-doc.mdx +162 -0
  53. package/styled-components/es/components/ButtonGroup/ButtonGroup.template-doc.mdx +123 -0
  54. package/styled-components/es/components/Calendar/Calendar.template-doc.mdx +208 -0
  55. package/styled-components/es/components/Cell/Cell.js +3 -0
  56. package/styled-components/es/components/Cell/Cell.tokens.js +2 -3
  57. package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +44 -0
  58. package/styled-components/es/components/Chip/Chip.template-doc.mdx +90 -0
  59. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +237 -0
  60. package/styled-components/es/components/Counter/Counter.template-doc.mdx +76 -0
  61. package/styled-components/es/components/Drawer/Drawer.template-doc.mdx +170 -0
  62. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  63. package/styled-components/es/components/Grid/Grid.template-doc.mdx +142 -0
  64. package/styled-components/es/components/Image/Image.template-doc.mdx +26 -0
  65. package/styled-components/es/components/Indicator/Indicator.template-doc.mdx +76 -0
  66. package/styled-components/es/components/Link/Link.template-doc.mdx +23 -0
  67. package/styled-components/es/components/Modal/Modal.template-doc.mdx +56 -0
  68. package/styled-components/es/components/Notification/Notification.template-doc.mdx +59 -0
  69. package/styled-components/es/components/Overlay/Overlay.template-doc.mdx +10 -0
  70. package/styled-components/es/components/Popover/Popover.template-doc.mdx +72 -0
  71. package/styled-components/es/components/Popup/Popup.template-doc.mdx +209 -0
  72. package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +38 -0
  73. package/styled-components/es/components/Segment/Segment.template-doc.mdx +61 -0
  74. package/styled-components/es/components/Select/Select.template-doc.mdx +115 -0
  75. package/styled-components/es/components/Skeleton/Skeleton.template-doc.mdx +103 -0
  76. package/styled-components/es/components/Spinner/Spinner.template-doc.mdx +21 -0
  77. package/styled-components/es/components/Switch/Switch.template-doc.mdx +24 -0
  78. package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +94 -0
  79. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +88 -0
  80. package/styled-components/es/components/TextField/TextField.template-doc.mdx +112 -0
  81. package/styled-components/es/components/Toast/Toast.template-doc.mdx +153 -0
  82. package/styled-components/es/components/Tooltip/Tooltip.template-doc.mdx +30 -0
  83. package/styled-components/es/components/Typography/Typography.template-doc.mdx +127 -0
  84. package/styled-components/es/examples/plasma_b2c/components/Cell/Cell.config.js +5 -5
  85. package/styled-components/es/examples/plasma_b2c/components/Cell/Cell.stories.tsx +16 -19
  86. package/styled-components/es/examples/plasma_web/components/Cell/Cell.config.js +5 -5
  87. package/styled-components/es/examples/plasma_web/components/Cell/Cell.stories.tsx +16 -19
  88. package/types/components/Cell/Cell.d.ts +4 -2
  89. package/types/components/Cell/Cell.d.ts.map +1 -1
  90. package/types/components/Cell/Cell.tokens.d.ts +0 -1
  91. package/types/components/Cell/Cell.tokens.d.ts.map +1 -1
  92. package/types/components/Cell/Cell.types.d.ts +5 -2
  93. package/types/components/Cell/Cell.types.d.ts.map +1 -1
  94. package/types/examples/plasma_b2c/components/Cell/Cell.d.ts +2 -1
  95. package/types/examples/plasma_b2c/components/Cell/Cell.d.ts.map +1 -1
  96. package/types/examples/plasma_web/components/Cell/Cell.d.ts +2 -1
  97. package/types/examples/plasma_web/components/Cell/Cell.d.ts.map +1 -1
@@ -0,0 +1,94 @@
1
+ ---
2
+ id: tabs
3
+ title: Tabs
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # Tabs
9
+ Набор компонентов для создания вкладок.
10
+ Структура для вкладок похожа на структуру маркированных списков.
11
+
12
+ ## TabsController
13
+
14
+ <Description name="TabsController" />
15
+ <PropsTable name="TabsController" />
16
+
17
+ ## Tabs
18
+
19
+ <Description name="Tabs" />
20
+ <PropsTable name="Tabs" />
21
+
22
+ ## TabItem
23
+
24
+ <Description name="TabItem" />
25
+ <PropsTable name="TabItem" />
26
+
27
+
28
+ ## Использование
29
+
30
+ ### Cтандартное подключение, без клавиатурной навигации
31
+
32
+ ```tsx live
33
+ import React, { useState } from 'react';
34
+ import { Tabs, TabItem } from '@salutejs/{{ package }}';
35
+ import { IconClock } from '@salutejs/plasma-icons';
36
+
37
+ export function App() {
38
+ const items = Array(4).fill(0);
39
+ const [index, setIndex] = useState(0);
40
+
41
+ return (
42
+ <Tabs view="filled" stretch size="xs">
43
+ {items.map((_, i) => (
44
+ <TabItem
45
+ view="secondary"
46
+ key={`item:${i}`}
47
+ size="xs"
48
+ selected={i === index}
49
+ tabIndex={0}
50
+ contentLeft={<IconClock size="xs" color="inherit" />}
51
+ onClick={() => setIndex(i)}
52
+ >
53
+ Label
54
+ </TabItem>
55
+ ))}
56
+ </Tabs>
57
+ );
58
+ }
59
+ ```
60
+
61
+ ### Подключение клавиатурной навигации
62
+ Для этого необходимо дополнительно прокинуть свойства `index, itemIndex, onIndexChange`.
63
+ Клавиши ArrowLeft, ArrowRight, Home, End для навигации по вкладкам.
64
+
65
+ ```tsx live
66
+ import React, { useState } from 'react';
67
+ import { Tabs, TabItem } from '@salutejs/{{ package }}';
68
+ import { IconClock } from '@salutejs/plasma-icons';
69
+
70
+ export function App() {
71
+ const items = Array(4).fill(0);
72
+ const [index, setIndex] = useState(0);
73
+
74
+ return (
75
+ <Tabs view="filled" stretch size="xs" index={index}>
76
+ {items.map((_, i) => (
77
+ <TabItem
78
+ view="secondary"
79
+ key={`item:${i}`}
80
+ size="xs"
81
+ itemIndex={i}
82
+ onIndexChange={(i) => setIndex(i)}
83
+ selected={i === index}
84
+ tabIndex={0}
85
+ contentLeft={<IconClock size="xs" color="inherit" />}
86
+ onClick={() => setIndex(i)}
87
+ >
88
+ Label
89
+ </TabItem>
90
+ ))}
91
+ </Tabs>
92
+ );
93
+ }
94
+ ```
@@ -0,0 +1,88 @@
1
+ ---
2
+ id: textarea
3
+ title: TextArea
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # TextArea
9
+ <Description name="TextArea" />
10
+ <PropsTable name="TextArea" exclude={['$isFocused']} />
11
+
12
+ ## Использование
13
+ Компонент `TextArea` может содержать иконку (или кнопку) справа.
14
+ Для этого используйте свойство и `contentRight`:
15
+
16
+ ```tsx live
17
+ import React from 'react';
18
+ import { TextArea } from '@salutejs/{{ package }}';
19
+ import { IconDownload } from '@salutejs/plasma-icons';
20
+
21
+ export function App() {
22
+ return (
23
+ <div>
24
+ <TextArea
25
+ placeholder="Положение иконки"
26
+ defaultValue="Справа"
27
+ contentRight={<IconDownload />}
28
+ />
29
+ </div>
30
+ );
31
+ }
32
+ ```
33
+
34
+ Также можно регулировать высоту и ширину, используя свойства `height` и `width`,
35
+ указав значения в `rem` или соответствующие свойствам css значения.
36
+
37
+ ## Autoresize
38
+ Также можно включить автоматическое регулирование высоты поля ввода по длине контента внутри (параметра `value`).
39
+ Для этого необходимо использовать свойство `autoResize`.
40
+ При этом, если пользователь вручную регулирует высоту(`resize`), то она так и остается пользовательской.
41
+
42
+ В этом режиме можно указать крайние значения высоты поля ввода, используя свойства `autoMin`, `autoMax`,
43
+ указав их в `rem`.
44
+
45
+ ```tsx live
46
+ import React from 'react';
47
+ import { TextArea } from '@salutejs/{{ package }}';
48
+
49
+ export function App() {
50
+ const [value, setValue] = React.useState('Значение');
51
+
52
+ return (
53
+ <div>
54
+ <TextArea
55
+ placeholder="Введите значение"
56
+ value={value}
57
+ onChange={(e) => {
58
+ setValue(e.target.value);
59
+ }}
60
+ autoResize
61
+ minAuto={3}
62
+ maxAuto={5}
63
+ />
64
+ </div>
65
+ );
66
+ }
67
+ ```
68
+
69
+ ### Подсказка
70
+ Для вывода подсказки снизу от поля используйте свойство `leftHelper` и/или `rightHelper`.
71
+
72
+ ```tsx live
73
+ import React from 'react';
74
+ import { TextArea } from '@salutejs/{{ package }}';
75
+
76
+ export function App() {
77
+ return (
78
+ <div>
79
+ <TextArea
80
+ placeholder="Введите значение"
81
+ defaultValue="Значение"
82
+ leftHelper="Подсказка снизу слева"
83
+ rightHelper="Подсказка снизу справа"
84
+ />
85
+ </div>
86
+ );
87
+ }
88
+ ```
@@ -0,0 +1,112 @@
1
+ ---
2
+ id: textfield
3
+ title: TextField
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # TextField
9
+ <Description name="TextField" />
10
+ <PropsTable name="TextField" exclude={['$isFocused']} />
11
+
12
+ ## Использование
13
+ Компонент `TextField` может содержать иконку (или кнопку) слева и справа.
14
+ Для этого используйте свойства `contentLeft` и `contentRight`:
15
+
16
+ ```tsx live
17
+ import React from 'react';
18
+ import { TextField } from '@salutejs/{{ package }}';
19
+ import { IconDownload } from '@salutejs/plasma-icons';
20
+
21
+ export function App() {
22
+ return (
23
+ <div>
24
+ <TextField
25
+ placeholder="Положение иконки"
26
+ defaultValue="Слева"
27
+ contentLeft={<IconDownload />}
28
+ />
29
+ <TextField
30
+ placeholder="Положение иконки"
31
+ defaultValue="Справа"
32
+ contentRight={<IconDownload />}
33
+ />
34
+ </div>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ### Размер поля
40
+ Размер поля задаётся с помощью свойства `size`. Свойство принимает значения `"l"` и `"m"`:
41
+
42
+ ```tsx live
43
+ import React from 'react';
44
+ import { TextField } from '@salutejs/{{ package }}';
45
+
46
+ export function App() {
47
+ return (
48
+ <div>
49
+ <TextField
50
+ placeholder="Размер"
51
+ size="l"
52
+ defaultValue="L56"
53
+ />
54
+ <TextField
55
+ placeholder="Размер"
56
+ size="m"
57
+ defaultValue="M48"
58
+ />
59
+ </div>
60
+ );
61
+ }
62
+ ```
63
+
64
+ ### Статус поля
65
+ Статус поля задается с помощью свойства `status`. Возможные значения свойства: `success`, `warning` и `error`:
66
+
67
+ ```tsx live
68
+ import React from 'react';
69
+ import { TextField } from '@salutejs/{{ package }}';
70
+
71
+ export function App() {
72
+ return (
73
+ <div>
74
+ <TextField
75
+ placeholder="Статус"
76
+ status="success"
77
+ defaultValue="Успех"
78
+ />
79
+ <TextField
80
+ placeholder="Статус"
81
+ status="warning"
82
+ defaultValue="Успех"
83
+ />
84
+ <TextField
85
+ placeholder="Статус"
86
+ status="error"
87
+ defaultValue="Ошибка"
88
+ />
89
+ </div>
90
+ );
91
+ }
92
+ ```
93
+
94
+ ### Подсказка
95
+ Для вывода подсказки снизу от поля используйте свойство `helperText`:
96
+
97
+ ```tsx live
98
+ import React from 'react';
99
+ import { TextField } from '@salutejs/{{ package }}';
100
+
101
+ export function App() {
102
+ return (
103
+ <div>
104
+ <TextField
105
+ placeholder="Введите значение"
106
+ defaultValue="Значение"
107
+ helperText="Подсказка снизу"
108
+ />
109
+ </div>
110
+ );
111
+ }
112
+ ```
@@ -0,0 +1,153 @@
1
+ ---
2
+ id: toast
3
+ title: Toast
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # Toast
9
+ <Description name="Toast" />
10
+ <PropsTable name="Toast" />
11
+
12
+ ## Система подсказок
13
+ Существует готовая система текстовых подсказок, для использования которой необходимо обернуть приложение в `ToastProvider`:
14
+
15
+ ```jsx title="App.tsx"
16
+ import React from 'react';
17
+ import { ToastProvider } from '@salutejs/{{ package }}';
18
+
19
+ export const App = () => (
20
+ <ToastProvider>
21
+ <div className="App">Hello, world!</div>
22
+ </ToastProvider>
23
+ );
24
+ ```
25
+
26
+ После этого, с помощью хука `useToast` можно получить доступ к управлению подсказками.
27
+
28
+ ```jsx title="MyComponent.tsx"
29
+ import React from 'react'
30
+ import { useToast, Button } from '@salutejs/{{ package }}'
31
+
32
+ export const MyComponent = () => {
33
+ const { showToast, hideToast } = useToast()
34
+
35
+ const onHide = () => {}
36
+
37
+ return (
38
+ <Button onClick={() => showToast({ text, position, timeout, fade, contentLeft, role, onHide })} />
39
+ )
40
+ }
41
+ ```
42
+
43
+ `showToast` имеет необязательный аргумент `position`, отвечающий за позиционирование подсказки.
44
+
45
+ ```ts
46
+ type Position = 'top' | 'bottom';
47
+ ```
48
+
49
+ `showToast` имеет необязательный аргумент `timeout`, отвечающий за время отображения подсказки.
50
+ Если аргумент не передается, по умолчанию подсказка отображается пока пользователь ее не закроет.
51
+
52
+ Скрыть текущую подсказку в любой момент можно с помощью функции `hideToast`.
53
+
54
+ ## Аргументы функции `showToast`
55
+ | Название | Тип | Значение | Описание |
56
+ |----------|-----------------|----------|--------------------|
57
+ | `args` | `ShowToastArgs` | | Конфигурация toast |
58
+
59
+ ```ts
60
+ import type { ReactNode } from 'react';
61
+
62
+ export interface ShowToastArgs {
63
+ /**
64
+ * Текстовая надпись
65
+ */
66
+ text?: string;
67
+ /**
68
+ * Слот для контента слева, например `Icon`
69
+ */
70
+ contentLeft?: ReactNode;
71
+ /**
72
+ * Место отображения подсказки
73
+ */
74
+ position?: ToastPosition;
75
+ /**
76
+ * WAI-ARIA роль
77
+ */
78
+ role?: ToastRole;
79
+ /**
80
+ * Отображать ли подложку блока подсказки
81
+ */
82
+ fade?: boolean;
83
+ /**
84
+ * Значение для дополнительно отступа блока подсказки, считается в rem.
85
+ */
86
+ offset?: number;
87
+ /**
88
+ * Блок подсказки c округлым border-radius
89
+ */
90
+ pilled?: boolean;
91
+ /**
92
+ * Отображать ли иконку закрытия
93
+ */
94
+ hasClose?: boolean;
95
+ /**
96
+ * Размер блока подсказки
97
+ */
98
+ size?: string;
99
+ /**
100
+ * Вид блока подсказки
101
+ */
102
+ view?: string;
103
+ /**
104
+ * Время отображения подсказки. Если не передать значение, подсказка будет отображаться пока ее не закроют.
105
+ */
106
+ timeout?: number;
107
+ /**
108
+ * callback срабатывающий в момент события hideToast
109
+ */
110
+ onHide?: () => void;
111
+ /**
112
+ * callback срабатывающий в момент события showToast
113
+ */
114
+ onShow?: () => void;
115
+ }
116
+ ```
117
+
118
+ ## Пример использования
119
+
120
+ ```jsx live
121
+ import React from 'react'
122
+ import { useToast, ToastProvider, Button } from '@salutejs/{{ package }}'
123
+
124
+ export function App() {
125
+
126
+ const ToastExample = () => {
127
+ const { showToast, hideToast } = useToast()
128
+
129
+ const onShow = () => {}
130
+ const onHide = () => {}
131
+ const toastData = {
132
+ text: 'Подсказка вызванная showToast',
133
+ position: 'bottom',
134
+ role: 'status',
135
+ hasClose: true,
136
+ fade: false,
137
+ size: 'm',
138
+ view: 'dark',
139
+ timeout: 3000,
140
+ onShow,
141
+ onHide
142
+ }
143
+
144
+ return <Button onClick={() => showToast(toastData)} text="Вызвать подсказку" />
145
+ }
146
+
147
+ return (
148
+ <ToastProvider>
149
+ <ToastExample />
150
+ </ToastProvider>
151
+ )
152
+ }
153
+ ```
@@ -0,0 +1,30 @@
1
+ ---
2
+ id: Tooltip
3
+ title: Tooltip
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # Tooltip
9
+ <Description name="Tooltip" />
10
+ <PropsTable name="Tooltip" />
11
+
12
+ ## Базовое применение
13
+
14
+ `Tooltip` оборачивает собой любой компонент и открывается в заданную сторону(причем можно передавать массив, тогда сторона будет определяться автоматически из переданных).
15
+
16
+ Предполагается оборачивать иконки из пакета `@salutejs/plasma-icons`
17
+
18
+ ```tsx live
19
+ import React from 'react';
20
+ import { Tooltip } from '@salutejs/{{ package }}';
21
+ import { IconApps } from '@salutejs/plasma-icons';
22
+
23
+ export function App() {
24
+ return (
25
+ <div style=\{{marginLeft: '100px',marginBottom: '35px'}}>
26
+ <Tooltip target={( <IconApps />)} text="Высокое качество воспроизведения" placement="bottom" hasArrow isOpen />
27
+ </div>
28
+ );
29
+ }
30
+ ```
@@ -0,0 +1,127 @@
1
+ ---
2
+ id: typography
3
+ title: Typography
4
+ ---
5
+
6
+ # Typography
7
+ В состав Plasma Web входят компоненты, реализующие типографическую систему [типографическую систему Plasma](../../design/typography).
8
+ Они заменяют обычные HTML-теги, такие, как `h1`, `h2`, `h3`, `h4`, `p`, etc.
9
+
10
+ ## Установка шрифта
11
+ Компоненты типографики используют фирменный шрифт **SB Sans Text**.
12
+ О том, как установить данный шрифт, смотрите на странице [Типографическая система](../../design/typography#установка-шрифта).
13
+
14
+ ## Отступы
15
+ По умолчанию типографика поддерживает стандартные отступы.
16
+ О том, как использовать отступы, читайте на странице [Стандартные отступы](../../design/spacing#встроенные-отступы-в-типографике).
17
+
18
+ ## Переносы
19
+ По умолчанию в типографике слова переносятся по слогам.
20
+ Чтобы отключить данный функционал, необходимо установить свойство `breakWord` в значении `false`.
21
+
22
+ ## Состав
23
+
24
+ ### Hero unit
25
+
26
+ ```tsx live
27
+ import React from 'react';
28
+ import { DsplL, DsplM, DsplS } from '@salutejs/{{ package }}';
29
+
30
+ export function App() {
31
+ return (
32
+ <div style=\{{ display: 'block' }}>
33
+ <DsplL bold={false}>DsplL</DsplL>
34
+ <DsplL>DsplL Bold</DsplL>
35
+
36
+ <DsplM bold={false}>DsplM</DsplM>
37
+ <DsplM>DsplM Bold</DsplM>
38
+
39
+ <DsplS bold={false}>DsplS</DsplS>
40
+ <DsplS>DsplS Bold</DsplS>
41
+ </div>
42
+ );
43
+ }
44
+ ```
45
+
46
+ ### Заголовки
47
+
48
+ ```tsx live
49
+ import React from 'react';
50
+ import { H1, H2, H3, H4, H5 } from '@salutejs/{{ package }}';
51
+
52
+ export function App() {
53
+ return (
54
+ <div style=\{{ display: 'block' }}>
55
+ <H1 bold={false}>H1</H1>
56
+ <H1>H1 Bold</H1>
57
+
58
+ <H2 bold={false}>H2</H2>
59
+ <H2>H2 Bold</H2>
60
+
61
+ <H3 bold={false}>H3</H3>
62
+ <H3>H3 Bold</H3>
63
+
64
+ <H4 bold={false}>H4</H4>
65
+ <H4>H4 Bold</H4>
66
+
67
+ <H5 bold={false}>H5</H5>
68
+ <H5>H5 Bold</H5>
69
+ </div>
70
+ );
71
+ }
72
+ ```
73
+
74
+ ### Интерфейсы
75
+ Типографика для таких частей интерфейса, как button, label, подписи, и т.п.
76
+
77
+ ```tsx live
78
+ import React from 'react';
79
+ import { BodyL, BodyM, BodyS, BodyXS, BodyXXS } from '@salutejs/{{ package }}';
80
+
81
+ export function App() {
82
+ return (
83
+ <div style=\{{ display: 'block' }}>
84
+ <BodyL>BodyL</BodyL>
85
+ <BodyL bold>BodyL полужирный</BodyL>
86
+
87
+ <BodyM>BodyM</BodyM>
88
+ <BodyM bold>BodyM полужирный</BodyM>
89
+
90
+ <BodyS>BodyS</BodyS>
91
+ <BodyS bold>BodyS полужирный</BodyS>
92
+
93
+ <BodyXS>BodyXS</BodyXS>
94
+ <BodyXS bold>BodyXS полужирный</BodyXS>
95
+
96
+ <BodyXXS>BodyXXS</BodyXXS>
97
+ <BodyXXS bold>BodyXXS полужирный</BodyXXS>
98
+ </div>
99
+ );
100
+ }
101
+ ```
102
+
103
+ ### Текст
104
+ Типографические элементы для описаний к статьям, дополнительной информации и т.д.
105
+
106
+ ```tsx live
107
+ import React from 'react';
108
+ import { TextL, TextM, TextS, TextXS } from '@salutejs/{{ package }}';
109
+
110
+ export function App() {
111
+ return (
112
+ <div style=\{{ display: 'block' }}>
113
+ <TextL>TextL</TextL>
114
+ <TextL bold>TextL полужирный</TextL>
115
+
116
+ <TextM>TextM</TextM>
117
+ <TextM bold>TextM полужирный</TextM>
118
+
119
+ <TextS>TextS</TextS>
120
+ <TextS bold>TextS полужирный</TextS>
121
+
122
+ <TextXS>TextXS</TextXS>
123
+ <TextXS bold>TextXS полужирный</TextXS>
124
+ </div>
125
+ );
126
+ }
127
+ ```
@@ -2,7 +2,7 @@ import { css } from 'styled-components';
2
2
  import { cellTokens } from '../../../../components/Cell';
3
3
  export var config = {
4
4
  defaults: {
5
- view: 'primary',
5
+ view: 'default',
6
6
  size: 'm',
7
7
  stretching: 'filled'
8
8
  },
@@ -11,10 +11,10 @@ export var config = {
11
11
  "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--text-secondary);", ":var(--text-primary);", ":var(--text-secondary);", ":transparent;"], cellTokens.cellColor, cellTokens.cellLabelColor, cellTokens.cellTitleColor, cellTokens.cellSubtitleColor, cellTokens.cellBackgroundColor)
12
12
  },
13
13
  size: {
14
- l: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-regular-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-regular-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-regular-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
15
- m: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-regular-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-regular-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-regular-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
16
- s: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-regular-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-regular-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-regular-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
17
- xs: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-regular-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-regular-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-regular-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight)
14
+ l: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
15
+ m: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
16
+ s: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.375rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight),
17
+ xs: /*#__PURE__*/css(["", ":15rem;", ":0rem;", ":0rem;", ":0rem;", ":0rem;", ":0.125rem;", ":0.25rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], cellTokens.cellWidth, cellTokens.cellPadding, cellTokens.cellPaddingLeftContent, cellTokens.cellPaddingContent, cellTokens.cellPaddingRightContent, cellTokens.cellTextboxGap, cellTokens.cellGap, cellTokens.cellLabelFontFamily, cellTokens.cellLabelFontSize, cellTokens.cellLabelFontStyle, cellTokens.cellLabelFontWeight, cellTokens.cellLabelLetterSpacing, cellTokens.cellLabelLineHeight, cellTokens.cellTitleFontFamily, cellTokens.cellTitleFontSize, cellTokens.cellTitleFontStyle, cellTokens.cellTitleFontWeight, cellTokens.cellTitleLetterSpacing, cellTokens.cellTitleLineHeight, cellTokens.cellSubtitleFontFamily, cellTokens.cellSubtitleFontSize, cellTokens.cellSubtitleFontStyle, cellTokens.cellSubtitleFontWeight, cellTokens.cellSubtitleLetterSpacing, cellTokens.cellSubtitleLineHeight)
18
18
  },
19
19
  stretching: {
20
20
  auto: /*#__PURE__*/css([""]),