@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 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.21.1",
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.7",
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.7",
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": "dd1825421e5d0964966e39a20bc5e09258acc3c2"
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