@snack-uikit/chips 0.9.2 → 0.10.1

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 (45) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +24 -24
  3. package/dist/components/ChipAssist/ChipAssist.d.ts +1 -5
  4. package/dist/components/ChipAssist/ChipAssist.js +5 -6
  5. package/dist/components/ChipChoice/components/ChipChoiceCustom/ChipChoiceCustom.js +5 -5
  6. package/dist/components/ChipChoice/components/ChipChoiceDate.js +3 -3
  7. package/dist/components/ChipChoice/components/ChipChoiceDateRange.js +3 -3
  8. package/dist/components/ChipChoice/components/ChipChoiceMulti.js +2 -2
  9. package/dist/components/ChipChoice/components/ChipChoiceSingle.js +2 -2
  10. package/dist/components/ChipChoice/constants.d.ts +14 -22
  11. package/dist/components/ChipChoice/constants.js +19 -22
  12. package/dist/components/ChipChoice/index.d.ts +0 -7
  13. package/dist/components/ChipChoice/index.js +0 -8
  14. package/dist/components/ChipChoice/types.d.ts +5 -6
  15. package/dist/components/ChipChoiceRow/ChipChoiceRow.d.ts +3 -7
  16. package/dist/components/ChipChoiceRow/ChipChoiceRow.js +3 -4
  17. package/dist/components/ChipChoiceRow/components/constants.js +5 -4
  18. package/dist/components/ChipChoiceRow/constants.d.ts +10 -13
  19. package/dist/components/ChipChoiceRow/constants.js +12 -14
  20. package/dist/components/ChipChoiceRow/types.d.ts +9 -6
  21. package/dist/components/ChipToggle/ChipToggle.d.ts +1 -5
  22. package/dist/components/ChipToggle/ChipToggle.js +5 -6
  23. package/dist/constants.d.ts +14 -14
  24. package/dist/constants.js +14 -17
  25. package/dist/helperComponents/ButtonClearValue/ButtonClearValue.d.ts +1 -1
  26. package/dist/helperComponents/ButtonClearValue/ButtonClearValue.js +2 -2
  27. package/dist/types.d.ts +5 -0
  28. package/package.json +8 -8
  29. package/src/components/ChipAssist/ChipAssist.tsx +7 -9
  30. package/src/components/ChipChoice/components/ChipChoiceCustom/ChipChoiceCustom.tsx +9 -9
  31. package/src/components/ChipChoice/components/ChipChoiceDate.tsx +3 -3
  32. package/src/components/ChipChoice/components/ChipChoiceDateRange.tsx +3 -3
  33. package/src/components/ChipChoice/components/ChipChoiceMulti.tsx +2 -2
  34. package/src/components/ChipChoice/components/ChipChoiceSingle.tsx +2 -2
  35. package/src/components/ChipChoice/constants.ts +24 -23
  36. package/src/components/ChipChoice/index.ts +0 -9
  37. package/src/components/ChipChoice/types.ts +5 -6
  38. package/src/components/ChipChoiceRow/ChipChoiceRow.tsx +6 -8
  39. package/src/components/ChipChoiceRow/components/constants.ts +5 -4
  40. package/src/components/ChipChoiceRow/constants.ts +14 -14
  41. package/src/components/ChipChoiceRow/types.ts +11 -6
  42. package/src/components/ChipToggle/ChipToggle.tsx +7 -9
  43. package/src/constants.ts +14 -14
  44. package/src/helperComponents/ButtonClearValue/ButtonClearValue.tsx +4 -3
  45. package/src/types.ts +10 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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.10.1 (2023-12-14)
