@skbkontur/react-ui 5.3.1 → 5.3.2

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.
Files changed (135) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -6
  3. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  4. package/cjs/components/Button/Button.md +0 -261
  5. package/cjs/components/Calendar/Calendar.md +0 -276
  6. package/cjs/components/Calendar/CalendarDay.md +0 -70
  7. package/cjs/components/Center/Center.md +0 -26
  8. package/cjs/components/Checkbox/Checkbox.md +0 -171
  9. package/cjs/components/ComboBox/ComboBox.md +0 -574
  10. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  11. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  12. package/cjs/components/DateInput/DateInput.md +0 -111
  13. package/cjs/components/DatePicker/DatePicker.md +0 -368
  14. package/cjs/components/Dropdown/Dropdown.md +0 -45
  15. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  16. package/cjs/components/FileUploader/FileUploader.md +0 -131
  17. package/cjs/components/FxInput/FxInput.md +0 -31
  18. package/cjs/components/Gapped/Gapped.md +0 -44
  19. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  20. package/cjs/components/Group/Group.md +0 -19
  21. package/cjs/components/Hint/Hint.md +0 -86
  22. package/cjs/components/Input/Input.md +0 -86
  23. package/cjs/components/Kebab/Kebab.md +0 -306
  24. package/cjs/components/Link/Link.md +0 -182
  25. package/cjs/components/Loader/Loader.md +0 -33
  26. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  27. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  28. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  29. package/cjs/components/MenuItem/MenuItem.md +0 -139
  30. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  31. package/cjs/components/MiniModal/MiniModal.md +0 -231
  32. package/cjs/components/Modal/Modal.md +0 -56
  33. package/cjs/components/Paging/Paging.md +0 -57
  34. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  35. package/cjs/components/Radio/Radio.md +0 -57
  36. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  37. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  38. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  39. package/cjs/components/Select/Select.md +0 -113
  40. package/cjs/components/SidePage/SidePage.md +0 -65
  41. package/cjs/components/SingleToast/SingleToast.md +0 -36
  42. package/cjs/components/Spinner/Spinner.md +0 -36
  43. package/cjs/components/Sticky/Sticky.md +0 -28
  44. package/cjs/components/Switcher/Switcher.md +0 -111
  45. package/cjs/components/Tabs/Tab.md +0 -73
  46. package/cjs/components/Tabs/Tabs.md +0 -54
  47. package/cjs/components/Textarea/Textarea.md +0 -58
  48. package/cjs/components/Toast/Toast.md +0 -69
  49. package/cjs/components/Toggle/Toggle.md +0 -110
  50. package/cjs/components/Token/Token.md +0 -48
  51. package/cjs/components/TokenInput/TokenInput.md +0 -277
  52. package/cjs/components/Tooltip/Tooltip.md +0 -322
  53. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  54. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  55. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  56. package/cjs/internal/DataTids/DataTids.js +0 -50
  57. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  58. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  59. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  60. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  61. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  62. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  63. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  64. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  65. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  66. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  67. package/cjs/lib/theming/ThemeContext.md +0 -265
  68. package/components/Autocomplete/Autocomplete.md +0 -113
  69. package/components/Button/Button.md +0 -261
  70. package/components/Calendar/Calendar.md +0 -276
  71. package/components/Calendar/CalendarDay.md +0 -70
  72. package/components/Center/Center.md +0 -26
  73. package/components/Checkbox/Checkbox.md +0 -171
  74. package/components/ComboBox/ComboBox.md +0 -574
  75. package/components/CurrencyInput/CurrencyInput.md +0 -39
  76. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  77. package/components/DateInput/DateInput.md +0 -111
  78. package/components/DatePicker/DatePicker.md +0 -368
  79. package/components/Dropdown/Dropdown.md +0 -45
  80. package/components/DropdownMenu/DropdownMenu.md +0 -290
  81. package/components/FileUploader/FileUploader.md +0 -131
  82. package/components/FxInput/FxInput.md +0 -31
  83. package/components/Gapped/Gapped.md +0 -44
  84. package/components/GlobalLoader/GlobalLoader.md +0 -97
  85. package/components/Group/Group.md +0 -19
  86. package/components/Hint/Hint.md +0 -86
  87. package/components/Input/Input.md +0 -86
  88. package/components/Kebab/Kebab.md +0 -306
  89. package/components/Link/Link.md +0 -182
  90. package/components/Loader/Loader.md +0 -33
  91. package/components/MaskedInput/MaskedInput.md +0 -114
  92. package/components/MenuFooter/MenuFooter.md +0 -27
  93. package/components/MenuHeader/MenuHeader.md +0 -35
  94. package/components/MenuItem/MenuItem.md +0 -139
  95. package/components/MenuSeparator/MenuSeparator.md +0 -14
  96. package/components/MiniModal/MiniModal.md +0 -231
  97. package/components/Modal/Modal.md +0 -56
  98. package/components/Paging/Paging.md +0 -57
  99. package/components/PasswordInput/PasswordInput.md +0 -29
  100. package/components/Radio/Radio.md +0 -57
  101. package/components/RadioGroup/RadioGroup.md +0 -44
  102. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  103. package/components/ScrollContainer/ScrollContainer.md +0 -224
  104. package/components/Select/Select.md +0 -113
  105. package/components/SidePage/SidePage.md +0 -65
  106. package/components/SingleToast/SingleToast.md +0 -36
  107. package/components/Spinner/Spinner.md +0 -36
  108. package/components/Sticky/Sticky.md +0 -28
  109. package/components/Switcher/Switcher.md +0 -111
  110. package/components/Tabs/Tab.md +0 -73
  111. package/components/Tabs/Tabs.md +0 -54
  112. package/components/Textarea/Textarea.md +0 -58
  113. package/components/Toast/Toast.md +0 -69
  114. package/components/Toggle/Toggle.md +0 -110
  115. package/components/Token/Token.md +0 -48
  116. package/components/TokenInput/TokenInput.md +0 -277
  117. package/components/Tooltip/Tooltip.md +0 -322
  118. package/components/TooltipMenu/TooltipMenu.md +0 -241
  119. package/internal/DataTids/DATATIDS.md +0 -12
  120. package/internal/DataTids/DataTids/DataTids.js +0 -69
  121. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  122. package/internal/DataTids/DataTids/package.json +0 -6
  123. package/internal/DataTids/DataTids.d.ts +0 -12
  124. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  125. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  126. package/internal/DataTids/DataTids.styles/package.json +0 -6
  127. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  128. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  129. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  130. package/internal/DataTids/componentsDataTids/package.json +0 -6
  131. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  132. package/internal/ThemePlayground/Playground.md +0 -7
  133. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  134. package/lib/locale/LOCALECONTEXT.md +0 -222
  135. package/lib/theming/ThemeContext.md +0 -265
