@snack-uikit/chips 0.14.21 → 0.15.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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
+ # 0.15.0 (2024-08-23)
7
+
8
+
9
+ ### Features
10
+
11
+ * **AICDTS-2159:** add resetSearchOnOptionSelection property ([ac874e8](https://github.com/cloud-ru-tech/snack-uikit/commit/ac874e8b0ea16589765f9b76ad0652bbcacbf424))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.14.21 (2024-08-21)
7
18
 
8
19
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -200,6 +200,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
200
200
  | value | `ItemId[]` | - | Controlled состояние |
201
201
  | defaultValue | `ItemId[]` | - | Начальное состояние |
202
202
  | valueRender | `(option?: BaseOption<T>[]) => ReactNode` | - | Колбек формирующий отображение выбранного значения. Принимает выбранное значение. По умолчанию для отображения используется FilterOption.label |
203
+ | resetSearchOnOptionSelection | `boolean` | - | Поведение строки поиска при выборе опции из списка |
203
204
  ## ChipChoice.Date
204
205
  ### Props
205
206
  | name | type | default value | description |
@@ -5,4 +5,4 @@ export type ChipChoiceMultipleValueFormatterProps<T extends ContentRenderProps =
5
5
  total: number;
6
6
  allLabel: string;
7
7
  };
8
- export declare function ChipChoiceMultiple<T extends ContentRenderProps = ContentRenderProps>({ value: valueProp, defaultValue, options, onChange: onChangeProp, valueRender, size, label, searchable, contentRender, dropDownClassName, showClearButton, ...rest }: ChipChoiceMultipleProps<T>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function ChipChoiceMultiple<T extends ContentRenderProps = ContentRenderProps>({ value: valueProp, defaultValue, options, onChange: onChangeProp, valueRender, size, label, searchable, contentRender, dropDownClassName, showClearButton, resetSearchOnOptionSelection, ...rest }: ChipChoiceMultipleProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -31,7 +31,7 @@ const defaultMultiValueLabelFormatter = ({ value, total, allLabel }) => {
31
31
  return `${len.toString()}/${total}`;
32
32
  };
33
33
  export function ChipChoiceMultiple(_a) {
34
- var { value: valueProp, defaultValue, options, onChange: onChangeProp, valueRender, size = SIZE.S, label, searchable, contentRender, dropDownClassName, showClearButton = true } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueRender", "size", "label", "searchable", "contentRender", "dropDownClassName", "showClearButton"]);
34
+ var { value: valueProp, defaultValue, options, onChange: onChangeProp, valueRender, size = SIZE.S, label, searchable, contentRender, dropDownClassName, showClearButton = true, resetSearchOnOptionSelection = true } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueRender", "size", "label", "searchable", "contentRender", "dropDownClassName", "showClearButton", "resetSearchOnOptionSelection"]);
35
35
  const [value, setValue] = useValueControl({
36
36
  value: valueProp,
37
37
  defaultValue,
@@ -67,9 +67,11 @@ export function ChipChoiceMultiple(_a) {
67
67
  if (searchValue) {
68
68
  (_a = listRef.current) === null || _a === void 0 ? void 0 : _a.focus();
69
69
  }
70
- setSearchValue('');
70
+ if (resetSearchOnOptionSelection) {
71
+ setSearchValue('');
72
+ }
71
73
  }
72
- }, [searchValue, setValue]);
74
+ }, [searchValue, setValue, resetSearchOnOptionSelection]);
73
75
  useEffect(() => {
74
76
  if (searchValue && !open) {
75
77
  setSearchValue('');
@@ -71,4 +71,6 @@ export type ChipChoiceMultipleProps<T extends ContentRenderProps = ContentRender
71
71
  options: FilterOption<T>[];
72
72
  /** Колбек формирующий отображение выбранного значения. Принимает выбранное значение. По умолчанию для отображения используется FilterOption.label */
73
73
  valueRender?(option?: BaseOption<T>[]): ReactNode;
74
+ /** Поведение строки поиска при выборе опции из списка */
75
+ resetSearchOnOptionSelection?: boolean;
74
76
  };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Chips",
7
- "version": "0.14.21",
7
+ "version": "0.15.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -50,5 +50,5 @@
50
50
  "peerDependencies": {
51
51
  "@snack-uikit/locale": "*"
52
52
  },
53
- "gitHead": "f28082de935a68b3cd19966d62b18ad6b98f4197"
53
+ "gitHead": "76c3c7d39cbff5434a147e0282b520b46d6d37f5"
54
54
  }
@@ -44,6 +44,7 @@ export function ChipChoiceMultiple<T extends ContentRenderProps = ContentRenderP
44
44
  contentRender,
45
45
  dropDownClassName,
46
46
  showClearButton = true,
47
+ resetSearchOnOptionSelection = true,
47
48
  ...rest
48
49
  }: ChipChoiceMultipleProps<T>) {
49
50
  const [value, setValue] = useValueControl<SelectionSingleValueType[]>({
@@ -99,10 +100,12 @@ export function ChipChoiceMultiple<T extends ContentRenderProps = ContentRenderP
99
100
  if (searchValue) {
100
101
  listRef.current?.focus();
101
102
  }
102
- setSearchValue('');
103
+ if (resetSearchOnOptionSelection) {
104
+ setSearchValue('');
105
+ }
103
106
  }
104
107
  },
105
- [searchValue, setValue],
108
+ [searchValue, setValue, resetSearchOnOptionSelection],
106
109
  );
107
110
 
108
111
  useEffect(() => {
@@ -127,4 +127,6 @@ export type ChipChoiceMultipleProps<T extends ContentRenderProps = ContentRender
127
127
  options: FilterOption<T>[];
128
128
  /** Колбек формирующий отображение выбранного значения. Принимает выбранное значение. По умолчанию для отображения используется FilterOption.label */
129
129
  valueRender?(option?: BaseOption<T>[]): ReactNode;
130
+ /** Поведение строки поиска при выборе опции из списка */
131
+ resetSearchOnOptionSelection?: boolean;
130
132
  };