@snack-uikit/search 0.12.21 → 0.12.23
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/CHANGELOG.md +20 -0
- package/README.md +39 -11
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## <small>0.12.23 (2026-02-18)</small>
|
|
7
|
+
|
|
8
|
+
### Only dependencies have been changed
|
|
9
|
+
* [@snack-uikit/list@0.32.13]($PUBLIC_PROJECT_URL/blob/master/packages/list/CHANGELOG.md)
|
|
10
|
+
* [@snack-uikit/search-private@0.4.35]($PUBLIC_PROJECT_URL/blob/master/packages/search-private/CHANGELOG.md)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## <small>0.12.22 (2026-01-19)</small>
|
|
17
|
+
|
|
18
|
+
* chore(FF-6693): migrate tests from TestCafe to Playwright ([f32aff8](https://github.com/cloud-ru-tech/snack-uikit/commit/f32aff8))
|
|
19
|
+
* chore(FF-6693): tune test configs ([d194f4d](https://github.com/cloud-ru-tech/snack-uikit/commit/d194f4d))
|
|
20
|
+
* docs(FF-7788): readme update ([e3142b8](https://github.com/cloud-ru-tech/snack-uikit/commit/e3142b8))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
6
26
|
## <small>0.12.21 (2025-12-06)</small>
|
|
7
27
|
|
|
8
28
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -5,25 +5,53 @@
|
|
|
5
5
|
|
|
6
6
|
[Changelog](./CHANGELOG.md)
|
|
7
7
|
|
|
8
|
+
## Description
|
|
9
|
+
|
|
10
|
+
- Пакет `@snack-uikit/search` предоставляет компонент `Search` для реализации поисковых полей в интерфейсе.
|
|
11
|
+
- Компонент поддерживает два режима работы: **Autocomplete** (с выпадающим списком подсказок) и **FieldText** (простое текстовое поле без подсказок).
|
|
12
|
+
- В режиме Autocomplete (`autocomplete={true}`) компонент отображает выпадающий список с опциями (`options`), которые можно выбрать кликом или нажатием клавиш Space/Enter, при этом вызывается колбек `onSubmit`.
|
|
13
|
+
- В режиме FieldText (`autocomplete={false}` или `undefined`) компонент работает как обычное текстовое поле с возможностью подтверждения поиска по Enter.
|
|
14
|
+
- Поддерживает состояния загрузки (`loading`), различные размеры (`size: 's' | 'm' | 'l'`), внешний бордер (`outline`) и произвольный постфикс (`postfix`) для дополнительных элементов управления.
|
|
15
|
+
- Компонент управляется через пропы `value` и `onChange`, поддерживает обработчики фокуса (`onFocus`, `onBlur`) и подтверждения поиска (`onSubmit`).
|
|
16
|
+
- Figma: [`Search`](https://www.figma.com/file/jtGxAPvFJOMir7V0eQFukN/Snack-UI-Kit-1.1.0?node-id=41%3A143287&mode=design).
|
|
17
|
+
|
|
8
18
|
## TODO
|
|
9
19
|
|
|
10
20
|
- Fix keypress handler for autocomplete mod when focusing on dropdown list items
|
|
11
21
|
|
|
12
22
|
## Example
|
|
13
23
|
|
|
14
|
-
```
|
|
15
|
-
import {
|
|
24
|
+
```tsx
|
|
25
|
+
import { useState } from 'react';
|
|
26
|
+
import { Search } from '@snack-uikit/search';
|
|
27
|
+
|
|
28
|
+
function Example() {
|
|
29
|
+
const [value, setValue] = useState('');
|
|
30
|
+
const [loading, setLoading] = useState(false);
|
|
31
|
+
const [options, setOptions] = useState([]);
|
|
32
|
+
|
|
33
|
+
const handleSearchChange = (newValue: string) => {
|
|
34
|
+
setValue(newValue);
|
|
35
|
+
// Логика поиска и обновления options
|
|
36
|
+
};
|
|
16
37
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
loading={loading}
|
|
21
|
-
options={options}
|
|
22
|
-
onSubmit={onSubmit}
|
|
23
|
-
size='s'
|
|
24
|
-
autocomplete
|
|
25
|
-
/>
|
|
38
|
+
const handleSubmit = (searchValue: string) => {
|
|
39
|
+
// Логика подтверждения поиска
|
|
40
|
+
};
|
|
26
41
|
|
|
42
|
+
return (
|
|
43
|
+
<Search
|
|
44
|
+
value={value}
|
|
45
|
+
onChange={handleSearchChange}
|
|
46
|
+
loading={loading}
|
|
47
|
+
options={options}
|
|
48
|
+
onSubmit={handleSubmit}
|
|
49
|
+
size="s"
|
|
50
|
+
autocomplete
|
|
51
|
+
placeholder="Поиск..."
|
|
52
|
+
/>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
27
55
|
```
|
|
28
56
|
|
|
29
57
|
[//]: DOCUMENTATION_SECTION_START
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Search",
|
|
7
|
-
"version": "0.12.
|
|
7
|
+
"version": "0.12.23",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"license": "Apache-2.0",
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@snack-uikit/list": "0.32.
|
|
40
|
-
"@snack-uikit/search-private": "0.4.
|
|
41
|
-
"@snack-uikit/utils": "4.0.
|
|
39
|
+
"@snack-uikit/list": "0.32.13",
|
|
40
|
+
"@snack-uikit/search-private": "0.4.35",
|
|
41
|
+
"@snack-uikit/utils": "4.0.1",
|
|
42
42
|
"classnames": "2.5.1",
|
|
43
43
|
"merge-refs": "1.3.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/merge-refs": "1.0.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "17b72086167d3d6503e4e74142358765230478c8"
|
|
49
49
|
}
|