@snack-uikit/chips 0.21.1 → 0.22.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.
- package/CHANGELOG.md +21 -0
- package/README.md +2 -0
- package/dist/cjs/components/ChipChoice/components/ChipChoiceDate.d.ts +3 -1
- package/dist/cjs/components/ChipChoice/components/ChipChoiceDate.js +5 -3
- package/dist/cjs/components/ChipChoice/components/ChipChoiceDateRange.d.ts +4 -1
- package/dist/cjs/components/ChipChoice/components/ChipChoiceDateRange.js +5 -3
- package/dist/esm/components/ChipChoice/components/ChipChoiceDate.d.ts +3 -1
- package/dist/esm/components/ChipChoice/components/ChipChoiceDate.js +2 -2
- package/dist/esm/components/ChipChoice/components/ChipChoiceDateRange.d.ts +4 -1
- package/dist/esm/components/ChipChoice/components/ChipChoiceDateRange.js +2 -2
- package/package.json +4 -4
- package/src/components/ChipChoice/components/ChipChoiceDate.tsx +4 -0
- package/src/components/ChipChoice/components/ChipChoiceDateRange.tsx +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,27 @@
|
|
|
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.22.1 (2024-11-29)
|
|
7
|
+
|
|
8
|
+
### Only dependencies have been changed
|
|
9
|
+
* [@snack-uikit/calendar@0.11.8](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/calendar/CHANGELOG.md)
|
|
10
|
+
* [@snack-uikit/list@0.21.8](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/list/CHANGELOG.md)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
# 0.22.0 (2024-11-26)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* **PDS-899:** add buildCalendarCellProps ([17015dd](https://github.com/cloud-ru-tech/snack-uikit/commit/17015dde179b455425f71f8444c89aa252886b80))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
6
27
|
## 0.21.1 (2024-11-19)
|
|
7
28
|
|
|
8
29
|
### Only dependencies have been changed
|
package/README.md
CHANGED
|
@@ -223,6 +223,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
223
223
|
| onChange | `(value: Date) => void` | - | Колбек смены значения |
|
|
224
224
|
| valueRender | `(value?: Date) => ReactNode` | - | Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение |
|
|
225
225
|
| mode | "date" \| "month" \| "date-time" | - | |
|
|
226
|
+
| buildCalendarCellProps | `BuildCellPropsFunction` | - | Колбек свойств для управления ячейками календаря |
|
|
226
227
|
| showSeconds | `boolean` | - | |
|
|
227
228
|
## ChipChoice.DateRange
|
|
228
229
|
### Props
|
|
@@ -244,6 +245,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
|
|
|
244
245
|
| defaultValue | `Range` | - | Значение компонента по умолчанию |
|
|
245
246
|
| onChange | `(value: Range) => void` | - | Колбек смены значения |
|
|
246
247
|
| valueRender | `(value?: Range) => ReactNode` | - | Колбек формирующий строковое представление выбранного значения. Принимает массив выбранных значений |
|
|
248
|
+
| buildCalendarCellProps | `BuildCellPropsFunction` | - | Колбек свойств для управления ячейками календаря |
|
|
247
249
|
## ChipChoice.Time
|
|
248
250
|
### Props
|
|
249
251
|
| name | type | default value | description |
|
|
@@ -15,8 +15,10 @@ export type ChipChoiceDateProps = ChipChoiceCommonProps & {
|
|
|
15
15
|
/** Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение */
|
|
16
16
|
valueRender?(value?: Date): ReactNode;
|
|
17
17
|
mode?: Exclude<CalendarProps['mode'], 'range'>;
|
|
18
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
19
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
18
20
|
} & (ChipChoiceDateWithSeconds | {
|
|
19
21
|
mode?: 'date' | 'month';
|
|
20
22
|
});
|
|
21
|
-
export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, mode, placement, widthStrategy, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, mode, placement, widthStrategy, buildCalendarCellProps, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
|
|
22
24
|
export {};
|
|
@@ -33,9 +33,10 @@ function ChipChoiceDate(_a) {
|
|
|
33
33
|
dropDownClassName,
|
|
34
34
|
mode = 'date',
|
|
35
35
|
placement,
|
|
36
|
-
widthStrategy
|
|
36
|
+
widthStrategy,
|
|
37
|
+
buildCalendarCellProps
|
|
37
38
|
} = _a,
|
|
38
|
-
rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "mode", "placement", "widthStrategy"]);
|
|
39
|
+
rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "mode", "placement", "widthStrategy", "buildCalendarCellProps"]);
|
|
39
40
|
const [selectedValue, setSelectedValue] = (0, utils_1.useValueControl)({
|
|
40
41
|
value,
|
|
41
42
|
defaultValue,
|
|
@@ -99,7 +100,8 @@ function ChipChoiceDate(_a) {
|
|
|
99
100
|
navigationStartRef: navigationStartRef,
|
|
100
101
|
onFocusLeave: closeDroplist,
|
|
101
102
|
showSeconds: showSeconds,
|
|
102
|
-
locale: constants_2.DEFAULT_LOCALE
|
|
103
|
+
locale: constants_2.DEFAULT_LOCALE,
|
|
104
|
+
buildCellProps: buildCalendarCellProps
|
|
103
105
|
}),
|
|
104
106
|
placement: placement,
|
|
105
107
|
widthStrategy: widthStrategy,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { CalendarProps } from '@snack-uikit/calendar';
|
|
2
3
|
import { ChipChoiceCommonProps } from '../types';
|
|
3
4
|
type Range = [Date, Date];
|
|
4
5
|
export type ChipChoiceDateRangeProps = ChipChoiceCommonProps & {
|
|
@@ -10,6 +11,8 @@ export type ChipChoiceDateRangeProps = ChipChoiceCommonProps & {
|
|
|
10
11
|
onChange?(value: Range): void;
|
|
11
12
|
/** Колбек формирующий строковое представление выбранного значения. Принимает массив выбранных значений */
|
|
12
13
|
valueRender?(value?: Range): ReactNode;
|
|
14
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
15
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
13
16
|
};
|
|
14
|
-
export declare function ChipChoiceDateRange({ size, value, defaultValue, onChange, valueRender, dropDownClassName, ...rest }: ChipChoiceDateRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function ChipChoiceDateRange({ size, value, defaultValue, onChange, valueRender, dropDownClassName, buildCalendarCellProps, ...rest }: ChipChoiceDateRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
15
18
|
export {};
|
|
@@ -38,9 +38,10 @@ function ChipChoiceDateRange(_a) {
|
|
|
38
38
|
defaultValue,
|
|
39
39
|
onChange,
|
|
40
40
|
valueRender,
|
|
41
|
-
dropDownClassName
|
|
41
|
+
dropDownClassName,
|
|
42
|
+
buildCalendarCellProps
|
|
42
43
|
} = _a,
|
|
43
|
-
rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName"]);
|
|
44
|
+
rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "buildCalendarCellProps"]);
|
|
44
45
|
const [selectedValue, setSelectedValue] = (0, uncontrollable_1.useUncontrolledProp)(value, defaultValue, onChange);
|
|
45
46
|
const {
|
|
46
47
|
t
|
|
@@ -74,7 +75,8 @@ function ChipChoiceDateRange(_a) {
|
|
|
74
75
|
locale: constants_2.DEFAULT_LOCALE,
|
|
75
76
|
// bug with focus
|
|
76
77
|
// navigationStartRef={element => element?.focus()}
|
|
77
|
-
onFocusLeave: closeDroplist
|
|
78
|
+
onFocusLeave: closeDroplist,
|
|
79
|
+
buildCellProps: buildCalendarCellProps
|
|
78
80
|
}),
|
|
79
81
|
outsideClick: true,
|
|
80
82
|
triggerRef: localRef,
|
|
@@ -15,8 +15,10 @@ export type ChipChoiceDateProps = ChipChoiceCommonProps & {
|
|
|
15
15
|
/** Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение */
|
|
16
16
|
valueRender?(value?: Date): ReactNode;
|
|
17
17
|
mode?: Exclude<CalendarProps['mode'], 'range'>;
|
|
18
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
19
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
18
20
|
} & (ChipChoiceDateWithSeconds | {
|
|
19
21
|
mode?: 'date' | 'month';
|
|
20
22
|
});
|
|
21
|
-
export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, mode, placement, widthStrategy, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, mode, placement, widthStrategy, buildCalendarCellProps, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
|
|
22
24
|
export {};
|
|
@@ -21,7 +21,7 @@ import { useHandleOnKeyDown } from '../hooks';
|
|
|
21
21
|
import { ChipChoiceBase } from './ChipChoiceBase';
|
|
22
22
|
export function ChipChoiceDate(_a) {
|
|
23
23
|
var _b;
|
|
24
|
-
var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName, mode = 'date', placement, widthStrategy } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "mode", "placement", "widthStrategy"]);
|
|
24
|
+
var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName, mode = 'date', placement, widthStrategy, buildCalendarCellProps } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "mode", "placement", "widthStrategy", "buildCalendarCellProps"]);
|
|
25
25
|
const [selectedValue, setSelectedValue] = useValueControl({ value, defaultValue, onChange });
|
|
26
26
|
const showSeconds = mode === 'date-time' ? ((_b = rest.showSeconds) !== null && _b !== void 0 ? _b : true) : undefined;
|
|
27
27
|
const localRef = useRef(null);
|
|
@@ -62,5 +62,5 @@ export function ChipChoiceDate(_a) {
|
|
|
62
62
|
}, [closeDroplist, setSelectedValue]);
|
|
63
63
|
const navigationStartRef = useRef(null);
|
|
64
64
|
const focusNavigationStartItem = () => setTimeout(() => { var _a; return (_a = navigationStartRef.current) === null || _a === void 0 ? void 0 : _a.focus(); }, 0);
|
|
65
|
-
return (_jsx(Dropdown, { content: _jsx(Calendar, { mode: mode, size: CALENDAR_SIZE_MAP[size], value: selectedValue, fitToContainer: false, onChangeValue: handleChangeValue, navigationStartRef: navigationStartRef, onFocusLeave: closeDroplist, showSeconds: showSeconds, locale: DEFAULT_LOCALE }), placement: placement, widthStrategy: widthStrategy, outsideClick: true, triggerRef: localRef, open: open, onOpenChange: setOpen, className: dropDownClassName, "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, children: _jsx(ChipChoiceBase, Object.assign({}, rest, { ref: localRef, onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size, onKeyDown: handleOnKeyDown(focusNavigationStartItem) })) }));
|
|
65
|
+
return (_jsx(Dropdown, { content: _jsx(Calendar, { mode: mode, size: CALENDAR_SIZE_MAP[size], value: selectedValue, fitToContainer: false, onChangeValue: handleChangeValue, navigationStartRef: navigationStartRef, onFocusLeave: closeDroplist, showSeconds: showSeconds, locale: DEFAULT_LOCALE, buildCellProps: buildCalendarCellProps }), placement: placement, widthStrategy: widthStrategy, outsideClick: true, triggerRef: localRef, open: open, onOpenChange: setOpen, className: dropDownClassName, "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, children: _jsx(ChipChoiceBase, Object.assign({}, rest, { ref: localRef, onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size, onKeyDown: handleOnKeyDown(focusNavigationStartItem) })) }));
|
|
66
66
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { CalendarProps } from '@snack-uikit/calendar';
|
|
2
3
|
import { ChipChoiceCommonProps } from '../types';
|
|
3
4
|
type Range = [Date, Date];
|
|
4
5
|
export type ChipChoiceDateRangeProps = ChipChoiceCommonProps & {
|
|
@@ -10,6 +11,8 @@ export type ChipChoiceDateRangeProps = ChipChoiceCommonProps & {
|
|
|
10
11
|
onChange?(value: Range): void;
|
|
11
12
|
/** Колбек формирующий строковое представление выбранного значения. Принимает массив выбранных значений */
|
|
12
13
|
valueRender?(value?: Range): ReactNode;
|
|
14
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
15
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
13
16
|
};
|
|
14
|
-
export declare function ChipChoiceDateRange({ size, value, defaultValue, onChange, valueRender, dropDownClassName, ...rest }: ChipChoiceDateRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function ChipChoiceDateRange({ size, value, defaultValue, onChange, valueRender, dropDownClassName, buildCalendarCellProps, ...rest }: ChipChoiceDateRangeProps): import("react/jsx-runtime").JSX.Element;
|
|
15
18
|
export {};
|
|
@@ -26,7 +26,7 @@ function defaultRangeFormatter({ value, allLabel }) {
|
|
|
26
26
|
return `${from.toLocaleDateString(DEFAULT_LOCALE)} ${DEFAULT_EMPTY_VALUE} ${to.toLocaleDateString(DEFAULT_LOCALE)}`;
|
|
27
27
|
}
|
|
28
28
|
export function ChipChoiceDateRange(_a) {
|
|
29
|
-
var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName"]);
|
|
29
|
+
var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName, buildCalendarCellProps } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "buildCalendarCellProps"]);
|
|
30
30
|
const [selectedValue, setSelectedValue] = useUncontrolledProp(value, defaultValue, onChange);
|
|
31
31
|
const { t } = useLocale('Chips');
|
|
32
32
|
const valueToRender = valueRender
|
|
@@ -46,5 +46,5 @@ export function ChipChoiceDateRange(_a) {
|
|
|
46
46
|
}, locale: DEFAULT_LOCALE,
|
|
47
47
|
// bug with focus
|
|
48
48
|
// navigationStartRef={element => element?.focus()}
|
|
49
|
-
onFocusLeave: closeDroplist }), outsideClick: true, triggerRef: localRef, open: open, "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, onOpenChange: setOpen, className: dropDownClassName, children: _jsx(ChipChoiceBase, Object.assign({}, rest, { ref: localRef, onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size, onKeyDown: handleOnKeyDown() })) }));
|
|
49
|
+
onFocusLeave: closeDroplist, buildCellProps: buildCalendarCellProps }), outsideClick: true, triggerRef: localRef, open: open, "data-test-id": CHIP_CHOICE_TEST_IDS.droplist, onOpenChange: setOpen, className: dropDownClassName, children: _jsx(ChipChoiceBase, Object.assign({}, rest, { ref: localRef, onClearButtonClick: clearValue, value: selectedValue, valueToRender: valueToRender, size: size, onKeyDown: handleOnKeyDown() })) }));
|
|
50
50
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "Chips",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.22.1",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@snack-uikit/button": "0.19.3",
|
|
40
|
-
"@snack-uikit/calendar": "0.11.
|
|
40
|
+
"@snack-uikit/calendar": "0.11.8",
|
|
41
41
|
"@snack-uikit/dropdown": "0.4.1",
|
|
42
42
|
"@snack-uikit/icons": "0.24.0",
|
|
43
|
-
"@snack-uikit/list": "0.21.
|
|
43
|
+
"@snack-uikit/list": "0.21.8",
|
|
44
44
|
"@snack-uikit/loaders": "0.8.1",
|
|
45
45
|
"@snack-uikit/utils": "3.5.0",
|
|
46
46
|
"classnames": "2.5.1",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@snack-uikit/locale": "*"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "1410dd9ec77af1af24bec901cc9a7bf9aeac37ac"
|
|
58
58
|
}
|
|
@@ -26,6 +26,8 @@ export type ChipChoiceDateProps = ChipChoiceCommonProps & {
|
|
|
26
26
|
/** Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение */
|
|
27
27
|
valueRender?(value?: Date): ReactNode;
|
|
28
28
|
mode?: Exclude<CalendarProps['mode'], 'range'>;
|
|
29
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
30
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
29
31
|
} & (
|
|
30
32
|
| ChipChoiceDateWithSeconds
|
|
31
33
|
| {
|
|
@@ -43,6 +45,7 @@ export function ChipChoiceDate({
|
|
|
43
45
|
mode = 'date',
|
|
44
46
|
placement,
|
|
45
47
|
widthStrategy,
|
|
48
|
+
buildCalendarCellProps,
|
|
46
49
|
...rest
|
|
47
50
|
}: ChipChoiceDateProps) {
|
|
48
51
|
const [selectedValue, setSelectedValue] = useValueControl<Date>({ value, defaultValue, onChange });
|
|
@@ -114,6 +117,7 @@ export function ChipChoiceDate({
|
|
|
114
117
|
onFocusLeave={closeDroplist}
|
|
115
118
|
showSeconds={showSeconds}
|
|
116
119
|
locale={DEFAULT_LOCALE}
|
|
120
|
+
buildCellProps={buildCalendarCellProps}
|
|
117
121
|
/>
|
|
118
122
|
}
|
|
119
123
|
placement={placement}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode, useCallback, useRef, useState } from 'react';
|
|
2
2
|
import { useUncontrolledProp } from 'uncontrollable';
|
|
3
3
|
|
|
4
|
-
import { Calendar } from '@snack-uikit/calendar';
|
|
4
|
+
import { Calendar, CalendarProps } from '@snack-uikit/calendar';
|
|
5
5
|
import { Dropdown } from '@snack-uikit/dropdown';
|
|
6
6
|
import { useLocale } from '@snack-uikit/locale';
|
|
7
7
|
|
|
@@ -22,6 +22,8 @@ export type ChipChoiceDateRangeProps = ChipChoiceCommonProps & {
|
|
|
22
22
|
onChange?(value: Range): void;
|
|
23
23
|
/** Колбек формирующий строковое представление выбранного значения. Принимает массив выбранных значений */
|
|
24
24
|
valueRender?(value?: Range): ReactNode;
|
|
25
|
+
/** Колбек свойств для управления ячейками календаря */
|
|
26
|
+
buildCalendarCellProps?: CalendarProps['buildCellProps'];
|
|
25
27
|
};
|
|
26
28
|
|
|
27
29
|
type DefaultRangeFormatterProps = {
|
|
@@ -44,6 +46,7 @@ export function ChipChoiceDateRange({
|
|
|
44
46
|
onChange,
|
|
45
47
|
valueRender,
|
|
46
48
|
dropDownClassName,
|
|
49
|
+
buildCalendarCellProps,
|
|
47
50
|
...rest
|
|
48
51
|
}: ChipChoiceDateRangeProps) {
|
|
49
52
|
const [selectedValue, setSelectedValue] = useUncontrolledProp<Range>(value, defaultValue, onChange);
|
|
@@ -82,6 +85,7 @@ export function ChipChoiceDateRange({
|
|
|
82
85
|
// bug with focus
|
|
83
86
|
// navigationStartRef={element => element?.focus()}
|
|
84
87
|
onFocusLeave={closeDroplist}
|
|
88
|
+
buildCellProps={buildCalendarCellProps}
|
|
85
89
|
/>
|
|
86
90
|
}
|
|
87
91
|
outsideClick
|