@salutejs/plasma-new-hope 0.330.0-canary.2077.16193273208.0 → 0.330.0-canary.2081.16214551068.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.
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -0,0 +1 @@
1
+ export { };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.330.0-canary.2077.16193273208.0",
3
+ "version": "0.330.0-canary.2081.16214551068.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -79,7 +79,7 @@
79
79
  "@rollup/plugin-babel": "^6.0.4",
80
80
  "@rollup/plugin-commonjs": "^25.0.4",
81
81
  "@rollup/plugin-node-resolve": "^15.1.0",
82
- "@salutejs/plasma-sb-utils": "0.203.0-canary.2077.16193273208.0",
82
+ "@salutejs/plasma-sb-utils": "0.202.0",
83
83
  "@salutejs/plasma-themes": "0.34.0",
84
84
  "@storybook/addon-docs": "8.6.12",
85
85
  "@storybook/addon-essentials": "8.6.12",
@@ -117,7 +117,7 @@
117
117
  "@linaria/react": "5.0.3",
118
118
  "@popperjs/core": "2.11.8",
119
119
  "@salutejs/input-core": "2.1.2",
120
- "@salutejs/plasma-core": "1.202.0-canary.2077.16193273208.0",
120
+ "@salutejs/plasma-core": "1.201.0",
121
121
  "@salutejs/react-maskinput": "3.2.6",
122
122
  "@tanstack/react-table": "8.21.2",
123
123
  "@tanstack/react-virtual": "3.13.2",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "22faa621c404d2c55704bf93853279d590349dd0"
140
+ "gitHead": "ca869b69e6d023d47ff19278113a3736403ba8c6"
141
141
  }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