@@ -1,29 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- <PasswordInput />
4
- ```
5
-
6
- ### Отслеживание нажатия CapsLock
7
-
8
- ```jsx harmony
9
- <PasswordInput detectCapsLock />
10
- ```
11
-
12
- ### Локали по умолчанию
13
-
14
- ```typescript static
15
- interface PasswordInputLocale {
16
- eyeOpenedAriaLabel?: string;
17
- eyeClosedAriaLabel?: string;
18
- }
19
-
20
- const ru_RU = {
21
- eyeOpenedAriaLabel: 'Скрыть символы пароля',
22
- eyeClosedAriaLabel: 'Отобразить символы пароля',
23
- }
24
-
25
- const en_GB = {
26
- eyeOpenedAriaLabel: 'Hide password symbols',
27
- eyeClosedAriaLabel: 'Show password symbols',
28
- }
29
- ```
@@ -1,57 +0,0 @@
1
- ### Виды радио-кнопок
2
-
3
- ```jsx harmony
4
- import { Gapped, Radio, RadioGroup } from '@skbkontur/react-ui';
5
-
6
- const [chosen, setChosen] = React.useState(null);
7
-
8
- <RadioGroup onValueChange={(value) => setChosen(value)}>
9
- <Gapped gap={3} vertical>
10
- <Radio value={1}>
11
- Обычная радио-кнопка
12
- </Radio>
13
- <Radio value={2} disabled>
14
- Отключенная радио-кнопка
15
- </Radio>
16
- <Radio value={3} checked={!chosen}>
17
- Радио-кнопка отмеченная по умолчанию
18
- </Radio>
19
- <Radio value={4} focused>
20
- Радио-кнопка в состоянии <b>focused</b> (меняется только обводка)
21
- </Radio>
22
- <Radio value={5} error>
23
- Радио-кнопка в состоянии <b>error</b>
24
- </Radio>
25
- <Radio value={6} warning>
26
- Радио-кнопка в состоянии <b>warning</b>
27
- </Radio>
28
- </Gapped>
29
- </RadioGroup>
30
- ```
31
-
32
- ### Состояния
33
- Радио-кнопки могут иметь сразу несколько состояний.
34
-
35
- ```jsx harmony
36
- <Radio disabled checked warning>
37
- Отключенная, отмеченная радио-кнопка в состоянии <b>warning</b>
38
- </Radio>
39
- ```
40
-
41
- ### Размер
42
-
43
- ```jsx harmony
44
- import { Gapped } from '@skbkontur/react-ui';
45
-
46
- <Gapped vertical>
47
- <Radio size="small" value="value" >
48
- Маленький
49
- </Radio>
50
- <Radio size="medium" value="value" >
51
- Средний
52
- </Radio>
53
- <Radio size="large" value="value" >
54
- Большой
55
- </Radio>
56
- </Gapped>
57
- ```
@@ -1,44 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- import { Gapped, Radio } from '@skbkontur/react-ui';
4
-
5
- let items = ['One', 'Two', 'Three', 'Four'];
6
-
7
- let simpleRadioGroup = (
8
- <div>
9
- <h2>Numbers</h2>
10
- <RadioGroup name="number-simple" items={items} defaultValue="One" />
11
- </div>
12
- );
13
-
14
- let complexRadioGroup = (
15
- <div>
16
- <h2>Numbers</h2>
17
- <RadioGroup name="number-complex" defaultValue="3">
18
- <Gapped gap={40}>
19
- <Gapped vertical gap={0}>
20
- <b>Odd</b>
21
- <Radio value="1">One</Radio>
22
- <Radio value="3">Three</Radio>
23
- <Radio value="5" disabled>
24
- Five
25
- </Radio>
26
- <Radio value="7">Seven</Radio>
27
- </Gapped>
28
- <Gapped vertical gap={0}>
29
- <b>Even</b>
30
- <Radio value="2">Two</Radio>
31
- <Radio value="4">Four</Radio>
32
- <Radio value="6">Six</Radio>
33
- <Radio value="8">Eight</Radio>
34
- </Gapped>
35
- </Gapped>
36
- </RadioGroup>
37
- </div>
38
- );
39
-
40
- <div>
41
- {simpleRadioGroup}
42
- {complexRadioGroup}
43
- </div>;
44
- ```
@@ -1,75 +0,0 @@
1
- ### Вспомогательный интерфейс
2
- ```ts static
3
- interface ResponsiveLayoutFlags {
4
- isMobile: boolean;
5
- }
6
- ```
7
-
8
- ### Компонент ожидает в себя функцию, в которую аргументом передается объект с флагом лэйаута.
9
-
10
- ```jsx static
11
- import { ResponsiveLayout } from '@skbkontur/react-ui';
12
-
13
- class SomeComponent {
14
- public render() {
15
- return (
16
- <ResponsiveLayout>
17
- {
18
- ({ isMobile }) => {
19
- /* ... */
20
- }
21
- }
22
- </ResponsiveLayout>
23
- )
24
- }
25
- }
26
- ```
27
-
28
- ### Также существует проп `onLayoutChange`, который вызывает переданный в него коллбэк при изменении лэйаута. Аргументом передается объект с флагом.
29
-
30
- ```jsx static
31
- import { ResponsiveLayout } from '@skbkontur/react-ui';
32
-
33
- class SomeComponent {
34
- public render() {
35
- return (
36
- <div>
37
- <ResponsiveLayout onLayoutChange={({ isMobile }) => console.log(isMobile)} />
38
- </div>
39
- )
40
- }
41
- }
42
- ```
43
-
44
- ### В компонент можно передать проп `customMediaQueries: MediaQueriesType`, который позволяет кастомизировать возвращаемые флаги:
45
- ```ts static
46
- type MediaQueriesType = Record<string, string>;
47
- ```
48
- 1. Без кастомизации есть только флаг isMobile
49
- 2. Поля из `customMediaQueries` дополняют список возвращаемых флагов в `ResponsiveLayoutFlags`
50
- 3. При добавлении кастомного флага isMobile, значение дефолтного флага перезаписывается в пользу кастомного
51
-
52
- ```jsx static
53
- import { ResponsiveLayout } from '@skbkontur/react-ui';
54
-
55
- const customMediaQueries = {
56
- isTablet: '(min-width: 577px)',
57
- isDesktop: '(min-width: 1280px)',
58
- };
59
-
60
- class SomeComponent {
61
- public render() {
62
- return (
63
- <ResponsiveLayout customMediaQueries={customMediaQueries}>
64
- {
65
- ({ isMobile, isTablet, isDesktop }) => {
66
- /* ... */
67
- }
68
- }
69
- </ResponsiveLayout>
70
- )
71
- }
72
- }
73
- ```
74
-
75
- Как альтернативу можно использовать хук [useResponsiveLayout](#/Mobiles).
@@ -1,224 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- function items(count) {
4
- var items = [];
5
- for (var i = 0; i < count; ++i) {
6
- items.push(i);
7
- }
8
- return items;
9
- }
10
-
11
- var divStyle = {
12
- display: 'inline-block',
13
- border: '1px solid #f99',
14
- height: 200,
15
- margin: 1,
16
- position: 'relative',
17
- verticalAlign: 'top',
18
- width: 200,
19
- };
20
- var absStyle = {
21
- border: '1px solid',
22
- boxSizing: 'border-box',
23
- position: 'absolute',
24
- width: '100%',
25
- };
26
-
27
- <div>
28
- <div style={divStyle}>
29
- <ScrollContainer>
30
- {items(20).map((i) => (
31
- <div key={i}>{i}</div>
32
- ))}
33
- </ScrollContainer>
34
- </div>
35
- <div style={{ ...divStyle, background: '#888' }}>
36
- <ScrollContainer invert>
37
- {items(20).map((i) => (
38
- <div key={i}>{i}</div>
39
- ))}
40
- </ScrollContainer>
41
- </div>
42
- <div style={divStyle}>
43
- <div style={absStyle}>
44
- <ScrollContainer>
45
- {items(3).map((i) => (
46
- <div key={i}>{i}</div>
47
- ))}
48
- </ScrollContainer>
49
- </div>
50
- </div>
51
- <div style={divStyle}>
52
- <div style={absStyle}>
53
- <ScrollContainer maxHeight={150}>
54
- {items(30).map((i) => (
55
- <div key={i}>{i}</div>
56
- ))}
57
- </ScrollContainer>
58
- </div>
59
- </div>
60
- </div>;
61
- ```
62
-
63
- ### Горизонтальный scrollbar
64
-
65
- ```jsx harmony
66
- var divStyle = {
67
- display: 'inline-block',
68
- border: '1px solid #f99',
69
- height: 200,
70
- margin: 1,
71
- position: 'relative',
72
- verticalAlign: 'top',
73
- width: 200,
74
- };
75
- var absStyle = {
76
- border: '1px solid',
77
- boxSizing: 'border-box',
78
- position: 'absolute',
79
- width: '100%',
80
- };
81
-
82
- function items(count) {
83
- var items = [];
84
- for (var i = 0; i < count; ++i) {
85
- items.push(i);
86
- }
87
- return items;
88
- }
89
-
90
- var containerStyle = {
91
- display: 'inline-block',
92
- border: '1px solid #f99',
93
- height: 200,
94
- margin: 1,
95
- width: 200,
96
- };
97
-
98
- var innerStyle = {
99
- width: 400,
100
- };
101
-
102
- <div>
103
- <div style={divStyle}>
104
- <ScrollContainer>
105
- {items(5).map((i) => (
106
- <div style={innerStyle} key={i}>
107
- {i}
108
- </div>
109
- ))}
110
- </ScrollContainer>
111
- </div>
112
- <div style={{ ...divStyle, background: '#888' }}>
113
- <ScrollContainer invert>
114
- {items(20).map((i) => (
115
- <div style={innerStyle} key={i}>
116
- {i}
117
- </div>
118
- ))}
119
- </ScrollContainer>
120
- </div>
121
- <div style={divStyle}>
122
- <div style={absStyle}>
123
- <ScrollContainer maxHeight={150}>
124
- {items(3).map((i) => (
125
- <div style={innerStyle} key={i}>
126
- {i}
127
- </div>
128
- ))}
129
- </ScrollContainer>
130
- </div>
131
- </div>
132
- <div style={divStyle}>
133
- <div style={absStyle}>
134
- <ScrollContainer maxHeight={150} maxWidth={200}>
135
- {items(30).map((i) => (
136
- <div style={innerStyle} key={i}>
137
- {i}
138
- </div>
139
- ))}
140
- </ScrollContainer>
141
- </div>
142
- </div>
143
- </div>;
144
- ```
145
-
146
- ### Смещение скроллбара
147
-
148
- ```jsx harmony
149
- const containerStyle = {
150
- display: 'inline-block',
151
- border: '1px solid #f99',
152
- height: 200,
153
- margin: 1,
154
- width: 200,
155
- };
156
-
157
- const offsetY = {
158
- top: 8,
159
- bottom: 8,
160
- right: 8,
161
- };
162
-
163
- <div style={containerStyle}>
164
- <ScrollContainer offsetY={offsetY}>
165
- {Array(30).fill(null).map((_,i) => (
166
- <div key={i}>
167
- {i}
168
- </div>
169
- ))}
170
- </ScrollContainer>
171
- </div>
172
- ```
173
-
174
- ### Скрытие если нет активности пользователя
175
- Проп `showScrollBar` со значением `scroll` скрывает скроллбар при отсутствии активности пользователя. Задержку на скрытие скроллбара можно регулировать пропом `hideScrollBarDelay` (по умолчанию 500ms)
176
-
177
- ```jsx harmony
178
- var divStyle = {
179
- display: 'inline-block',
180
- border: '1px solid #f99',
181
- height: 200,
182
- margin: 1,
183
- position: 'relative',
184
- verticalAlign: 'top',
185
- width: 200,
186
- };
187
- <div style={divStyle}>
188
- <ScrollContainer showScrollBar={'scroll'}>
189
- {Array(30).fill(null).map((_,i) => (
190
- <div key={i}>
191
- {i}
192
- </div>
193
- ))}
194
- </ScrollContainer>
195
- </div>
196
- ```
197
-
198
- ### Показ скролбара при наведении
199
- Проп `showScrollBar` со значением `hover` позволяет показывать скроллбар только когда курсор находится над скролл контейнером
200
-
201
- ```jsx harmony
202
- var divStyle = {
203
- display: 'inline-block',
204
- border: '1px solid #f99',
205
- height: 200,
206
- margin: 1,
207
- position: 'relative',
208
- verticalAlign: 'top',
209
- width: 200,
210
- };
211
-
212
-
213
- <span>
214
- <div style={divStyle}>
215
- <ScrollContainer showScrollBar={'hover'}>
216
- {Array(30).fill(null).map((_,i) => (
217
- <div key={i}>
218
- {i}
219
- </div>
220
- ))}
221
- </ScrollContainer>
222
- </div>
223
- </span>
224
- ```
@@ -1,113 +0,0 @@
1
- ### Базовый пример
2
-
3
- ```jsx harmony
4
- const [value, setValue] = React.useState();
5
-
6
- const items = [Select.staticElement(() => <Select.Item>Not
7
- selectable</Select.Item>), 'One', 'Two', 'Three', Select.SEP, 'Four'];
8
-
9
- <Select items={items} value={value} onValueChange={setValue}/>;
10
- ```
11
-
12
- ### Запрет выделения и выбора
13
- В пункты меню можно передать проп `isNotSelectable`, чтобы запретить выделение и выбор этого пункта меню
14
-
15
- ```jsx harmony
16
-
17
- const [value, setValue] = React.useState();
18
-
19
- const items = [<Select.Item isNotSelectable>Not selectable</Select.Item>, 'One', 'Two', 'Three', Select.SEP, 'Four'];
20
-
21
- <Select items={items} value={value} onValueChange={setValue} />
22
- ```
23
-
24
- ### Очистка значения
25
- Очистить значение в `Select`'е можно только с помощью `null`
26
- ```jsx harmony
27
- import { Button, Group } from '@skbkontur/react-ui';
28
-
29
- const [value, setValue] = React.useState();
30
-
31
- const items = ['One', 'Two', 'Three', 'Four'];
32
-
33
- <Group>
34
- <Select items={items} value={value} onValueChange={setValue} />
35
- <Button onClick={() => setValue(null)}>Очистить</Button>
36
- </Group>
37
- ```
38
-
39
- ### Поле поиска
40
-
41
- ```jsx harmony
42
- const [value, setValue] = React.useState();
43
-
44
- const items = ['One', 'Two', 'Three', Select.SEP, 'Four'];
45
-
46
- <Select items={items} value={value} onValueChange={setValue} search />;
47
- ```
48
-
49
- ### Пример использования пропа `_renderButton`:
50
-
51
- ```jsx harmony
52
- import { Link } from '@skbkontur/react-ui';
53
- import { People3Icon16Regular } from '@skbkontur/icons/icons/People3Icon/People3Icon16Regular';
54
-
55
- const [value, setValue] = React.useState();
56
-
57
- const items = [Select.staticElement(() => <Select.Item>Not
58
- selectable</Select.Item>), 'One', 'Two', 'Three', Select.SEP, 'Four'];
59
-
60
- const renderLinkButton = params => {
61
- const linkProps = {
62
- disabled: params.disabled,
63
- icon: <People3Icon16Regular />,
64
- _button: true,
65
- _buttonOpened: params.opened,
66
-
67
- onClick: params.onClick,
68
- onKeyDown: params.onKeyDown,
69
- };
70
-
71
- return <Link {...linkProps}>{params.label}</Link>;
72
- };
73
-
74
- <Select
75
- items={items}
76
- value={value}
77
- onValueChange={setValue}
78
- _renderButton={renderLinkButton}
79
- />;
80
- ```
81
-
82
- ### Локали по умолчанию
83
-
84
- ```typescript static
85
- interface SelectLocale {
86
- placeholder?: React.ReactNode;
87
- }
88
-
89
- const ru_RU = {
90
- placeholder: 'Ничего не выбрано',
91
- };
92
-
93
- const en_GB = {
94
- placeholder: 'Nothing selected',
95
- };
96
- ```
97
-
98
- ### Размер
99
- ```jsx harmony
100
- import { Gapped } from '@skbkontur/react-ui';
101
-
102
- const [valueSmall, setValueSmall] = React.useState('Маленький');
103
- const [valueMedium, setValueMedium] = React.useState('Средний');
104
- const [valueLarge, setValueLarge] = React.useState('Большой');
105
-
106
- const items = ['Маленький', 'Средний', 'Большой'];
107
-
108
- <Gapped vertical>
109
- <Select items={items} value={valueSmall} onValueChange={setValueSmall} size={'small'} />
110
- <Select items={items} value={valueMedium} onValueChange={setValueMedium} size={'medium'} />
111
- <Select items={items} value={valueLarge} onValueChange={setValueLarge} size={'large'} />
112
- </Gapped>
113
- ```
@@ -1,65 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- import { Button } from '@skbkontur/react-ui';
4
-
5
- const [opened, setOpened] = React.useState(false);
6
-
7
- function renderSidePage() {
8
- return (
9
- <SidePage onClose={close} blockBackground>
10
- <SidePage.Header>Title</SidePage.Header>
11
- <SidePage.Body>
12
- <div
13
- style={{
14
- background: `repeating-linear-gradient(
15
- 60deg,
16
- #808080,
17
- #808080 20px,
18
- #d3d3d3 20px,
19
- #d3d3d3 40px
20
- )`,
21
- height: 600,
22
- padding: '20px 0',
23
- }}
24
- >
25
- <SidePage.Container>
26
- <p>Use rxjs operators with react hooks</p>
27
- </SidePage.Container>
28
- </div>
29
- </SidePage.Body>
30
- <SidePage.Footer panel>
31
- <Button onClick={close}>Close</Button>
32
- </SidePage.Footer>
33
- </SidePage>
34
- );
35
- }
36
-
37
- function open() {
38
- setOpened(true);
39
- }
40
-
41
- function close() {
42
- setOpened(false);
43
- }
44
-
45
- <div>
46
- {opened && renderSidePage()}
47
- <Button onClick={open}>Open</Button>
48
- </div>;
49
- ```
50
-
51
- ### Локали по умолчанию
52
-
53
- ```typescript static
54
- interface SidePageLocale {
55
- closeButtonAriaLabel?: string;
56
- }
57
-
58
- const ru_RU = {
59
- closeButtonAriaLabel: 'Закрыть модальное окно'
60
- }
61
-
62
- const en_GB = {
63
- closeButtonAriaLabel: 'Close modal window'
64
- }
65
- ```
@@ -1,36 +0,0 @@
1
- `<SingleToast>` можно добавить в единственном месте в проекте, а статические методы будут всегда использовать последний отрендеренный экземпляр `<Toast>`.
2
-
3
- _На внешний вид этого примера влияет следующий пример_
4
- ### Базовый пример
5
- ```jsx harmony
6
- import { Button, SingleToast } from '@skbkontur/react-ui';
7
-
8
- <div>
9
- <SingleToast />
10
- <Button onClick={() => SingleToast.push('Статический тост')}>
11
- Показать статический тост
12
- </Button>
13
- </div>
14
- ```
15
-
16
- ### Кастомизация
17
- `<SingleToast>` можно кастомизировать с помощью переменных темы для `toast`.
18
- ```jsx harmony
19
- import { Button, SingleToast, ThemeContext, ThemeFactory, THEME_2022 } from '@skbkontur/react-ui';
20
-
21
- const rand = () => "Пример жёлтого тоста № " + Math.round(Math.random() * 100).toString();
22
-
23
- const pushToast = () => {
24
- SingleToast.push(rand(), {
25
- label: "Cancel",
26
- handler: () => SingleToast.push("Canceled")
27
- });
28
- };
29
-
30
- <div>
31
- <SingleToast theme={{ toastBg: '#f1c40f' }} />
32
- <Button onClick={pushToast}>
33
- Показать тост с жёлтым фоном
34
- </Button>
35
- </div>
36
- ```
@@ -1,36 +0,0 @@
1
- ### Базовый пример
2
- ```jsx harmony
3
- import { Gapped, Spinner } from '@skbkontur/react-ui';
4
-
5
- const reactNodeCaption = (
6
- <div>
7
- <Spinner type="mini" caption={null} /> <span style={{ color: 'tomato', fontSize: '1.3em' }}>З</span>
8
- агрузка
9
- </div>
10
- );
11
-
12
- <Gapped>
13
- <Spinner type="big" caption="big" />
14
- <Spinner type="normal" caption="normal" />
15
- <Spinner type="mini" caption="mini" />
16
- <Spinner type="mini" dimmed caption="mini dimmed" />
17
- <Spinner type="big" caption={reactNodeCaption} />
18
- <Spinner type="big" caption="custom" width={8} color={'#538A1B'}/>
19
- </Gapped>;
20
- ```
21
-
22
- ### Локали по умолчанию
23
-
24
- ```typescript static
25
- interface SpinnerLocale {
26
- loading?: React.ReactNode;
27
- }
28
-
29
- const ru_RU = {
30
- loading: 'Загрузка',
31
- };
32
-
33
- const en_GB = {
34
- loading: 'Loading',
35
- };
36
- ```