@salutejs/plasma-new-hope 0.66.0-dev.0 → 0.66.1-canary.1128.8446493855.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. package/package.json +2 -2
  2. package/styled-components/cjs/components/Avatar/Avatar.template-doc.mdx +97 -0
  3. package/styled-components/cjs/components/AvatarGroup/AvatarGroup.template-doc.mdx +29 -0
  4. package/styled-components/cjs/components/Badge/Badge.template-doc.mdx +131 -0
  5. package/styled-components/cjs/components/Button/Button.template-doc.mdx +162 -0
  6. package/styled-components/cjs/components/ButtonGroup/ButtonGroup.template-doc.mdx +123 -0
  7. package/styled-components/cjs/components/Calendar/Calendar.template-doc.mdx +208 -0
  8. package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +44 -0
  9. package/styled-components/cjs/components/Chip/Chip.template-doc.mdx +90 -0
  10. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +237 -0
  11. package/styled-components/cjs/components/Counter/Counter.template-doc.mdx +76 -0
  12. package/styled-components/cjs/components/Drawer/Drawer.template-doc.mdx +170 -0
  13. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  14. package/styled-components/cjs/components/Grid/Grid.template-doc.mdx +142 -0
  15. package/styled-components/cjs/components/Image/Image.template-doc.mdx +26 -0
  16. package/styled-components/cjs/components/Indicator/Indicator.template-doc.mdx +76 -0
  17. package/styled-components/cjs/components/Link/Link.template-doc.mdx +23 -0
  18. package/styled-components/cjs/components/Modal/Modal.template-doc.mdx +56 -0
  19. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +59 -0
  20. package/styled-components/cjs/components/Overlay/Overlay.template-doc.mdx +10 -0
  21. package/styled-components/cjs/components/Popover/Popover.template-doc.mdx +72 -0
  22. package/styled-components/cjs/components/Popup/Popup.template-doc.mdx +209 -0
  23. package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +38 -0
  24. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +61 -0
  25. package/styled-components/cjs/components/Select/Select.template-doc.mdx +115 -0
  26. package/styled-components/cjs/components/Skeleton/Skeleton.template-doc.mdx +103 -0
  27. package/styled-components/cjs/components/Spinner/Spinner.template-doc.mdx +21 -0
  28. package/styled-components/cjs/components/Switch/Switch.template-doc.mdx +24 -0
  29. package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +94 -0
  30. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +88 -0
  31. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +112 -0
  32. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +153 -0
  33. package/styled-components/cjs/components/Tooltip/Tooltip.template-doc.mdx +30 -0
  34. package/styled-components/cjs/components/Typography/Typography.template-doc.mdx +127 -0
  35. package/styled-components/es/components/Avatar/Avatar.template-doc.mdx +97 -0
  36. package/styled-components/es/components/AvatarGroup/AvatarGroup.template-doc.mdx +29 -0
  37. package/styled-components/es/components/Badge/Badge.template-doc.mdx +131 -0
  38. package/styled-components/es/components/Button/Button.template-doc.mdx +162 -0
  39. package/styled-components/es/components/ButtonGroup/ButtonGroup.template-doc.mdx +123 -0
  40. package/styled-components/es/components/Calendar/Calendar.template-doc.mdx +208 -0
  41. package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +44 -0
  42. package/styled-components/es/components/Chip/Chip.template-doc.mdx +90 -0
  43. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +237 -0
  44. package/styled-components/es/components/Counter/Counter.template-doc.mdx +76 -0
  45. package/styled-components/es/components/Drawer/Drawer.template-doc.mdx +170 -0
  46. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +80 -0
  47. package/styled-components/es/components/Grid/Grid.template-doc.mdx +142 -0
  48. package/styled-components/es/components/Image/Image.template-doc.mdx +26 -0
  49. package/styled-components/es/components/Indicator/Indicator.template-doc.mdx +76 -0
  50. package/styled-components/es/components/Link/Link.template-doc.mdx +23 -0
  51. package/styled-components/es/components/Modal/Modal.template-doc.mdx +56 -0
  52. package/styled-components/es/components/Notification/Notification.template-doc.mdx +59 -0
  53. package/styled-components/es/components/Overlay/Overlay.template-doc.mdx +10 -0
  54. package/styled-components/es/components/Popover/Popover.template-doc.mdx +72 -0
  55. package/styled-components/es/components/Popup/Popup.template-doc.mdx +209 -0
  56. package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +38 -0
  57. package/styled-components/es/components/Segment/Segment.template-doc.mdx +61 -0
  58. package/styled-components/es/components/Select/Select.template-doc.mdx +115 -0
  59. package/styled-components/es/components/Skeleton/Skeleton.template-doc.mdx +103 -0
  60. package/styled-components/es/components/Spinner/Spinner.template-doc.mdx +21 -0
  61. package/styled-components/es/components/Switch/Switch.template-doc.mdx +24 -0
  62. package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +94 -0
  63. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +88 -0
  64. package/styled-components/es/components/TextField/TextField.template-doc.mdx +112 -0
  65. package/styled-components/es/components/Toast/Toast.template-doc.mdx +153 -0
  66. package/styled-components/es/components/Tooltip/Tooltip.template-doc.mdx +30 -0
  67. package/styled-components/es/components/Typography/Typography.template-doc.mdx +127 -0
@@ -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
+ ```