@snack-uikit/chips 0.9.1 → 0.10.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 +20 -0
- package/README.md +16 -16
- package/dist/components/ChipAssist/ChipAssist.d.ts +1 -5
- package/dist/components/ChipAssist/ChipAssist.js +5 -6
- package/dist/components/ChipChoice/components/ChipChoiceCustom/ChipChoiceCustom.js +5 -5
- package/dist/components/ChipChoice/components/ChipChoiceDate.js +3 -3
- package/dist/components/ChipChoice/components/ChipChoiceDateRange.js +3 -3
- package/dist/components/ChipChoice/components/ChipChoiceMulti.js +2 -2
- package/dist/components/ChipChoice/components/ChipChoiceSingle.js +2 -2
- package/dist/components/ChipChoice/constants.d.ts +14 -22
- package/dist/components/ChipChoice/constants.js +19 -22
- package/dist/components/ChipChoice/index.d.ts +0 -7
- package/dist/components/ChipChoice/index.js +0 -8
- package/dist/components/ChipChoice/types.d.ts +5 -6
- package/dist/components/ChipChoiceRow/ChipChoiceRow.d.ts +3 -7
- package/dist/components/ChipChoiceRow/ChipChoiceRow.js +3 -4
- package/dist/components/ChipChoiceRow/components/constants.js +5 -4
- package/dist/components/ChipChoiceRow/constants.d.ts +10 -13
- package/dist/components/ChipChoiceRow/constants.js +12 -14
- package/dist/components/ChipChoiceRow/types.d.ts +9 -6
- package/dist/components/ChipToggle/ChipToggle.d.ts +1 -5
- package/dist/components/ChipToggle/ChipToggle.js +5 -6
- package/dist/constants.d.ts +14 -14
- package/dist/constants.js +14 -17
- package/dist/helperComponents/ButtonClearValue/ButtonClearValue.d.ts +1 -1
- package/dist/helperComponents/ButtonClearValue/ButtonClearValue.js +2 -2
- package/dist/types.d.ts +5 -0
- package/package.json +7 -7
- package/src/components/ChipAssist/ChipAssist.tsx +7 -9
- package/src/components/ChipChoice/components/ChipChoiceCustom/ChipChoiceCustom.tsx +9 -9
- package/src/components/ChipChoice/components/ChipChoiceDate.tsx +3 -3
- package/src/components/ChipChoice/components/ChipChoiceDateRange.tsx +3 -3
- package/src/components/ChipChoice/components/ChipChoiceMulti.tsx +2 -2
- package/src/components/ChipChoice/components/ChipChoiceSingle.tsx +2 -2
- package/src/components/ChipChoice/constants.ts +24 -23
- package/src/components/ChipChoice/index.ts +0 -9
- package/src/components/ChipChoice/types.ts +5 -6
- package/src/components/ChipChoiceRow/ChipChoiceRow.tsx +6 -8
- package/src/components/ChipChoiceRow/components/constants.ts +5 -4
- package/src/components/ChipChoiceRow/constants.ts +14 -14
- package/src/components/ChipChoiceRow/types.ts +11 -6
- package/src/components/ChipToggle/ChipToggle.tsx +7 -9
- package/src/constants.ts +14 -14
- package/src/helperComponents/ButtonClearValue/ButtonClearValue.tsx +4 -3
- package/src/types.ts +10 -0
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
|
+
# 0.10.0 (2023-12-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
* **FF-3729:** replace enum with unions ([910db4a](https://github.com/cloud-ru-tech/snack-uikit/commit/910db4aa8231ccbc58e538e5c5c1f461b1dec275))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## 0.9.2 (2023-12-07)
|
|
18
|
+
|
|
19
|
+
### Only dependencies have been changed
|
|
20
|
+
* [@snack-uikit/droplist@0.11.2](https://git.sbercloud.tech/sbercloud-ui/tokens-design-system/snack-uikit/-/blob/master/packages/droplist/CHANGELOG.md)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
6
26
|
## 0.9.1 (2023-12-06)
|
|
7
27
|
|
|
8
28
|
### 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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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"` |
|
|
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"` |
|
|
113
|
+
| size | enum Size: `"xs"`, `"s"`, `"m"`, `"l"` | s | Размер |
|
|
114
114
|
## ChipChoice.Custom
|
|
115
115
|
### Props
|
|
116
116
|
| name | type | default value | description |
|
|
@@ -125,7 +125,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
125
125
|
| onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
|
|
126
126
|
| showClearButton | `boolean` | - | Отображение кнопки очистки значения @default 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"`, `"
|
|
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>` | - | Колбек для клика по кнопке очистки |
|
|
@@ -145,7 +145,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
145
145
|
| onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
|
|
146
146
|
| showClearButton | `boolean` | - | Отображение кнопки очистки значения @default 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"`, `"
|
|
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` | - | Колбек смены значения |
|
|
@@ -165,7 +165,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
165
165
|
| onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
|
|
166
166
|
| showClearButton | `boolean` | - | Отображение кнопки очистки значения @default 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"`, `"
|
|
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` | - | Колбек смены значения |
|
|
@@ -184,7 +184,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
184
184
|
| onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
|
|
185
185
|
| showClearButton | `boolean` | - | Отображение кнопки очистки значения @default 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"`, `"
|
|
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` | - | Колбек смены значения |
|
|
@@ -203,7 +203,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
203
203
|
| onClick | `MouseEventHandler<HTMLButtonElement \| HTMLDivElement>` | - | Колбек обработки клика |
|
|
204
204
|
| showClearButton | `boolean` | - | Отображение кнопки очистки значения @default 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"`, `"
|
|
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,11 +212,11 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
212
212
|
### Props
|
|
213
213
|
| name | type | default value | description |
|
|
214
214
|
|------|------|---------------|-------------|
|
|
215
|
-
| filters* | `(Pick<{ id: string; } & { type:
|
|
215
|
+
| filters* | `(Pick<{ id: string; } & { type: "multi"; } & { 'data-test-id'?: string; } & AriaAttributes & Partial<BaseChipProps> & { size?: Size; onClick?: MouseEventHandler<...>; showClearButton?: boolean; placement?: Placement; widthStrategy?: PopoverWidthStrategy; } & { ...; }, "data-test-id" \| ... 9 more ... \| "type"> \| Pick...` | - | Массив чипов |
|
|
216
216
|
| value | `FiltersState` | - | Состояние фильтров |
|
|
217
217
|
| defaultValue | `Partial<TState>` | - | Начальное состояние фильтров |
|
|
218
218
|
| onChange | `(filters: TState) => void` | - | Колбек изменения состояния фильтров |
|
|
219
|
-
| size | enum
|
|
219
|
+
| size | enum ChipChoiceRowSize: `"xs"`, `"s"`, `"m"` | s | Размер @default 's' |
|
|
220
220
|
| className | `string` | - | CSS-класс |
|
|
221
221
|
| showClearAllButton | `boolean` | true | Скрыть/показать кнопку очиски @default true |
|
|
222
222
|
| clearAllButtonLabel | `string` | Clear all | Текст кнопки очистки @default 'Clear all' |
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { MouseEventHandler } from 'react';
|
|
2
2
|
import { WithSupportProps } from '@snack-uikit/utils';
|
|
3
|
-
import { Size } from '../../
|
|
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,
|
|
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 =
|
|
21
|
-
const variant = icon && size !==
|
|
22
|
-
const spinnerSize = size ===
|
|
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 ===
|
|
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 }))] })));
|
|
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,
|
|
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 =
|
|
24
|
-
const variant = icon && size !==
|
|
25
|
-
const spinnerSize = size ===
|
|
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:
|
|
74
|
+
return (_jsx(Droplist, Object.assign({ 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", 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 })));
|
|
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,
|
|
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 =
|
|
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:
|
|
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,
|
|
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 =
|
|
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:
|
|
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 {
|
|
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 =
|
|
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,
|
|
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 =
|
|
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 {
|
|
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:
|
|
4
|
-
s:
|
|
5
|
-
m:
|
|
6
|
-
l:
|
|
5
|
+
xs: "xxs";
|
|
6
|
+
s: "xs";
|
|
7
|
+
m: "xs";
|
|
8
|
+
l: "xs";
|
|
7
9
|
};
|
|
8
|
-
export declare const CALENDAR_SIZE_MAP:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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 {
|
|
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
|
-
[
|
|
6
|
-
[
|
|
7
|
-
[
|
|
8
|
-
[
|
|
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
|
-
[
|
|
12
|
-
[
|
|
13
|
-
[
|
|
14
|
-
[
|
|
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
|
-
[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
20
|
-
[
|
|
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 '../../
|
|
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> - `
|
|
22
|
-
* <br> - `
|
|
23
|
-
* <br> - `
|
|
24
|
-
* @default
|
|
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 {
|
|
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
|
|
15
|
-
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
|
|
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 =
|
|
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:
|
|
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
|
-
[
|
|
4
|
-
[
|
|
5
|
-
[
|
|
6
|
-
[
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
12
|
-
xs:
|
|
13
|
-
s:
|
|
14
|
-
m:
|
|
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']>;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Size["M"] = "m";
|
|
8
|
-
})(Size || (Size = {}));
|
|
1
|
+
import { SIZE } from '../../constants';
|
|
2
|
+
export const CHIP_CHOICE_ROW_SIZE = {
|
|
3
|
+
Xs: 'xs',
|
|
4
|
+
S: 's',
|
|
5
|
+
M: 'm',
|
|
6
|
+
};
|
|
9
7
|
export const MAP_ROW_SIZE_TO_CHOICE_SIZE = {
|
|
10
|
-
[
|
|
11
|
-
[
|
|
12
|
-
[
|
|
8
|
+
[CHIP_CHOICE_ROW_SIZE.Xs]: SIZE.Xs,
|
|
9
|
+
[CHIP_CHOICE_ROW_SIZE.S]: SIZE.S,
|
|
10
|
+
[CHIP_CHOICE_ROW_SIZE.M]: SIZE.M,
|
|
13
11
|
};
|
|
14
12
|
export const MAP_ROW_SIZE_TO_BUTTON_SIZE = {
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
13
|
+
[CHIP_CHOICE_ROW_SIZE.Xs]: 'xs',
|
|
14
|
+
[CHIP_CHOICE_ROW_SIZE.S]: 's',
|
|
15
|
+
[CHIP_CHOICE_ROW_SIZE.M]: 'm',
|
|
18
16
|
};
|