lingee-ui 0.0.21 → 0.0.22
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/dist/button/index.css +1 -1
- package/dist/chunk-DIBP224Q.mjs +2 -0
- package/dist/chunk-EOVPC2E4.js +2 -0
- package/dist/{chunk-NLYZRYOJ.mjs → chunk-G5VOLG6L.mjs} +1 -1
- package/dist/{chunk-5LB5DYXZ.js → chunk-GUINI25L.js} +1 -1
- package/dist/{chunk-V32QRQMP.js → chunk-IBX6LBGA.js} +1 -1
- package/dist/chunk-KWRU5RWD.mjs +1 -0
- package/dist/chunk-TJMCJSHN.mjs +1 -0
- package/dist/chunk-TRDCCPJD.js +1 -0
- package/dist/index-B0J-mUew.d.mts +318 -0
- package/dist/index-Dmm11UAd.d.ts +318 -0
- package/dist/index.css +1 -1
- package/dist/index.d.mts +33 -39
- package/dist/index.d.ts +33 -39
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/dist/input/index.js +1 -1
- package/dist/input/index.mjs +1 -1
- package/dist/tabs/index.css +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/index.mjs +1 -1
- package/dist/toast/index.js +1 -1
- package/dist/toast/index.mjs +1 -1
- package/dist/tokens.css +1 -1
- package/dist/tooltip/index.css +1 -1
- package/dist/tree/index.css +1 -1
- package/dist/tree/index.d.mts +3 -229
- package/dist/tree/index.d.ts +3 -229
- package/dist/tree/index.js +1 -1
- package/dist/tree/index.mjs +1 -1
- package/package.json +1 -1
- package/skill/AGENTS-SNIPPET.md +2 -2
- package/skill/SKILL.md +3 -3
- package/skill/VERSION.json +3 -3
- package/skill/references/components/breadcrumb.md +26 -5
- package/skill/references/components/select.md +34 -4
- package/skill/references/components/tag.md +16 -7
- package/skill/references/components/tree.md +32 -2
- package/skill/references/icons.md +1 -1
- package/skill/references/setup.md +1 -1
- package/skill/references/tokens.md +2 -2
- package/dist/chunk-4QG542GX.js +0 -1
- package/dist/chunk-67CCJI3Y.mjs +0 -1
- package/dist/chunk-ARLTJ7O7.js +0 -2
- package/dist/chunk-IBJZAWUP.mjs +0 -1
- package/dist/chunk-QIGXWGB4.mjs +0 -2
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import React__default, { HTMLAttributes, ReactNode, MouseEvent, Key, CSSProperties } from 'react';
|
|
2
|
+
import { L as LgSize } from './index-B5SLxsZP.js';
|
|
3
|
+
|
|
4
|
+
/** 预设语义色 */
|
|
5
|
+
type TagPresetColor = "primary" | "info" | "success" | "warning" | "danger" | "amber" | "yellow" | "cyan" | "purple";
|
|
6
|
+
/**
|
|
7
|
+
* 视觉变体
|
|
8
|
+
* - text:纯文字,无底色
|
|
9
|
+
* - tint:纯色浅底,通用标记场景
|
|
10
|
+
* - filled:实色底 + 反白文字
|
|
11
|
+
* - line:透明底 + 同色描边
|
|
12
|
+
* - gradient:渐变浅底,用于提示类徽标(警告 / 建议 / 提示)
|
|
13
|
+
* - glow:渐变底 + 光斑装饰,用于等级类徽标(钻石 / 黄金 / 铂金)
|
|
14
|
+
*
|
|
15
|
+
* text / filled / line 的配色取自组件层 Token,其中没有 yellow,该组合降级为 tint 渲染
|
|
16
|
+
*/
|
|
17
|
+
type TagVariant = "text" | "tint" | "filled" | "line" | "gradient" | "glow";
|
|
18
|
+
/** 标签尺寸 */
|
|
19
|
+
type TagSize = LgSize;
|
|
20
|
+
/** 标签圆角形状(仅 text / tint / filled / line 生效,gradient / glow 圆角由变体规范决定) */
|
|
21
|
+
type TagShape = "pill" | "rounded";
|
|
22
|
+
interface TagProps extends Omit<HTMLAttributes<HTMLSpanElement>, "color"> {
|
|
23
|
+
/** 色彩:预设语义色 或 任意 CSS 色值字符串,默认 "info" */
|
|
24
|
+
color?: TagPresetColor | (string & {});
|
|
25
|
+
/** 视觉变体,默认 "tint" */
|
|
26
|
+
variant?: TagVariant;
|
|
27
|
+
/** 尺寸,默认 "md"(sm: 20px, md: 24px, lg: 32px) */
|
|
28
|
+
size?: TagSize;
|
|
29
|
+
/** 圆角形状,默认 "pill"(pill: 999px, rounded: 8px) */
|
|
30
|
+
shape?: TagShape;
|
|
31
|
+
/** 前缀图标(尺寸由组件统一控制,无需自行设置宽高) */
|
|
32
|
+
icon?: ReactNode;
|
|
33
|
+
/** 自定义背景(覆盖默认背景,支持渐变等任意 CSS background 值) */
|
|
34
|
+
background?: string;
|
|
35
|
+
/** 是否可关闭(显示关闭按钮) */
|
|
36
|
+
closable?: boolean;
|
|
37
|
+
/** 关闭回调 */
|
|
38
|
+
onClose?: (e: MouseEvent<HTMLSpanElement>) => void;
|
|
39
|
+
/** 子内容(文字、图标自由组合) */
|
|
40
|
+
children?: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* 树节点尺寸
|
|
45
|
+
* - sm: 行高 28px
|
|
46
|
+
* - md: 行高 32px(设计稿基准)
|
|
47
|
+
* - lg: 行高 36px
|
|
48
|
+
*/
|
|
49
|
+
type TreeSize = "sm" | "md" | "lg";
|
|
50
|
+
/**
|
|
51
|
+
* 缩进引导线形态
|
|
52
|
+
* - none: 不显示引导线,仅靠缩进区分层级
|
|
53
|
+
* - line: 显示纵向引导线(设计稿默认形态)
|
|
54
|
+
*/
|
|
55
|
+
type TreeIndentGuide = "none" | "line";
|
|
56
|
+
/** 触发展开的交互方式,false 表示仅能点击箭头展开 */
|
|
57
|
+
type TreeExpandAction = false | "click" | "doubleClick";
|
|
58
|
+
/** 节点状态标签 */
|
|
59
|
+
interface TreeNodeTag {
|
|
60
|
+
/** 标签内容 */
|
|
61
|
+
content: ReactNode;
|
|
62
|
+
/** Tag 预设语义色,默认 "primary"(与 Tree Item 设计规范一致) */
|
|
63
|
+
color?: TagPresetColor;
|
|
64
|
+
}
|
|
65
|
+
/** 节点尾部的标准图标操作 */
|
|
66
|
+
interface TreeNodeAction {
|
|
67
|
+
/** 图标内容 */
|
|
68
|
+
icon: ReactNode;
|
|
69
|
+
/** 无障碍名称,同时作为默认 Tooltip 文案 */
|
|
70
|
+
ariaLabel: string;
|
|
71
|
+
/** 自定义 Tooltip 文案,缺省时使用 ariaLabel */
|
|
72
|
+
tooltip?: string;
|
|
73
|
+
/** 是否禁用;Tree 或节点禁用时同样禁用 */
|
|
74
|
+
disabled?: boolean;
|
|
75
|
+
/** 点击回调,接收当前节点与按钮的原始点击事件 */
|
|
76
|
+
onClick?: (node: TreeNodeData, event: MouseEvent<HTMLButtonElement>) => void;
|
|
77
|
+
}
|
|
78
|
+
/** 自定义尾部内容的渲染上下文 */
|
|
79
|
+
interface TreeNodeExtraRenderContext {
|
|
80
|
+
/** 当前节点 */
|
|
81
|
+
node: TreeNodeData;
|
|
82
|
+
/** Tree 或当前节点是否禁用 */
|
|
83
|
+
disabled: boolean;
|
|
84
|
+
}
|
|
85
|
+
/** 节点尾部内容,回调形式可感知禁用状态 */
|
|
86
|
+
type TreeNodeExtra = ReactNode | ((context: TreeNodeExtraRenderContext) => ReactNode);
|
|
87
|
+
/** 节点附加内容:紧随标题的标签、尾部内容与标准操作 */
|
|
88
|
+
interface TreeNodeItemPresentation {
|
|
89
|
+
/** 紧随标题的紧凑状态标签 */
|
|
90
|
+
tag?: TreeNodeTag;
|
|
91
|
+
/** 尾部的标准图标操作,点击与拖拽不会作用到节点上 */
|
|
92
|
+
action?: TreeNodeAction;
|
|
93
|
+
/** 额外尾部内容;含可交互控件时请用回调形式接收 disabled */
|
|
94
|
+
extra?: TreeNodeExtra;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 树节点数据
|
|
98
|
+
*
|
|
99
|
+
* 字段名可通过 fieldNames 改写,以适配后端已有的数据结构,
|
|
100
|
+
* 避免消费方为了对齐组件而额外做一次全量数据转换。
|
|
101
|
+
*/
|
|
102
|
+
interface TreeNodeData {
|
|
103
|
+
/** 节点唯一标识 */
|
|
104
|
+
key: Key;
|
|
105
|
+
/** 节点标题 */
|
|
106
|
+
title?: ReactNode;
|
|
107
|
+
/** 子节点 */
|
|
108
|
+
children?: TreeNodeData[];
|
|
109
|
+
/**
|
|
110
|
+
* 节点前置图标,覆盖 Tree 上的全局 icon。
|
|
111
|
+
* 静态值,不随展开态变化;需要区分开合请用 Tree 的 icon 函数形式
|
|
112
|
+
*/
|
|
113
|
+
icon?: ReactNode;
|
|
114
|
+
/** 是否禁用(不可选中、不可高亮) */
|
|
115
|
+
disabled?: boolean;
|
|
116
|
+
/** 是否禁用勾选框 */
|
|
117
|
+
disableCheckbox?: boolean;
|
|
118
|
+
/** 是否可勾选,checkable 开启时生效 */
|
|
119
|
+
checkable?: boolean;
|
|
120
|
+
/** 是否强制视作叶子节点(不显示展开箭头) */
|
|
121
|
+
isLeaf?: boolean;
|
|
122
|
+
/** 是否可选中,未设置时沿用 Tree 的 selectable */
|
|
123
|
+
selectable?: boolean;
|
|
124
|
+
/** 节点行(lg-tree-treenode)的额外 className */
|
|
125
|
+
className?: string;
|
|
126
|
+
/** 节点行(lg-tree-treenode)的行内样式 */
|
|
127
|
+
style?: CSSProperties;
|
|
128
|
+
/**
|
|
129
|
+
* 节点附加内容:状态标签、尾部内容与标准操作。
|
|
130
|
+
* title 为函数时底层不经过标题渲染流程,该配置不生效
|
|
131
|
+
*/
|
|
132
|
+
treeItem?: TreeNodeItemPresentation;
|
|
133
|
+
/** 允许透传业务字段 */
|
|
134
|
+
[key: string]: any;
|
|
135
|
+
}
|
|
136
|
+
/** 渲染回调中透出的节点状态,用于按状态切换图标 */
|
|
137
|
+
interface TreeNodeState {
|
|
138
|
+
/** 是否已展开(叶子节点恒为 false) */
|
|
139
|
+
expanded: boolean;
|
|
140
|
+
/** 是否为叶子节点 */
|
|
141
|
+
isLeaf: boolean;
|
|
142
|
+
}
|
|
143
|
+
/** 字段名映射,用于适配非标准数据结构 */
|
|
144
|
+
interface TreeFieldNames {
|
|
145
|
+
key?: string;
|
|
146
|
+
title?: string;
|
|
147
|
+
children?: string;
|
|
148
|
+
}
|
|
149
|
+
/** 勾选回调信息 */
|
|
150
|
+
interface TreeCheckInfo {
|
|
151
|
+
/** 触发勾选的节点 */
|
|
152
|
+
node: TreeNodeData;
|
|
153
|
+
/** 变更后是否勾选 */
|
|
154
|
+
checked: boolean;
|
|
155
|
+
/** 全部勾选节点 */
|
|
156
|
+
checkedNodes: TreeNodeData[];
|
|
157
|
+
/** 半勾选节点 key(checkStrictly 关闭时有值) */
|
|
158
|
+
halfCheckedKeys?: Key[];
|
|
159
|
+
}
|
|
160
|
+
/** 选中回调信息 */
|
|
161
|
+
interface TreeSelectInfo {
|
|
162
|
+
/** 触发选中的节点 */
|
|
163
|
+
node: TreeNodeData;
|
|
164
|
+
/** 变更后是否选中 */
|
|
165
|
+
selected: boolean;
|
|
166
|
+
/** 全部选中节点 */
|
|
167
|
+
selectedNodes: TreeNodeData[];
|
|
168
|
+
}
|
|
169
|
+
/** 展开回调信息 */
|
|
170
|
+
interface TreeExpandInfo {
|
|
171
|
+
/** 触发展开的节点 */
|
|
172
|
+
node: TreeNodeData;
|
|
173
|
+
/** 变更后是否展开 */
|
|
174
|
+
expanded: boolean;
|
|
175
|
+
}
|
|
176
|
+
/** 拖拽放置回调信息 */
|
|
177
|
+
interface TreeDropInfo {
|
|
178
|
+
/** 被拖拽节点 */
|
|
179
|
+
dragNode: TreeNodeData;
|
|
180
|
+
/** 放置目标节点 */
|
|
181
|
+
node: TreeNodeData;
|
|
182
|
+
/**
|
|
183
|
+
* 相对目标节点的插入位置:-1 上方、0 内部、1 下方
|
|
184
|
+
* dropToGap 为 false 时该值无意义(落在节点内部)
|
|
185
|
+
*/
|
|
186
|
+
dropPosition: number;
|
|
187
|
+
/** 是否落在节点之间的空隙(而非节点内部) */
|
|
188
|
+
dropToGap: boolean;
|
|
189
|
+
}
|
|
190
|
+
/** 拖拽落点校验参数 */
|
|
191
|
+
interface TreeAllowDropOptions {
|
|
192
|
+
dragNode: TreeNodeData;
|
|
193
|
+
dropNode: TreeNodeData;
|
|
194
|
+
dropPosition: -1 | 0 | 1;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Tree 组件 Props
|
|
198
|
+
*/
|
|
199
|
+
interface TreeProps {
|
|
200
|
+
/** 节点数据 */
|
|
201
|
+
treeData?: TreeNodeData[];
|
|
202
|
+
/** 字段名映射 */
|
|
203
|
+
fieldNames?: TreeFieldNames;
|
|
204
|
+
/** 行高尺寸 */
|
|
205
|
+
size?: TreeSize;
|
|
206
|
+
/** 展开的节点 key(受控) */
|
|
207
|
+
expandedKeys?: Key[];
|
|
208
|
+
/** 默认展开的节点 key */
|
|
209
|
+
defaultExpandedKeys?: Key[];
|
|
210
|
+
/** 默认展开全部节点 */
|
|
211
|
+
defaultExpandAll?: boolean;
|
|
212
|
+
/** 展开子节点时自动展开其父节点 */
|
|
213
|
+
autoExpandParent?: boolean;
|
|
214
|
+
/** 触发展开的交互方式 */
|
|
215
|
+
expandAction?: TreeExpandAction;
|
|
216
|
+
/** 展开状态变化回调 */
|
|
217
|
+
onExpand?: (expandedKeys: Key[], info: TreeExpandInfo) => void;
|
|
218
|
+
/** 是否可选中 */
|
|
219
|
+
selectable?: boolean;
|
|
220
|
+
/** 是否支持多选 */
|
|
221
|
+
multiple?: boolean;
|
|
222
|
+
/** 选中的节点 key(受控) */
|
|
223
|
+
selectedKeys?: Key[];
|
|
224
|
+
/** 默认选中的节点 key */
|
|
225
|
+
defaultSelectedKeys?: Key[];
|
|
226
|
+
/** 选中状态变化回调 */
|
|
227
|
+
onSelect?: (selectedKeys: Key[], info: TreeSelectInfo) => void;
|
|
228
|
+
/** 是否显示勾选框 */
|
|
229
|
+
checkable?: boolean;
|
|
230
|
+
/** 父子节点勾选状态不再联动 */
|
|
231
|
+
checkStrictly?: boolean;
|
|
232
|
+
/** 勾选的节点 key(受控) */
|
|
233
|
+
checkedKeys?: Key[] | {
|
|
234
|
+
checked: Key[];
|
|
235
|
+
halfChecked: Key[];
|
|
236
|
+
};
|
|
237
|
+
/** 默认勾选的节点 key */
|
|
238
|
+
defaultCheckedKeys?: Key[];
|
|
239
|
+
/** 勾选状态变化回调 */
|
|
240
|
+
onCheck?: (checkedKeys: Key[] | {
|
|
241
|
+
checked: Key[];
|
|
242
|
+
halfChecked: Key[];
|
|
243
|
+
}, info: TreeCheckInfo) => void;
|
|
244
|
+
/** 是否显示节点图标 */
|
|
245
|
+
showIcon?: boolean;
|
|
246
|
+
/**
|
|
247
|
+
* 全局节点图标。
|
|
248
|
+
*
|
|
249
|
+
* 传函数时可按展开态返回不同图标(如文件夹的开 / 合两态);
|
|
250
|
+
* 节点数据上的 `icon` 字段是静态值,做不到随状态切换,
|
|
251
|
+
* 需要区分开合时应在此处以函数形式提供。
|
|
252
|
+
*/
|
|
253
|
+
icon?: ReactNode | ((node: TreeNodeData, state: TreeNodeState) => ReactNode);
|
|
254
|
+
/** 自定义展开箭头,可为函数按节点状态返回 */
|
|
255
|
+
switcherIcon?: ReactNode | ((state: TreeNodeState) => ReactNode);
|
|
256
|
+
/** 缩进引导线形态 */
|
|
257
|
+
indentGuide?: TreeIndentGuide;
|
|
258
|
+
/**
|
|
259
|
+
* 自定义单行内容
|
|
260
|
+
*
|
|
261
|
+
* 行内 hover 才出现的操作区靠它实现:操作区需 stopPropagation,
|
|
262
|
+
* 否则点击操作按钮会连带触发节点选中。
|
|
263
|
+
*
|
|
264
|
+
* 节点配置了 treeItem 时,返回值作为标题部分,附加内容追加在其后。
|
|
265
|
+
*/
|
|
266
|
+
titleRender?: (node: TreeNodeData) => ReactNode;
|
|
267
|
+
/** 异步加载子节点,resolve 后由消费方更新 treeData */
|
|
268
|
+
loadData?: (node: TreeNodeData) => Promise<unknown>;
|
|
269
|
+
/** 已加载完成的节点 key(受控) */
|
|
270
|
+
loadedKeys?: Key[];
|
|
271
|
+
/** 是否可拖拽排序 */
|
|
272
|
+
draggable?: boolean | ((node: TreeNodeData) => boolean);
|
|
273
|
+
/** 校验能否放置到目标位置 */
|
|
274
|
+
allowDrop?: (options: TreeAllowDropOptions) => boolean;
|
|
275
|
+
/** 拖拽放置回调 */
|
|
276
|
+
onDrop?: (info: TreeDropInfo) => void;
|
|
277
|
+
/** 可视区高度,设置后启用虚拟滚动 */
|
|
278
|
+
height?: number;
|
|
279
|
+
/** 虚拟滚动的单项高度,缺省时按 size 推导 */
|
|
280
|
+
itemHeight?: number;
|
|
281
|
+
/** 关闭虚拟滚动 */
|
|
282
|
+
virtual?: boolean;
|
|
283
|
+
/** 整体禁用 */
|
|
284
|
+
disabled?: boolean;
|
|
285
|
+
/** 加载状态,展示遮罩 */
|
|
286
|
+
loading?: boolean;
|
|
287
|
+
/** 无数据时的展示内容 */
|
|
288
|
+
empty?: ReactNode;
|
|
289
|
+
/** 节点右键回调 */
|
|
290
|
+
onRightClick?: (info: {
|
|
291
|
+
event: React.MouseEvent;
|
|
292
|
+
node: TreeNodeData;
|
|
293
|
+
}) => void;
|
|
294
|
+
/**
|
|
295
|
+
* 展开 / 折叠是否启用高度过渡动效,默认开启
|
|
296
|
+
*
|
|
297
|
+
* 虚拟滚动(设置 height)场景下底层不走动效,此项无效
|
|
298
|
+
*/
|
|
299
|
+
animated?: boolean;
|
|
300
|
+
/** 额外 className */
|
|
301
|
+
className?: string;
|
|
302
|
+
/** 行内样式 */
|
|
303
|
+
style?: CSSProperties;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Tree 树形控件
|
|
308
|
+
*
|
|
309
|
+
* 基于 @rc-component/tree 封装,仅接管视觉与常用能力;
|
|
310
|
+
* 键盘导航、虚拟滚动、父子勾选联动等由底层提供。
|
|
311
|
+
*
|
|
312
|
+
* 类名说明:容器与自定义结构走 BEM(lg-tree__xxx),
|
|
313
|
+
* 节点内部结构由底层按 prefixCls 生成单横线类名(lg-tree-treenode 等),
|
|
314
|
+
* 无法改写,故样式表中两种风格并存。
|
|
315
|
+
*/
|
|
316
|
+
declare const Tree: React__default.ForwardRefExoticComponent<TreeProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
317
|
+
|
|
318
|
+
export { type TagProps as T, type TagPresetColor as a, type TagShape as b, type TagSize as c, type TagVariant as d, Tree as e, type TreeAllowDropOptions as f, type TreeCheckInfo as g, type TreeDropInfo as h, type TreeExpandAction as i, type TreeExpandInfo as j, type TreeFieldNames as k, type TreeIndentGuide as l, type TreeNodeAction as m, type TreeNodeData as n, type TreeNodeExtra as o, type TreeNodeExtraRenderContext as p, type TreeNodeItemPresentation as q, type TreeNodeState as r, type TreeNodeTag as s, type TreeProps as t, type TreeSelectInfo as u, type TreeSize as v };
|