@snack-uikit/chips 0.15.5 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 0.16.0 (2024-10-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * **PSD-834:** add prop mode for ChipChoiceDate ([10091b9](https://github.com/cloud-ru-tech/snack-uikit/commit/10091b9031686f10f59fd382cd26540fbb0dc4d4))
12
+
13
+
14
+
15
+
16
+
6
17
  ## 0.15.5 (2024-09-27)
7
18
 
8
19
  ### Only dependencies have been changed
package/README.md CHANGED
@@ -221,6 +221,7 @@ import { PlaceholderSVG } from '@snack-uikit/icons';
221
221
  | defaultValue | `Date` | - | Значение компонента по-умолчанию |
222
222
  | onChange | `(value: Date) => void` | - | Колбек смены значения |
223
223
  | valueRender | `(value?: Date) => ReactNode` | - | Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение |
224
+ | mode | "date" \| "month" | - | |
224
225
  ## ChipChoice.DateRange
225
226
  ### Props
226
227
  | name | type | default value | description |
@@ -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
  export type ChipChoiceDateProps = ChipChoiceCommonProps & {
4
5
  /** Значение компонента */
@@ -9,5 +10,6 @@ export type ChipChoiceDateProps = ChipChoiceCommonProps & {
9
10
  onChange?(value: Date): void;
10
11
  /** Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение */
11
12
  valueRender?(value?: Date): ReactNode;
13
+ mode?: Exclude<CalendarProps['mode'], 'range'>;
12
14
  };
13
- export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ChipChoiceDate({ size, value, defaultValue, onChange, valueRender, dropDownClassName, mode, ...rest }: ChipChoiceDateProps): import("react/jsx-runtime").JSX.Element;
@@ -20,7 +20,7 @@ import { CALENDAR_SIZE_MAP } from '../constants';
20
20
  import { useHandleOnKeyDown } from '../hooks';
21
21
  import { ChipChoiceBase } from './ChipChoiceBase';
22
22
  export function ChipChoiceDate(_a) {
23
- var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName"]);
23
+ var { size = SIZE.S, value, defaultValue, onChange, valueRender, dropDownClassName, mode = 'date' } = _a, rest = __rest(_a, ["size", "value", "defaultValue", "onChange", "valueRender", "dropDownClassName", "mode"]);
24
24
  const [selectedValue, setSelectedValue] = useValueControl({ value, defaultValue, onChange });
25
25
  const localRef = useRef(null);
26
26
  const [open, setOpen] = useState(false);
@@ -34,7 +34,7 @@ export function ChipChoiceDate(_a) {
34
34
  ? valueRender(selectedValue)
35
35
  : (selectedValue && new Date(selectedValue).toLocaleDateString()) || t('allLabel');
36
36
  const clearValue = () => setSelectedValue(undefined);
37
- return (_jsx(Dropdown, { content: _jsx(Calendar, { mode: 'date', size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: value => {
37
+ return (_jsx(Dropdown, { content: _jsx(Calendar, { mode: mode, size: CALENDAR_SIZE_MAP[size], value: selectedValue, onChangeValue: (value) => {
38
38
  setSelectedValue(value);
39
39
  closeDroplist();
40
40
  }, navigationStartRef: element => element === null || element === void 0 ? void 0 : element.focus(), onFocusLeave: closeDroplist }), 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() })) }));
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "title": "Chips",
7
- "version": "0.15.5",
7
+ "version": "0.16.0",
8
8
  "sideEffects": [
9
9
  "*.css",
10
10
  "*.woff",
@@ -33,7 +33,7 @@
33
33
  "scripts": {},
34
34
  "dependencies": {
35
35
  "@snack-uikit/button": "0.17.5",
36
- "@snack-uikit/calendar": "0.7.12",
36
+ "@snack-uikit/calendar": "0.8.0",
37
37
  "@snack-uikit/dropdown": "0.2.7",
38
38
  "@snack-uikit/icons": "0.22.1",
39
39
  "@snack-uikit/list": "0.17.0",
@@ -50,5 +50,5 @@
50
50
  "peerDependencies": {
51
51
  "@snack-uikit/locale": "*"
52
52
  },
53
- "gitHead": "36a86f3bf30c115e8c6b49f6c8d7a2d2ffb86ff1"
53
+ "gitHead": "ef539a5c304d3b191dc60005119fcdd51a4b74cc"
54
54
  }
@@ -1,6 +1,6 @@
1
1
  import { ReactNode, useCallback, useRef, useState } from 'react';
2
2
 
3
- import { Calendar } from '@snack-uikit/calendar';
3
+ import { Calendar, CalendarProps } from '@snack-uikit/calendar';
4
4
  import { Dropdown } from '@snack-uikit/dropdown';
5
5
  import { useLocale } from '@snack-uikit/locale';
6
6
  import { useValueControl } from '@snack-uikit/utils';
@@ -20,6 +20,7 @@ export type ChipChoiceDateProps = ChipChoiceCommonProps & {
20
20
  onChange?(value: Date): void;
21
21
  /** Колбек формирующий строковое представление выбранного значения. Принимает выбранное значение */
22
22
  valueRender?(value?: Date): ReactNode;
23
+ mode?: Exclude<CalendarProps['mode'], 'range'>;
23
24
  };
24
25
 
25
26
  export function ChipChoiceDate({
@@ -29,6 +30,7 @@ export function ChipChoiceDate({
29
30
  onChange,
30
31
  valueRender,
31
32
  dropDownClassName,
33
+ mode = 'date',
32
34
  ...rest
33
35
  }: ChipChoiceDateProps) {
34
36
  const [selectedValue, setSelectedValue] = useValueControl<Date>({ value, defaultValue, onChange });
@@ -55,10 +57,10 @@ export function ChipChoiceDate({
55
57
  <Dropdown
56
58
  content={
57
59
  <Calendar
58
- mode='date'
60
+ mode={mode}
59
61
  size={CALENDAR_SIZE_MAP[size]}
60
62
  value={selectedValue}
61
- onChangeValue={value => {
63
+ onChangeValue={(value: Date) => {
62
64
  setSelectedValue(value);
63
65
  closeDroplist();
64
66
  }}