@@ -0,0 +1,183 @@
1
+ import React, { ChangeEventHandler, CSSProperties, HTMLAttributes, Key, ReactNode } from 'react';
2
+ import type { HintProps, LabelProps, RequiredProps } from '../../components/TextField/TextField.types';
3
+ import { SelectPlacement, SelectPlacementBasic } from '../../components/Select/Select.types';
4
+ export type TreeItem = {
5
+ /**
6
+ * Уникальный идентификатор элемента.
7
+ */
8
+ key: Key;
9
+ /**
10
+ * Заголовок элемента.
11
+ */
12
+ title?: ReactNode | ((data: TreeItem) => ReactNode);
13
+ /**
14
+ * Classname для текущего элемента.
15
+ */
16
+ className?: string;
17
+ /**
18
+ * Стиль для текущего элемента.
19
+ */
20
+ style?: CSSProperties;
21
+ /**
22
+ * Флаг выключения элемента.
23
+ * @default false
24
+ */
25
+ disabled?: boolean;
26
+ /**
27
+ * Иконка для текущего элемента.
28
+ */
29
+ icon?: ReactNode;
30
+ /**
31
+ * Дочерние items.
32
+ */
33
+ children?: TreeItem[];
34
+ /**
35
+ * Контент справа.
36
+ */
37
+ contentRight?: ReactNode;
38
+ };
39
+ type Target = LabelProps & ((RequiredProps & HintProps & {
40
+ /**
41
+ * Стиль селекта: button-like или textfield-like.
42
+ * @default textfield-like
43
+ */
44
+ target?: 'textfield-like';
45
+ view?: 'default' | 'positive' | 'warning' | 'negative';
46
+ /**
47
+ * Слот для контента слева.
48
+ */
49
+ contentLeft?: React.ReactNode;
50
+ /**
51
+ * Placeholder.
52
+ */
53
+ placeholder?: string;
54
+ /**
55
+ * Вспомогательный текст снизу слева для поля ввода.
56
+ */
57
+ helperText?: string;
58
+ }) | {
59
+ target: 'button-like';
60
+ view?: 'default' | 'accent' | 'secondary' | 'clear' | 'positive' | 'warning' | 'negative' | 'dark' | 'black' | 'white';
61
+ contentLeft?: never;
62
+ placeholder?: never;
63
+ helperText?: never;
64
+ });
65
+ type IsMultiselect = ({
66
+ name?: never;
67
+ defaultValue?: never;
68
+ } & ({
69
+ multiselect?: false;
70
+ value?: string;
71
+ onChange?: (value: string) => void;
72
+ } | {
73
+ multiselect: true;
74
+ value?: Array<string>;
75
+ onChange?: (value: string[]) => void;
76
+ })) | ({
77
+ name: string;
78
+ onChange?: ChangeEventHandler;
79
+ } & ({
80
+ multiselect?: false;
81
+ defaultValue?: string;
82
+ value?: never;
83
+ } | {
84
+ multiselect: true;
85
+ defaultValue?: Array<string>;
86
+ value?: never;
87
+ }));
88
+ export interface BasicProps {
89
+ /**
90
+ * Список элементов.
91
+ */
92
+ items: TreeItem[];
93
+ /**
94
+ * Сторона открытия выпадающего дерева относительно target элемента.
95
+ * @default bottom
96
+ */
97
+ placement?: SelectPlacement | Array<SelectPlacementBasic>;
98
+ /**
99
+ * Компонент неактивен.
100
+ * @default false
101
+ */
102
+ disabled?: boolean;
103
+ /**
104
+ * Компонент доступен только для чтения.
105
+ */
106
+ readOnly?: boolean;
107
+ /**
108
+ * Вариант: обычный или сжатый
109
+ * @default normal
110
+ */
111
+ variant?: 'normal' | 'tight';
112
+ /**
113
+ * CSS-свойство z-index для выпадающего списка.
114
+ */
115
+ zIndex?: CSSProperties['zIndex'];
116
+ /**
117
+ * Максимальная высота выпадающего списка.
118
+ */
119
+ listMaxHeight?: CSSProperties['height'];
120
+ /**
121
+ * Высота дерева.
122
+ */
123
+ height?: number;
124
+ /**
125
+ * Высота item. Обязательное поле для включения виртуализации.
126
+ */
127
+ itemHeight?: number;
128
+ /**
129
+ * Сторона иконки раскрытия элемента.
130
+ * @default left
131
+ */
132
+ arrowPlacement?: 'left' | 'right';
133
+ /**
134
+ * Флаг включения стиля на всю ширину для выбранного элемента.
135
+ * @default false
136
+ */
137
+ fullWidthItemSelection?: boolean;
138
+ /**
139
+ * Флаг включения виртуализации в дерево со скроллом.
140
+ * @default true
141
+ */
142
+ virtual?: boolean;
143
+ /**
144
+ * Портал для выпадающего списка. Принимает id контейнера или ref.
145
+ */
146
+ portal?: string | React.RefObject<HTMLElement>;
147
+ /**
148
+ * Закрывать ли выпадающий список после выбора элемента.
149
+ * @default если single, то true; если multiple, то false
150
+ */
151
+ closeAfterSelect?: boolean;
152
+ /**
153
+ * Коллбэк, срабатывающий при скролле.
154
+ */
155
+ onScroll?: (e: React.UIEvent<HTMLUListElement>) => void;
156
+ /**
157
+ * Событие сворачивания/разворачивания выпадающего списка.
158
+ */
159
+ onToggle?: (isOpen: boolean) => void;
160
+ /**
161
+ * Коллбэк для рендера кастомного списка. Например, для EmptyState.
162
+ */
163
+ renderList?: (data?: any) => ReactNode;
164
+ /**
165
+ * Ячейка для контента в начале выпадающего списка.
166
+ */
167
+ beforeList?: React.ReactNode;
168
+ /**
169
+ * Ячейка для контента в конце выпадающего списка.
170
+ */
171
+ afterList?: React.ReactNode;
172
+ /**
173
+ * Размер дерева.
174
+ */
175
+ size?: string;
176
+ /**
177
+ * Вид дерева.
178
+ */
179
+ view?: string;
180
+ }
181
+ export type TreeSelectProps = BasicProps & IsMultiselect & Target & HTMLAttributes<HTMLElement>;
182
+ export {};
183
+ //# sourceMappingURL=TreeSelect.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeSelect.types.d.ts","sourceRoot":"","sources":["../../../src/components/TreeSelect/TreeSelect.types.ts"],"names":[],"mappings":"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"}