7
+
8
+ ### Only dependencies have been changed
9
+ * [@snack-uikit/calendar@0.6.1](https://git.sbercloud.tech/sbercloud-ui/tokens-design-system/snack-uikit/-/blob/master/packages/calendar/CHANGELOG.md)
10
+ * [@snack-uikit/droplist@0.12.1](https://git.sbercloud.tech/sbercloud-ui/tokens-design-system/snack-uikit/-/blob/master/packages/droplist/CHANGELOG.md)
11
+ * [@snack-uikit/icons@0.19.1](https://git.sbercloud.tech/sbercloud-ui/tokens-design-system/snack-uikit/-/blob/master/packages/icons/CHANGELOG.md)
12
+
13
+
14
+
15
+
16
+
17
+ # 0.10.0 (2023-12-14)
18
+
19
+
20
+ ### BREAKING CHANGES
21
+
22
+
23
+ * **FF-3729:** replace enum with unions ([910db4a](https://github.com/cloud-ru-tech/snack-uikit/commit/910db4aa8231ccbc58e538e5c5c1f461b1dec275))
24
+
25
+
26
+
27
+
6
28
  ## 0.9.2 (2023-12-07)
7
29
 
8
30
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -18,7 +18,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
18
18
  <ChipAssist
19
19
  label='Label'
20
20
  icon={<PlaceholderSVG />}
21
- size={ChipAssist.sizes.S}
21
+ size='s'
22
22
  disabled={false}
23
23
  loading={false}
24
24
  onClick={doSomething}
@@ -29,7 +29,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
29
29
  <ChipToggle
30
30
  label='Label'
31
31
  icon={<PlaceholderSVG />}
32
- size={ChipToggle.sizes.S}
32
+ size='s'
33
33
  selected={false}
34
34
  disabled={false}
35
35
  loading={false}
@@ -42,7 +42,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
42
42
  label='Label'
43
43
  value='value'
44
44
  icon={<PlaceholderSVG />}
45
- size={ChipChoice.sizes.S}
45
+ size='s'
46
46
  disabled={false}
47
47
  loading={false}
48
48
  options={[]}
@@ -53,7 +53,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
53
53
  label='Label'
54
54
  value={['value1', 'value2']}
55
55
  onChangeValue={onChange}
56
- size={ChipChoice.sizes.M}
56
+ size='m'
57
57
  options={[]}
58
58
  valueFormatter={formatter}
59
59
  />
@@ -62,7 +62,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
62
62
  label='Label'
63
63
  value={new Date()}
64
64
  onChangeValue={onChange}
65
- size={ChipChoice.sizes.M}
65
+ size='m'
66
66
  valueFormatter={formatter}
67
67
  />
68
68
 
@@ -70,7 +70,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
70
70
  label='Label'
71
71
  value={[new Date(), new Date()]}
72
72
  onChangeValue={onChange}
73
- size={ChipChoice.sizes.M}
73
+ size='m'
74
74
  valueFormatter={formatter}
75
75
  />
76
76
 
@@ -78,7 +78,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
78
78
  label='Label'
79
79
  value='value'
80
80
  valueToRender='Selected'
81
- size={ChipChoice.sizes.M}
81
+ size='m'
82
82
  />
83
83
  ```
84
84
 
@@ -96,7 +96,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
96
96
  | icon | `ReactElement<any, string \| JSXElementConstructor<any>>` | - | Иконка |
97
97
  | className | `string` | - | CSS-класс |
98
98
  | tabIndex | `number` | - | HTML tab index |
99
- | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | ChipAssist.sizes.S | Размер |
99
+ | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | s | Размер |
100
100
  ## ChipToggle
101
101
  Чип с состоянием выбран/не выбран
102
102
  ### Props
@@ -110,7 +110,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
110
110
  | icon | `ReactElement<any, string \| JSXElementConstructor<any>>` | - | Иконка |
111
111
  | className | `string` | - | CSS-класс |
112
112
  | tabIndex | `number` | - | HTML tab index |
113
- | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | ChipToggle.sizes.S | Размер |
113
+ | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | s | Размер |
114
114
  ## ChipChoice.Custom
115
115
  ### Props
116
116
  | name | type | default value | description |
@@ -123,13 +123,13 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
123
123
  | tabIndex | `number` | - | HTML tab index |
124
124
  | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | - | Размер |
125
125
  | onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
126
- | showClearButton | `boolean` | - | Отображение кнопки очистки значения @default true |
126
+ | showClearButton | `boolean` | true | Отображение кнопки очистки значения |
127
127
  | placement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | - | Расположение выпадающего меню |
128
- | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"GreatThanOrEqual"`, `"Equal"` | Gte | Стратегия управления шириной контейнера поповера <br> - `Auto` - соответствует ширине контента, <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `Eq` - Equal, строго равен ширине таргета. |
128
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | gte | Стратегия управления шириной контейнера поповера <br> - `auto` - соответствует ширине контента, <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `eq` - Equal, строго равен ширине таргета. |
129
129
  | valueToRender | `ReactNode` | - | Отображаемое значение |
130
130
  | value | `string \| Date \| string[] \| [Date, Date]` | - | Фактическое значение. Используется для отображения кнопки очистки, если свойство <strong>showClearButton=true</strong> |
131
131
  | onClearButtonClick | `MouseEventHandler<HTMLButtonElement>` | - | Колбек для клика по кнопке очистки |
132
- | children | `ReactNode \| ((props: { handleDroplistItemKeyDown: (e: KeyboardEvent<Element>, cb?: KeyboardEventHandler<Element>) => void; closeDroplist(): void; }) => ReactNode)` | - | Контент выпадающего меню <br> <br> Принимает <strong>ReactNode</strong> <br> Или функцию с аргументами: <br> <strong>handleDroplistItemKeyDown</strong>: Обработчик нажатия клавиши на элемент выпадающего меню <br> <strong>closeDroplist</strong>: Метод для закрытия выпадающего меню |
132
+ | children | `ReactNode \| ((props: { handleDroplistItemKeyDown: (e: KeyboardEvent<Element>, cb?: KeyboardEventHandler) => void; closeDroplist(): void; }) => ReactNode)` | - | Контент выпадающего меню <br> <br> Принимает <strong>ReactNode</strong> <br> Или функцию с аргументами: <br> <strong>handleDroplistItemKeyDown</strong>: Обработчик нажатия клавиши на элемент выпадающего меню <br> <strong>closeDroplist</strong>: Метод для закрытия выпадающего меню |
133
133
  ## ChipChoice.Single
134
134
  ### Props
135
135
  | name | type | default value | description |
@@ -143,9 +143,9 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
143
143
  | tabIndex | `number` | - | HTML tab index |
144
144
  | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | - | Размер |
145
145
  | onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
146
- | showClearButton | `boolean` | - | Отображение кнопки очистки значения @default true |
146
+ | showClearButton | `boolean` | true | Отображение кнопки очистки значения |
147
147
  | placement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | - | Расположение выпадающего меню |
148
- | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"GreatThanOrEqual"`, `"Equal"` | Gte | Стратегия управления шириной контейнера поповера <br> - `Auto` - соответствует ширине контента, <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `Eq` - Equal, строго равен ширине таргета. |
148
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | gte | Стратегия управления шириной контейнера поповера <br> - `auto` - соответствует ширине контента, <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `eq` - Equal, строго равен ширине таргета. |
149
149
  | value | `string` | - | Значение компонента |
150
150
  | defaultValue | `string` | - | Значение компонента по умолчанию |
151
151
  | onChange | `(value: string) => void` | - | Колбек смены значения |
@@ -163,9 +163,9 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
163
163
  | tabIndex | `number` | - | HTML tab index |
164
164
  | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | - | Размер |
165
165
  | onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
166
- | showClearButton | `boolean` | - | Отображение кнопки очистки значения @default true |
166
+ | showClearButton | `boolean` | true | Отображение кнопки очистки значения |
167
167
  | placement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | - | Расположение выпадающего меню |
168
- | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"GreatThanOrEqual"`, `"Equal"` | Gte | Стратегия управления шириной контейнера поповера <br> - `Auto` - соответствует ширине контента, <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `Eq` - Equal, строго равен ширине таргета. |
168
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | gte | Стратегия управления шириной контейнера поповера <br> - `auto` - соответствует ширине контента, <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `eq` - Equal, строго равен ширине таргета. |
169
169
  | value | `string[]` | - | Значение компонента |
170
170
  | defaultValue | `string[]` | - | Значение компонента по умолчанию |
171
171
  | onChange | `(value: string[]) => void` | - | Колбек смены значения |
@@ -182,9 +182,9 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
182
182
  | tabIndex | `number` | - | HTML tab index |
183
183
  | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | - | Размер |
184
184
  | onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
185
- | showClearButton | `boolean` | - | Отображение кнопки очистки значения @default true |
185
+ | showClearButton | `boolean` | true | Отображение кнопки очистки значения |
186
186
  | placement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | - | Расположение выпадающего меню |
187
- | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"GreatThanOrEqual"`, `"Equal"` | Gte | Стратегия управления шириной контейнера поповера <br> - `Auto` - соответствует ширине контента, <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `Eq` - Equal, строго равен ширине таргета. |
187
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | gte | Стратегия управления шириной контейнера поповера <br> - `auto` - соответствует ширине контента, <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `eq` - Equal, строго равен ширине таргета. |
188
188
  | value | `Date` | - | Значение компонента |
189
189
  | defaultValue | `Date` | - | Значение компонента по-умолчанию |
190
190
  | onChange | `(value: Date) => void` | - | Колбек смены значения |
@@ -201,9 +201,9 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
201
201
  | tabIndex | `number` | - | HTML tab index |
202
202
  | size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | - | Размер |
203
203
  | onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
204
- | showClearButton | `boolean` | - | Отображение кнопки очистки значения @default true |
204
+ | showClearButton | `boolean` | true | Отображение кнопки очистки значения |
205
205
  | placement | enum Placement: `"left"`, `"left-start"`, `"left-end"`, `"right"`, `"right-start"`, `"right-end"`, `"top"`, `"top-start"`, `"top-end"`, `"bottom"`, `"bottom-start"`, `"bottom-end"` | - | Расположение выпадающего меню |
206
- | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"GreatThanOrEqual"`, `"Equal"` | Gte | Стратегия управления шириной контейнера поповера <br> - `Auto` - соответствует ширине контента, <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `Eq` - Equal, строго равен ширине таргета. |
206
+ | widthStrategy | enum PopoverWidthStrategy: `"auto"`, `"gte"`, `"eq"` | gte | Стратегия управления шириной контейнера поповера <br> - `auto` - соответствует ширине контента, <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, <br> - `eq` - Equal, строго равен ширине таргета. |
207
207
  | value | `Range` | - | Значение компонента |
208
208
  | defaultValue | `Range` | - | Значение компонента по умолчанию |
209
209
  | onChange | `(value: Range) => void` | - | Колбек смены значения |
@@ -212,14 +212,14 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
212
212
  ### Props
213
213
  | name | type | default value | description |
214
214
  |------|------|---------------|-------------|
215
- | filters* | `(Pick<{ id: string; } & { type: ChipChoiceType.Multi; } & { 'data-test-id'?: string; } & AriaAttributes & Partial<BaseChipProps> & { ...; } & { ...; }, "data-test-id" \| ... 9 more ... \| "type"> \| Pick<...> \| Pick<...> \| Pick<...>)[]` | - | Массив чипов |
215
+ | filters* | `OmitBetter<ChipChoiceProps, "size" \| "onChange" \| "value" \| "defaultValue">[]` | - | Массив чипов |
216
216
  | value | `FiltersState` | - | Состояние фильтров |
217
217
  | defaultValue | `Partial<TState>` | - | Начальное состояние фильтров |
218
218
  | onChange | `(filters: TState) => void` | - | Колбек изменения состояния фильтров |
219
- | size | enum Size: `"xs"`, `"s"`, `"m"` | Size.S | Размер @default Size.S |
219
+ | size | enum ChipChoiceRowSize: `"xs"`, `"s"`, `"m"` | s | Размер |
220
220
  | className | `string` | - | CSS-класс |
221
- | showClearAllButton | `boolean` | true | Скрыть/показать кнопку очиски @default true |
222
- | clearAllButtonLabel | `string` | Clear all | Текст кнопки очистки @default 'Clear all' |
221
+ | showClearAllButton | `boolean` | true | Скрыть/показать кнопку очиски |
222
+ | clearAllButtonLabel | `string` | Clear all | Текст кнопки очистки |
223
223
 
224
224
 
225
225
  [//]: DOCUMENTATION_SECTION_END
@@ -1,7 +1,6 @@
1
1
  import { MouseEventHandler } from 'react';
2
2
  import { WithSupportProps } from '@snack-uikit/utils';
3
- import { Size } from '../../constants';
4
- import { BaseChipProps } from '../../types';
3
+ import { BaseChipProps, Size } from '../../types';
5
4
  export type ChipAssistProps = WithSupportProps<BaseChipProps & {
6
5
  /** Размер */
7
6
  size?: Size;
@@ -10,6 +9,3 @@ export type ChipAssistProps = WithSupportProps<BaseChipProps & {
10
9
  }>;
11
10
  /** Чип с лейблом */
12
11
  export declare function ChipAssist({ icon, size, label, disabled, loading, onClick, className, tabIndex, ...rest }: ChipAssistProps): import("react/jsx-runtime").JSX.Element;
13
- export declare namespace ChipAssist {
14
- var sizes: typeof Size;
15
- }
@@ -13,19 +13,18 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import cn from 'classnames';
14
14
  import { Sun } from '@snack-uikit/loaders';
15
15
  import { extractSupportProps } from '@snack-uikit/utils';
16
- import { CHIP_ASSIST_TEST_IDS, Size, Variant } from '../../constants';
16
+ import { CHIP_ASSIST_TEST_IDS, SIZE, VARIANT } from '../../constants';
17
17
  import styles from './styles.module.css';
18
18
  /** Чип с лейблом */
19
19
  export function ChipAssist(_a) {
20
- var { icon, size = ChipAssist.sizes.S, label, disabled, loading, onClick, className, tabIndex } = _a, rest = __rest(_a, ["icon", "size", "label", "disabled", "loading", "onClick", "className", "tabIndex"]);
21
- const variant = icon && size !== Size.Xs ? Variant.IconBefore : Variant.LabelOnly;
22
- const spinnerSize = size === Size.Xs ? Sun.sizes.XS : Sun.sizes.S;
20
+ var { icon, size = SIZE.S, label, disabled, loading, onClick, className, tabIndex } = _a, rest = __rest(_a, ["icon", "size", "label", "disabled", "loading", "onClick", "className", "tabIndex"]);
21
+ const variant = icon && size !== SIZE.Xs ? VARIANT.IconBefore : VARIANT.LabelOnly;
22
+ const spinnerSize = size === SIZE.Xs ? 'xs' : 's';
23
23
  const handleClick = e => {
24
24
  if (disabled || loading) {
25
25
  return;
26
26
  }
27
27
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
28
28
  };
29
- return (_jsxs("button", Object.assign({}, extractSupportProps(rest), { tabIndex: tabIndex, "data-size": size, "data-loading": loading || undefined, "data-variant": variant, disabled: !loading && disabled, onClick: handleClick, className: cn(styles.assistChip, className) }, { children: [variant === Variant.IconBefore && !loading && (_jsx("span", Object.assign({ className: styles.icon, "data-test-id": CHIP_ASSIST_TEST_IDS.icon }, { children: icon }))), loading && (_jsx("span", Object.assign({ className: styles.spinner, "data-test-id": CHIP_ASSIST_TEST_IDS.spinner }, { children: _jsx(Sun, { size: spinnerSize }) }))), _jsx("span", Object.assign({ className: cn(styles.labelLayout, styles.label), "data-test-id": CHIP_ASSIST_TEST_IDS.label }, { children: label }))] })));
29
+ return (_jsxs("button", Object.assign({}, extractSupportProps(rest), { tabIndex: tabIndex, "data-size": size, "data-loading": loading || undefined, "data-variant": variant, disabled: !loading && disabled, onClick: handleClick, className: cn(styles.assistChip, className), children: [variant === VARIANT.IconBefore && !loading && (_jsx("span", { className: styles.icon, "data-test-id": CHIP_ASSIST_TEST_IDS.icon, children: icon })), loading && (_jsx("span", { className: styles.spinner, "data-test-id": CHIP_ASSIST_TEST_IDS.spinner, children: _jsx(Sun, { size: spinnerSize }) })), _jsx("span", { className: cn(styles.labelLayout, styles.label), "data-test-id": CHIP_ASSIST_TEST_IDS.label, children: label })] })));
30
30
  }
31
- ChipAssist.sizes = Size;
@@ -15,14 +15,14 @@ import { useCallback, useRef, useState } from 'react';
15
15
  import { Droplist } from '@snack-uikit/droplist';
16
16
  import { Sun } from '@snack-uikit/loaders';
17
17
  import { extractSupportProps } from '@snack-uikit/utils';
18
- import { CHIP_CHOICE_TEST_IDS, Size, Variant } from '../../../../constants';
18
+ import { CHIP_CHOICE_TEST_IDS, SIZE, VARIANT } from '../../../../constants';
19
19
  import { ButtonClearValue } from '../../../../helperComponents';
20
20
  import { BUTTON_CLEAR_VALUE_SIZE_MAP, DROPLIST_SIZE_MAP } from '../../constants';
21
21
  import styles from './styles.module.css';
22
22
  export function ChipChoiceCustom(_a) {
23
- var { size = Size.S, disabled, loading, icon, label, valueToRender, value, onClick, className, tabIndex = 0, placement = Droplist.placements.BottomStart, widthStrategy = Droplist.widthStrategies.Gte, onClearButtonClick, showClearButton: showClearButtonProp = true, children, 'data-test-id': testId } = _a, rest = __rest(_a, ["size", "disabled", "loading", "icon", "label", "valueToRender", "value", "onClick", "className", "tabIndex", "placement", "widthStrategy", "onClearButtonClick", "showClearButton", "children", 'data-test-id']);
24
- const variant = icon && size !== Size.Xs ? Variant.IconBefore : Variant.LabelOnly;
25
- const spinnerSize = size === Size.Xs ? Sun.sizes.XS : Sun.sizes.S;
23
+ var { size = SIZE.S, disabled, loading, icon, label, valueToRender, value, onClick, className, tabIndex = 0, placement = 'bottom-start', widthStrategy = 'gte', onClearButtonClick, showClearButton: showClearButtonProp = true, children, 'data-test-id': testId } = _a, rest = __rest(_a, ["size", "disabled", "loading", "icon", "label", "valueToRender", "value", "onClick", "className", "tabIndex", "placement", "widthStrategy", "onClearButtonClick", "showClearButton", "children", 'data-test-id']);
24
+ const variant = icon && size !== SIZE.Xs ? VARIANT.IconBefore : VARIANT.LabelOnly;
25
+ const spinnerSize = size === SIZE.Xs ? 'xs' : 's';
26
26
  const clearButtonRef = useRef(null);
27
27
  const [isDroplistOpened, setIsDroplistOpened] = useState(false);
28
28
  const { firstElementRefCallback, triggerElementRef, handleDroplistFocusLeave, handleTriggerKeyDown, handleDroplistItemKeyDown, } = Droplist.useKeyboardNavigation({
@@ -71,5 +71,5 @@ export function ChipChoiceCustom(_a) {
71
71
  }
72
72
  };
73
73
  const showClearButton = showClearButtonProp && (value instanceof Date || Boolean(value === null || value === void 0 ? void 0 : value.length));
74
- return (_jsx(Droplist, Object.assign({ trigger: Droplist.triggers.Click, open: isDroplistOpened, firstElementRefCallback: firstElementRefCallback, onOpenChange: onOpenChangeHandler, onFocusLeave: handleDroplistFocusLeave, triggerClassName: styles.triggerClassName, widthStrategy: widthStrategy, placement: placement, size: DROPLIST_SIZE_MAP[size], "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, triggerElement: _jsxs("div", Object.assign({}, extractSupportProps(rest), { role: 'button', ref: triggerElementRef, className: cn(styles.choiceChip, className), "data-size": size, "data-variant": variant, "data-loading": loading || undefined, "data-test-id": testId || undefined, "data-disabled": (!loading && disabled) || undefined, onClick: handleChipClick, onKeyDown: handleChipKeyDown, tabIndex: tabIndex }, { children: [variant === Variant.IconBefore && (_jsx("span", Object.assign({ className: styles.icon, "data-test-id": CHIP_CHOICE_TEST_IDS.icon }, { children: icon }))), _jsxs("span", Object.assign({ className: styles.labelLayout }, { children: [label && (_jsx("span", Object.assign({ className: styles.label, "data-test-id": CHIP_CHOICE_TEST_IDS.label }, { children: label }))), loading ? (_jsx("span", Object.assign({ className: styles.spinner, "data-test-id": CHIP_CHOICE_TEST_IDS.spinner }, { children: _jsx(Sun, { size: spinnerSize }) }))) : (_jsx("span", Object.assign({ className: styles.value, "data-test-id": CHIP_CHOICE_TEST_IDS.value }, { children: valueToRender })))] })), !disabled && !loading && showClearButton && (_jsx(ButtonClearValue, { size: BUTTON_CLEAR_VALUE_SIZE_MAP[size], onClick: handleClearButtonClick, "data-test-id": CHIP_CHOICE_TEST_IDS.clearButton, onKeyDown: handleClearButtonKeyDown, ref: clearButtonRef }))] })) }, { children: typeof children === 'function' ? children({ handleDroplistItemKeyDown, closeDroplist }) : children })));
74
+ return (_jsx(Droplist, { trigger: 'click', open: isDroplistOpened, firstElementRefCallback: firstElementRefCallback, onOpenChange: onOpenChangeHandler, onFocusLeave: handleDroplistFocusLeave, triggerClassName: styles.triggerClassName, widthStrategy: widthStrategy, placement: placement, size: DROPLIST_SIZE_MAP[size], "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, triggerElement: _jsxs("div", Object.assign({}, extractSupportProps(rest), { role: 'button', ref: triggerElementRef, className: cn(styles.choiceChip, className), "data-size": size, "data-variant": variant, "data-loading": loading || undefined, "data-test-id": testId || undefined, "data-disabled": (!loading && disabled) || undefined, onClick: handleChipClick, onKeyDown: handleChipKeyDown, tabIndex: tabIndex, children: [variant === VARIANT.IconBefore && (_jsx("span", { className: styles.icon, "data-test-id": CHIP_CHOICE_TEST_IDS.icon, children: icon })), _jsxs("span", { className: styles.labelLayout, children: [label && (_jsx("span", { className: styles.label, "data-test-id": CHIP_CHOICE_TEST_IDS.label, children: label })), loading ? (_jsx("span", { className: styles.spinner, "data-test-id": CHIP_CHOICE_TEST_IDS.spinner, children: _jsx(Sun, { size: spinnerSize }) })) : (_jsx("span", { className: styles.value, "data-test-id": CHIP_CHOICE_TEST_IDS.value, children: valueToRender }))] }), !disabled && !loading && showClearButton && (_jsx(ButtonClearValue, { size: BUTTON_CLEAR_VALUE_SIZE_MAP[size], onClick: handleClearButtonClick, "data-test-id": CHIP_CHOICE_TEST_IDS.clearButton, onKeyDown: handleClearButtonKeyDown, ref: clearButtonRef }))] })), children: typeof children === 'function' ? children({ handleDroplistItemKeyDown, closeDroplist }) : children }));
75
75
  }
@@ -12,17 +12,17 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { useUncontrolledProp } from 'uncontrollable';
14
14
  import { Calendar } from '@snack-uikit/calendar';
15
- import { DEFAULT_EMPTY_VALUE, Size } from '../../../constants';
15
+ import { DEFAULT_EMPTY_VALUE, SIZE } from '../../../constants';
16
16
  import { CALENDAR_SIZE_MAP } from '../constants';
17
17
  import { ChipChoiceCustom } from './ChipChoiceCustom';
18
18
  export function ChipChoiceDate(_a) {
19
- var { size = Size.S, value, defaultValue, onChange, valueFormatter } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueFormatter"]);
19
+ var { size = SIZE.S, value, defaultValue, onChange, valueFormatter } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueFormatter"]);
20
20
  const [selectedValue, setSelectedValue] = useUncontrolledProp(value, defaultValue, onChange);
21
21
  const valueToRender = valueFormatter
22
22
  ? valueFormatter(selectedValue)
23
23
  : (selectedValue && new Date(selectedValue).toLocaleDateString()) || DEFAULT_EMPTY_VALUE;
24
24
  const clearValue = () => setSelectedValue(undefined);
25
- return (_jsx(ChipChoiceCustom, Object.assign({ onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size }, rest, { children: ({ closeDroplist }) => (_jsx(Calendar, { mode: Calendar.modes.Date, size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: value => {
25
+ return (_jsx(ChipChoiceCustom, Object.assign({ onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size }, rest, { children: ({ closeDroplist }) => (_jsx(Calendar, { mode: 'date', size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: value => {
26
26
  setSelectedValue(value);
27
27
  closeDroplist();
28
28
  }, navigationStartRef: element => element === null || element === void 0 ? void 0 : element.focus(), onFocusLeave: closeDroplist })) })));
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { useUncontrolledProp } from 'uncontrollable';
14
14
  import { Calendar } from '@snack-uikit/calendar';
15
- import { DEFAULT_EMPTY_VALUE, Size } from '../../../constants';
15
+ import { DEFAULT_EMPTY_VALUE, SIZE } from '../../../constants';
16
16
  import { CALENDAR_SIZE_MAP } from '../constants';
17
17
  import { ChipChoiceCustom } from './ChipChoiceCustom';
18
18
  function defaultRangeFormatter(value) {
@@ -22,11 +22,11 @@ function defaultRangeFormatter(value) {
22
22
  return `${from.toLocaleDateString()} ${DEFAULT_EMPTY_VALUE} ${to.toLocaleDateString()}`;
23
23
  }
24
24
  export function ChipChoiceDateRange(_a) {
25
- var { size = Size.S, value, defaultValue, onChange, valueFormatter } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueFormatter"]);
25
+ var { size = SIZE.S, value, defaultValue, onChange, valueFormatter } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueFormatter"]);
26
26
  const [selectedValue, setSelectedValue] = useUncontrolledProp(value, defaultValue, onChange);
27
27
  const valueToRender = valueFormatter ? valueFormatter(selectedValue) : defaultRangeFormatter(selectedValue);
28
28
  const clearValue = () => setSelectedValue(undefined);
29
- return (_jsx(ChipChoiceCustom, Object.assign({ value: selectedValue, valueToRender: valueToRender, onClearButtonClick: clearValue, size: size }, rest, { children: ({ closeDroplist }) => (_jsx(Calendar, { mode: Calendar.modes.Range, size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: range => {
29
+ return (_jsx(ChipChoiceCustom, Object.assign({ value: selectedValue, valueToRender: valueToRender, onClearButtonClick: clearValue, size: size }, rest, { children: ({ closeDroplist }) => (_jsx(Calendar, { mode: 'range', size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: range => {
30
30
  setSelectedValue(range);
31
31
  closeDroplist();
32
32
  },
@@ -14,11 +14,11 @@ import { createElement as _createElement } from "react";
14
14
  import { useMemo } from 'react';
15
15
  import { useUncontrolledProp } from 'uncontrollable';
16
16
  import { Droplist } from '@snack-uikit/droplist';
17
- import { Size } from '../../../constants';
17
+ import { SIZE } from '../../../constants';
18
18
  import { defaultMultiValueLabelFormatter, normalizeValueForMultiChoice } from '../utils';
19
19
  import { ChipChoiceCustom } from './ChipChoiceCustom';
20
20
  export function ChipChoiceMulti(_a) {
21
- var { value, defaultValue, options, onChange, valueFormatter, size = Size.S, 'data-test-id': dataTestId } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueFormatter", "size", 'data-test-id']);
21
+ var { value, defaultValue, options, onChange, valueFormatter, size = SIZE.S, 'data-test-id': dataTestId } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueFormatter", "size", 'data-test-id']);
22
22
  const [selectedValue, setSelectedValue] = useUncontrolledProp(normalizeValueForMultiChoice(options, value), normalizeValueForMultiChoice(options, defaultValue) || [], onChange);
23
23
  const selectedOptions = useMemo(() => options.filter(({ value }) => selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.includes(value)), [options, selectedValue]);
24
24
  const valueToRender = valueFormatter
@@ -14,11 +14,11 @@ import { createElement as _createElement } from "react";
14
14
  import { useMemo } from 'react';
15
15
  import { useUncontrolledProp } from 'uncontrollable';
16
16
  import { Droplist } from '@snack-uikit/droplist';
17
- import { DEFAULT_EMPTY_VALUE, Size } from '../../../constants';
17
+ import { DEFAULT_EMPTY_VALUE, SIZE } from '../../../constants';
18
18
  import { normalizeValueForSingleChoice } from '../utils';
19
19
  import { ChipChoiceCustom } from './ChipChoiceCustom';
20
20
  export function ChipChoiceSingle(_a) {
21
- var { value, defaultValue, options, onChange, valueFormatter, size = Size.S, 'data-test-id': dataTestId } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueFormatter", "size", 'data-test-id']);
21
+ var { value, defaultValue, options, onChange, valueFormatter, size = SIZE.S, 'data-test-id': dataTestId } = _a, rest = __rest(_a, ["value", "defaultValue", "options", "onChange", "valueFormatter", "size", 'data-test-id']);
22
22
  const [selectedValue, setSelectedValue] = useUncontrolledProp(normalizeValueForSingleChoice(options, value), normalizeValueForSingleChoice(options, defaultValue), onChange);
23
23
  const selectedOption = useMemo(() => options.find(({ value }) => value === selectedValue), [options, selectedValue]);
24
24
  const valueToRender = valueFormatter ? valueFormatter(selectedOption) : (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || DEFAULT_EMPTY_VALUE;
@@ -1,25 +1,17 @@
1
- import { ButtonSize } from '../../constants';
1
+ import { CalendarProps } from '@snack-uikit/calendar';
2
+ import { DroplistProps } from '@snack-uikit/droplist';
3
+ import { Size } from '../../types';
2
4
  export declare const BUTTON_CLEAR_VALUE_SIZE_MAP: {
3
- xs: ButtonSize;
4
- s: ButtonSize;
5
- m: ButtonSize;
6
- l: ButtonSize;
5
+ xs: "xxs";
6
+ s: "xs";
7
+ m: "xs";
8
+ l: "xs";
7
9
  };
8
- export declare const CALENDAR_SIZE_MAP: {
9
- xs: import("@snack-uikit/calendar/dist/constants").Size;
10
- s: import("@snack-uikit/calendar/dist/constants").Size;
11
- m: import("@snack-uikit/calendar/dist/constants").Size;
12
- l: import("@snack-uikit/calendar/dist/constants").Size;
10
+ export declare const CALENDAR_SIZE_MAP: Record<Size, CalendarProps['size']>;
11
+ export declare const DROPLIST_SIZE_MAP: Record<Size, DroplistProps['size']>;
12
+ export declare const CHIP_CHOICE_TYPE: {
13
+ readonly Multi: "multi";
14
+ readonly Date: "date";
15
+ readonly DateRange: "date-range";
16
+ readonly Single: "single";
13
17
  };
14
- export declare const DROPLIST_SIZE_MAP: {
15
- xs: import("@snack-uikit/droplist/dist/constants").Size;
16
- s: import("@snack-uikit/droplist/dist/constants").Size;
17
- m: import("@snack-uikit/droplist/dist/constants").Size;
18
- l: import("@snack-uikit/droplist/dist/constants").Size;
19
- };
20
- export declare enum ChipChoiceType {
21
- Multi = "multi",
22
- Date = "date",
23
- DateRange = "date-range",
24
- Single = "single"
25
- }
@@ -1,28 +1,25 @@
1
- import { Calendar } from '@snack-uikit/calendar';
2
- import { Droplist } from '@snack-uikit/droplist';
3
- import { ButtonSize, Size } from '../../constants';
1
+ import { BUTTON_SIZE, SIZE } from '../../constants';
4
2
  export const BUTTON_CLEAR_VALUE_SIZE_MAP = {
5
- [Size.Xs]: ButtonSize.Xxs,
6
- [Size.S]: ButtonSize.Xs,
7
- [Size.M]: ButtonSize.Xs,
8
- [Size.L]: ButtonSize.Xs,
3
+ [SIZE.Xs]: BUTTON_SIZE.Xxs,
4
+ [SIZE.S]: BUTTON_SIZE.Xs,
5
+ [SIZE.M]: BUTTON_SIZE.Xs,
6
+ [SIZE.L]: BUTTON_SIZE.Xs,
9
7
  };
10
8
  export const CALENDAR_SIZE_MAP = {
11
- [Size.Xs]: Calendar.sizes.S,
12
- [Size.S]: Calendar.sizes.S,
13
- [Size.M]: Calendar.sizes.M,
14
- [Size.L]: Calendar.sizes.M,
9
+ [SIZE.Xs]: 's',
10
+ [SIZE.S]: 's',
11
+ [SIZE.M]: 'm',
12
+ [SIZE.L]: 'm',
15
13
  };
16
14
  export const DROPLIST_SIZE_MAP = {
17
- [Size.Xs]: Droplist.sizes.S,
18
- [Size.S]: Droplist.sizes.S,
19
- [Size.M]: Droplist.sizes.M,
20
- [Size.L]: Droplist.sizes.L,
15
+ [SIZE.Xs]: 's',
16
+ [SIZE.S]: 's',
17
+ [SIZE.M]: 'm',
18
+ [SIZE.L]: 'l',
19
+ };
20
+ export const CHIP_CHOICE_TYPE = {
21
+ Multi: 'multi',
22
+ Date: 'date',
23
+ DateRange: 'date-range',
24
+ Single: 'single',
21
25
  };
22
- export var ChipChoiceType;
23
- (function (ChipChoiceType) {
24
- ChipChoiceType["Multi"] = "multi";
25
- ChipChoiceType["Date"] = "date";
26
- ChipChoiceType["DateRange"] = "date-range";
27
- ChipChoiceType["Single"] = "single";
28
- })(ChipChoiceType || (ChipChoiceType = {}));
@@ -1,6 +1,4 @@
1
- import { Size, Variant } from '../../constants';
2
1
  import { ChipChoiceCustom, ChipChoiceCustomProps, ChipChoiceDate, ChipChoiceDateProps, ChipChoiceDateRange, ChipChoiceDateRangeProps, ChipChoiceMulti, ChipChoiceMultiProps, ChipChoiceSingle, ChipChoiceSingleProps } from './components';
3
- import { ChipChoiceType } from './constants';
4
2
  export type { FilterOption } from './types';
5
3
  export type { ChipChoiceCustomProps, ChipChoiceMultiProps, ChipChoiceSingleProps, ChipChoiceDateProps, ChipChoiceDateRangeProps, };
6
4
  export declare namespace ChipChoice {
@@ -9,9 +7,4 @@ export declare namespace ChipChoice {
9
7
  const Multi: typeof ChipChoiceMulti;
10
8
  const Date: typeof ChipChoiceDate;
11
9
  const DateRange: typeof ChipChoiceDateRange;
12
- const sizes: typeof Size;
13
- const variants: typeof Variant;
14
- const placements: typeof import("@snack-uikit/popover-private/dist/constants").Placement;
15
- const widthStrategies: typeof import("@snack-uikit/popover-private/dist/constants").PopoverWidthStrategy;
16
- const types: typeof ChipChoiceType;
17
10
  }
@@ -1,7 +1,4 @@
1
- import { Droplist } from '@snack-uikit/droplist';
2
- import { Size, Variant } from '../../constants';
3
1
  import { ChipChoiceCustom, ChipChoiceDate, ChipChoiceDateRange, ChipChoiceMulti, ChipChoiceSingle, } from './components';
4
- import { ChipChoiceType } from './constants';
5
2
  export var ChipChoice;
6
3
  (function (ChipChoice) {
7
4
  ChipChoice.Custom = ChipChoiceCustom;
@@ -9,9 +6,4 @@ export var ChipChoice;
9
6
  ChipChoice.Multi = ChipChoiceMulti;
10
7
  ChipChoice.Date = ChipChoiceDate;
11
8
  ChipChoice.DateRange = ChipChoiceDateRange;
12
- ChipChoice.sizes = Size;
13
- ChipChoice.variants = Variant;
14
- ChipChoice.placements = Droplist.placements;
15
- ChipChoice.widthStrategies = Droplist.widthStrategies;
16
- ChipChoice.types = ChipChoiceType;
17
9
  })(ChipChoice || (ChipChoice = {}));
@@ -1,8 +1,7 @@
1
1
  import { MouseEventHandler } from 'react';
2
2
  import { DroplistProps, ItemSingleProps } from '@snack-uikit/droplist';
3
3
  import { WithSupportProps } from '@snack-uikit/utils';
4
- import { Size } from '../../constants';
5
- import { BaseChipProps } from '../../types';
4
+ import { BaseChipProps, Size } from '../../types';
6
5
  export type FilterOption = Pick<ItemSingleProps, 'caption' | 'description' | 'tagLabel' | 'icon' | 'avatar'> & {
7
6
  label: string;
8
7
  value: string;
@@ -18,10 +17,10 @@ export type ChipChoiceCommonProps = WithSupportProps<Partial<BaseChipProps> & {
18
17
  placement?: DroplistProps['placement'];
19
18
  /**
20
19
  * Стратегия управления шириной контейнера поповера
21
- * <br> - `Auto` - соответствует ширине контента,
22
- * <br> - `Gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире,
23
- * <br> - `Eq` - Equal, строго равен ширине таргета.
24
- * @default Gte
20
+ * <br> - `auto` - соответствует ширине контента,
21
+ * <br> - `gte` - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире,
22
+ * <br> - `eq` - Equal, строго равен ширине таргета.
23
+ * @default gte
25
24
  */
26
25
  widthStrategy?: DroplistProps['widthStrategy'];
27
26
  }>;
@@ -1,6 +1,5 @@
1
1
  import { WithSupportProps } from '@snack-uikit/utils';
2
- import { Size } from './constants';
3
- import { ChipChoiceProps, OmitBetter } from './types';
2
+ import { ChipChoiceProps, ChipChoiceRowSize, OmitBetter } from './types';
4
3
  export type FiltersState = Record<string, unknown>;
5
4
  export type ChipChoiceRowProps<TState extends FiltersState> = WithSupportProps<{
6
5
  /** Состояние фильтров */
@@ -11,8 +10,8 @@ export type ChipChoiceRowProps<TState extends FiltersState> = WithSupportProps<{
11
10
  onChange?(filters: TState): void;
12
11
  /** Массив чипов */
13
12
  filters: OmitBetter<ChipChoiceProps, 'onChange' | 'value' | 'size' | 'defaultValue'>[];
14
- /** Размер @default Size.S */
15
- size?: Size;
13
+ /** Размер @default 's' */
14
+ size?: ChipChoiceRowSize;
16
15
  /** CSS-класс */
17
16
  className?: string;
18
17
  /** Скрыть/показать кнопку очиски @default true */
@@ -21,6 +20,3 @@ export type ChipChoiceRowProps<TState extends FiltersState> = WithSupportProps<{
21
20
  clearAllButtonLabel?: string;
22
21
  }>;
23
22
  export declare function ChipChoiceRow<TState extends FiltersState>({ filters, onChange, showClearAllButton, clearAllButtonLabel, className, value, defaultValue, size, ...rest }: ChipChoiceRowProps<TState>): import("react/jsx-runtime").JSX.Element;
24
- export declare namespace ChipChoiceRow {
25
- var sizes: typeof Size;
26
- }
@@ -17,10 +17,10 @@ import { CrossSVG } from '@snack-uikit/icons';
17
17
  import { extractSupportProps } from '@snack-uikit/utils';
18
18
  import { CHIP_CHOICE_ROW_IDS } from '../../constants';
19
19
  import { ForwardedChipChoice } from './components';
20
- import { MAP_ROW_SIZE_TO_BUTTON_SIZE, MAP_ROW_SIZE_TO_CHOICE_SIZE, Size } from './constants';
20
+ import { CHIP_CHOICE_ROW_SIZE, MAP_ROW_SIZE_TO_BUTTON_SIZE, MAP_ROW_SIZE_TO_CHOICE_SIZE } from './constants';
21
21
  import styles from './styles.module.css';
22
22
  export function ChipChoiceRow(_a) {
23
- var { filters, onChange, showClearAllButton = true, clearAllButtonLabel = 'Clear all', className, value, defaultValue, size = Size.S } = _a, rest = __rest(_a, ["filters", "onChange", "showClearAllButton", "clearAllButtonLabel", "className", "value", "defaultValue", "size"]);
23
+ var { filters, onChange, showClearAllButton = true, clearAllButtonLabel = 'Clear all', className, value, defaultValue, size = CHIP_CHOICE_ROW_SIZE.S } = _a, rest = __rest(_a, ["filters", "onChange", "showClearAllButton", "clearAllButtonLabel", "className", "value", "defaultValue", "size"]);
24
24
  const [state, setState] = useUncontrolledProp(value, (defaultValue !== null && defaultValue !== void 0 ? defaultValue : {}), newState => {
25
25
  const result = typeof newState === 'function' ? newState(state) : newState;
26
26
  onChange === null || onChange === void 0 ? void 0 : onChange(result);
@@ -40,6 +40,5 @@ export function ChipChoiceRow(_a) {
40
40
  }
41
41
  return Boolean(filter);
42
42
  });
43
- return (_jsxs("div", Object.assign({ className: cn(styles.chipChoiceRow, className) }, extractSupportProps(rest), { children: [filters.map(filter => (_jsx(ForwardedChipChoice, Object.assign({}, filter, { value: state[filter.id], size: MAP_ROW_SIZE_TO_CHOICE_SIZE[size], onChange: (value) => handleChange(filter.id, value) }), filter.id))), showClearAllButton && hasAnyFilter && (_jsx(ButtonFunction, { onClick: handleFiltersClear, label: clearAllButtonLabel, icon: _jsx(CrossSVG, {}), iconPosition: ButtonFunction.iconPositions.Before, size: MAP_ROW_SIZE_TO_BUTTON_SIZE[size], "data-test-id": CHIP_CHOICE_ROW_IDS.clearAllButton }))] })));
43
+ return (_jsxs("div", Object.assign({ className: cn(styles.chipChoiceRow, className) }, extractSupportProps(rest), { children: [filters.map(filter => (_jsx(ForwardedChipChoice, Object.assign({}, filter, { value: state[filter.id], size: MAP_ROW_SIZE_TO_CHOICE_SIZE[size], onChange: (value) => handleChange(filter.id, value) }), filter.id))), showClearAllButton && hasAnyFilter && (_jsx(ButtonFunction, { onClick: handleFiltersClear, label: clearAllButtonLabel, icon: _jsx(CrossSVG, {}), iconPosition: 'before', size: MAP_ROW_SIZE_TO_BUTTON_SIZE[size], "data-test-id": CHIP_CHOICE_ROW_IDS.clearAllButton }))] })));
44
44
  }
45
- ChipChoiceRow.sizes = Size;
@@ -1,7 +1,8 @@
1
1
  import { ChipChoice } from '../../ChipChoice';
2
+ import { CHIP_CHOICE_TYPE } from '../../ChipChoice/constants';
2
3
  export const MAP_CHIP_TYPE_TO_COMPONENT = {
3
- [ChipChoice.types.Single]: ChipChoice.Single,
4
- [ChipChoice.types.Multi]: ChipChoice.Multi,
5
- [ChipChoice.types.Date]: ChipChoice.Date,
6
- [ChipChoice.types.DateRange]: ChipChoice.DateRange,
4
+ [CHIP_CHOICE_TYPE.Single]: ChipChoice.Single,
5
+ [CHIP_CHOICE_TYPE.Multi]: ChipChoice.Multi,
6
+ [CHIP_CHOICE_TYPE.Date]: ChipChoice.Date,
7
+ [CHIP_CHOICE_TYPE.DateRange]: ChipChoice.DateRange,
7
8
  };
@@ -1,15 +1,12 @@
1
- export declare enum Size {
2
- Xs = "xs",
3
- S = "s",
4
- M = "m"
5
- }
6
- export declare const MAP_ROW_SIZE_TO_CHOICE_SIZE: {
7
- xs: import("../../constants").Size;
8
- s: import("../../constants").Size;
9
- m: import("../../constants").Size;
1
+ import { ButtonFunctionProps } from '@snack-uikit/button';
2
+ export declare const CHIP_CHOICE_ROW_SIZE: {
3
+ readonly Xs: "xs";
4
+ readonly S: "s";
5
+ readonly M: "m";
10
6
  };
11
- export declare const MAP_ROW_SIZE_TO_BUTTON_SIZE: {
12
- xs: import("@snack-uikit/button/dist/constants").SizeXsM;
13
- s: import("@snack-uikit/button/dist/constants").SizeXsM;
14
- m: import("@snack-uikit/button/dist/constants").SizeXsM;
7
+ export declare const MAP_ROW_SIZE_TO_CHOICE_SIZE: {
8
+ xs: "xs";
9
+ s: "s";
10
+ m: "m";
15
11
  };
12
+ export declare const MAP_ROW_SIZE_TO_BUTTON_SIZE: Record<string, ButtonFunctionProps['size']>;