@sia.soul/sia-react-ui 0.1.20 → 0.1.21
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/Select-4hGJt3RJ.d.cts +142 -0
- package/dist/Select-BNSE67xn.d.ts +142 -0
- package/dist/chart.d.cts +2498 -0
- package/dist/chart.d.ts +2498 -0
- package/dist/{chunk-4HB6GC24.js → chunk-3TRRBMXY.js} +37 -8
- package/dist/{chunk-3RWL67CK.js → chunk-7RNS52YG.js} +38 -5
- package/dist/{chunk-SUMXP2SF.js → chunk-KLI65JVD.js} +12 -4
- package/dist/{chunk-I3EF5SF2.js → chunk-RWGSZW32.js} +1 -1
- package/dist/{chunk-LO3BUBWU.js → chunk-VN6PIPP7.js} +2 -2
- package/dist/{core-CdoVqv0o.d.ts → core-C5OnrCi4.d.cts} +1207 -3
- package/dist/{core-CM79w-7A.d.cts → core-DeZknKwc.d.ts} +1207 -3
- package/dist/core.cjs +77 -13
- package/dist/core.css +18 -1
- package/dist/core.d.cts +3 -3
- package/dist/core.d.ts +3 -3
- package/dist/core.js +3 -3
- package/dist/index.cjs +128 -21
- package/dist/index.css +18 -1
- package/dist/index.d.cts +1696 -7
- package/dist/index.d.ts +1696 -7
- package/dist/index.js +50 -13
- package/dist/markdown-editor.d.cts +41 -1
- package/dist/markdown-editor.d.ts +41 -1
- package/dist/rich-text-editor.cjs +11 -3
- package/dist/rich-text-editor.d.cts +46 -1
- package/dist/rich-text-editor.d.ts +46 -1
- package/dist/rich-text-editor.js +2 -2
- package/dist/{select-date-range-4tEYkA5O.d.cts → select-date-range-CGRb3-W8.d.ts} +116 -2
- package/dist/{select-date-range-D-ynrB5k.d.ts → select-date-range-DDmYGDD4.d.cts} +116 -2
- package/dist/select-date-range.cjs +36 -7
- package/dist/select-date-range.d.cts +3 -3
- package/dist/select-date-range.d.ts +3 -3
- package/dist/select-date-range.js +3 -3
- package/dist/{shared-DAYZvZVu.d.cts → shared-Bx4B28Wh.d.cts} +3 -0
- package/dist/{shared-DAYZvZVu.d.ts → shared-Bx4B28Wh.d.ts} +3 -0
- package/package.json +1 -1
- package/dist/Select-Cz3hzQl_.d.ts +0 -57
- package/dist/Select-Da9CLN0X.d.cts +0 -57
package/dist/index.d.ts
CHANGED
|
@@ -1,921 +1,2088 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { HTMLAttributes, ReactNode, CSSProperties, ElementType, FormHTMLAttributes, InputHTMLAttributes, ChangeEvent, TextareaHTMLAttributes, MouseEvent, Key, PointerEvent, Ref, ReactElement, ButtonHTMLAttributes, RefObject } from 'react';
|
|
3
|
-
import { O as OverlayContainer, a as OverlayApiHandle, M as ModalOpenConfig, b as ModalActionResult, B as ButtonProps, T as TagStatus, c as ButtonSize, d as BadgeProps } from './core-
|
|
4
|
-
export { e as Badge, f as BadgeRibbonProps, g as BadgeStatus, h as Breadcrumb, i as BreadcrumbItem, j as BreadcrumbProps, k as Button, l as ButtonVariant, C as Calendar, m as CalendarProps, n as Card, o as CardAccent, p as CardProps, q as Carousel, r as CarouselProps, s as CarouselRef, t as Collapse, u as CollapseItem, v as CollapseKey, w as CollapseProps, D as Dropdown, x as DropdownButtonProps, y as DropdownMenuProps, z as DropdownOpenSource, A as DropdownPlacement, E as DropdownProps, F as DropdownTrigger, G as FILLED_ICON_NAMES, H as FilledIconName, I as FloatButton, J as FloatButtonBackTopProps, K as FloatButtonGroupProps, L as FloatButtonProps, N as FloatButtonShape, P as FloatingPlacement, Q as FloatingTrigger, R as ICON_NAMES, S as Icon, U as IconName, V as IconProps, W as IconVariant, X as Image, Y as ImagePreview, Z as ImagePreviewConfig, _ as ImagePreviewProps, $ as ImageProps, a0 as Input, a1 as InputProps, a2 as Menu, a3 as MenuClickInfo, a4 as MenuItem, a5 as MenuMode, a6 as MenuProps, a7 as MenuTheme, a8 as MessageConfig, a9 as MessageHandle, aa as MessageKey, ab as MessageType, ac as Modal, ad as ModalProps, ae as ModalType, af as NotificationConfig, ag as NotificationPlacement, ah as NotificationType, ai as Popconfirm, aj as PopconfirmProps, ak as Popover, al as PopoverProps, am as Progress, an as ProgressProps, ao as ProgressStatus, ap as Rate, aq as RateProps, ar as Segmented, as as SegmentedOption, at as SegmentedProps, au as SegmentedValue, av as Spin, aw as SpinProps, ax as StepItem, ay as StepStatus, az as Steps, aA as StepsProps, aB as TabItem, aC as Tabs, aD as TabsContextMenuClickInfo, aE as TabsOrientation, aF as TabsPosition, aG as TabsProps, aH as TabsType, aI as Tag, aJ as TagProps, aK as TagVariant, aL as Timeline, aM as TimelineItem, aN as TimelineProps, aO as Tooltip, aP as TooltipProps, aQ as Tour, aR as TourProps, aS as TourStep, aT as Tree, aU as TreeDropPosition, aV as TreeKey, aW as TreeNode, aX as TreeProps, aY as Typography, aZ as TypographyLinkProps, a_ as TypographyProps, a$ as TypographyTitleProps, b0 as TypographyType, b1 as Upload, b2 as UploadChangeInfo, b3 as UploadDraggerProps, b4 as UploadFile, b5 as UploadFileStatus, b6 as UploadProps, b7 as UploadRequestOptions, b8 as Watermark, b9 as WatermarkFont, ba as WatermarkProps, bb as message, bc as notification } from './core-
|
|
5
|
-
import { C as ControlSize, I as InputPlaceholderMode, a as ControlStatus } from './shared-
|
|
6
|
-
export { D as DatePicker, a as DatePickerDisabledInfo, b as DatePickerPreset, c as DatePickerProps, d as DatePickerShowTime, e as DatePickerType, f as DatePickerValue, g as DateRangePickerPreset, h as DateRangePickerProps, S as SelectDateRange, i as SelectDateRangeProps, j as SelectDateRangeValue } from './select-date-range-
|
|
3
|
+
import { O as OverlayContainer, a as OverlayApiHandle, M as ModalOpenConfig, b as ModalActionResult, B as ButtonProps, T as TagStatus, c as ButtonSize, d as BadgeProps } from './core-DeZknKwc.js';
|
|
4
|
+
export { e as Badge, f as BadgeRibbonProps, g as BadgeStatus, h as Breadcrumb, i as BreadcrumbItem, j as BreadcrumbProps, k as Button, l as ButtonVariant, C as Calendar, m as CalendarProps, n as Card, o as CardAccent, p as CardProps, q as Carousel, r as CarouselProps, s as CarouselRef, t as Collapse, u as CollapseItem, v as CollapseKey, w as CollapseProps, D as Dropdown, x as DropdownButtonProps, y as DropdownMenuProps, z as DropdownOpenSource, A as DropdownPlacement, E as DropdownProps, F as DropdownTrigger, G as FILLED_ICON_NAMES, H as FilledIconName, I as FloatButton, J as FloatButtonBackTopProps, K as FloatButtonGroupProps, L as FloatButtonProps, N as FloatButtonShape, P as FloatingPlacement, Q as FloatingTrigger, R as ICON_NAMES, S as Icon, U as IconName, V as IconProps, W as IconVariant, X as Image, Y as ImagePreview, Z as ImagePreviewConfig, _ as ImagePreviewProps, $ as ImageProps, a0 as Input, a1 as InputProps, a2 as Menu, a3 as MenuClickInfo, a4 as MenuItem, a5 as MenuMode, a6 as MenuProps, a7 as MenuTheme, a8 as MessageConfig, a9 as MessageHandle, aa as MessageKey, ab as MessageType, ac as Modal, ad as ModalProps, ae as ModalType, af as NotificationConfig, ag as NotificationPlacement, ah as NotificationType, ai as Popconfirm, aj as PopconfirmProps, ak as Popover, al as PopoverProps, am as Progress, an as ProgressProps, ao as ProgressStatus, ap as Rate, aq as RateProps, ar as Segmented, as as SegmentedOption, at as SegmentedProps, au as SegmentedValue, av as Spin, aw as SpinProps, ax as StepItem, ay as StepStatus, az as Steps, aA as StepsProps, aB as TabItem, aC as Tabs, aD as TabsContextMenuClickInfo, aE as TabsOrientation, aF as TabsPosition, aG as TabsProps, aH as TabsType, aI as Tag, aJ as TagProps, aK as TagVariant, aL as Timeline, aM as TimelineItem, aN as TimelineProps, aO as Tooltip, aP as TooltipProps, aQ as Tour, aR as TourProps, aS as TourStep, aT as Tree, aU as TreeDropPosition, aV as TreeKey, aW as TreeNode, aX as TreeProps, aY as Typography, aZ as TypographyLinkProps, a_ as TypographyProps, a$ as TypographyTitleProps, b0 as TypographyType, b1 as Upload, b2 as UploadChangeInfo, b3 as UploadDraggerProps, b4 as UploadFile, b5 as UploadFileStatus, b6 as UploadProps, b7 as UploadRequestOptions, b8 as Watermark, b9 as WatermarkFont, ba as WatermarkProps, bb as message, bc as notification } from './core-DeZknKwc.js';
|
|
5
|
+
import { C as ControlSize, I as InputPlaceholderMode, a as ControlStatus } from './shared-Bx4B28Wh.js';
|
|
6
|
+
export { D as DatePicker, a as DatePickerDisabledInfo, b as DatePickerPreset, c as DatePickerProps, d as DatePickerShowTime, e as DatePickerType, f as DatePickerValue, g as DateRangePickerPreset, h as DateRangePickerProps, S as SelectDateRange, i as SelectDateRangeProps, j as SelectDateRangeValue } from './select-date-range-CGRb3-W8.js';
|
|
7
7
|
export { RichTextContent, RichTextContentFormat, RichTextContentProps, RichTextEditor, RichTextEditorProps, RichTextImagePasteHandler, RichTextToolbar } from './rich-text-editor.js';
|
|
8
8
|
export { MarkdownEditor, MarkdownEditorMode, MarkdownEditorProps } from './markdown-editor.js';
|
|
9
9
|
import * as Monaco from 'monaco-editor';
|
|
10
|
-
import { S as SelectOption, a as SelectChangeValue, b as SelectProps } from './Select-
|
|
11
|
-
export { c as Select, d as SelectMode, e as SelectValue } from './Select-
|
|
10
|
+
import { S as SelectOption, a as SelectChangeValue, b as SelectProps } from './Select-BNSE67xn.js';
|
|
11
|
+
export { c as Select, d as SelectMode, e as SelectValue } from './Select-BNSE67xn.js';
|
|
12
12
|
export { BaiduMapHostOptions, BaiduMapInstance, BaiduMapNamespace, BaiduMapPoint, BarChart, BarChartProps, BarDatum, BarSeries, CHART_VIEWBOX_HEIGHT, CHART_VIEWBOX_WIDTH, CandlestickChart, CandlestickChartProps, CandlestickDatum, CartesianChartProps, ChartAxis, ChartAxisProps, ChartComposite, ChartCompositeLayer, ChartCompositeProps, ChartCompositeRef, ChartDataClickInfo, ChartDataEditor, ChartDataEditorProps, ChartDataZoom, ChartDataZoomProps, ChartLegend, ChartLegendItem, ChartLegendProps, ChartMapOverlay, ChartMapOverlayProps, ChartMark, ChartMarkProps, ChartRoamController, ChartRoamControllerProps, ChartSeries, ChartTimeline, ChartTimelineProps, ChartToolbox, ChartToolboxFeature, ChartToolboxOptions, ChartToolboxProps, ChartTooltip, ChartTooltipProps, ChartValueAddress, ChartValueChannel, ChartValueIsland, ChartValueIslandProps, ChartValueTransferHandler, ChartVisualMap, ChartVisualMapProps, ChartWhirlingLoading, ChartWhirlingLoadingProps, ChordChart, ChordChartProps, ChordLink, ChordNode, DEFAULT_CHART_PALETTE, EventRiverChart, EventRiverChartProps, EventRiverEvent, EventRiverEvolution, EventRiverSeries, ForceChart, ForceGraphChart, FunnelChart, FunnelChartProps, FunnelDatum, FunnelSeries, GaugeChart, GaugeChartProps, GaugeDatum, GeoJsonFeature, GeoJsonFeatureCollection, GeoJsonMultiPolygonGeometry, GeoJsonPolygonGeometry, GraphChart, GraphChartProps, GraphLink, GraphNode, HeatmapChart, HeatmapChartProps, HeatmapPoint, KLineChart, LineChart, LineChartProps, LinePoint, LineSeries, LineShareChart, LineShareChartProps, MapChart, MapChartProps, MapDatum, MapMarkLine, MapMarkPoint, MapOverlayEvent, MapOverlayHost, MapOverlaySnapshot, MixedChart, MixedChartProps, MixedSeries, PieChart, PieChartProps, PieDatum, PieSeries, RadarChart, RadarChartProps, RadarIndicator, RadarPanel, RadarSeries, ScatterChart, ScatterChartProps, ScatterDatum, ScatterVisualMap, SiaChart, SiaChartProps, SiaChartRef, SvgMapPlot, SvgMapPlotProps, ThemeRiverChart, ThemeRiverChartProps, ThemeRiverSeries, TreeChart, TreeChartProps, TreeDatum, TreemapChart, TreemapChartProps, TreemapDatum, TreemapItemStyle, VennChart, VennChartProps, VennIntersection, VennSet, WordCloudChart, WordCloudChartProps, WordCloudDatum, XYChart, XYChartProps, XYSeries, chartColor, chartTicks, createBaiduMapHost, formatChartNumber, getChartMap, linearScale, niceChartDomain, paddedValueExtent, registerChartMap, saveCompositeImage, serializeChartStack, smoothSvgPath, svgArcPath, transferCompositeValue } from './chart.js';
|
|
13
13
|
import 'vditor';
|
|
14
14
|
|
|
15
|
+
/** 警告提示的状态类型。 */
|
|
15
16
|
type AlertStatus = "info" | "success" | "warning" | "error";
|
|
17
|
+
/** 警告提示的属性配置。 */
|
|
16
18
|
interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
19
|
+
/** 当前状态,用于选择对应的状态样式。 */
|
|
17
20
|
status?: AlertStatus;
|
|
21
|
+
/** 类型标识,用于选择对应的表现形式。 */
|
|
18
22
|
type?: AlertStatus;
|
|
23
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
19
24
|
title?: ReactNode;
|
|
25
|
+
/** 提示或错误消息文本。 */
|
|
20
26
|
message?: ReactNode;
|
|
27
|
+
/** 补充说明内容。 */
|
|
21
28
|
description?: ReactNode;
|
|
29
|
+
/** 警告内容旁的业务操作节点。 */
|
|
22
30
|
action?: ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* 是否显示状态图标。
|
|
33
|
+
* @defaultValue false
|
|
34
|
+
*/
|
|
23
35
|
showIcon?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* 是否显示关闭入口。
|
|
38
|
+
* @defaultValue false
|
|
39
|
+
*/
|
|
24
40
|
closable?: boolean;
|
|
41
|
+
/** 自定义关闭图标。 */
|
|
25
42
|
closeIcon?: ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* 是否以通栏横幅形式显示。
|
|
45
|
+
* @defaultValue false
|
|
46
|
+
*/
|
|
26
47
|
banner?: boolean;
|
|
48
|
+
/** 请求关闭时触发的回调。 */
|
|
27
49
|
onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
50
|
+
/** 关闭完成后调用。 */
|
|
28
51
|
afterClose?: () => void;
|
|
29
52
|
}
|
|
53
|
+
/** 警告提示组件。 */
|
|
30
54
|
declare function Alert({ status, type, title, message, description, action, showIcon, closable, closeIcon, banner, onClose, afterClose, className, ...props }: AlertProps): react.JSX.Element | null;
|
|
31
55
|
|
|
56
|
+
/** 分页器默认提供的每页记录数选项。 */
|
|
32
57
|
declare const DEFAULT_PAGE_SIZE_OPTIONS: readonly [10, 25, 50, 100, 200, 500, 1000, 2000, 5000];
|
|
58
|
+
/** 分页的属性配置。 */
|
|
33
59
|
interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, "onChange"> {
|
|
60
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
34
61
|
size?: ControlSize;
|
|
62
|
+
/**
|
|
63
|
+
* 数据总数
|
|
64
|
+
* @defaultValue 0
|
|
65
|
+
*/
|
|
35
66
|
total?: number;
|
|
67
|
+
/** 当前页实际条数;未提供时根据总数、页码和每页条数计算。 */
|
|
68
|
+
currentPageCount?: number;
|
|
69
|
+
/** 当前页码,从 1 开始;传入后由外部控制。 */
|
|
36
70
|
current?: number;
|
|
71
|
+
/**
|
|
72
|
+
* 非受控模式的初始页码或步骤位置。
|
|
73
|
+
* @defaultValue 1
|
|
74
|
+
*/
|
|
37
75
|
defaultCurrent?: number;
|
|
76
|
+
/** 每页显示的记录数。 */
|
|
38
77
|
pageSize?: number;
|
|
78
|
+
/**
|
|
79
|
+
* 非受控模式下每页默认展示的记录数。
|
|
80
|
+
* @defaultValue 25
|
|
81
|
+
*/
|
|
39
82
|
defaultPageSize?: number;
|
|
83
|
+
/**
|
|
84
|
+
* 每页条数候选项
|
|
85
|
+
* @defaultValue DEFAULT_PAGE_SIZE_OPTIONS
|
|
86
|
+
*/
|
|
40
87
|
pageSizeOptions?: readonly number[];
|
|
88
|
+
/**
|
|
89
|
+
* 是否显示每页条数切换控件。
|
|
90
|
+
* @defaultValue true
|
|
91
|
+
*/
|
|
41
92
|
showSizeChanger?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* 是否显示总数,或自定义总数文本的函数。
|
|
95
|
+
* @defaultValue true
|
|
96
|
+
*/
|
|
42
97
|
showTotal?: boolean | ((total: number, range: [number, number]) => ReactNode);
|
|
98
|
+
/**
|
|
99
|
+
* 是否禁用交互。
|
|
100
|
+
* @defaultValue false
|
|
101
|
+
*/
|
|
43
102
|
disabled?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 只有一页数据时是否隐藏分页器。
|
|
105
|
+
* @defaultValue false
|
|
106
|
+
*/
|
|
44
107
|
hideOnSinglePage?: boolean;
|
|
108
|
+
/** 是否正在刷新总数。 */
|
|
45
109
|
refreshing?: boolean;
|
|
110
|
+
/** 请求刷新总数时调用。 */
|
|
46
111
|
onRefreshTotal?: () => void | Promise<void>;
|
|
112
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
47
113
|
onChange?: (page: number, pageSize: number) => void;
|
|
114
|
+
/** 每页条数变化时调用,参数为页码及新的每页条数。 */
|
|
48
115
|
onShowSizeChange?: (current: number, pageSize: number) => void;
|
|
49
116
|
}
|
|
50
|
-
|
|
117
|
+
/** 分页组件。 */
|
|
118
|
+
declare function Pagination({ size: sizeProp, total, currentPageCount, current, defaultCurrent, pageSize, defaultPageSize, pageSizeOptions, showSizeChanger, showTotal, disabled, hideOnSinglePage, refreshing, onRefreshTotal, onChange, onShowSizeChange, className, ...props }: PaginationProps): react.JSX.Element | null;
|
|
51
119
|
|
|
120
|
+
/** 级联选择的值类型。 */
|
|
52
121
|
type CascaderValue = string | number;
|
|
122
|
+
/** 级联选择的候选项定义。 */
|
|
53
123
|
interface CascaderOption {
|
|
124
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
54
125
|
value: CascaderValue;
|
|
126
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
55
127
|
label?: ReactNode;
|
|
128
|
+
/** 是否禁用交互。 */
|
|
56
129
|
disabled?: boolean;
|
|
130
|
+
/** 是否为叶子节点;异步加载场景可用于标识无子项节点。 */
|
|
57
131
|
isLeaf?: boolean;
|
|
132
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
58
133
|
children?: readonly CascaderOption[];
|
|
59
134
|
[key: string]: unknown;
|
|
60
135
|
}
|
|
136
|
+
/** 级联数据中 label、value 和 children 的字段映射。 */
|
|
61
137
|
interface CascaderFieldNames {
|
|
138
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
62
139
|
label?: string;
|
|
140
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
63
141
|
value?: string;
|
|
142
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
64
143
|
children?: string;
|
|
65
144
|
}
|
|
145
|
+
/** 级联选择的属性配置。 */
|
|
66
146
|
interface CascaderProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
|
|
147
|
+
/** small / medium / large 高度为 22 / 30 / 38px;默认继承 Form,组件自身 size 优先 */
|
|
67
148
|
size?: ControlSize;
|
|
149
|
+
/** 级联选项树 */
|
|
68
150
|
options: readonly CascaderOption[];
|
|
151
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
69
152
|
value?: readonly CascaderValue[] | readonly (readonly CascaderValue[])[];
|
|
153
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
70
154
|
defaultValue?: readonly CascaderValue[] | readonly (readonly CascaderValue[])[];
|
|
155
|
+
/**
|
|
156
|
+
是否允许同时选择多个项目。
|
|
157
|
+
* @defaultValue false
|
|
158
|
+
*/
|
|
71
159
|
multiple?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
是否显示搜索输入框。
|
|
162
|
+
* @defaultValue false
|
|
163
|
+
*/
|
|
72
164
|
showSearch?: boolean;
|
|
165
|
+
/**
|
|
166
|
+
是否允许清空当前选择或输入值。
|
|
167
|
+
* @defaultValue false
|
|
168
|
+
*/
|
|
73
169
|
allowClear?: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* 是否在选中任意层级节点时立即提交值。
|
|
172
|
+
* @defaultValue false
|
|
173
|
+
*/
|
|
74
174
|
changeOnSelect?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* 子级面板的展开方式。
|
|
177
|
+
* @defaultValue "click"
|
|
178
|
+
*/
|
|
75
179
|
expandTrigger?: "click" | "hover";
|
|
180
|
+
/**
|
|
181
|
+
* 未填写或未选择时的提示内容。
|
|
182
|
+
* @defaultValue "请选择"
|
|
183
|
+
*/
|
|
76
184
|
placeholder?: ReactNode;
|
|
185
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
77
186
|
placeholderMode?: InputPlaceholderMode;
|
|
187
|
+
/**
|
|
188
|
+
* 是否禁用交互。
|
|
189
|
+
* @defaultValue false
|
|
190
|
+
*/
|
|
78
191
|
disabled?: boolean;
|
|
192
|
+
/** 数据字段名映射,用于适配业务数据结构。 */
|
|
79
193
|
fieldNames?: CascaderFieldNames;
|
|
194
|
+
/** 自定义已选结果的显示内容。 */
|
|
80
195
|
displayRender?: (labels: ReactNode[], selectedOptions: CascaderOption[]) => ReactNode;
|
|
196
|
+
/** 按当前节点异步加载子节点的函数。 */
|
|
81
197
|
loadData?: (selectedOptions: CascaderOption[]) => void | Promise<void>;
|
|
198
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
82
199
|
onChange?: (value: readonly CascaderValue[] | readonly (readonly CascaderValue[])[] | undefined, selectedOptions: CascaderOption[] | CascaderOption[][]) => void;
|
|
83
200
|
}
|
|
201
|
+
/** 级联选择组件。 */
|
|
84
202
|
declare function Cascader({ options, value, defaultValue, size: sizeProp, multiple, showSearch, allowClear, changeOnSelect, expandTrigger, placeholder, placeholderMode, disabled, fieldNames, displayRender, loadData, onChange, className, ...props }: CascaderProps): react.JSX.Element;
|
|
85
203
|
|
|
204
|
+
/** 布局间距,可使用预设等级或数值。 */
|
|
86
205
|
type LayoutGap = "small" | "medium" | "large" | number | string;
|
|
206
|
+
/** 弹性布局交叉轴上的对齐方式。 */
|
|
87
207
|
type FlexAlign = "normal" | "start" | "center" | "end" | "stretch" | "baseline";
|
|
208
|
+
/** 弹性布局主轴上的内容分布方式。 */
|
|
88
209
|
type FlexJustify = "normal" | "start" | "center" | "end" | "space-between" | "space-around" | "space-evenly";
|
|
210
|
+
/** 弹性布局的属性配置。 */
|
|
89
211
|
interface FlexProps extends HTMLAttributes<HTMLElement> {
|
|
212
|
+
/**
|
|
213
|
+
* 是否使用垂直布局。
|
|
214
|
+
* @defaultValue false
|
|
215
|
+
*/
|
|
90
216
|
vertical?: boolean;
|
|
217
|
+
/** 组件的水平或垂直排列方向。 */
|
|
91
218
|
orientation?: "horizontal" | "vertical";
|
|
219
|
+
/**
|
|
220
|
+
* 是否允许换行
|
|
221
|
+
* @defaultValue false
|
|
222
|
+
*/
|
|
92
223
|
wrap?: boolean | CSSProperties["flexWrap"];
|
|
224
|
+
/** 主轴对齐 */
|
|
93
225
|
justify?: FlexJustify;
|
|
226
|
+
/** 交叉轴对齐 */
|
|
94
227
|
align?: FlexAlign;
|
|
228
|
+
/** 预设或自定义间距 */
|
|
95
229
|
gap?: LayoutGap;
|
|
230
|
+
/** 弹性布局的伸缩权重或 CSS flex 配置。 */
|
|
96
231
|
flex?: CSSProperties["flex"];
|
|
232
|
+
/**
|
|
233
|
+
* 用作容器的元素或组件类型。
|
|
234
|
+
* @defaultValue "div"
|
|
235
|
+
*/
|
|
97
236
|
component?: ElementType;
|
|
98
237
|
}
|
|
238
|
+
/** 弹性布局组件。 */
|
|
99
239
|
declare function Flex({ vertical, orientation, wrap, justify, align, gap, flex, component: Component, className, style, ...props }: FlexProps): react.JSX.Element;
|
|
240
|
+
/** 间距布局的属性配置。 */
|
|
100
241
|
interface SpaceProps extends HTMLAttributes<HTMLDivElement> {
|
|
242
|
+
/**
|
|
243
|
+
排列或展示方向。
|
|
244
|
+
* @defaultValue "horizontal"
|
|
245
|
+
*/
|
|
101
246
|
direction?: "horizontal" | "vertical";
|
|
247
|
+
/**
|
|
248
|
+
* 组件尺寸;用于调整控件高度、字号和间距。
|
|
249
|
+
* @defaultValue "medium"
|
|
250
|
+
*/
|
|
102
251
|
size?: LayoutGap | readonly [LayoutGap, LayoutGap];
|
|
252
|
+
/**
|
|
253
|
+
* 交叉轴对齐
|
|
254
|
+
* @defaultValue "center"
|
|
255
|
+
*/
|
|
103
256
|
align?: "start" | "center" | "end" | "baseline";
|
|
257
|
+
/**
|
|
258
|
+
* 是否允许换行
|
|
259
|
+
* @defaultValue false
|
|
260
|
+
*/
|
|
104
261
|
wrap?: boolean;
|
|
262
|
+
/** 相邻元素之间的分隔内容 */
|
|
105
263
|
split?: ReactNode;
|
|
106
264
|
}
|
|
265
|
+
/** SpaceCompact的属性配置。 */
|
|
107
266
|
interface SpaceCompactProps extends HTMLAttributes<HTMLDivElement> {
|
|
267
|
+
/**
|
|
268
|
+
排列或展示方向。
|
|
269
|
+
* @defaultValue "horizontal"
|
|
270
|
+
*/
|
|
108
271
|
direction?: "horizontal" | "vertical";
|
|
272
|
+
/**
|
|
273
|
+
* 宽度撑满父容器
|
|
274
|
+
* @defaultValue false
|
|
275
|
+
*/
|
|
109
276
|
block?: boolean;
|
|
110
277
|
}
|
|
111
278
|
declare function SpaceCompact({ direction, block, className, ...props }: SpaceCompactProps): react.JSX.Element;
|
|
112
279
|
declare function SpaceRoot({ direction, size, align, wrap, split, className, style, children, ...props }: SpaceProps): react.JSX.Element;
|
|
280
|
+
/** 间距布局组件。 */
|
|
113
281
|
declare const Space: typeof SpaceRoot & {
|
|
282
|
+
/** 紧凑布局容器,将相邻控件组合为连续的按钮或输入组。 */
|
|
114
283
|
Compact: typeof SpaceCompact;
|
|
115
284
|
};
|
|
285
|
+
/** 分隔线的属性配置。 */
|
|
116
286
|
interface DividerProps extends HTMLAttributes<HTMLDivElement> {
|
|
287
|
+
/**
|
|
288
|
+
组件的水平或垂直排列方向。
|
|
289
|
+
* @defaultValue "horizontal"
|
|
290
|
+
*/
|
|
117
291
|
orientation?: "horizontal" | "vertical";
|
|
292
|
+
/**
|
|
293
|
+
组件的视觉样式。
|
|
294
|
+
* @defaultValue "solid"
|
|
295
|
+
*/
|
|
118
296
|
variant?: "solid" | "dashed" | "dotted";
|
|
297
|
+
/**
|
|
298
|
+
* 文字在横向分割线中的位置
|
|
299
|
+
* @defaultValue "center"
|
|
300
|
+
*/
|
|
119
301
|
textAlign?: "start" | "center" | "end";
|
|
302
|
+
/**
|
|
303
|
+
* 使用普通字重
|
|
304
|
+
* @defaultValue false
|
|
305
|
+
*/
|
|
120
306
|
plain?: boolean;
|
|
307
|
+
/** 分割线文字 */
|
|
121
308
|
children?: ReactNode;
|
|
122
309
|
}
|
|
310
|
+
/** 分隔线组件。 */
|
|
123
311
|
declare function Divider({ orientation, variant, textAlign, plain, children, className, ...props }: DividerProps): react.JSX.Element;
|
|
312
|
+
/** 响应式栅格的断点名称。 */
|
|
124
313
|
type GridBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
|
|
314
|
+
/** 按照屏幕断点分别提供的配置值。 */
|
|
125
315
|
type GridResponsive<T> = T | Partial<Record<GridBreakpoint, T>>;
|
|
316
|
+
/** 栅格行的属性配置。 */
|
|
126
317
|
interface RowProps extends HTMLAttributes<HTMLDivElement> {
|
|
318
|
+
/**
|
|
319
|
+
* 栅格行列间距。
|
|
320
|
+
* @defaultValue 0
|
|
321
|
+
*/
|
|
127
322
|
gutter?: LayoutGap | readonly [LayoutGap, LayoutGap];
|
|
323
|
+
/** 交叉轴对齐 */
|
|
128
324
|
align?: GridResponsive<"top" | "middle" | "bottom" | "stretch">;
|
|
325
|
+
/** 主轴对齐 */
|
|
129
326
|
justify?: GridResponsive<"start" | "end" | "center" | "space-around" | "space-between" | "space-evenly">;
|
|
327
|
+
/**
|
|
328
|
+
* 是否允许换行
|
|
329
|
+
* @defaultValue true
|
|
330
|
+
*/
|
|
130
331
|
wrap?: boolean;
|
|
131
332
|
}
|
|
333
|
+
/** 栅格行组件。 */
|
|
132
334
|
declare function Row({ gutter, align, justify, wrap, className, style, ...props }: RowProps): react.JSX.Element;
|
|
335
|
+
/** 一个断点下的栅格列宽、偏移和排序配置。 */
|
|
133
336
|
interface ColSize {
|
|
337
|
+
/** 占据的网格列数。 */
|
|
134
338
|
span?: number;
|
|
339
|
+
/** 相对于默认位置的偏移。 */
|
|
135
340
|
offset?: number;
|
|
341
|
+
/** 排序位置或排序方向。 */
|
|
136
342
|
order?: number;
|
|
343
|
+
/** 推移距离或栅格偏移配置。 */
|
|
137
344
|
push?: number;
|
|
345
|
+
/** 栅格列向左移动的列数。 */
|
|
138
346
|
pull?: number;
|
|
139
347
|
}
|
|
348
|
+
/** 栅格列的属性配置。 */
|
|
140
349
|
interface ColProps extends HTMLAttributes<HTMLDivElement>, ColSize {
|
|
350
|
+
/** 弹性布局的伸缩权重或 CSS flex 配置。 */
|
|
141
351
|
flex?: number | string;
|
|
352
|
+
/** 超小屏断点下的布局配置。 */
|
|
142
353
|
xs?: number | ColSize;
|
|
354
|
+
/** 小屏断点下的布局配置。 */
|
|
143
355
|
sm?: number | ColSize;
|
|
356
|
+
/** 中屏断点下的布局配置。 */
|
|
144
357
|
md?: number | ColSize;
|
|
358
|
+
/** 大屏断点下的布局配置。 */
|
|
145
359
|
lg?: number | ColSize;
|
|
360
|
+
/** 超大屏断点下的布局配置。 */
|
|
146
361
|
xl?: number | ColSize;
|
|
362
|
+
/** 特大屏断点下的布局配置。 */
|
|
147
363
|
xxl?: number | ColSize;
|
|
148
364
|
}
|
|
365
|
+
/** 栅格列组件。 */
|
|
149
366
|
declare function Col({ span, offset, order, push, pull, flex, xs, sm, md, lg, xl, xxl, className, style, ...props }: ColProps): react.JSX.Element;
|
|
150
367
|
|
|
368
|
+
/** SplitterPanel的属性配置。 */
|
|
151
369
|
interface SplitterPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
370
|
+
/** 非受控模式下的初始尺寸。 */
|
|
152
371
|
defaultSize?: number;
|
|
372
|
+
/** 非受控模式的初始收起状态。 */
|
|
153
373
|
defaultCollapsed?: boolean;
|
|
374
|
+
/** 允许的最小值。 */
|
|
154
375
|
min?: number;
|
|
376
|
+
/** 允许的最大值。 */
|
|
155
377
|
max?: number;
|
|
378
|
+
/** 允许收起内容区域 */
|
|
156
379
|
collapsible?: boolean;
|
|
380
|
+
/** 面板收起后的尺寸。 */
|
|
157
381
|
collapsedSize?: number;
|
|
382
|
+
/** 面板收起时显示的内容。 */
|
|
158
383
|
collapsedContent?: ReactNode;
|
|
384
|
+
/** 收起状态操作按钮的无障碍名称。 */
|
|
159
385
|
collapsedAriaLabel?: string;
|
|
386
|
+
/** 是否允许通过拖拽调整尺寸。 */
|
|
160
387
|
resizable?: boolean;
|
|
388
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
161
389
|
children?: ReactNode;
|
|
162
390
|
}
|
|
391
|
+
/** 可拖拽分割面板的属性配置。 */
|
|
163
392
|
interface SplitterProps extends Omit<HTMLAttributes<HTMLDivElement>, "onResize"> {
|
|
393
|
+
/**
|
|
394
|
+
组件的水平或垂直排列方向。
|
|
395
|
+
* @defaultValue "horizontal"
|
|
396
|
+
*/
|
|
164
397
|
orientation?: "horizontal" | "vertical";
|
|
398
|
+
/** 拖拽调整过程中持续触发 */
|
|
165
399
|
onResize?: (sizes: readonly number[]) => void;
|
|
400
|
+
/** 鼠标或键盘调整结束时触发 */
|
|
166
401
|
onResizeEnd?: (sizes: readonly number[]) => void;
|
|
167
402
|
}
|
|
168
403
|
declare function SplitterPanel({ defaultSize: _defaultSize, defaultCollapsed: _defaultCollapsed, min: _min, max: _max, collapsible: _collapsible, collapsedSize: _collapsedSize, collapsedContent: _collapsedContent, collapsedAriaLabel: _collapsedAriaLabel, resizable: _resizable, className, ...props }: SplitterPanelProps): react.JSX.Element;
|
|
169
404
|
declare function SplitterRoot({ orientation, onResize, onResizeEnd, className, children, ...props }: SplitterProps): react.JSX.Element;
|
|
405
|
+
/** 可拖拽分割面板组件。 */
|
|
170
406
|
declare const Splitter: typeof SplitterRoot & {
|
|
407
|
+
/** Splitter 中的可调整大小面板。 */
|
|
171
408
|
Panel: typeof SplitterPanel;
|
|
172
409
|
};
|
|
173
410
|
|
|
411
|
+
/** 工具面板的位置类型。 */
|
|
174
412
|
type ToolPanelPlacement = "left" | "right";
|
|
413
|
+
/** 工具面板的项目定义。 */
|
|
175
414
|
interface ToolPanelItem {
|
|
415
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
176
416
|
key: string;
|
|
417
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
177
418
|
title: ReactNode;
|
|
419
|
+
/** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
|
|
178
420
|
icon?: ReactNode;
|
|
421
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
179
422
|
children: ReactNode;
|
|
423
|
+
/** 是否禁用交互。 */
|
|
180
424
|
disabled?: boolean;
|
|
181
425
|
}
|
|
426
|
+
/** 工具面板的属性配置。 */
|
|
182
427
|
interface ToolPanelProps extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "onResize"> {
|
|
428
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
183
429
|
title?: ReactNode;
|
|
430
|
+
/** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
|
|
184
431
|
icon?: ReactNode;
|
|
432
|
+
/** 多面板配置;提供后优先于 title、icon 和 children。切换保留内容状态,共享面板宽度 */
|
|
185
433
|
items?: readonly ToolPanelItem[];
|
|
434
|
+
/** 当前激活项目的标识;传入后由外部控制。 */
|
|
186
435
|
activeKey?: string;
|
|
436
|
+
/** 非受控模式下初始激活的项目标识。 */
|
|
187
437
|
defaultActiveKey?: string;
|
|
438
|
+
/** 切换面板时触发;再次点击当前入口仅切换展开状态 */
|
|
188
439
|
onActiveKeyChange?: (key: string) => void;
|
|
440
|
+
/**
|
|
441
|
+
* 工具面板位于工作区左侧或右侧
|
|
442
|
+
* @defaultValue "left"
|
|
443
|
+
*/
|
|
189
444
|
placement?: ToolPanelPlacement;
|
|
445
|
+
/** 是否打开;传入后由外部控制显示状态。 */
|
|
190
446
|
open?: boolean;
|
|
447
|
+
/**
|
|
448
|
+
* 非受控模式下的初始打开状态。
|
|
449
|
+
* @defaultValue true
|
|
450
|
+
*/
|
|
191
451
|
defaultOpen?: boolean;
|
|
452
|
+
/**
|
|
453
|
+
非受控模式下的初始尺寸。
|
|
454
|
+
* @defaultValue 320
|
|
455
|
+
*/
|
|
192
456
|
defaultSize?: number;
|
|
457
|
+
/**
|
|
458
|
+
* 允许的最小尺寸。
|
|
459
|
+
* @defaultValue 220
|
|
460
|
+
*/
|
|
193
461
|
minSize?: number;
|
|
462
|
+
/**
|
|
463
|
+
* 允许的最大尺寸。
|
|
464
|
+
* @defaultValue 640
|
|
465
|
+
*/
|
|
194
466
|
maxSize?: number;
|
|
467
|
+
/** 活动栏切换展开状态时触发 */
|
|
195
468
|
onOpenChange?: (open: boolean) => void;
|
|
469
|
+
/** 拖拽调整过程中持续触发 */
|
|
196
470
|
onResize?: (size: number) => void;
|
|
471
|
+
/** 鼠标或键盘调整结束时触发 */
|
|
197
472
|
onResizeEnd?: (size: number) => void;
|
|
198
473
|
}
|
|
474
|
+
/** 工具面板组件。 */
|
|
199
475
|
declare function ToolPanel({ title, icon, items, activeKey, defaultActiveKey, onActiveKeyChange, placement, open, defaultOpen, defaultSize, minSize, maxSize, onOpenChange, onResize, onResizeEnd, className, style, children, ...props }: ToolPanelProps): react.JSX.Element;
|
|
200
476
|
|
|
477
|
+
/** 窗口控制操作名称。 */
|
|
201
478
|
type WindowAction = "start-dragging" | "minimize" | "toggle-maximize" | "close";
|
|
479
|
+
/** 窗口控制按钮可执行的操作。 */
|
|
202
480
|
type WindowControlAction = Exclude<WindowAction, "start-dragging">;
|
|
481
|
+
/** 执行窗口控制操作的回调函数。 */
|
|
203
482
|
type WindowActionHandler = (action: WindowAction) => void | Promise<void>;
|
|
483
|
+
/** 标题栏操作区域的对齐方式。 */
|
|
204
484
|
type WindowTitleBarActionsAlign = "left" | "right";
|
|
485
|
+
/** 窗口控制按钮的显示和无障碍文案。 */
|
|
205
486
|
interface WindowControlLabels {
|
|
487
|
+
/** 最小化窗口。 */
|
|
206
488
|
minimize: string;
|
|
489
|
+
/** 最大化窗口。 */
|
|
207
490
|
maximize: string;
|
|
491
|
+
/** 还原窗口尺寸或还原初始状态。 */
|
|
208
492
|
restore: string;
|
|
493
|
+
/** 关闭当前界面或实例。 */
|
|
209
494
|
close: string;
|
|
210
495
|
}
|
|
496
|
+
/** 窗口框架的属性配置。 */
|
|
211
497
|
interface WindowFrameProps extends HTMLAttributes<HTMLDivElement> {
|
|
498
|
+
/** 标题栏内容或配置。 */
|
|
212
499
|
titleBar?: ReactNode;
|
|
213
500
|
}
|
|
501
|
+
/** 窗口控制按钮的属性配置。 */
|
|
214
502
|
interface WindowControlsProps extends HTMLAttributes<HTMLDivElement> {
|
|
503
|
+
/**
|
|
504
|
+
* 当前窗口是否已最大化。
|
|
505
|
+
* @defaultValue false
|
|
506
|
+
*/
|
|
215
507
|
maximized?: boolean;
|
|
508
|
+
/**
|
|
509
|
+
* 是否显示最小化按钮。
|
|
510
|
+
* @defaultValue true
|
|
511
|
+
*/
|
|
216
512
|
showMinimize?: boolean;
|
|
513
|
+
/**
|
|
514
|
+
* 是否显示最大化或还原按钮。
|
|
515
|
+
* @defaultValue true
|
|
516
|
+
*/
|
|
217
517
|
showMaximize?: boolean;
|
|
518
|
+
/**
|
|
519
|
+
* 是否显示关闭按钮。
|
|
520
|
+
* @defaultValue true
|
|
521
|
+
*/
|
|
218
522
|
showClose?: boolean;
|
|
523
|
+
/**
|
|
524
|
+
* 不允许执行的窗口操作集合。
|
|
525
|
+
* @defaultValue []
|
|
526
|
+
*/
|
|
219
527
|
disabledActions?: readonly WindowControlAction[];
|
|
528
|
+
/** 各操作入口的显示或无障碍文案。 */
|
|
220
529
|
labels?: Partial<WindowControlLabels>;
|
|
530
|
+
/** 操作按钮被触发时调用。 */
|
|
221
531
|
onAction?: WindowActionHandler;
|
|
222
532
|
}
|
|
533
|
+
/** 窗口标题栏的属性配置。 */
|
|
223
534
|
interface WindowTitleBarProps extends HTMLAttributes<HTMLElement> {
|
|
535
|
+
/** 标题前的内容区域。 */
|
|
224
536
|
leading?: ReactNode;
|
|
537
|
+
/** 附加的操作按钮区域。 */
|
|
225
538
|
actions?: ReactNode;
|
|
539
|
+
/**
|
|
540
|
+
* 操作区域的对齐方式。
|
|
541
|
+
* @defaultValue "right"
|
|
542
|
+
*/
|
|
226
543
|
actionsAlign?: WindowTitleBarActionsAlign;
|
|
544
|
+
/**
|
|
545
|
+
是否显示窗口控制按钮。
|
|
546
|
+
* @defaultValue true
|
|
547
|
+
*/
|
|
227
548
|
controls?: boolean | ReactNode;
|
|
549
|
+
/**
|
|
550
|
+
* 当前窗口是否已最大化。
|
|
551
|
+
* @defaultValue false
|
|
552
|
+
*/
|
|
228
553
|
maximized?: boolean;
|
|
554
|
+
/**
|
|
555
|
+
* 是否允许拖拽。
|
|
556
|
+
* @defaultValue true
|
|
557
|
+
*/
|
|
229
558
|
draggable?: boolean;
|
|
559
|
+
/** 不允许执行的窗口操作集合。 */
|
|
230
560
|
disabledActions?: readonly WindowControlAction[];
|
|
561
|
+
/** 窗口控制按钮的文案。 */
|
|
231
562
|
controlLabels?: Partial<WindowControlLabels>;
|
|
563
|
+
/** 窗口控制操作触发时调用。 */
|
|
232
564
|
onWindowAction?: WindowActionHandler;
|
|
233
565
|
}
|
|
566
|
+
/** 窗口框架组件。 */
|
|
234
567
|
declare function WindowFrame({ titleBar, className, children, ...props }: WindowFrameProps): react.JSX.Element;
|
|
568
|
+
/** 窗口控制按钮组件。 */
|
|
235
569
|
declare function WindowControls({ maximized, showMinimize, showMaximize, showClose, disabledActions, labels, onAction, className, ...props }: WindowControlsProps): react.JSX.Element;
|
|
570
|
+
/** 窗口标题栏组件。 */
|
|
236
571
|
declare function WindowTitleBar({ leading, actions, actionsAlign, controls, maximized, draggable, disabledActions, controlLabels, onWindowAction, className, children, onMouseDown, ...props }: WindowTitleBarProps): react.JSX.Element;
|
|
237
572
|
|
|
573
|
+
/** 抽屉的位置类型。 */
|
|
238
574
|
type DrawerPlacement = "left" | "right" | "top" | "bottom";
|
|
575
|
+
/** DrawerPush的配置。 */
|
|
239
576
|
interface DrawerPushConfig {
|
|
577
|
+
/** 抽屉推开父级时的位移距离。 */
|
|
240
578
|
distance?: number | string;
|
|
241
579
|
}
|
|
580
|
+
/** 子抽屉打开时是否推开父抽屉,以及推开距离的配置。 */
|
|
242
581
|
type DrawerPush = boolean | DrawerPushConfig;
|
|
582
|
+
/** 抽屉的属性配置。 */
|
|
243
583
|
interface DrawerProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
|
|
584
|
+
/** 是否显示抽屉 */
|
|
244
585
|
open: boolean;
|
|
586
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
245
587
|
title?: ReactNode;
|
|
588
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
246
589
|
children?: ReactNode;
|
|
590
|
+
/** 主体之外的补充内容或操作区。 */
|
|
247
591
|
extra?: ReactNode;
|
|
592
|
+
/** 自定义底部操作区,传 null 隐藏 */
|
|
248
593
|
footer?: ReactNode;
|
|
594
|
+
/**
|
|
595
|
+
* 出现方向
|
|
596
|
+
* @defaultValue "right"
|
|
597
|
+
*/
|
|
249
598
|
placement?: DrawerPlacement;
|
|
599
|
+
/**
|
|
600
|
+
* 抽屉宽度或高度
|
|
601
|
+
* @defaultValue placement === "top" || placement === "bottom" ? 320 : 760
|
|
602
|
+
*/
|
|
250
603
|
size?: number | string;
|
|
604
|
+
/**
|
|
605
|
+
* 是否显示关闭入口。
|
|
606
|
+
* @defaultValue true
|
|
607
|
+
*/
|
|
251
608
|
closable?: boolean;
|
|
609
|
+
/**
|
|
610
|
+
* 点击遮罩时是否允许关闭。
|
|
611
|
+
* @defaultValue true
|
|
612
|
+
*/
|
|
252
613
|
maskClosable?: boolean;
|
|
614
|
+
/**
|
|
615
|
+
* 是否允许通过 Esc 等键盘操作关闭。
|
|
616
|
+
* @defaultValue true
|
|
617
|
+
*/
|
|
253
618
|
keyboard?: boolean;
|
|
619
|
+
/**
|
|
620
|
+
组件或浮层的堆叠层级。
|
|
621
|
+
* @defaultValue 1000
|
|
622
|
+
*/
|
|
254
623
|
zIndex?: number;
|
|
255
624
|
/** 子抽屉打开时是否推移当前抽屉,默认开启。 */
|
|
256
625
|
push?: DrawerPush;
|
|
257
626
|
/** 适用于同级 Portal 渲染的多层抽屉,按层数累计推移。 */
|
|
258
627
|
pushDepth?: number;
|
|
628
|
+
/** 弹层挂载目标;可提供元素或返回元素的函数,默认挂载到页面容器。 */
|
|
259
629
|
getContainer?: OverlayContainer;
|
|
630
|
+
/** 请求关闭时触发的回调。 */
|
|
260
631
|
onClose?: () => void;
|
|
632
|
+
/** 打开状态改变时触发,参数为新的打开状态。 */
|
|
261
633
|
onOpenChange?: (open: boolean) => void;
|
|
262
634
|
/** 展开动画完成且面板已稳定后触发。 */
|
|
263
635
|
afterOpen?: () => void;
|
|
264
636
|
/** 关闭动画完成且面板已隐藏后触发。 */
|
|
265
637
|
afterClose?: () => void;
|
|
266
638
|
}
|
|
639
|
+
/** DrawerOpen的配置。 */
|
|
267
640
|
interface DrawerOpenConfig extends Omit<DrawerProps, "open"> {
|
|
268
641
|
}
|
|
269
642
|
declare function openDrawer(config: DrawerOpenConfig): OverlayApiHandle<DrawerOpenConfig>;
|
|
643
|
+
/** 抽屉组件。 */
|
|
270
644
|
declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<HTMLDivElement>> & {
|
|
645
|
+
/** 直接打开实例,返回可用于更新或关闭的操作句柄。 */
|
|
271
646
|
open: typeof openDrawer;
|
|
647
|
+
/** 关闭由此 API 打开的所有弹层。 */
|
|
272
648
|
destroyAll(): void;
|
|
273
649
|
};
|
|
274
650
|
|
|
651
|
+
/** 开关的视觉样式。 */
|
|
275
652
|
type SwitchVariant = "standard" | "segmented";
|
|
653
|
+
/** 开关的属性配置。 */
|
|
276
654
|
interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
|
|
655
|
+
/** 标准开关高度为 16 / 22 / 28px,分段开关为 22 / 30 / 38px;默认继承 Form */
|
|
277
656
|
size?: ControlSize;
|
|
657
|
+
/** 开关右侧的可见标签 */
|
|
278
658
|
label?: ReactNode;
|
|
659
|
+
/**
|
|
660
|
+
组件的视觉样式。
|
|
661
|
+
* @defaultValue "standard"
|
|
662
|
+
*/
|
|
279
663
|
variant?: SwitchVariant;
|
|
664
|
+
/** 选中状态的文字、图标或自定义内容 */
|
|
280
665
|
checkedContent?: ReactNode;
|
|
666
|
+
/** 未选中状态的文字、图标或自定义内容 */
|
|
281
667
|
uncheckedContent?: ReactNode;
|
|
668
|
+
/** 状态变化时返回最新布尔值 */
|
|
282
669
|
onCheckedChange?: (checked: boolean) => void;
|
|
283
670
|
}
|
|
671
|
+
/** 开关组件。 */
|
|
284
672
|
declare const Switch: react.ForwardRefExoticComponent<SwitchProps & react.RefAttributes<HTMLInputElement>>;
|
|
673
|
+
/** 表单字段路径;字符串表示顶层字段,数组表示嵌套字段。 */
|
|
285
674
|
type NamePath = string | number | readonly (string | number)[];
|
|
675
|
+
/** 表单字段名到当前值的映射。 */
|
|
286
676
|
type FormValues = Record<string, unknown>;
|
|
677
|
+
/** 字段校验规则,支持必填、长度、正则和异步自定义校验。 */
|
|
287
678
|
interface FormRule {
|
|
679
|
+
/** 是否为必填字段。 */
|
|
288
680
|
required?: boolean;
|
|
681
|
+
/** 是否将仅含空白字符的文本判为无效。 */
|
|
289
682
|
whitespace?: boolean;
|
|
683
|
+
/** 类型标识,用于选择对应的表现形式。 */
|
|
290
684
|
type?: "string" | "number" | "boolean" | "array" | "email" | "url";
|
|
685
|
+
/** 允许的最小值。 */
|
|
291
686
|
min?: number;
|
|
687
|
+
/** 允许的最大值。 */
|
|
292
688
|
max?: number;
|
|
689
|
+
/** 要求的精确长度。 */
|
|
293
690
|
len?: number;
|
|
691
|
+
/** 用于校验字段值的正则表达式。 */
|
|
294
692
|
pattern?: RegExp;
|
|
693
|
+
/** 提示或错误消息文本。 */
|
|
295
694
|
message?: ReactNode;
|
|
695
|
+
/** 校验前转换字段值的函数。 */
|
|
296
696
|
transform?: (value: unknown) => unknown;
|
|
697
|
+
/** 自定义校验函数;可返回 Promise,失败时抛出错误。 */
|
|
297
698
|
validator?: (rule: FormRule, value: unknown, values: FormValues) => void | Promise<void>;
|
|
298
699
|
}
|
|
700
|
+
/** 校验失败的字段路径及其错误文本。 */
|
|
299
701
|
interface FormErrorField {
|
|
702
|
+
/** 名称或字段标识。 */
|
|
300
703
|
name: readonly (string | number)[];
|
|
704
|
+
/** 字段的校验错误信息列表。 */
|
|
301
705
|
errors: readonly ReactNode[];
|
|
302
706
|
}
|
|
707
|
+
/** 表单操作实例,提供读写字段值、校验、重置和提交方法。 */
|
|
303
708
|
interface FormInstance {
|
|
709
|
+
/** 读取指定字段的当前值,支持嵌套字段路径。 */
|
|
304
710
|
getFieldValue: (name: NamePath) => unknown;
|
|
711
|
+
/** 读取表单当前字段值集合。 */
|
|
305
712
|
getFieldsValue: () => FormValues;
|
|
713
|
+
/** 读取指定字段的校验错误信息。 */
|
|
306
714
|
getFieldError: (name: NamePath) => readonly ReactNode[];
|
|
715
|
+
/** 设置单个字段的值;name 可为嵌套字段路径。 */
|
|
307
716
|
setFieldValue: (name: NamePath, value: unknown) => void;
|
|
717
|
+
/** 批量设置表单字段值。 */
|
|
308
718
|
setFieldsValue: (values: FormValues) => void;
|
|
719
|
+
/** 将字段恢复到初始值,并清理相关校验状态。 */
|
|
309
720
|
resetFields: (names?: readonly NamePath[]) => void;
|
|
721
|
+
/** 执行字段校验;成功返回字段值,失败抛出校验错误信息。 */
|
|
310
722
|
validateFields: (names?: readonly NamePath[]) => Promise<FormValues>;
|
|
723
|
+
/** 提交表单并执行校验;校验通过触发 onFinish,失败触发 onFinishFailed。 */
|
|
311
724
|
submit: () => void;
|
|
725
|
+
/** 将指定字段滚动到可见区域。 */
|
|
312
726
|
scrollToField: (name: NamePath) => void;
|
|
313
727
|
}
|
|
728
|
+
/** 创建或复用表单实例。返回单元素元组,可使用 const [form] = useForm() 获取实例并传给 Form 或 QueryForm。 */
|
|
314
729
|
declare function useForm(form?: FormInstance): readonly [FormInstance];
|
|
730
|
+
/** 表单的属性配置。 */
|
|
315
731
|
interface FormProps extends Omit<FormHTMLAttributes<HTMLFormElement>, "onSubmit"> {
|
|
732
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
316
733
|
size?: ControlSize;
|
|
734
|
+
/** 表单实例;可由 Form.useForm() 或 useForm() 创建。 */
|
|
317
735
|
form?: FormInstance;
|
|
736
|
+
/** 表单初始值 */
|
|
318
737
|
initialValues?: FormValues;
|
|
738
|
+
/**
|
|
739
|
+
* 布局方式。
|
|
740
|
+
* @defaultValue "horizontal"
|
|
741
|
+
*/
|
|
319
742
|
layout?: "horizontal" | "vertical" | "inline";
|
|
743
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
320
744
|
placeholderMode?: InputPlaceholderMode;
|
|
745
|
+
/**
|
|
746
|
+
* 是否禁用交互。
|
|
747
|
+
* @defaultValue false
|
|
748
|
+
*/
|
|
321
749
|
disabled?: boolean;
|
|
750
|
+
/**
|
|
751
|
+
* 是否显示必填标识。
|
|
752
|
+
* @defaultValue true
|
|
753
|
+
*/
|
|
322
754
|
requiredMark?: boolean | "optional";
|
|
755
|
+
/** 提交并且校验通过时调用,参数为完整的表单字段值。 */
|
|
323
756
|
onFinish?: (values: FormValues) => void;
|
|
757
|
+
/** 表单提交校验失败时调用,参数包含字段值和错误列表。 */
|
|
324
758
|
onFinishFailed?: (info: {
|
|
759
|
+
/** 字段值或选中值的集合。 */
|
|
325
760
|
values: FormValues;
|
|
761
|
+
/** 校验失败的字段及其错误信息。 */
|
|
326
762
|
errorFields: readonly FormErrorField[];
|
|
327
763
|
}) => void;
|
|
764
|
+
/** 字段通过表单控件交互更新时调用,接收本次变化字段和完整值;用于联动查询条件等业务逻辑。 */
|
|
328
765
|
onValuesChange?: (changedValues: FormValues, values: FormValues) => void;
|
|
329
766
|
}
|
|
330
767
|
declare function FormRoot({ form, initialValues, layout, size: sizeProp, placeholderMode, disabled, requiredMark, className, onFinish, onFinishFailed, onValuesChange, children, ...props }: FormProps): react.JSX.Element;
|
|
768
|
+
/** FormItem的属性配置。 */
|
|
331
769
|
interface FormItemProps {
|
|
770
|
+
/** 绑定到表单值的字段名或嵌套路径,例如 ["user", "name"]。 */
|
|
332
771
|
name?: NamePath;
|
|
772
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
333
773
|
label?: ReactNode;
|
|
774
|
+
/**
|
|
775
|
+
* 字段的校验规则,按配置执行。
|
|
776
|
+
* @defaultValue []
|
|
777
|
+
*/
|
|
334
778
|
rules?: readonly FormRule[];
|
|
779
|
+
/** 是否为必填字段。 */
|
|
335
780
|
required?: boolean;
|
|
781
|
+
/** 主体之外的补充内容或操作区。 */
|
|
336
782
|
extra?: ReactNode;
|
|
783
|
+
/** 字段下方的辅助说明或校验提示。 */
|
|
337
784
|
help?: ReactNode;
|
|
785
|
+
/** 手动指定字段校验状态。 */
|
|
338
786
|
validateStatus?: "success" | "warning" | "error" | "validating";
|
|
787
|
+
/**
|
|
788
|
+
* 向子控件传递值时使用的属性名,如 value 或 checked。
|
|
789
|
+
* @defaultValue "value"
|
|
790
|
+
*/
|
|
339
791
|
valuePropName?: string;
|
|
792
|
+
/**
|
|
793
|
+
* 触发显示的交互方式。
|
|
794
|
+
* @defaultValue "onChange"
|
|
795
|
+
*/
|
|
340
796
|
trigger?: string;
|
|
797
|
+
/**
|
|
798
|
+
* 触发字段校验的事件名或事件名集合。
|
|
799
|
+
* @defaultValue "onChange"
|
|
800
|
+
*/
|
|
341
801
|
validateTrigger?: string | readonly string[];
|
|
802
|
+
/** 从子控件的事件参数中提取需要写入表单的值。 */
|
|
342
803
|
getValueFromEvent?: (...args: unknown[]) => unknown;
|
|
804
|
+
/**
|
|
805
|
+
* 只提供字段绑定与校验,不渲染 Form.Item 的布局容器。
|
|
806
|
+
* @defaultValue false
|
|
807
|
+
*/
|
|
343
808
|
noStyle?: boolean;
|
|
809
|
+
/** 依赖的字段路径;依赖变化时更新当前字段。 */
|
|
344
810
|
dependencies?: readonly NamePath[];
|
|
811
|
+
/** 控制表单值变化后是否重新渲染此项,可传比较函数。 */
|
|
345
812
|
shouldUpdate?: boolean | ((previous: FormValues, next: FormValues) => boolean);
|
|
813
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
346
814
|
children?: ReactNode | ((form: FormInstance) => ReactNode);
|
|
815
|
+
/**
|
|
816
|
+
* 附加到组件根节点的 CSS 类名。
|
|
817
|
+
* @defaultValue ""
|
|
818
|
+
*/
|
|
347
819
|
className?: string;
|
|
348
820
|
}
|
|
349
821
|
declare function FormItem({ name, label, rules, required, extra, help, validateStatus, valuePropName, trigger, validateTrigger, getValueFromEvent, noStyle, children, className, }: FormItemProps): react.JSX.Element;
|
|
822
|
+
/** 动态列表中一个字段的渲染标识和索引。 */
|
|
350
823
|
interface FormListField {
|
|
824
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
351
825
|
key: number;
|
|
826
|
+
/** 该字段在表单列表中的索引。 */
|
|
352
827
|
name: number;
|
|
353
828
|
}
|
|
829
|
+
/** 动态表单列表的新增、删除和移动操作。 */
|
|
354
830
|
interface FormListOperation {
|
|
831
|
+
/** 新增列表项,可指定初始值和插入位置。 */
|
|
355
832
|
add: (value?: unknown, index?: number) => void;
|
|
833
|
+
/** 删除指定索引的列表项。 */
|
|
356
834
|
remove: (index: number | readonly number[]) => void;
|
|
835
|
+
/** 将列表项从源索引移动到目标索引。 */
|
|
357
836
|
move: (from: number, to: number) => void;
|
|
358
837
|
}
|
|
838
|
+
/** FormList的属性配置。 */
|
|
359
839
|
interface FormListProps {
|
|
840
|
+
/** 名称或字段标识。 */
|
|
360
841
|
name: NamePath;
|
|
842
|
+
/** 列表渲染函数,接收字段描述和 add、remove、move 操作。 */
|
|
361
843
|
children: (fields: readonly FormListField[], operations: FormListOperation) => ReactNode;
|
|
362
844
|
}
|
|
363
845
|
declare function FormList({ name, children }: FormListProps): ReactNode;
|
|
364
846
|
declare function FormErrorList({ errors }: {
|
|
847
|
+
/** 要显示的字段校验错误列表。 */
|
|
365
848
|
errors?: readonly ReactNode[];
|
|
366
849
|
}): react.JSX.Element | null;
|
|
850
|
+
/** 表单组件。 */
|
|
367
851
|
declare const Form: typeof FormRoot & {
|
|
852
|
+
/** 表单字段,负责字段值绑定、校验和标签布局。 */
|
|
368
853
|
Item: typeof FormItem;
|
|
854
|
+
/** 动态表单列表,提供字段索引以及新增、删除、移动操作。 */
|
|
369
855
|
List: typeof FormList;
|
|
856
|
+
/** 显示表单错误文本集合。 */
|
|
370
857
|
ErrorList: typeof FormErrorList;
|
|
858
|
+
/** 创建或复用表单实例,返回单元素元组 [form]。 */
|
|
371
859
|
useForm: typeof useForm;
|
|
372
860
|
};
|
|
373
861
|
|
|
862
|
+
/** 复选框的值类型。 */
|
|
374
863
|
type CheckboxValue = string | number;
|
|
864
|
+
/** 复选框的属性配置。 */
|
|
375
865
|
interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "value" | "onChange"> {
|
|
866
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
376
867
|
size?: ControlSize;
|
|
868
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
377
869
|
value?: CheckboxValue;
|
|
870
|
+
/**
|
|
871
|
+
* 半选状态
|
|
872
|
+
* @defaultValue false
|
|
873
|
+
*/
|
|
378
874
|
indeterminate?: boolean;
|
|
875
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
379
876
|
children?: ReactNode;
|
|
877
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
380
878
|
onChange?: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
|
|
381
879
|
}
|
|
880
|
+
/** 复选框的候选项定义。 */
|
|
382
881
|
interface CheckboxOption {
|
|
882
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
383
883
|
label: ReactNode;
|
|
884
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
384
885
|
value: CheckboxValue;
|
|
886
|
+
/** 是否禁用交互。 */
|
|
385
887
|
disabled?: boolean;
|
|
386
888
|
}
|
|
889
|
+
/** CheckboxGroup的属性配置。 */
|
|
387
890
|
interface CheckboxGroupProps {
|
|
891
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
388
892
|
size?: ControlSize;
|
|
893
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
389
894
|
value?: readonly CheckboxValue[];
|
|
895
|
+
/**
|
|
896
|
+
* 非受控模式的初始值,仅在初始化时使用。
|
|
897
|
+
* @defaultValue []
|
|
898
|
+
*/
|
|
390
899
|
defaultValue?: readonly CheckboxValue[];
|
|
900
|
+
/** 可供用户选择的候选项列表。 */
|
|
391
901
|
options?: readonly (CheckboxOption | CheckboxValue)[];
|
|
902
|
+
/** 是否禁用交互。 */
|
|
392
903
|
disabled?: boolean;
|
|
904
|
+
/** 名称或字段标识。 */
|
|
393
905
|
name?: string;
|
|
906
|
+
/**
|
|
907
|
+
* 附加到组件根节点的 CSS 类名。
|
|
908
|
+
* @defaultValue ""
|
|
909
|
+
*/
|
|
394
910
|
className?: string;
|
|
911
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
395
912
|
children?: ReactNode;
|
|
913
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
396
914
|
onChange?: (values: readonly CheckboxValue[]) => void;
|
|
397
915
|
}
|
|
398
916
|
declare function CheckboxGroup({ size: sizeProp, value, defaultValue, options, disabled, name, className, children, onChange, }: CheckboxGroupProps): react.JSX.Element;
|
|
917
|
+
/** 复选框组件。 */
|
|
399
918
|
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>> & {
|
|
919
|
+
/** 组合多个子项并统一管理布局或选择状态。 */
|
|
400
920
|
Group: typeof CheckboxGroup;
|
|
401
921
|
};
|
|
402
922
|
|
|
923
|
+
/** 单选框的值类型。 */
|
|
403
924
|
type RadioValue = string | number;
|
|
925
|
+
/** 单选框的属性配置。 */
|
|
404
926
|
interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "value" | "onChange"> {
|
|
927
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
405
928
|
size?: ControlSize;
|
|
929
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
406
930
|
value: RadioValue;
|
|
931
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
407
932
|
children?: ReactNode;
|
|
933
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
408
934
|
onChange?: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
|
|
409
935
|
}
|
|
936
|
+
/** 单选框的候选项定义。 */
|
|
410
937
|
interface RadioOption {
|
|
938
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
411
939
|
label: ReactNode;
|
|
940
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
412
941
|
value: RadioValue;
|
|
942
|
+
/** 是否禁用交互。 */
|
|
413
943
|
disabled?: boolean;
|
|
414
944
|
}
|
|
945
|
+
/** RadioGroup的属性配置。 */
|
|
415
946
|
interface RadioGroupProps {
|
|
947
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
416
948
|
size?: ControlSize;
|
|
949
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
417
950
|
value?: RadioValue;
|
|
951
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
418
952
|
defaultValue?: RadioValue;
|
|
953
|
+
/** 可供用户选择的候选项列表。 */
|
|
419
954
|
options?: readonly (RadioOption | RadioValue)[];
|
|
955
|
+
/**
|
|
956
|
+
* 普通或按钮形态
|
|
957
|
+
* @defaultValue "default"
|
|
958
|
+
*/
|
|
420
959
|
optionType?: "default" | "button";
|
|
960
|
+
/**
|
|
961
|
+
* 按钮选中样式
|
|
962
|
+
* @defaultValue "outline"
|
|
963
|
+
*/
|
|
421
964
|
buttonStyle?: "outline" | "solid";
|
|
965
|
+
/** 是否禁用交互。 */
|
|
422
966
|
disabled?: boolean;
|
|
967
|
+
/** 名称或字段标识。 */
|
|
423
968
|
name?: string;
|
|
969
|
+
/**
|
|
970
|
+
* 附加到组件根节点的 CSS 类名。
|
|
971
|
+
* @defaultValue ""
|
|
972
|
+
*/
|
|
424
973
|
className?: string;
|
|
974
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
425
975
|
children?: ReactNode;
|
|
976
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
426
977
|
onChange?: (value: RadioValue) => void;
|
|
427
978
|
}
|
|
428
979
|
declare function RadioButton(props: RadioProps): react.JSX.Element;
|
|
429
980
|
declare function RadioGroup({ size: sizeProp, value, defaultValue, options, optionType, buttonStyle, disabled, name, className, children, onChange, }: RadioGroupProps): react.JSX.Element;
|
|
981
|
+
/** 单选框组件。 */
|
|
430
982
|
declare const Radio: react.ForwardRefExoticComponent<RadioProps & {
|
|
431
983
|
button?: boolean;
|
|
432
984
|
} & react.RefAttributes<HTMLInputElement>> & {
|
|
985
|
+
/** 组合主操作按钮与下拉菜单的按钮组件。 */
|
|
433
986
|
Button: typeof RadioButton;
|
|
987
|
+
/** 组合多个子项并统一管理布局或选择状态。 */
|
|
434
988
|
Group: typeof RadioGroup;
|
|
435
989
|
};
|
|
436
990
|
|
|
991
|
+
/** 滑块的值类型。 */
|
|
437
992
|
type SliderValue = number | readonly [number, number];
|
|
993
|
+
/** 滑块上的刻度标签定义。 */
|
|
438
994
|
interface SliderMark {
|
|
995
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
439
996
|
label: ReactNode;
|
|
997
|
+
/** 组件根节点的内联样式。 */
|
|
440
998
|
style?: CSSProperties;
|
|
441
999
|
}
|
|
1000
|
+
/** 滑块的属性配置。 */
|
|
442
1001
|
interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
|
|
1002
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
443
1003
|
value?: SliderValue;
|
|
1004
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
444
1005
|
defaultValue?: SliderValue;
|
|
1006
|
+
/**
|
|
1007
|
+
* 允许的最小值。
|
|
1008
|
+
* @defaultValue 0
|
|
1009
|
+
*/
|
|
445
1010
|
min?: number;
|
|
1011
|
+
/**
|
|
1012
|
+
* 允许的最大值。
|
|
1013
|
+
* @defaultValue 100
|
|
1014
|
+
*/
|
|
446
1015
|
max?: number;
|
|
1016
|
+
/**
|
|
1017
|
+
* 每次改变的步长
|
|
1018
|
+
* @defaultValue 1
|
|
1019
|
+
*/
|
|
447
1020
|
step?: number;
|
|
1021
|
+
/**
|
|
1022
|
+
* 是否启用范围选择,或指定选择范围。
|
|
1023
|
+
* @defaultValue false
|
|
1024
|
+
*/
|
|
448
1025
|
range?: boolean;
|
|
1026
|
+
/**
|
|
1027
|
+
* 是否禁用交互。
|
|
1028
|
+
* @defaultValue false
|
|
1029
|
+
*/
|
|
449
1030
|
disabled?: boolean;
|
|
1031
|
+
/**
|
|
1032
|
+
* 反转节点顺序
|
|
1033
|
+
* @defaultValue false
|
|
1034
|
+
*/
|
|
450
1035
|
reverse?: boolean;
|
|
1036
|
+
/**
|
|
1037
|
+
* 是否使用垂直布局。
|
|
1038
|
+
* @defaultValue false
|
|
1039
|
+
*/
|
|
451
1040
|
vertical?: boolean;
|
|
1041
|
+
/** 刻度标记 */
|
|
452
1042
|
marks?: Readonly<Record<number, ReactNode | SliderMark>>;
|
|
1043
|
+
/** 提示内容或提示框配置。 */
|
|
453
1044
|
tooltip?: {
|
|
1045
|
+
/** 是否打开;传入后由外部控制显示状态。 */
|
|
454
1046
|
open?: boolean;
|
|
1047
|
+
/** 将原始值转换为展示文本的函数。 */
|
|
455
1048
|
formatter?: (value: number) => ReactNode;
|
|
456
1049
|
};
|
|
1050
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
457
1051
|
onChange?: (value: SliderValue) => void;
|
|
1052
|
+
/** 拖动完成回调 */
|
|
458
1053
|
onChangeComplete?: (value: SliderValue) => void;
|
|
459
1054
|
}
|
|
1055
|
+
/** 滑块组件。 */
|
|
460
1056
|
declare function Slider({ value, defaultValue, min, max, step, range, disabled, reverse, vertical, marks, tooltip, className, onChange, onChangeComplete, ...props }: SliderProps): react.JSX.Element;
|
|
461
1057
|
|
|
1058
|
+
/** 颜色选择的模式类型。 */
|
|
462
1059
|
type ColorPickerMode = "solid" | "gradient";
|
|
1060
|
+
/** 预设颜色分组定义。 */
|
|
463
1061
|
interface ColorPickerPreset {
|
|
1062
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
464
1063
|
label?: ReactNode;
|
|
1064
|
+
/** 可选颜色或颜色序列。 */
|
|
465
1065
|
colors: readonly string[];
|
|
466
1066
|
}
|
|
1067
|
+
/** 颜色选择的属性配置。 */
|
|
467
1068
|
interface ColorPickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
|
|
1069
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
468
1070
|
size?: ControlSize;
|
|
1071
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
469
1072
|
value?: string;
|
|
1073
|
+
/**
|
|
1074
|
+
* 非受控模式的初始值,仅在初始化时使用。
|
|
1075
|
+
* @defaultValue "#1677FF"
|
|
1076
|
+
*/
|
|
470
1077
|
defaultValue?: string;
|
|
1078
|
+
/** 展示或交互模式;可选值见类型定义。 */
|
|
471
1079
|
mode?: ColorPickerMode;
|
|
1080
|
+
/**
|
|
1081
|
+
* 初始化时使用的模式。
|
|
1082
|
+
* @defaultValue "solid"
|
|
1083
|
+
*/
|
|
472
1084
|
defaultMode?: ColorPickerMode;
|
|
1085
|
+
/**
|
|
1086
|
+
允许切换的模式集合。
|
|
1087
|
+
* @defaultValue DEFAULT_MODES
|
|
1088
|
+
*/
|
|
473
1089
|
modes?: readonly ColorPickerMode[];
|
|
1090
|
+
/**
|
|
1091
|
+
* 是否禁用交互。
|
|
1092
|
+
* @defaultValue false
|
|
1093
|
+
*/
|
|
474
1094
|
disabled?: boolean;
|
|
1095
|
+
/**
|
|
1096
|
+
是否允许清空当前选择或输入值。
|
|
1097
|
+
* @defaultValue false
|
|
1098
|
+
*/
|
|
475
1099
|
allowClear?: boolean;
|
|
1100
|
+
/**
|
|
1101
|
+
* 是否显示文字内容。
|
|
1102
|
+
* @defaultValue false
|
|
1103
|
+
*/
|
|
476
1104
|
showText?: boolean | ((color: string) => ReactNode);
|
|
1105
|
+
/**
|
|
1106
|
+
* 是否显示透明度调节控件。
|
|
1107
|
+
* @defaultValue false
|
|
1108
|
+
*/
|
|
477
1109
|
showAlpha?: boolean;
|
|
1110
|
+
/** 预设候选值或快捷选项集合。 */
|
|
478
1111
|
presets?: readonly ColorPickerPreset[];
|
|
1112
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
479
1113
|
onChange?: (color: string) => void;
|
|
1114
|
+
/** 拖动完成回调 */
|
|
480
1115
|
onChangeComplete?: (color: string) => void;
|
|
1116
|
+
/** 模式切换后调用。 */
|
|
481
1117
|
onModeChange?: (mode: ColorPickerMode) => void;
|
|
1118
|
+
/** 清空当前值时调用。 */
|
|
482
1119
|
onClear?: () => void;
|
|
483
1120
|
}
|
|
1121
|
+
/** 颜色选择组件。 */
|
|
484
1122
|
declare function ColorPicker({ size: sizeProp, value, defaultValue, mode, defaultMode, modes, disabled, allowClear, showText, showAlpha, presets, className, onChange, onChangeComplete, onModeChange, onClear, ...props }: ColorPickerProps): react.JSX.Element;
|
|
485
1123
|
|
|
1124
|
+
/** 时间选择的属性配置。 */
|
|
486
1125
|
interface TimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "value" | "defaultValue" | "onChange"> {
|
|
1126
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
487
1127
|
placeholderMode?: InputPlaceholderMode;
|
|
1128
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
488
1129
|
value?: string;
|
|
1130
|
+
/**
|
|
1131
|
+
* 非受控模式的初始值,仅在初始化时使用。
|
|
1132
|
+
* @defaultValue ""
|
|
1133
|
+
*/
|
|
489
1134
|
defaultValue?: string;
|
|
1135
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
490
1136
|
size?: ControlSize;
|
|
1137
|
+
/**
|
|
1138
|
+
* 当前状态,用于选择对应的状态样式。
|
|
1139
|
+
* @defaultValue "default"
|
|
1140
|
+
*/
|
|
491
1141
|
status?: ControlStatus;
|
|
1142
|
+
/**
|
|
1143
|
+
是否允许清空当前选择或输入值。
|
|
1144
|
+
* @defaultValue true
|
|
1145
|
+
*/
|
|
492
1146
|
allowClear?: boolean;
|
|
1147
|
+
/**
|
|
1148
|
+
* 是否使用 12 小时制。
|
|
1149
|
+
* @defaultValue false
|
|
1150
|
+
*/
|
|
493
1151
|
use12Hours?: boolean;
|
|
1152
|
+
/**
|
|
1153
|
+
* 是否显示秒选择。
|
|
1154
|
+
* @defaultValue false
|
|
1155
|
+
*/
|
|
494
1156
|
showSecond?: boolean;
|
|
1157
|
+
/** 显示在控件末尾的图标。 */
|
|
495
1158
|
suffixIcon?: ReactNode;
|
|
1159
|
+
/** 禁用时间判断 */
|
|
496
1160
|
disabledTime?: (value: string) => boolean;
|
|
1161
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
497
1162
|
onChange?: (value: string) => void;
|
|
1163
|
+
/** 打开状态改变时触发,参数为新的打开状态。 */
|
|
498
1164
|
onOpenChange?: (open: boolean) => void;
|
|
499
1165
|
}
|
|
1166
|
+
/** 时间区间选择的属性配置。 */
|
|
500
1167
|
interface TimeRangePickerProps extends Omit<TimePickerProps, "value" | "defaultValue" | "onChange" | "placeholder"> {
|
|
1168
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
501
1169
|
value?: readonly [string, string];
|
|
1170
|
+
/**
|
|
1171
|
+
* 非受控模式的初始值,仅在初始化时使用。
|
|
1172
|
+
* @defaultValue ["", ""]
|
|
1173
|
+
*/
|
|
502
1174
|
defaultValue?: readonly [string, string];
|
|
1175
|
+
/**
|
|
1176
|
+
* 未填写或未选择时的提示内容。
|
|
1177
|
+
* @defaultValue ["开始时间", "结束时间"]
|
|
1178
|
+
*/
|
|
503
1179
|
placeholder?: readonly [string, string];
|
|
1180
|
+
/**
|
|
1181
|
+
* 全局分隔符,可传入图标或文字
|
|
1182
|
+
* @defaultValue "→"
|
|
1183
|
+
*/
|
|
504
1184
|
separator?: ReactNode;
|
|
1185
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
505
1186
|
onChange?: (value: readonly [string, string]) => void;
|
|
506
1187
|
}
|
|
507
1188
|
declare function TimeRangePicker({ value, defaultValue, placeholder, separator, onChange, className, style, ...props }: TimeRangePickerProps): react.JSX.Element;
|
|
1189
|
+
/** 时间选择组件。 */
|
|
508
1190
|
declare function TimePicker({ value, defaultValue, size: sizeProp, status, allowClear, use12Hours, showSecond, suffixIcon, disabledTime, disabled, readOnly, className, style, onChange, onOpenChange, placeholder, placeholderMode, min, max, step, ...props }: TimePickerProps): react.JSX.Element;
|
|
509
1191
|
declare namespace TimePicker {
|
|
1192
|
+
/** 时间区间选择器。 */
|
|
510
1193
|
const RangePicker: typeof TimeRangePicker;
|
|
511
1194
|
}
|
|
512
1195
|
|
|
1196
|
+
/** 树选择的值类型。 */
|
|
513
1197
|
type TreeSelectValue = string | number;
|
|
1198
|
+
/** 树选择器的节点,包含值、标签、子节点和禁用状态。 */
|
|
514
1199
|
interface TreeSelectNode {
|
|
1200
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
515
1201
|
title: ReactNode;
|
|
1202
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
516
1203
|
value: TreeSelectValue;
|
|
1204
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
517
1205
|
key?: string | number;
|
|
1206
|
+
/** 是否禁用交互。 */
|
|
518
1207
|
disabled?: boolean;
|
|
1208
|
+
/** 是否允许选中项目。 */
|
|
519
1209
|
selectable?: boolean;
|
|
1210
|
+
/** 是否仅禁用该节点的勾选框。 */
|
|
520
1211
|
disableCheckbox?: boolean;
|
|
1212
|
+
/** 是否显示勾选框或允许勾选。 */
|
|
521
1213
|
checkable?: boolean;
|
|
1214
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
522
1215
|
children?: readonly TreeSelectNode[];
|
|
523
1216
|
}
|
|
1217
|
+
/** 树选择的属性配置。 */
|
|
524
1218
|
interface TreeSelectProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange" | "onSelect"> {
|
|
1219
|
+
/** 树形节点数据 */
|
|
525
1220
|
treeData: readonly TreeSelectNode[];
|
|
1221
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
526
1222
|
value?: TreeSelectValue | readonly TreeSelectValue[] | null;
|
|
1223
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
527
1224
|
defaultValue?: TreeSelectValue | readonly TreeSelectValue[];
|
|
1225
|
+
/**
|
|
1226
|
+
是否允许同时选择多个项目。
|
|
1227
|
+
* @defaultValue false
|
|
1228
|
+
*/
|
|
528
1229
|
multiple?: boolean;
|
|
1230
|
+
/**
|
|
1231
|
+
* 是否显示树节点复选框。
|
|
1232
|
+
* @defaultValue false
|
|
1233
|
+
*/
|
|
529
1234
|
treeCheckable?: boolean;
|
|
1235
|
+
/**
|
|
1236
|
+
是否显示搜索输入框。
|
|
1237
|
+
* @defaultValue false
|
|
1238
|
+
*/
|
|
530
1239
|
showSearch?: boolean;
|
|
1240
|
+
/**
|
|
1241
|
+
是否允许清空当前选择或输入值。
|
|
1242
|
+
* @defaultValue false
|
|
1243
|
+
*/
|
|
531
1244
|
allowClear?: boolean;
|
|
1245
|
+
/**
|
|
1246
|
+
* 默认展开全部节点
|
|
1247
|
+
* @defaultValue false
|
|
1248
|
+
*/
|
|
532
1249
|
treeDefaultExpandAll?: boolean;
|
|
1250
|
+
/**
|
|
1251
|
+
* 未填写或未选择时的提示内容。
|
|
1252
|
+
* @defaultValue "请选择"
|
|
1253
|
+
*/
|
|
533
1254
|
placeholder?: ReactNode;
|
|
1255
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
534
1256
|
placeholderMode?: InputPlaceholderMode;
|
|
1257
|
+
/**
|
|
1258
|
+
* 搜索框的占位提示文字。
|
|
1259
|
+
* @defaultValue "搜索节点"
|
|
1260
|
+
*/
|
|
535
1261
|
searchPlaceholder?: string;
|
|
536
1262
|
/** 最多显示的标签数;空间不足时会继续折叠,并为 +N 预留宽度。 */
|
|
537
1263
|
maxTagCount?: number;
|
|
1264
|
+
/**
|
|
1265
|
+
* 是否禁用交互。
|
|
1266
|
+
* @defaultValue false
|
|
1267
|
+
*/
|
|
538
1268
|
disabled?: boolean;
|
|
1269
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
539
1270
|
size?: ControlSize;
|
|
1271
|
+
/**
|
|
1272
|
+
* 当前状态,用于选择对应的状态样式。
|
|
1273
|
+
* @defaultValue "default"
|
|
1274
|
+
*/
|
|
540
1275
|
status?: ControlStatus;
|
|
1276
|
+
/** 是否打开;传入后由外部控制显示状态。 */
|
|
541
1277
|
open?: boolean;
|
|
1278
|
+
/**
|
|
1279
|
+
* 非受控模式下的初始打开状态。
|
|
1280
|
+
* @defaultValue false
|
|
1281
|
+
*/
|
|
542
1282
|
defaultOpen?: boolean;
|
|
1283
|
+
/** 受控的搜索文本。 */
|
|
543
1284
|
searchValue?: string;
|
|
1285
|
+
/** 受控的树节点展开标识集合。 */
|
|
544
1286
|
treeExpandedKeys?: readonly TreeSelectValue[];
|
|
1287
|
+
/**
|
|
1288
|
+
* 初始展开的树节点标识集合。
|
|
1289
|
+
* @defaultValue []
|
|
1290
|
+
*/
|
|
545
1291
|
treeDefaultExpandedKeys?: readonly TreeSelectValue[];
|
|
1292
|
+
/** 树节点展开状态改变时调用。 */
|
|
546
1293
|
onTreeExpand?: (keys: TreeSelectValue[]) => void;
|
|
1294
|
+
/** 自定义树节点的搜索匹配规则。 */
|
|
547
1295
|
filterTreeNode?: false | ((search: string, node: TreeSelectNode) => boolean);
|
|
548
1296
|
/** 默认独立勾选;关闭后父子节点联动,禁用节点作为边界。 */
|
|
549
1297
|
treeCheckStrictly?: boolean;
|
|
1298
|
+
/**
|
|
1299
|
+
* 勾选结果的展示策略,控制父子节点如何显示。
|
|
1300
|
+
* @defaultValue "all"
|
|
1301
|
+
*/
|
|
550
1302
|
showCheckedStrategy?: "all" | "parent" | "child";
|
|
1303
|
+
/**
|
|
1304
|
+
* 是否处于加载状态。
|
|
1305
|
+
* @defaultValue false
|
|
1306
|
+
*/
|
|
551
1307
|
loading?: boolean;
|
|
1308
|
+
/**
|
|
1309
|
+
* 选项列表的最大可视高度,单位为像素。
|
|
1310
|
+
* @defaultValue 300
|
|
1311
|
+
*/
|
|
552
1312
|
listHeight?: number;
|
|
1313
|
+
/**
|
|
1314
|
+
* 弹出面板的附加 CSS 类名。
|
|
1315
|
+
* @defaultValue ""
|
|
1316
|
+
*/
|
|
553
1317
|
popupClassName?: string;
|
|
1318
|
+
/** 弹出面板的内联样式。 */
|
|
554
1319
|
popupStyle?: React.CSSProperties;
|
|
1320
|
+
/** 下拉面板底部扩展内容。 */
|
|
555
1321
|
dropdownFooter?: ReactNode;
|
|
1322
|
+
/** 自定义已选结果的显示内容。 */
|
|
556
1323
|
displayRender?: (nodes: readonly TreeSelectNode[]) => ReactNode;
|
|
1324
|
+
/** 自定义触发控件的渲染函数。 */
|
|
557
1325
|
renderTrigger?: (state: {
|
|
1326
|
+
/** 是否打开;传入后由外部控制显示状态。 */
|
|
558
1327
|
open: boolean;
|
|
1328
|
+
/** 切换当前打开或选中状态。 */
|
|
559
1329
|
toggle: () => void;
|
|
1330
|
+
/** 清空当前值或内容。 */
|
|
560
1331
|
clear: () => void;
|
|
561
1332
|
}) => ReactNode;
|
|
1333
|
+
/** 清空当前值时调用。 */
|
|
562
1334
|
onClear?: () => void;
|
|
1335
|
+
/** 选中项目时调用,参数包含选中项目及关联状态。 */
|
|
563
1336
|
onSelect?: (value: TreeSelectValue, node: TreeSelectNode) => void;
|
|
1337
|
+
/** 取消选中项目时调用。 */
|
|
564
1338
|
onDeselect?: (value: TreeSelectValue, node: TreeSelectNode) => void;
|
|
1339
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
565
1340
|
onChange?: (value: TreeSelectValue | readonly TreeSelectValue[] | undefined, nodes: readonly TreeSelectNode[]) => void;
|
|
1341
|
+
/** 搜索条件变化或提交搜索时调用,具体参数见签名。 */
|
|
566
1342
|
onSearch?: (value: string) => void;
|
|
1343
|
+
/** 下拉面板显示状态变化时调用。 */
|
|
567
1344
|
onDropdownVisibleChange?: (open: boolean) => void;
|
|
568
1345
|
}
|
|
1346
|
+
/** 树选择组件。 */
|
|
569
1347
|
declare function TreeSelect({ treeData, value, defaultValue, multiple, treeCheckable, showSearch, allowClear, treeDefaultExpandAll, placeholder, placeholderMode, searchPlaceholder, maxTagCount, disabled, size: sizeProp, status, className, onChange, onSearch, onDropdownVisibleChange, open: controlledOpen, defaultOpen, searchValue, treeExpandedKeys, treeDefaultExpandedKeys, onTreeExpand, filterTreeNode, treeCheckStrictly, showCheckedStrategy, loading, listHeight, popupClassName, popupStyle, dropdownFooter, displayRender, renderTrigger, onClear, onSelect, onDeselect, ...props }: TreeSelectProps): react.JSX.Element;
|
|
570
1348
|
|
|
1349
|
+
/** FlatTree的配置选项。 */
|
|
571
1350
|
interface FlatTreeOptions {
|
|
1351
|
+
/** 扁平数据中用作节点唯一标识的字段名。 */
|
|
572
1352
|
idField?: string;
|
|
1353
|
+
/** 扁平数据中用作父节点标识的字段名。 */
|
|
573
1354
|
parentIdField?: string;
|
|
1355
|
+
/** 用来判断根节点的父标识值。 */
|
|
574
1356
|
rootParentId?: unknown;
|
|
575
1357
|
}
|
|
1358
|
+
/** 保留原始字段并补充 children 的树节点。 */
|
|
576
1359
|
type FlatTreeNode<T> = T & {
|
|
1360
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
577
1361
|
children: FlatTreeNode<T>[];
|
|
578
1362
|
};
|
|
579
1363
|
/** 平级列表转树;容忍孤儿节点,并切断自引用和循环关系,防止递归溢出。 */
|
|
580
1364
|
declare function buildFlatTree<T extends Record<string, any>>(items: readonly T[], options?: FlatTreeOptions): FlatTreeNode<T>[];
|
|
581
1365
|
|
|
1366
|
+
/** 多行输入的属性配置。 */
|
|
582
1367
|
interface TextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
1368
|
+
/** 调整字号和内边距;保留 rows 和内容决定的多行高度。默认继承 Form */
|
|
583
1369
|
size?: ControlSize;
|
|
1370
|
+
/** 字段标签 */
|
|
584
1371
|
label?: ReactNode;
|
|
1372
|
+
/** 帮助或校验信息 */
|
|
585
1373
|
hint?: ReactNode;
|
|
1374
|
+
/**
|
|
1375
|
+
* 校验状态
|
|
1376
|
+
* @defaultValue "default"
|
|
1377
|
+
*/
|
|
586
1378
|
status?: ControlStatus;
|
|
1379
|
+
/**
|
|
1380
|
+
* 显示当前字符数
|
|
1381
|
+
* @defaultValue false
|
|
1382
|
+
*/
|
|
587
1383
|
showCount?: boolean;
|
|
1384
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
588
1385
|
placeholderMode?: InputPlaceholderMode;
|
|
589
1386
|
}
|
|
1387
|
+
/** 多行输入组件。 */
|
|
590
1388
|
declare const TextArea: react.ForwardRefExoticComponent<TextAreaProps & react.RefAttributes<HTMLTextAreaElement>>;
|
|
591
1389
|
|
|
1390
|
+
/** 代码编辑器支持的 SQL 方言名称。 */
|
|
592
1391
|
type SqlDialectLanguage = "sql-postgresql" | "sql-mysql" | "sql-sqlserver" | "sql-sqlite";
|
|
593
1392
|
|
|
1393
|
+
/** 代码编辑器的配色主题。 */
|
|
594
1394
|
type EditorTheme = "light" | "dark";
|
|
1395
|
+
/** 代码编辑器支持的语言名称。 */
|
|
595
1396
|
type EditorLanguage = SqlDialectLanguage | (string & {});
|
|
1397
|
+
/** 编辑器中的文本范围,行号和列号从 1 开始。 */
|
|
596
1398
|
interface EditorRange {
|
|
1399
|
+
/** 起始行号,从 1 开始。 */
|
|
597
1400
|
startLineNumber: number;
|
|
1401
|
+
/** 起始列号,从 1 开始。 */
|
|
598
1402
|
startColumn: number;
|
|
1403
|
+
/** 结束行号,从 1 开始。 */
|
|
599
1404
|
endLineNumber: number;
|
|
1405
|
+
/** 结束列号,从 1 开始。 */
|
|
600
1406
|
endColumn: number;
|
|
601
1407
|
}
|
|
1408
|
+
/** 编辑器中的诊断标记,包含范围、严重程度和提示信息。 */
|
|
602
1409
|
interface EditorMarker extends EditorRange {
|
|
1410
|
+
/** 提示或错误消息文本。 */
|
|
603
1411
|
message: string;
|
|
1412
|
+
/** 提示或问题的严重级别。 */
|
|
604
1413
|
severity?: "error" | "warning" | "info";
|
|
1414
|
+
/** 触发来源,用于区分不同入口的操作。 */
|
|
605
1415
|
source?: string;
|
|
606
1416
|
}
|
|
1417
|
+
/** 编辑器选区变化时的范围和选中文本。 */
|
|
607
1418
|
interface EditorSelectionChange {
|
|
1419
|
+
/** 是否启用范围选择,或指定选择范围。 */
|
|
608
1420
|
range: EditorRange;
|
|
1421
|
+
/** 显示文本。 */
|
|
609
1422
|
text: string;
|
|
1423
|
+
/** 插入内容后相对于插入起点的光标偏移。 */
|
|
610
1424
|
cursorOffset: number;
|
|
611
1425
|
}
|
|
1426
|
+
/** 编辑器键盘事件及控制默认行为的方法。 */
|
|
612
1427
|
interface EditorKeyDownEvent {
|
|
1428
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
613
1429
|
key: string;
|
|
1430
|
+
/** 代码内容或按键代码。 */
|
|
614
1431
|
code: string;
|
|
1432
|
+
/** 事件发生时是否按下 Ctrl 键。 */
|
|
615
1433
|
ctrlKey: boolean;
|
|
1434
|
+
/** 事件发生时是否按下 Command 或 Windows 键。 */
|
|
616
1435
|
metaKey: boolean;
|
|
1436
|
+
/** 事件发生时是否按下 Shift 键。 */
|
|
617
1437
|
shiftKey: boolean;
|
|
1438
|
+
/** 事件发生时是否按下 Alt 键。 */
|
|
618
1439
|
altKey: boolean;
|
|
1440
|
+
/** 是否为按住按键产生的重复事件。 */
|
|
619
1441
|
repeat: boolean;
|
|
1442
|
+
/** 阻止事件的浏览器默认行为。 */
|
|
620
1443
|
preventDefault(): void;
|
|
1444
|
+
/** 阻止事件继续传播。 */
|
|
621
1445
|
stopPropagation(): void;
|
|
622
1446
|
}
|
|
1447
|
+
/** 补全候选项类别,用于显示对应图标。 */
|
|
623
1448
|
type EditorCompletionItemKind = "text" | "keyword" | "snippet" | "database" | "schema" | "table" | "view" | "column" | "function" | "procedure" | "value";
|
|
1449
|
+
/** 请求补全时的文档、光标和触发字符上下文。 */
|
|
624
1450
|
interface EditorCompletionContext {
|
|
1451
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
625
1452
|
value: string;
|
|
1453
|
+
/** 文档起始位置到光标之前的文本。 */
|
|
626
1454
|
textBeforeCursor: string;
|
|
1455
|
+
/** 当前行内光标之前的文本。 */
|
|
627
1456
|
lineTextBeforeCursor: string;
|
|
1457
|
+
/** 光标所在位置的单词。 */
|
|
628
1458
|
word: string;
|
|
1459
|
+
/** 显示位置或定位配置。 */
|
|
629
1460
|
position: {
|
|
1461
|
+
/** 行号,从 1 开始。 */
|
|
630
1462
|
lineNumber: number;
|
|
1463
|
+
/** 光标所在的列号,从 1 开始。 */
|
|
631
1464
|
column: number;
|
|
1465
|
+
/** 相对于默认位置的偏移。 */
|
|
632
1466
|
offset: number;
|
|
633
1467
|
};
|
|
1468
|
+
/** 触发补全的字符。 */
|
|
634
1469
|
triggerCharacter?: string;
|
|
635
1470
|
}
|
|
1471
|
+
/** EditorCompletion的项目定义。 */
|
|
636
1472
|
interface EditorCompletionItem {
|
|
1473
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
637
1474
|
label: string;
|
|
1475
|
+
/** 接受补全项后插入的文本。 */
|
|
638
1476
|
insertText?: string;
|
|
1477
|
+
/** 补全项或节点的类别。 */
|
|
639
1478
|
kind?: EditorCompletionItemKind;
|
|
1479
|
+
/** 简短的补充说明。 */
|
|
640
1480
|
detail?: string;
|
|
1481
|
+
/** 补全项的详细说明文档。 */
|
|
641
1482
|
documentation?: string;
|
|
1483
|
+
/** 用于补全过滤匹配的文本。 */
|
|
642
1484
|
filterText?: string;
|
|
1485
|
+
/** 用于补全排序的文本。 */
|
|
643
1486
|
sortText?: string;
|
|
1487
|
+
/** 是否优先选中该补全项。 */
|
|
644
1488
|
preselect?: boolean;
|
|
1489
|
+
/** 输入后可确认此补全项的字符集合。 */
|
|
645
1490
|
commitCharacters?: readonly string[];
|
|
1491
|
+
/** 插入文本的格式,支持普通文本或代码片段。 */
|
|
646
1492
|
insertTextFormat?: "plain" | "snippet";
|
|
1493
|
+
/** 是否启用范围选择,或指定选择范围。 */
|
|
647
1494
|
range?: EditorRange;
|
|
648
1495
|
}
|
|
1496
|
+
/** 根据编辑器上下文生成补全候选项的函数。 */
|
|
649
1497
|
type EditorCompletionProvider = (context: EditorCompletionContext) => readonly EditorCompletionItem[] | Promise<readonly EditorCompletionItem[]>;
|
|
1498
|
+
/** 编辑器可执行的命令名称。 */
|
|
650
1499
|
type EditorCommand = "cut" | "copy" | "paste" | "selectAll";
|
|
1500
|
+
/** EditorContextMenu的项目定义。 */
|
|
651
1501
|
interface EditorContextMenuItem {
|
|
1502
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
652
1503
|
key: string;
|
|
1504
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
653
1505
|
label: string;
|
|
1506
|
+
/** 待执行的编辑命令。 */
|
|
654
1507
|
command?: EditorCommand;
|
|
1508
|
+
/** 显示或绑定的快捷键。 */
|
|
655
1509
|
shortcut?: string;
|
|
1510
|
+
/** 是否禁用交互。 */
|
|
656
1511
|
disabled?: boolean | ((api: EditorHandle | null) => boolean);
|
|
1512
|
+
/** 点击时触发,参数为当前点击事件或项目上下文。 */
|
|
657
1513
|
onClick?: (api: EditorHandle) => void;
|
|
658
1514
|
}
|
|
1515
|
+
/** 代码编辑器的操作句柄。 */
|
|
659
1516
|
interface EditorHandle {
|
|
1517
|
+
/** 将焦点移入控件。 */
|
|
660
1518
|
focus(): void;
|
|
1519
|
+
/** 读取当前内容。 */
|
|
661
1520
|
getValue(): string;
|
|
1521
|
+
/** 读取当前选区范围。 */
|
|
662
1522
|
getSelection(): EditorRange | null;
|
|
1523
|
+
/** 读取当前选区的文本。 */
|
|
663
1524
|
getSelectedText(): string;
|
|
1525
|
+
/** 在当前选区插入块内容。 */
|
|
664
1526
|
insertBlock(content: string): void;
|
|
1527
|
+
/** 为选中行添加或移除行前缀。 */
|
|
665
1528
|
prefixLines(prefix: string): void;
|
|
1529
|
+
/** 替换编辑器的全部内容。 */
|
|
666
1530
|
replaceValue(content: string): void;
|
|
1531
|
+
/** 滚动到指定行并使其可见。 */
|
|
667
1532
|
revealLine(line: number): void;
|
|
1533
|
+
/** 设置编辑器选区。 */
|
|
668
1534
|
setSelection(range: EditorRange): void;
|
|
1535
|
+
/** 用指定前后文本包裹当前选区。 */
|
|
669
1536
|
wrapSelection(prefix: string, suffix: string, placeholder?: string): void;
|
|
670
1537
|
}
|
|
1538
|
+
/** 代码编辑器的属性配置。 */
|
|
671
1539
|
interface EditorProps {
|
|
1540
|
+
/** 编辑器内容 */
|
|
672
1541
|
value: string;
|
|
1542
|
+
/** 内容变化回调 */
|
|
673
1543
|
onChange?: (value: string) => void;
|
|
1544
|
+
/** 实例初始化完成时调用,提供可用的实例或操作接口。 */
|
|
674
1545
|
onReady?: (api: EditorHandle | null) => void;
|
|
1546
|
+
/** 编辑器选区变化时调用。 */
|
|
675
1547
|
onSelectionChange?: (selection: EditorSelectionChange) => void;
|
|
1548
|
+
/** 键盘按下时调用,可用于处理快捷键。 */
|
|
676
1549
|
onKeyDown?: (event: EditorKeyDownEvent) => void;
|
|
1550
|
+
/**
|
|
1551
|
+
* Monaco 语言标识
|
|
1552
|
+
* @defaultValue "plaintext"
|
|
1553
|
+
*/
|
|
677
1554
|
language?: EditorLanguage;
|
|
1555
|
+
/** 文件路径或文档标识,用于关联编辑器模型。 */
|
|
678
1556
|
path?: string;
|
|
1557
|
+
/**
|
|
1558
|
+
组件的配色主题。
|
|
1559
|
+
* @defaultValue "light"
|
|
1560
|
+
*/
|
|
679
1561
|
theme?: EditorTheme;
|
|
1562
|
+
/** Monaco 编辑器配置 */
|
|
680
1563
|
options?: Monaco.editor.IStandaloneEditorConstructionOptions;
|
|
1564
|
+
/** 需要额外高亮的文档范围。 */
|
|
681
1565
|
highlightRange?: EditorRange | null;
|
|
1566
|
+
/**
|
|
1567
|
+
* 在指定文本范围显示错误、警告或信息波浪线
|
|
1568
|
+
* @defaultValue []
|
|
1569
|
+
*/
|
|
682
1570
|
markers?: readonly EditorMarker[];
|
|
1571
|
+
/**
|
|
1572
|
+
* 右键菜单项目配置。
|
|
1573
|
+
* @defaultValue []
|
|
1574
|
+
*/
|
|
683
1575
|
contextMenuItems?: readonly EditorContextMenuItem[];
|
|
1576
|
+
/** 按当前文本和光标上下文异步提供智能提示 */
|
|
684
1577
|
completionProvider?: EditorCompletionProvider;
|
|
1578
|
+
/**
|
|
1579
|
+
* 主动触发智能提示的字符
|
|
1580
|
+
* @defaultValue ["."]
|
|
1581
|
+
*/
|
|
685
1582
|
completionTriggerCharacters?: readonly string[];
|
|
1583
|
+
/**
|
|
1584
|
+
* 按空格时正常输入空格、关闭当前提示,并根据新的光标位置重新触发智能提示
|
|
1585
|
+
* @defaultValue false
|
|
1586
|
+
*/
|
|
686
1587
|
refreshSuggestionOnSpace?: boolean;
|
|
1588
|
+
/**
|
|
1589
|
+
* 附加到组件根节点的 CSS 类名。
|
|
1590
|
+
* @defaultValue ""
|
|
1591
|
+
*/
|
|
687
1592
|
className?: string;
|
|
1593
|
+
/**
|
|
1594
|
+
控件的无障碍名称,供屏幕阅读器识别。
|
|
1595
|
+
* @defaultValue "代码编辑器"
|
|
1596
|
+
*/
|
|
688
1597
|
ariaLabel?: string;
|
|
1598
|
+
/**
|
|
1599
|
+
* 加载过程中的提示内容。
|
|
1600
|
+
* @defaultValue "正在加载编辑器…"
|
|
1601
|
+
*/
|
|
689
1602
|
loadingText?: string;
|
|
690
1603
|
}
|
|
1604
|
+
/** 代码编辑器组件。 */
|
|
691
1605
|
declare function Editor({ value, onChange, onReady, onSelectionChange, onKeyDown, language, path, theme, options, highlightRange, markers, contextMenuItems, completionProvider, completionTriggerCharacters, refreshSuggestionOnSpace, className, ariaLabel, loadingText, }: EditorProps): react.JSX.Element;
|
|
692
1606
|
|
|
1607
|
+
/** Markdown内容的属性配置。 */
|
|
693
1608
|
interface MarkdownProps extends Omit<HTMLAttributes<HTMLElement>, "children"> {
|
|
1609
|
+
/** 需要渲染的 Markdown 源文本。 */
|
|
694
1610
|
content: string;
|
|
1611
|
+
/**
|
|
1612
|
+
* 内容为空时显示的占位内容
|
|
1613
|
+
* @defaultValue "暂无 Markdown 内容"
|
|
1614
|
+
*/
|
|
695
1615
|
emptyText?: ReactNode;
|
|
1616
|
+
/** 图片加载失败时异步解析真实地址 */
|
|
696
1617
|
resolveImageSrc?: (src: string) => string | Promise<string>;
|
|
1618
|
+
/**
|
|
1619
|
+
* 允许点击或键盘打开图片预览
|
|
1620
|
+
* @defaultValue true
|
|
1621
|
+
*/
|
|
697
1622
|
imagePreview?: boolean;
|
|
698
1623
|
}
|
|
1624
|
+
/** Markdown内容组件。 */
|
|
699
1625
|
declare function Markdown({ content, emptyText, resolveImageSrc, imagePreview, className, onClick, onKeyDown, ...props }: MarkdownProps): react.JSX.Element;
|
|
700
1626
|
|
|
1627
|
+
/** 数字输入的属性配置。 */
|
|
701
1628
|
interface InputNumberProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue" | "onChange" | "prefix" | "size" | "type" | "value"> {
|
|
1629
|
+
/** 当前数值(受控) */
|
|
702
1630
|
value?: number | null;
|
|
1631
|
+
/**
|
|
1632
|
+
* 初始数值
|
|
1633
|
+
* @defaultValue null
|
|
1634
|
+
*/
|
|
703
1635
|
defaultValue?: number | null;
|
|
1636
|
+
/** 数值变化回调 */
|
|
704
1637
|
onChange?: (value: number | null) => void;
|
|
1638
|
+
/** 允许的最小值。 */
|
|
705
1639
|
min?: number;
|
|
1640
|
+
/** 允许的最大值。 */
|
|
706
1641
|
max?: number;
|
|
1642
|
+
/**
|
|
1643
|
+
* 每次改变的步长
|
|
1644
|
+
* @defaultValue 1
|
|
1645
|
+
*/
|
|
707
1646
|
step?: number;
|
|
1647
|
+
/** 固定小数位数 */
|
|
708
1648
|
precision?: number;
|
|
1649
|
+
/** small / medium / large 高度为 22 / 30 / 38px;默认继承 Form,组件自身 size 优先 */
|
|
709
1650
|
size?: ControlSize;
|
|
1651
|
+
/**
|
|
1652
|
+
* 当前状态,用于选择对应的状态样式。
|
|
1653
|
+
* @defaultValue "default"
|
|
1654
|
+
*/
|
|
710
1655
|
status?: ControlStatus;
|
|
1656
|
+
/** 输入框前缀 */
|
|
711
1657
|
prefix?: ReactNode;
|
|
1658
|
+
/** 输入框后缀 */
|
|
712
1659
|
suffix?: ReactNode;
|
|
1660
|
+
/**
|
|
1661
|
+
是否显示操作控件。
|
|
1662
|
+
* @defaultValue true
|
|
1663
|
+
*/
|
|
713
1664
|
controls?: boolean;
|
|
1665
|
+
/** 占位文案的显示模式 */
|
|
714
1666
|
placeholderMode?: InputPlaceholderMode;
|
|
715
1667
|
}
|
|
1668
|
+
/** 数字输入组件。 */
|
|
716
1669
|
declare const InputNumber: react.ForwardRefExoticComponent<InputNumberProps & react.RefAttributes<HTMLInputElement>>;
|
|
717
1670
|
|
|
1671
|
+
/** 独立选择弹框的配置。 */
|
|
718
1672
|
interface SelectModalConfig extends Omit<ModalOpenConfig, "children" | "footer" | "onOk" | "type"> {
|
|
1673
|
+
/** 可供用户选择的候选项列表。 */
|
|
719
1674
|
options: readonly SelectOption[];
|
|
1675
|
+
/** 弹框打开时的初始选中值;通过返回句柄 update({ value }) 可替换当前草稿。 */
|
|
720
1676
|
value?: SelectChangeValue;
|
|
1677
|
+
/** 展示或交互模式;可选值见类型定义。 */
|
|
721
1678
|
mode?: SelectProps["mode"];
|
|
1679
|
+
/** 在选项名称下方显示 value,下拉与弹框模式均支持;不影响按 value 搜索 */
|
|
722
1680
|
showValue?: boolean;
|
|
1681
|
+
/** 弹框选项每行列数;长文本单行省略。 */
|
|
723
1682
|
columns?: number;
|
|
1683
|
+
/** 允许的最大高度。 */
|
|
724
1684
|
maxHeight?: number;
|
|
1685
|
+
/** 搜索框的占位提示文字。 */
|
|
725
1686
|
searchPlaceholder?: string;
|
|
1687
|
+
/** 自定义搜索匹配函数,返回 true 时保留该选项。 */
|
|
726
1688
|
filterOption?: SelectProps["filterOption"];
|
|
1689
|
+
/** 搜索条件变化或提交搜索时调用,具体参数见签名。 */
|
|
727
1690
|
onSearch?: SelectProps["onSearch"];
|
|
1691
|
+
/** 确认后接收选中的值和对应选项;单选为单值,多选为数组。支持异步处理;返回 false 或抛出异常时保留弹框,允许重试。 */
|
|
728
1692
|
onConfirm?: (value: SelectChangeValue, option: SelectOption | SelectOption[] | null) => ModalActionResult;
|
|
729
1693
|
}
|
|
730
1694
|
/** 无需渲染 Select,直接打开选择弹框。取消不提交,确认支持异步处理及返回 false 阻止关闭。 */
|
|
731
1695
|
declare function openSelectModal(config: SelectModalConfig): OverlayApiHandle<SelectModalConfig>;
|
|
732
1696
|
|
|
1697
|
+
/** 矩形树图节点的种类。 */
|
|
733
1698
|
type TreemapNodeKind = "directory" | "file";
|
|
1699
|
+
/** 可下钻矩形树图的节点,包含权重、子节点和业务数据。 */
|
|
734
1700
|
interface TreemapNode {
|
|
1701
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
735
1702
|
key: string;
|
|
1703
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
736
1704
|
label: string;
|
|
1705
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
737
1706
|
value: number;
|
|
1707
|
+
/** 补全项或节点的类别。 */
|
|
738
1708
|
kind?: TreemapNodeKind;
|
|
1709
|
+
/** 显示颜色,可使用 CSS 颜色值。 */
|
|
739
1710
|
color?: string;
|
|
1711
|
+
/** 附加的业务元数据。 */
|
|
740
1712
|
meta?: ReactNode;
|
|
1713
|
+
/** 用于布局计算的权重值。 */
|
|
741
1714
|
layoutValue?: number;
|
|
1715
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
742
1716
|
children?: readonly TreemapNode[];
|
|
1717
|
+
/** 是否包含子节点。 */
|
|
743
1718
|
hasChildren?: boolean;
|
|
1719
|
+
/** 是否禁用交互。 */
|
|
744
1720
|
disabled?: boolean;
|
|
745
1721
|
}
|
|
1722
|
+
/** TreemapNode的点击事件上下文。 */
|
|
746
1723
|
interface TreemapNodeClickInfo {
|
|
1724
|
+
/** 当前操作关联的节点数据。 */
|
|
747
1725
|
node: TreemapNode;
|
|
1726
|
+
/** 是否处于展开状态。 */
|
|
748
1727
|
expanded: boolean;
|
|
1728
|
+
/** 触发本次操作的原生事件。 */
|
|
749
1729
|
nativeEvent: MouseEvent<HTMLElement>;
|
|
750
1730
|
}
|
|
1731
|
+
/** 矩形树图的属性配置。 */
|
|
751
1732
|
interface TreemapProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
1733
|
+
/** 用于渲染的数据集合。 */
|
|
752
1734
|
data: readonly TreemapNode[];
|
|
1735
|
+
/**
|
|
1736
|
+
* 高亮节点键值
|
|
1737
|
+
* @defaultValue null
|
|
1738
|
+
*/
|
|
753
1739
|
activeKey?: string | null;
|
|
1740
|
+
/** 受控的展开节点标识集合。 */
|
|
754
1741
|
expandedKeys?: readonly string[];
|
|
1742
|
+
/**
|
|
1743
|
+
* 初始化时展开的节点标识集合。
|
|
1744
|
+
* @defaultValue []
|
|
1745
|
+
*/
|
|
755
1746
|
defaultExpandedKeys?: readonly string[];
|
|
1747
|
+
/** 当前聚焦节点的唯一标识。 */
|
|
756
1748
|
focusedKey?: string | null;
|
|
1749
|
+
/**
|
|
1750
|
+
* 初始化时聚焦的节点标识。
|
|
1751
|
+
* @defaultValue null
|
|
1752
|
+
*/
|
|
757
1753
|
defaultFocusedKey?: string | null;
|
|
1754
|
+
/**
|
|
1755
|
+
* 预设或自定义间距
|
|
1756
|
+
* @defaultValue 2
|
|
1757
|
+
*/
|
|
758
1758
|
gap?: number;
|
|
1759
|
+
/**
|
|
1760
|
+
* 标题区域高度。
|
|
1761
|
+
* @defaultValue 28
|
|
1762
|
+
*/
|
|
759
1763
|
headerHeight?: number;
|
|
1764
|
+
/**
|
|
1765
|
+
* 显示标签所需的最小宽度。
|
|
1766
|
+
* @defaultValue 26
|
|
1767
|
+
*/
|
|
760
1768
|
minLabelWidth?: number;
|
|
1769
|
+
/**
|
|
1770
|
+
* 显示标签所需的最小高度。
|
|
1771
|
+
* @defaultValue 18
|
|
1772
|
+
*/
|
|
761
1773
|
minLabelHeight?: number;
|
|
1774
|
+
/**
|
|
1775
|
+
* 矩形块的最小宽度。
|
|
1776
|
+
* @defaultValue 28
|
|
1777
|
+
*/
|
|
762
1778
|
minTileWidth?: number;
|
|
1779
|
+
/**
|
|
1780
|
+
* 矩形块的最小高度。
|
|
1781
|
+
* @defaultValue 18
|
|
1782
|
+
*/
|
|
763
1783
|
minTileHeight?: number;
|
|
1784
|
+
/**
|
|
1785
|
+
* 最大可见节点数,超出后合并为其他项
|
|
1786
|
+
* @defaultValue 180
|
|
1787
|
+
*/
|
|
764
1788
|
maxVisibleNodes?: number;
|
|
1789
|
+
/**
|
|
1790
|
+
* 没有数据时的显示内容。
|
|
1791
|
+
* @defaultValue "暂无数据"
|
|
1792
|
+
*/
|
|
765
1793
|
emptyContent?: ReactNode;
|
|
1794
|
+
/**
|
|
1795
|
+
将数值格式化为显示文本的函数。
|
|
1796
|
+
* @defaultValue defaultValueFormatter
|
|
1797
|
+
*/
|
|
766
1798
|
valueFormatter?: (value: number, node: TreemapNode) => ReactNode;
|
|
1799
|
+
/** 自定义合并节点文案 */
|
|
767
1800
|
overflowLabel?: (count: number) => string;
|
|
1801
|
+
/** 展开状态改变时调用。 */
|
|
768
1802
|
onExpandedChange?: (keys: string[]) => void;
|
|
1803
|
+
/** 聚焦节点改变时调用。 */
|
|
769
1804
|
onFocusedChange?: (key: string | null) => void;
|
|
1805
|
+
/** 节点点击回调 */
|
|
770
1806
|
onNodeClick?: (info: TreemapNodeClickInfo) => void;
|
|
771
1807
|
}
|
|
1808
|
+
/** 矩形树图组件。 */
|
|
772
1809
|
declare function Treemap({ data, activeKey, expandedKeys, defaultExpandedKeys, focusedKey, defaultFocusedKey, gap, headerHeight, minLabelWidth, minLabelHeight, minTileWidth, minTileHeight, maxVisibleNodes, emptyContent, valueFormatter, overflowLabel, onExpandedChange, onFocusedChange, onNodeClick, className, style, ...props }: TreemapProps): react.JSX.Element;
|
|
773
1810
|
|
|
1811
|
+
/** 表格行或列的唯一标识类型。 */
|
|
774
1812
|
type TableKey = Key;
|
|
1813
|
+
/** 表格列的固定方向。 */
|
|
775
1814
|
type TableFixed = "left" | "right";
|
|
1815
|
+
/** 表格单元格的水平对齐方式。 */
|
|
776
1816
|
type TableAlign = "left" | "center" | "right";
|
|
1817
|
+
/** 表格行高和字号的尺寸等级。 */
|
|
777
1818
|
type TableSize = "small" | "medium" | "large";
|
|
1819
|
+
/** 经过表格插件处理的行数据及其层级和索引信息。 */
|
|
778
1820
|
interface TableRow<T> {
|
|
1821
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
779
1822
|
key: TableKey;
|
|
1823
|
+
/** 当前业务记录。 */
|
|
780
1824
|
record: T;
|
|
1825
|
+
/** 记录在原始数据中的索引。 */
|
|
781
1826
|
sourceIndex: number;
|
|
1827
|
+
/** 当前节点或行的嵌套深度。 */
|
|
782
1828
|
depth: number;
|
|
1829
|
+
/** 附加的业务元数据。 */
|
|
783
1830
|
meta: Record<string, unknown>;
|
|
784
1831
|
}
|
|
1832
|
+
/** 单元格渲染和事件回调的上下文,包含行、列和索引。 */
|
|
785
1833
|
interface TableCellRenderInfo<T> {
|
|
1834
|
+
/** 当前行记录。 */
|
|
786
1835
|
row: TableRow<T>;
|
|
1836
|
+
/** 行索引,从 0 开始。 */
|
|
787
1837
|
rowIndex: number;
|
|
1838
|
+
/** 当前单元格对应的完整列配置。 */
|
|
788
1839
|
column: TableColumn<T>;
|
|
789
1840
|
}
|
|
1841
|
+
/** TableMergeSticky的配置。 */
|
|
790
1842
|
interface TableMergeStickyConfig<T> {
|
|
1843
|
+
/** 内容或选区与外边缘之间的内缩距离。 */
|
|
791
1844
|
inset?: number;
|
|
1845
|
+
/** 组件或浮层的堆叠层级。 */
|
|
792
1846
|
zIndex?: number;
|
|
1847
|
+
/** 附加到组件根节点的 CSS 类名。 */
|
|
793
1848
|
className?: string;
|
|
1849
|
+
/** 组件根节点的内联样式。 */
|
|
794
1850
|
style?: CSSProperties;
|
|
1851
|
+
/** 交叉轴对齐 */
|
|
795
1852
|
align?: TableAlign;
|
|
1853
|
+
/** 读取当前内容。 */
|
|
796
1854
|
getValue?: (record: T, index: number, rows: readonly T[]) => ReactNode;
|
|
797
1855
|
}
|
|
1856
|
+
/** 表格的列定义,支持取值、渲染、固定、排序和分组表头。 */
|
|
798
1857
|
interface TableColumn<T = Record<string, unknown>> {
|
|
1858
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
799
1859
|
key: string;
|
|
1860
|
+
/** 代码内容或按键代码。 */
|
|
800
1861
|
code?: string;
|
|
1862
|
+
/** 名称或字段标识。 */
|
|
801
1863
|
name?: string;
|
|
1864
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
802
1865
|
title?: ReactNode;
|
|
1866
|
+
/** 补充说明内容。 */
|
|
803
1867
|
description?: ReactNode;
|
|
1868
|
+
/** 读取单元格值的字段名或嵌套路径。 */
|
|
804
1869
|
dataIndex?: keyof T | string | readonly string[];
|
|
1870
|
+
/** 列宽,单位为像素;拖拽调整后可由列设置插件持久化。 */
|
|
805
1871
|
width?: number;
|
|
1872
|
+
/** 弹性布局的伸缩权重或 CSS flex 配置。 */
|
|
806
1873
|
flex?: number;
|
|
1874
|
+
/** 是否根据单元格内容自动计算列宽。 */
|
|
807
1875
|
autoWidth?: boolean;
|
|
1876
|
+
/** 允许的最小宽度。 */
|
|
808
1877
|
minWidth?: number;
|
|
1878
|
+
/** 允许的最大宽度。 */
|
|
809
1879
|
maxWidth?: number;
|
|
1880
|
+
/** 交叉轴对齐 */
|
|
810
1881
|
align?: TableAlign;
|
|
1882
|
+
/** 固定列位置:left 固定在左侧,right 固定在右侧;未设置时随横向滚动。 */
|
|
811
1883
|
fixed?: TableFixed | boolean;
|
|
1884
|
+
/** 是否隐藏此项。 */
|
|
812
1885
|
hidden?: boolean;
|
|
813
1886
|
/** 默认单行显示并省略溢出内容(含 Space 标签组);设为 false 允许多行。 */
|
|
814
1887
|
ellipsis?: boolean;
|
|
1888
|
+
/** 是否使用 Sia Tooltip 显示完整文本;默认 false,不生成浏览器原生 title。 */
|
|
815
1889
|
showTitle?: boolean;
|
|
1890
|
+
/** 是否允许该列排序。 */
|
|
816
1891
|
sortable?: boolean;
|
|
1892
|
+
/** 是否允许该列筛选。 */
|
|
817
1893
|
filterable?: boolean;
|
|
1894
|
+
/** 纯文本编辑;text 用于受控内容,onChange 在保存时触发 */
|
|
818
1895
|
editable?: boolean | TableEditableCellConfig<T>;
|
|
1896
|
+
/** 是否将该列包含在导出结果中。 */
|
|
819
1897
|
exportable?: boolean;
|
|
1898
|
+
/** 将单元格值转换为导出内容的函数。 */
|
|
820
1899
|
exportRender?: (value: unknown, record: T, index: number, info: TableCellRenderInfo<T>) => ReactNode;
|
|
1900
|
+
/** 单元格跨越的行数,或按行计算跨行数量。 */
|
|
821
1901
|
rowSpan?: boolean | keyof T | string | readonly string[] | ((record: T, index: number, rows: readonly T[]) => unknown);
|
|
1902
|
+
/** 合并单元格是否随滚动保持粘性定位。 */
|
|
822
1903
|
mergeSticky?: boolean | TableMergeStickyConfig<T>;
|
|
1904
|
+
/** 合计行对此列的求和方式或求和值。 */
|
|
823
1905
|
sum?: boolean;
|
|
1906
|
+
/** 子内容;组件嵌套内容或当前节点的子项。 */
|
|
824
1907
|
children?: readonly TableColumn<T>[];
|
|
1908
|
+
/** 自定义数据单元格内容,接收该列的值、行数据和单元格上下文。 */
|
|
825
1909
|
render?: (value: unknown, record: T, index: number, info: TableCellRenderInfo<T>) => ReactNode;
|
|
1910
|
+
/** 自定义列头内容。 */
|
|
826
1911
|
renderHeader?: (column: TableColumn<T>, context: TablePluginContext<T, any>) => ReactNode;
|
|
1912
|
+
/** 数据单元格的 CSS 类名,也可按单元格计算。 */
|
|
827
1913
|
cellClassName?: string | ((record: T, index: number) => string);
|
|
1914
|
+
/** 表头单元格的附加 CSS 类名。 */
|
|
828
1915
|
headerClassName?: string;
|
|
1916
|
+
/** 附加的业务元数据。 */
|
|
829
1917
|
meta?: Record<string, unknown>;
|
|
830
1918
|
}
|
|
1919
|
+
/** TableEditableCell的类型标识。 */
|
|
831
1920
|
type TableEditableCellType = "input" | "inputNumber" | "select" | "custom";
|
|
1921
|
+
/** TableEditableCell的配置。 */
|
|
832
1922
|
interface TableEditableCellConfig<T> {
|
|
1923
|
+
/** 类型标识,用于选择对应的表现形式。 */
|
|
833
1924
|
type?: TableEditableCellType;
|
|
1925
|
+
/** 可供用户选择的候选项列表。 */
|
|
834
1926
|
options?: readonly {
|
|
1927
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
835
1928
|
label: ReactNode;
|
|
1929
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
836
1930
|
value: string | number;
|
|
837
1931
|
}[];
|
|
1932
|
+
/** 自定义单元格编辑控件。 */
|
|
838
1933
|
editRender?: (record: T, save: (value: unknown) => void, cancel: () => void) => ReactNode;
|
|
1934
|
+
/** 判断当前单元格是否允许编辑。 */
|
|
839
1935
|
canEdit?: (record: T) => boolean;
|
|
840
1936
|
}
|
|
1937
|
+
/** 表格插件执行时的上下文,提供数据、列、状态和事件操作。 */
|
|
841
1938
|
interface TablePluginContext<T, S = unknown> {
|
|
1939
|
+
/** 插件唯一标识。 */
|
|
842
1940
|
readonly pluginId: string;
|
|
1941
|
+
/** 未经插件处理的原始数据。 */
|
|
843
1942
|
readonly sourceData: readonly T[];
|
|
1943
|
+
/** 未经插件转换的基础列配置。 */
|
|
844
1944
|
readonly baseColumns: readonly TableColumn<T>[];
|
|
1945
|
+
/** 默认可见行数 */
|
|
845
1946
|
readonly rows: readonly TableRow<T>[];
|
|
1947
|
+
/** 列配置或选项布局列数,具体类型见签名。 */
|
|
846
1948
|
readonly columns: readonly TableColumn<T>[];
|
|
1949
|
+
/** 当前状态快照。 */
|
|
847
1950
|
readonly state: S;
|
|
1951
|
+
/** 读取记录的唯一标识。 */
|
|
848
1952
|
getRowKey: (record: T, index: number) => TableKey;
|
|
1953
|
+
/** 读取当前状态。 */
|
|
849
1954
|
getState: <Value = unknown>(pluginId: string) => Value | undefined;
|
|
1955
|
+
/** 更新当前状态,可传入基于旧状态的更新函数。 */
|
|
850
1956
|
setState: (next: S | ((previous: S) => S)) => void;
|
|
1957
|
+
/** 更新指定插件的状态。 */
|
|
851
1958
|
setPluginState: <Value>(pluginId: string, next: Value | ((previous: Value) => Value)) => void;
|
|
1959
|
+
/** 按插件标识获取该插件暴露的 API。 */
|
|
852
1960
|
getPluginApi: <Api = unknown>(pluginId: string) => Api | undefined;
|
|
1961
|
+
/** 发出事件,通知已注册的插件监听者。 */
|
|
853
1962
|
emit: (event: TablePluginEvent) => void;
|
|
854
1963
|
}
|
|
1964
|
+
/** 表格插件间传递的事件,包含类型、来源和负载。 */
|
|
855
1965
|
interface TablePluginEvent {
|
|
1966
|
+
/** 类型标识,用于选择对应的表现形式。 */
|
|
856
1967
|
type: string;
|
|
1968
|
+
/** 触发来源,用于区分不同入口的操作。 */
|
|
857
1969
|
source: string;
|
|
1970
|
+
/** 事件携带的数据。 */
|
|
858
1971
|
payload?: unknown;
|
|
859
1972
|
}
|
|
1973
|
+
/** TablePluginCell的属性配置。 */
|
|
860
1974
|
interface TablePluginCellProps {
|
|
1975
|
+
/** 单元格跨越的行数,或按行计算跨行数量。 */
|
|
861
1976
|
rowSpan?: number;
|
|
1977
|
+
/** 单元格跨越的列数。 */
|
|
862
1978
|
colSpan?: number;
|
|
1979
|
+
/** 是否隐藏此项。 */
|
|
863
1980
|
hidden?: boolean;
|
|
1981
|
+
/** 附加到组件根节点的 CSS 类名。 */
|
|
864
1982
|
className?: string;
|
|
1983
|
+
/** 组件根节点的内联样式。 */
|
|
865
1984
|
style?: CSSProperties;
|
|
1985
|
+
/** 需要显示的内容,支持文本或 React 节点。 */
|
|
866
1986
|
content?: ReactNode;
|
|
867
1987
|
}
|
|
1988
|
+
/** TablePluginHeaderCell的属性配置。 */
|
|
868
1989
|
interface TablePluginHeaderCellProps {
|
|
1990
|
+
/** 附加到组件根节点的 CSS 类名。 */
|
|
869
1991
|
className?: string;
|
|
1992
|
+
/** 组件根节点的内联样式。 */
|
|
870
1993
|
style?: CSSProperties;
|
|
871
1994
|
}
|
|
1995
|
+
/** 表格插件契约,提供数据转换、渲染扩展、事件监听和对外 API。 */
|
|
872
1996
|
interface TablePlugin<T, S = unknown, Api = unknown> {
|
|
1997
|
+
/** 唯一标识,用于关联实例或插件。 */
|
|
873
1998
|
id: string;
|
|
1999
|
+
/** 排序位置或排序方向。 */
|
|
874
2000
|
order?: number;
|
|
2001
|
+
/** 是否禁用虚拟渲染。 */
|
|
875
2002
|
disableVirtual?: boolean;
|
|
2003
|
+
/** 插件或功能初始化时的状态。 */
|
|
876
2004
|
initialState?: S | (() => S);
|
|
2005
|
+
/** 转换列配置;返回值传递给后续插件和表格渲染。 */
|
|
877
2006
|
transformColumns?: (columns: readonly TableColumn<T>[], context: TablePluginContext<T, S>) => readonly TableColumn<T>[];
|
|
2007
|
+
/** 转换行数据;返回值传递给后续插件和表格渲染。 */
|
|
878
2008
|
transformRows?: (rows: readonly TableRow<T>[], context: TablePluginContext<T, S>) => readonly TableRow<T>[];
|
|
2009
|
+
/** 渲染表格工具栏起始区域。 */
|
|
879
2010
|
renderToolbarStart?: (context: TablePluginContext<T, S>) => ReactNode;
|
|
2011
|
+
/** 渲染表格工具栏末尾区域。 */
|
|
880
2012
|
renderToolbarEnd?: (context: TablePluginContext<T, S>) => ReactNode;
|
|
2013
|
+
/** 渲染表格合计区域。 */
|
|
881
2014
|
renderSummary?: (context: TablePluginContext<T, S>) => readonly TableSummaryRow[] | null;
|
|
2015
|
+
/** 渲染底部内容。 */
|
|
882
2016
|
renderFooter?: (context: TablePluginContext<T, S>) => ReactNode;
|
|
2017
|
+
/** 渲染覆盖层或弹出面板。 */
|
|
883
2018
|
renderOverlay?: (context: TablePluginContext<T, S>) => ReactNode;
|
|
2019
|
+
/** 根据行信息生成 CSS 类名。 */
|
|
884
2020
|
getRowClassName?: (row: TableRow<T>, context: TablePluginContext<T, S>) => string;
|
|
2021
|
+
/** 根据单元格上下文生成附加属性。 */
|
|
885
2022
|
getCellProps?: (row: TableRow<T>, column: TableColumn<T>, context: TablePluginContext<T, S>) => TablePluginCellProps | void;
|
|
2023
|
+
/** 根据列信息生成表头附加属性。 */
|
|
886
2024
|
getHeaderCellProps?: (column: TableColumn<T>, context: TablePluginContext<T, S>) => TablePluginHeaderCellProps | void;
|
|
2025
|
+
/** 点击行时调用。 */
|
|
887
2026
|
onRowClick?: (row: TableRow<T>, context: TablePluginContext<T, S>) => void;
|
|
2027
|
+
/** 鼠标进入行时调用。 */
|
|
888
2028
|
onRowMouseEnter?: (row: TableRow<T>, context: TablePluginContext<T, S>) => void;
|
|
2029
|
+
/** 鼠标离开行时调用。 */
|
|
889
2030
|
onRowMouseLeave?: (row: TableRow<T>, context: TablePluginContext<T, S>) => void;
|
|
2031
|
+
/** 鼠标进入单元格时调用。 */
|
|
890
2032
|
onCellMouseEnter?: (row: TableRow<T>, column: TableColumn<T>, context: TablePluginContext<T, S>) => void;
|
|
2033
|
+
/** 鼠标离开单元格时调用。 */
|
|
891
2034
|
onCellMouseLeave?: (row: TableRow<T>, column: TableColumn<T>, context: TablePluginContext<T, S>) => void;
|
|
2035
|
+
/** 点击单元格时调用。 */
|
|
892
2036
|
onCellClick?: (row: TableRow<T>, column: TableColumn<T>, event: MouseEvent<HTMLTableCellElement>, context: TablePluginContext<T, S>) => void;
|
|
2037
|
+
/** 指针在单元格按下时调用。 */
|
|
893
2038
|
onCellPointerDown?: (row: TableRow<T>, column: TableColumn<T>, event: PointerEvent<HTMLTableCellElement>, context: TablePluginContext<T, S>) => void;
|
|
2039
|
+
/** 指针在单元格移动时调用。 */
|
|
894
2040
|
onCellPointerMove?: (row: TableRow<T>, column: TableColumn<T>, event: PointerEvent<HTMLTableCellElement>, context: TablePluginContext<T, S>) => void;
|
|
2041
|
+
/** 指针在表头按下时调用。 */
|
|
895
2042
|
onHeaderPointerDown?: (column: TableColumn<T>, event: PointerEvent<HTMLTableCellElement>, context: TablePluginContext<T, S>) => void;
|
|
2043
|
+
/** 指针在表头移动时调用。 */
|
|
896
2044
|
onHeaderPointerMove?: (column: TableColumn<T>, event: PointerEvent<HTMLTableCellElement>, context: TablePluginContext<T, S>) => void;
|
|
2045
|
+
/** 插件挂载时调用;可返回清理函数,在卸载时执行。 */
|
|
897
2046
|
onMount?: (context: TablePluginContext<T, S>) => void | (() => void);
|
|
2047
|
+
/** 接收其他插件或表格发出的事件。 */
|
|
898
2048
|
onEvent?: (event: TablePluginEvent, context: TablePluginContext<T, S>) => void;
|
|
2049
|
+
/** 创建插件对外暴露的操作 API。 */
|
|
899
2050
|
getApi?: (context: TablePluginContext<T, S>) => Api;
|
|
900
2051
|
}
|
|
2052
|
+
/** 可组合到 Table.plugins 中的表格插件类型。 */
|
|
901
2053
|
type AnyTablePlugin<T> = TablePlugin<T, any, any>;
|
|
2054
|
+
/** 一条小计或总计行的标签和单元格内容。 */
|
|
902
2055
|
interface TableSummaryRow {
|
|
2056
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
903
2057
|
key: string;
|
|
2058
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
904
2059
|
label?: ReactNode;
|
|
2060
|
+
/** 字段值或选中值的集合。 */
|
|
905
2061
|
values: Record<string, ReactNode>;
|
|
2062
|
+
/** 附加到组件根节点的 CSS 类名。 */
|
|
906
2063
|
className?: string;
|
|
907
2064
|
}
|
|
2065
|
+
/** 表格的属性配置。 */
|
|
908
2066
|
interface TableProps<T extends Record<string, unknown> = Record<string, unknown>> extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2067
|
+
/** 表格或列表的原始数据集合。 */
|
|
909
2068
|
dataSource?: readonly T[];
|
|
2069
|
+
/** 表格列定义;支持 children 构建分组表头。 */
|
|
910
2070
|
columns?: readonly TableColumn<T>[];
|
|
2071
|
+
/** 行唯一键字段或计算函数 */
|
|
911
2072
|
rowKey?: keyof T | string | ((record: T, index: number) => TableKey);
|
|
912
2073
|
/** 默认启用行悬停高亮;传入 createHighlightPlugin({ row: false }) 可关闭。 */
|
|
913
2074
|
plugins?: readonly AnyTablePlugin<T>[];
|
|
2075
|
+
/** 是否处于加载状态。 */
|
|
914
2076
|
loading?: boolean;
|
|
2077
|
+
/** 内容为空时显示的占位内容 */
|
|
915
2078
|
emptyText?: ReactNode;
|
|
2079
|
+
/** 高度;数值按像素处理,字符串可使用 CSS 尺寸。 */
|
|
916
2080
|
height?: number | string;
|
|
2081
|
+
/** 表格滚动区域的高度。 */
|
|
917
2082
|
tableHeight?: number | string;
|
|
2083
|
+
/** 表格密度 */
|
|
918
2084
|
size?: TableSize;
|
|
2085
|
+
/** 是否显示边框。 */
|
|
919
2086
|
bordered?: boolean;
|
|
920
2087
|
/** 是否显示行分隔线(含表头和汇总行),默认 true。 */
|
|
921
2088
|
rowBordered?: boolean;
|
|
@@ -923,297 +2090,538 @@ interface TableProps<T extends Record<string, unknown> = Record<string, unknown>
|
|
|
923
2090
|
columnBordered?: boolean;
|
|
924
2091
|
/** 是否将工具栏纳入表格边框,默认 false;表格主体边框仍由 bordered 控制。 */
|
|
925
2092
|
toolbarBordered?: boolean;
|
|
2093
|
+
/** 是否显示隔行背景。 */
|
|
926
2094
|
striped?: boolean;
|
|
2095
|
+
/** 长列表启用窗口化渲染 */
|
|
927
2096
|
virtual?: boolean;
|
|
2097
|
+
/** 启用虚拟滚动的选项数量 */
|
|
928
2098
|
virtualThreshold?: number;
|
|
2099
|
+
/** 行高度,虚拟滚动用其计算行位置。 */
|
|
929
2100
|
rowHeight?: number;
|
|
2101
|
+
/** 虚拟列表在可视区域前后额外渲染的数量。 */
|
|
930
2102
|
overscan?: number;
|
|
2103
|
+
/** 滚动时是否固定表头。 */
|
|
931
2104
|
stickyHeader?: boolean;
|
|
2105
|
+
/** 是否允许拖拽表头边界调整列宽;默认启用内置列宽调整插件。 */
|
|
932
2106
|
resizable?: boolean;
|
|
2107
|
+
/** 点击行时调用。 */
|
|
933
2108
|
onRowClick?: (record: T, index: number) => void;
|
|
2109
|
+
/** 双击行时调用。 */
|
|
934
2110
|
onRowDoubleClick?: (record: T, index: number) => void;
|
|
2111
|
+
/** 单元格右键事件,可用于业务上下文菜单 */
|
|
935
2112
|
onCellContextMenu?: (record: T, column: TableColumn<T>, index: number, event: MouseEvent<HTMLTableCellElement>) => void;
|
|
2113
|
+
/** 行的 CSS 类名或计算函数。 */
|
|
936
2114
|
rowClassName?: string | ((record: T, index: number) => string);
|
|
2115
|
+
/** 表格元素的内联样式。 */
|
|
937
2116
|
tableStyle?: CSSProperties;
|
|
938
2117
|
}
|
|
2118
|
+
/** 表格的实例引用接口。 */
|
|
939
2119
|
interface TableRef<T> {
|
|
2120
|
+
/** 读取插件当前处理的行数据。 */
|
|
940
2121
|
getRows: () => readonly T[];
|
|
2122
|
+
/** 读取当前表格列配置。 */
|
|
941
2123
|
getColumns: () => readonly TableColumn<T>[];
|
|
2124
|
+
/** 按插件标识获取该插件暴露的 API。 */
|
|
942
2125
|
getPluginApi: <Api = unknown>(pluginId: string) => Api | undefined;
|
|
2126
|
+
/** 滚动到指定位置。 */
|
|
943
2127
|
scrollTo: (options: ScrollToOptions) => void;
|
|
2128
|
+
/** 切换加载状态。 */
|
|
944
2129
|
setLoading: (loading: boolean) => void;
|
|
2130
|
+
/** 读取当前分页状态。 */
|
|
945
2131
|
getPage: () => {
|
|
2132
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
946
2133
|
current: number;
|
|
2134
|
+
/** 每页显示的记录数。 */
|
|
947
2135
|
pageSize: number;
|
|
948
2136
|
};
|
|
2137
|
+
/** 设置当前页码与分页参数。 */
|
|
949
2138
|
setPage: (page: Partial<{
|
|
2139
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
950
2140
|
current: number;
|
|
2141
|
+
/** 每页显示的记录数。 */
|
|
951
2142
|
pageSize: number;
|
|
952
2143
|
}>) => void;
|
|
2144
|
+
/** 清空当前选择。 */
|
|
953
2145
|
clearSelection: () => void;
|
|
2146
|
+
/** 设置选中行标识集合。 */
|
|
954
2147
|
setSelectedKeys: (keys: readonly TableKey[]) => void;
|
|
2148
|
+
/** 读取当前选中的行数据。 */
|
|
955
2149
|
getSelectedRows: () => readonly T[];
|
|
2150
|
+
/** 读取当前排序列及方向。 */
|
|
956
2151
|
getSortInfo: () => TableSortInfo | null;
|
|
2152
|
+
/** 读取当前列设置。 */
|
|
957
2153
|
getColumnSettings: () => readonly TableColumnSettingItem[];
|
|
2154
|
+
/** 打开列设置面板。 */
|
|
958
2155
|
openColumnSetting: () => void;
|
|
2156
|
+
/** 将分页状态转换为业务请求需要的参数。 */
|
|
959
2157
|
generatePageParams: <Model extends Record<string, unknown>>(model: Model) => Model & TablePageParams;
|
|
2158
|
+
/** 请求记录总数的函数。 */
|
|
960
2159
|
requestCount: (model?: unknown) => Promise<void>;
|
|
961
2160
|
}
|
|
2161
|
+
/** 当前排序列和排序方向。 */
|
|
962
2162
|
interface TableSortInfo {
|
|
2163
|
+
/** 字段名或字段路径。 */
|
|
963
2164
|
field: string;
|
|
2165
|
+
/** 排序位置或排序方向。 */
|
|
964
2166
|
order: "ascend" | "descend" | null;
|
|
2167
|
+
/** 配置存储的作用域,用于隔离不同模块和业务表格。 */
|
|
965
2168
|
scope?: "page" | "all";
|
|
966
2169
|
}
|
|
2170
|
+
/** 传递给业务数据请求的分页参数。 */
|
|
967
2171
|
interface TablePageParams {
|
|
2172
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
968
2173
|
current: number;
|
|
2174
|
+
/** 当前页索引。 */
|
|
969
2175
|
pageIndex: number;
|
|
2176
|
+
/** 每页显示的记录数。 */
|
|
970
2177
|
pageSize: number;
|
|
2178
|
+
/** 请求数据时跳过的记录数。 */
|
|
971
2179
|
skipCount: number;
|
|
2180
|
+
/** 请求数据时最多返回的记录数。 */
|
|
972
2181
|
maxResultCount: number;
|
|
973
2182
|
}
|
|
2183
|
+
/** TableColumnSetting的项目定义。 */
|
|
974
2184
|
interface TableColumnSettingItem {
|
|
2185
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
975
2186
|
key: string;
|
|
2187
|
+
/** 宽度;数值按像素处理,字符串可使用 CSS 尺寸。 */
|
|
976
2188
|
width?: number;
|
|
2189
|
+
/** 列固定位置,left 固定左侧,right 固定右侧。 */
|
|
977
2190
|
fixed?: TableFixed;
|
|
2191
|
+
/** 是否可见。 */
|
|
978
2192
|
visible: boolean;
|
|
2193
|
+
/** 排序位置或排序方向。 */
|
|
979
2194
|
order: number;
|
|
980
2195
|
}
|
|
2196
|
+
/** 可持久化的表格列设置和分页大小快照。 */
|
|
981
2197
|
interface TableSettingsSnapshot {
|
|
2198
|
+
/** 列配置或选项布局列数,具体类型见签名。 */
|
|
982
2199
|
columns?: readonly TableColumnSettingItem[];
|
|
2200
|
+
/** 每页显示的记录数。 */
|
|
983
2201
|
pageSize?: number;
|
|
2202
|
+
/** 配置格式版本号,用于兼容历史数据。 */
|
|
984
2203
|
version?: number;
|
|
985
2204
|
}
|
|
2205
|
+
/** 读取与保存表格设置的适配器契约。 */
|
|
986
2206
|
interface TableSettingsAdapter {
|
|
2207
|
+
/** 按 scope 读取表格配置;首次挂载及打开列设置时调用。无已保存配置时返回 null 或 undefined。 */
|
|
987
2208
|
load: (scope: {
|
|
2209
|
+
/** 所属业务模块名称。 */
|
|
988
2210
|
moduleName: string;
|
|
2211
|
+
/** 同一模块内用于区分表格配置的业务标识。 */
|
|
989
2212
|
businessKey: string;
|
|
990
2213
|
}) => Promise<TableSettingsSnapshot | null>;
|
|
2214
|
+
/** 按 scope 保存完整的列设置快照。用于列设置应用、拖拽列宽结束或分页大小变化后的持久化,可返回 Promise。 */
|
|
991
2215
|
save: (scope: {
|
|
2216
|
+
/** 所属业务模块名称。 */
|
|
992
2217
|
moduleName: string;
|
|
2218
|
+
/** 同一模块内用于区分表格配置的业务标识。 */
|
|
993
2219
|
businessKey: string;
|
|
994
2220
|
}, settings: TableSettingsSnapshot) => Promise<void>;
|
|
995
2221
|
}
|
|
996
2222
|
|
|
2223
|
+
/** 表格组件。 */
|
|
997
2224
|
declare const Table: <T extends Record<string, unknown> = Record<string, unknown>>(props: TableProps<T> & {
|
|
998
2225
|
ref?: Ref<TableRef<T>>;
|
|
999
2226
|
}) => ReactElement | null;
|
|
1000
2227
|
|
|
2228
|
+
/** TableColumnTransform的插件配置。 */
|
|
1001
2229
|
interface TableColumnTransformPluginOptions<T> {
|
|
2230
|
+
/** 插入在原有列之前的列配置。 */
|
|
1002
2231
|
prepend?: readonly TableColumn<T>[];
|
|
2232
|
+
/** 追加在原有列之后的列配置。 */
|
|
1003
2233
|
append?: readonly TableColumn<T>[];
|
|
2234
|
+
/** 转换表格列配置,返回用于后续处理和渲染的新列集合。 */
|
|
1004
2235
|
transform?: (columns: readonly TableColumn<T>[]) => readonly TableColumn<T>[];
|
|
1005
2236
|
}
|
|
2237
|
+
/** 创建表格列转换插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1006
2238
|
declare function createColumnTransformPlugin<T extends Record<string, unknown>>(options: TableColumnTransformPluginOptions<T>): TablePlugin<T, undefined>;
|
|
2239
|
+
/** TableHighlight的值类型。 */
|
|
1007
2240
|
type TableHighlightValue = boolean | CSSProperties;
|
|
2241
|
+
/** TableHighlight的插件配置。 */
|
|
1008
2242
|
interface TableHighlightPluginOptions {
|
|
2243
|
+
/** 当前行记录。 */
|
|
1009
2244
|
row?: TableHighlightValue;
|
|
2245
|
+
/** 列号或当前列配置,具体含义由所在类型决定。 */
|
|
1010
2246
|
column?: TableHighlightValue;
|
|
2247
|
+
/** 当前单元格的配置或状态。 */
|
|
1011
2248
|
cell?: TableHighlightValue;
|
|
1012
2249
|
}
|
|
2250
|
+
/** 当前高亮的行和列。 */
|
|
1013
2251
|
interface HighlightState {
|
|
2252
|
+
/** 当前高亮行的标识。 */
|
|
1014
2253
|
rowKey?: TableKey;
|
|
2254
|
+
/** 当前高亮列的标识。 */
|
|
1015
2255
|
columnKey?: string;
|
|
1016
2256
|
}
|
|
2257
|
+
/** 创建表格行和单元格高亮插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1017
2258
|
declare function createHighlightPlugin<T extends Record<string, unknown>>(options?: TableHighlightPluginOptions): TablePlugin<T, HighlightState>;
|
|
2259
|
+
/** 通过行标识和列标识定位一个单元格。 */
|
|
1018
2260
|
interface TableCellAddress {
|
|
2261
|
+
/** 行唯一键字段或计算函数 */
|
|
1019
2262
|
rowKey: TableKey;
|
|
2263
|
+
/** 列的唯一标识,对应 TableColumn.key。 */
|
|
1020
2264
|
columnKey: string;
|
|
1021
2265
|
}
|
|
2266
|
+
/** 通过起止单元格定义的选区。 */
|
|
1022
2267
|
interface TableCellRange {
|
|
2268
|
+
/** 单元格选区的起始锚点。 */
|
|
1023
2269
|
anchor: TableCellAddress;
|
|
2270
|
+
/** 将焦点移入控件。 */
|
|
1024
2271
|
focus: TableCellAddress;
|
|
1025
2272
|
}
|
|
2273
|
+
/** 选区内一个单元格的值和行列上下文。 */
|
|
1026
2274
|
interface TableSelectedCell<T> {
|
|
2275
|
+
/** 行唯一键字段或计算函数 */
|
|
1027
2276
|
rowKey: TableKey;
|
|
2277
|
+
/** 列的唯一标识,对应 TableColumn.key。 */
|
|
1028
2278
|
columnKey: string;
|
|
2279
|
+
/** 当前业务记录。 */
|
|
1029
2280
|
record: T;
|
|
2281
|
+
/** 列号或当前列配置,具体含义由所在类型决定。 */
|
|
1030
2282
|
column: TableColumn<T>;
|
|
2283
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
1031
2284
|
value: unknown;
|
|
2285
|
+
/** 行索引,从 0 开始。 */
|
|
1032
2286
|
rowIndex: number;
|
|
2287
|
+
/** 列索引,从 0 开始。 */
|
|
1033
2288
|
columnIndex: number;
|
|
1034
2289
|
}
|
|
2290
|
+
/** TableCellSelection的插件配置。 */
|
|
1035
2291
|
interface TableCellSelectionPluginOptions<T> {
|
|
2292
|
+
/** 初始化时的单元格选区。 */
|
|
1036
2293
|
defaultRange?: TableCellRange | null;
|
|
2294
|
+
/** 是否包含勾选、序号等工具列。 */
|
|
1037
2295
|
includeUtilityColumns?: boolean;
|
|
2296
|
+
/** 复制完整文本,可指定复制内容和成功回调 */
|
|
1038
2297
|
copyable?: boolean;
|
|
2298
|
+
/** 判断指定单元格是否允许加入选区。 */
|
|
1039
2299
|
isCellSelectable?: (record: T, column: TableColumn<T>, rowIndex: number, columnIndex: number) => boolean;
|
|
2300
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1040
2301
|
onChange?: (range: TableCellRange | null, cells: readonly TableSelectedCell<T>[]) => void;
|
|
2302
|
+
/** 复制操作触发后的回调。 */
|
|
1041
2303
|
onCopy?: (text: string, cells: readonly TableSelectedCell<T>[]) => void;
|
|
1042
2304
|
}
|
|
2305
|
+
/** 表格单元格选区状态。 */
|
|
1043
2306
|
interface CellSelectionState {
|
|
2307
|
+
/** 当前单元格选区,null 表示无选区。 */
|
|
1044
2308
|
range: TableCellRange | null;
|
|
2309
|
+
/** 复制选区时是否包含表头。 */
|
|
1045
2310
|
includeHeaders: boolean;
|
|
2311
|
+
/** 通过表头选择的列标识。 */
|
|
1046
2312
|
selectedHeaderKey: string | null;
|
|
1047
2313
|
}
|
|
2314
|
+
/** TableCellSelection的操作接口。 */
|
|
1048
2315
|
interface TableCellSelectionApi<T> {
|
|
2316
|
+
/** 读取当前单元格选区。 */
|
|
1049
2317
|
getRange: () => TableCellRange | null;
|
|
2318
|
+
/** 设置单元格选区,传入空值可清除选区。 */
|
|
1050
2319
|
setRange: (range: TableCellRange | null) => void;
|
|
2320
|
+
/** 清空当前值或内容。 */
|
|
1051
2321
|
clear: () => void;
|
|
2322
|
+
/** 读取当前选区中的单元格信息。 */
|
|
1052
2323
|
getSelectedCells: () => readonly TableSelectedCell<T>[];
|
|
2324
|
+
/** 将当前选区转换为可复制文本。 */
|
|
1053
2325
|
getCopyText: () => string;
|
|
1054
2326
|
}
|
|
2327
|
+
/** 创建表格单元格区域选择插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1055
2328
|
declare function createCellSelectionPlugin<T extends Record<string, unknown>>(options?: TableCellSelectionPluginOptions<T>): TablePlugin<T, CellSelectionState, TableCellSelectionApi<T>>;
|
|
2329
|
+
/** TableRowSpan的插件配置。 */
|
|
1056
2330
|
interface TableRowSpanPluginOptions<T> {
|
|
2331
|
+
/** 列配置或选项布局列数,具体类型见签名。 */
|
|
1057
2332
|
columns?: readonly string[];
|
|
2333
|
+
/** 自定义两个值的相等性判断。 */
|
|
1058
2334
|
equals?: (left: unknown, right: unknown, column: TableColumn<T>) => boolean;
|
|
2335
|
+
/** 是否禁用虚拟渲染。 */
|
|
1059
2336
|
disableVirtual?: boolean;
|
|
1060
2337
|
}
|
|
2338
|
+
/** 创建表格跨行合并插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1061
2339
|
declare function createRowSpanPlugin<T extends Record<string, unknown>>(options?: TableRowSpanPluginOptions<T>): TablePlugin<T, undefined>;
|
|
2340
|
+
/** TableSelection的模式类型。 */
|
|
1062
2341
|
type TableSelectionMode = "single" | "multiple" | "row";
|
|
2342
|
+
/** TableSelection的插件配置。 */
|
|
1063
2343
|
interface TableSelectionPluginOptions<T> {
|
|
2344
|
+
/** 展示或交互模式;可选值见类型定义。 */
|
|
1064
2345
|
mode?: TableSelectionMode;
|
|
2346
|
+
/** 当前选中项目的标识集合;传入后由外部控制。 */
|
|
1065
2347
|
selectedKeys?: readonly TableKey[];
|
|
2348
|
+
/** 非受控模式下初始选中的项目标识集合。 */
|
|
1066
2349
|
defaultSelectedKeys?: readonly TableKey[];
|
|
2350
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1067
2351
|
onChange?: (keys: readonly TableKey[], rows: readonly T[]) => void;
|
|
2352
|
+
/** 按行判断其勾选框是否禁用。 */
|
|
1068
2353
|
getCheckboxDisabled?: (record: T) => boolean;
|
|
2354
|
+
/** 是否展示已选记录数。 */
|
|
1069
2355
|
showSelectedCount?: boolean;
|
|
2356
|
+
/** 切换页面或数据源时是否保留已选行标识。 */
|
|
1070
2357
|
preserveSelectedRowKeys?: boolean;
|
|
2358
|
+
/** 是否显示跨页保留勾选的开关。 */
|
|
1071
2359
|
showPreserveSelectedRowKeys?: boolean;
|
|
2360
|
+
/** 已选记录面板的列数。 */
|
|
1072
2361
|
selectionPanelColumnCount?: number;
|
|
2362
|
+
/** 已选记录面板最多展示的条数。 */
|
|
1073
2363
|
selectionPanelMaxCount?: number;
|
|
2364
|
+
/** 跨页保留勾选开关变化时调用。 */
|
|
1074
2365
|
onPreserveSelectedRowKeysChange?: (preserve: boolean) => void;
|
|
2366
|
+
/** 行数据中存放子行的字段名。 */
|
|
1075
2367
|
childrenColumnName?: string;
|
|
1076
2368
|
}
|
|
2369
|
+
/** 行勾选和已选面板状态。 */
|
|
1077
2370
|
interface SelectionState {
|
|
2371
|
+
/** 当前选中的行标识。 */
|
|
1078
2372
|
selectedKeys: readonly TableKey[];
|
|
2373
|
+
/** 是否跨页保留选中行。 */
|
|
1079
2374
|
preserveSelectedRowKeys: boolean;
|
|
2375
|
+
/** 已选记录面板是否打开。 */
|
|
1080
2376
|
panelOpen: boolean;
|
|
1081
2377
|
}
|
|
2378
|
+
/** TableSelection的操作接口。 */
|
|
1082
2379
|
interface TableSelectionApi<T> {
|
|
2380
|
+
/** 读取当前选中行的标识。 */
|
|
1083
2381
|
getSelectedKeys: () => readonly TableKey[];
|
|
2382
|
+
/** 设置选中行标识集合。 */
|
|
1084
2383
|
setSelectedKeys: (keys: readonly TableKey[]) => void;
|
|
2384
|
+
/** 清空当前值或内容。 */
|
|
1085
2385
|
clear: () => void;
|
|
2386
|
+
/** 切换指定行的选中状态。 */
|
|
1086
2387
|
toggle: (key: TableKey, checked?: boolean) => void;
|
|
2388
|
+
/** 读取当前选中的行数据。 */
|
|
1087
2389
|
getSelectedRows: () => readonly T[];
|
|
2390
|
+
/** 读取是否跨页保留选中行。 */
|
|
1088
2391
|
getPreserveSelectedRowKeys: () => boolean;
|
|
2392
|
+
/** 设置是否跨页保留选中行。 */
|
|
1089
2393
|
setPreserveSelectedRowKeys: (preserve: boolean) => void;
|
|
1090
2394
|
}
|
|
2395
|
+
/** 创建表格行勾选插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1091
2396
|
declare function createSelectionPlugin<T extends Record<string, unknown>>(options?: TableSelectionPluginOptions<T>): TablePlugin<T, SelectionState, TableSelectionApi<T>>;
|
|
2397
|
+
/** TableSort的插件配置。 */
|
|
1092
2398
|
interface TableSortPluginOptions {
|
|
2399
|
+
/** 展示或交互模式;可选值见类型定义。 */
|
|
1093
2400
|
mode?: "local" | "remote";
|
|
2401
|
+
/** 配置存储的作用域,用于隔离不同模块和业务表格。 */
|
|
1094
2402
|
scope?: "page" | "all";
|
|
2403
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
1095
2404
|
value?: TableSortInfo | null;
|
|
2405
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
1096
2406
|
defaultValue?: TableSortInfo | null;
|
|
2407
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1097
2408
|
onChange?: (sort: TableSortInfo) => void;
|
|
2409
|
+
/** 比较两条记录的排序函数;负数表示前者排在前面。 */
|
|
1098
2410
|
compare?: (a: unknown, b: unknown, field: string) => number;
|
|
1099
2411
|
}
|
|
2412
|
+
/** 表格排序状态。 */
|
|
1100
2413
|
interface SortState {
|
|
2414
|
+
/** 当前排序配置。 */
|
|
1101
2415
|
sort: TableSortInfo | null;
|
|
1102
2416
|
}
|
|
2417
|
+
/** TableSort的操作接口。 */
|
|
1103
2418
|
interface TableSortApi {
|
|
2419
|
+
/** 读取当前排序列及方向。 */
|
|
1104
2420
|
getSortInfo: () => TableSortInfo | null;
|
|
2421
|
+
/** 设置当前排序信息。 */
|
|
1105
2422
|
setSortInfo: (sort: TableSortInfo | null) => void;
|
|
2423
|
+
/** 清空当前值或内容。 */
|
|
1106
2424
|
clear: () => void;
|
|
1107
2425
|
}
|
|
2426
|
+
/** 创建表格列排序插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1108
2427
|
declare function createSortPlugin<T extends Record<string, unknown>>(options?: TableSortPluginOptions): TablePlugin<T, SortState, TableSortApi>;
|
|
2428
|
+
/** 列标识到筛选条件的映射。 */
|
|
1109
2429
|
type TableFilterValues = Readonly<Record<string, string>>;
|
|
2430
|
+
/** TableFilter的插件配置。 */
|
|
1110
2431
|
interface TableFilterPluginOptions<T> {
|
|
2432
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
1111
2433
|
value?: TableFilterValues;
|
|
2434
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
1112
2435
|
defaultValue?: TableFilterValues;
|
|
2436
|
+
/** 未填写或未选择时的提示内容。 */
|
|
1113
2437
|
placeholder?: string | ((column: TableColumn<T>) => string);
|
|
2438
|
+
/** 用于判断记录是否满足条件的函数。 */
|
|
1114
2439
|
predicate?: (value: unknown, filterValue: string, record: T, column: TableColumn<T>) => boolean;
|
|
2440
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1115
2441
|
onChange?: (filters: TableFilterValues) => void;
|
|
1116
2442
|
}
|
|
2443
|
+
/** 表格筛选条件状态。 */
|
|
1117
2444
|
interface FilterState {
|
|
2445
|
+
/** 按列保存的筛选条件。 */
|
|
1118
2446
|
filters: Record<string, string>;
|
|
1119
2447
|
}
|
|
2448
|
+
/** TableFilter的操作接口。 */
|
|
1120
2449
|
interface TableFilterApi<T> {
|
|
2450
|
+
/** 读取当前筛选条件。 */
|
|
1121
2451
|
getFilters: () => TableFilterValues;
|
|
2452
|
+
/** 设置指定列的筛选条件。 */
|
|
1122
2453
|
setFilter: (columnKey: string, value: string) => void;
|
|
2454
|
+
/** 清空当前值或内容。 */
|
|
1123
2455
|
clear: (columnKey?: string) => void;
|
|
2456
|
+
/** 读取应用筛选后的行数据。 */
|
|
1124
2457
|
getFilteredRows: () => readonly T[];
|
|
1125
2458
|
}
|
|
2459
|
+
/** 创建表格数据筛选插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1126
2460
|
declare function createFilterPlugin<T extends Record<string, unknown>>(options?: TableFilterPluginOptions<T>): TablePlugin<T, FilterState, TableFilterApi<T>>;
|
|
2461
|
+
/** TablePagination的插件配置。 */
|
|
1127
2462
|
interface TablePaginationPluginOptions {
|
|
2463
|
+
/** 展示或交互模式;可选值见类型定义。 */
|
|
1128
2464
|
mode?: "local" | "server" | "auto";
|
|
2465
|
+
/** 记录总条数。 */
|
|
1129
2466
|
totalCount?: number;
|
|
2467
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
1130
2468
|
current?: number;
|
|
2469
|
+
/** 每页显示的记录数。 */
|
|
1131
2470
|
pageSize?: number;
|
|
2471
|
+
/** 非受控模式的初始页码或步骤位置。 */
|
|
1132
2472
|
defaultCurrent?: number;
|
|
2473
|
+
/** 非受控模式下每页默认展示的记录数。 */
|
|
1133
2474
|
defaultPageSize?: number;
|
|
2475
|
+
/** 每页条数候选项 */
|
|
1134
2476
|
pageSizeOptions?: readonly number[];
|
|
2477
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1135
2478
|
onChange?: (current: number, pageSize: number, isFirstLoad?: boolean) => void;
|
|
2479
|
+
/** 按分页上下文异步请求总记录数。 */
|
|
1136
2480
|
requestTotal?: (model?: unknown) => Promise<void>;
|
|
2481
|
+
/** 是否为首次加载。 */
|
|
1137
2482
|
isFirstLoad?: boolean;
|
|
1138
2483
|
}
|
|
2484
|
+
/** 表格分页和总数请求状态。 */
|
|
1139
2485
|
interface PaginationState {
|
|
2486
|
+
/** 当前页码。 */
|
|
1140
2487
|
current: number;
|
|
2488
|
+
/** 每页记录数。 */
|
|
1141
2489
|
pageSize: number;
|
|
2490
|
+
/** 是否正在请求记录总数。 */
|
|
1142
2491
|
requestLoading: boolean;
|
|
1143
2492
|
}
|
|
2493
|
+
/** TablePagination的操作接口。 */
|
|
1144
2494
|
interface TablePaginationApi {
|
|
2495
|
+
/** 读取当前分页状态。 */
|
|
1145
2496
|
getPage: () => {
|
|
2497
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
1146
2498
|
current: number;
|
|
2499
|
+
/** 每页显示的记录数。 */
|
|
1147
2500
|
pageSize: number;
|
|
1148
2501
|
};
|
|
2502
|
+
/** 设置当前页码与分页参数。 */
|
|
1149
2503
|
setPage: (page: Partial<{
|
|
2504
|
+
/** 当前页码、步骤或播放位置,具体取值见组件类型。 */
|
|
1150
2505
|
current: number;
|
|
2506
|
+
/** 每页显示的记录数。 */
|
|
1151
2507
|
pageSize: number;
|
|
1152
2508
|
}>) => void;
|
|
2509
|
+
/** 将分页状态转换为业务请求需要的参数。 */
|
|
1153
2510
|
generatePageParams: <Model extends Record<string, unknown>>(model: Model) => Model & TablePageParams;
|
|
2511
|
+
/** 请求记录总数的函数。 */
|
|
1154
2512
|
requestCount: (model?: unknown) => Promise<void>;
|
|
1155
2513
|
}
|
|
2514
|
+
/** 创建表格分页插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1156
2515
|
declare function createPaginationPlugin<T extends Record<string, unknown>>(options?: TablePaginationPluginOptions): TablePlugin<T, PaginationState, TablePaginationApi>;
|
|
2516
|
+
/** TableIndex的插件配置。 */
|
|
1157
2517
|
interface TableIndexPluginOptions {
|
|
2518
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
1158
2519
|
title?: ReactNode;
|
|
2520
|
+
/** 宽度;数值按像素处理,字符串可使用 CSS 尺寸。 */
|
|
1159
2521
|
width?: number;
|
|
2522
|
+
/** 序号列的起始编号。 */
|
|
1160
2523
|
startIndex?: number;
|
|
1161
2524
|
}
|
|
2525
|
+
/** 创建表格序号列插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1162
2526
|
declare function createIndexPlugin<T extends Record<string, unknown>>(options?: TableIndexPluginOptions): TablePlugin<T, undefined>;
|
|
2527
|
+
/** TableTree的插件配置。 */
|
|
1163
2528
|
interface TableTreePluginOptions<T> {
|
|
2529
|
+
/** 行数据中存放子行的字段名。 */
|
|
1164
2530
|
childrenColumnName?: string;
|
|
2531
|
+
/** 是否忽略数据内的子行字段。 */
|
|
1165
2532
|
ignoreChildrenColumn?: boolean;
|
|
2533
|
+
/** 受控的展开行标识集合。 */
|
|
1166
2534
|
expandedRowKeys?: readonly TableKey[];
|
|
2535
|
+
/** 初始化时展开的行标识集合。 */
|
|
1167
2536
|
defaultExpandedRowKeys?: readonly TableKey[];
|
|
2537
|
+
/** 是否在初始化时展开全部行。 */
|
|
1168
2538
|
defaultExpandAllRows?: boolean;
|
|
2539
|
+
/** 展开行集合变化时调用。 */
|
|
1169
2540
|
onExpandedRowsChange?: (keys: readonly TableKey[]) => void;
|
|
2541
|
+
/** 按记录判断是否允许展开该行。 */
|
|
1170
2542
|
canExpand?: (record: T) => boolean;
|
|
1171
2543
|
}
|
|
2544
|
+
/** 树形行的展开状态。 */
|
|
1172
2545
|
interface TreeState {
|
|
2546
|
+
/** 已展开的行标识集合。 */
|
|
1173
2547
|
expandedKeys: readonly TableKey[];
|
|
1174
2548
|
}
|
|
2549
|
+
/** TableTree的操作接口。 */
|
|
1175
2550
|
interface TableTreeApi {
|
|
2551
|
+
/** 读取展开行或节点的标识集合。 */
|
|
1176
2552
|
getExpandedKeys: () => readonly TableKey[];
|
|
2553
|
+
/** 设置展开行或节点的标识集合。 */
|
|
1177
2554
|
setExpandedKeys: (keys: readonly TableKey[]) => void;
|
|
2555
|
+
/** 展开全部可展开行或节点。 */
|
|
1178
2556
|
expandAll: () => void;
|
|
2557
|
+
/** 收起全部已展开行或节点。 */
|
|
1179
2558
|
collapseAll: () => void;
|
|
1180
2559
|
}
|
|
2560
|
+
/** 创建表格树形行展开插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1181
2561
|
declare function createTreePlugin<T extends Record<string, unknown>>(options?: TableTreePluginOptions<T>): TablePlugin<T, TreeState, TableTreeApi>;
|
|
2562
|
+
/** TableSummary的插件配置。 */
|
|
1182
2563
|
interface TableSummaryPluginOptions<T> {
|
|
2564
|
+
/** 当前数据范围的小计配置。 */
|
|
1183
2565
|
subTotal?: Record<string, ReactNode> | ((pageData: readonly T[]) => Record<string, ReactNode>);
|
|
2566
|
+
/** 数据总数 */
|
|
1184
2567
|
total?: Record<string, ReactNode>;
|
|
2568
|
+
/** 小计行的标题文案。 */
|
|
1185
2569
|
subTotalLabel?: ReactNode;
|
|
2570
|
+
/** 总计行的标题文案。 */
|
|
1186
2571
|
totalLabel?: ReactNode;
|
|
1187
2572
|
}
|
|
2573
|
+
/** 创建表格小计与总计插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1188
2574
|
declare function createSummaryPlugin<T extends Record<string, unknown>>(options: TableSummaryPluginOptions<T>): TablePlugin<T, undefined>;
|
|
2575
|
+
/** 表格当前编辑单元格的状态。 */
|
|
1189
2576
|
interface EditableState {
|
|
2577
|
+
/** 是否处于编辑状态。 */
|
|
1190
2578
|
editing: {
|
|
2579
|
+
/** 行唯一键字段或计算函数 */
|
|
1191
2580
|
rowKey: TableKey;
|
|
2581
|
+
/** 列的唯一标识,对应 TableColumn.key。 */
|
|
1192
2582
|
columnKey: string;
|
|
1193
2583
|
} | null;
|
|
1194
2584
|
}
|
|
2585
|
+
/** TableEditable的插件配置。 */
|
|
1195
2586
|
interface TableEditablePluginOptions<T> {
|
|
2587
|
+
/** 单元格编辑值变化时调用,接收行、列及新旧值等上下文。 */
|
|
1196
2588
|
onCellChange?: (columnKey: string, record: T, newValue: unknown) => boolean | Promise<boolean>;
|
|
2589
|
+
/** 触发显示的交互方式。 */
|
|
1197
2590
|
trigger?: "click" | "doubleClick";
|
|
1198
2591
|
}
|
|
2592
|
+
/** TableEditable的操作接口。 */
|
|
1199
2593
|
interface TableEditableApi {
|
|
2594
|
+
/** 取消当前编辑或操作。 */
|
|
1200
2595
|
cancel: () => void;
|
|
2596
|
+
/** 读取当前正在编辑的单元格。 */
|
|
1201
2597
|
getEditingCell: () => EditableState["editing"];
|
|
1202
2598
|
}
|
|
2599
|
+
/** 创建表格单元格编辑插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1203
2600
|
declare function createEditablePlugin<T extends Record<string, unknown>>(options?: TableEditablePluginOptions<T>): TablePlugin<T, EditableState, TableEditableApi>;
|
|
2601
|
+
/** 已调整列宽和手动布局状态。 */
|
|
1204
2602
|
interface ResizeState {
|
|
2603
|
+
/** 列标识到已调整宽度的映射。 */
|
|
1205
2604
|
widths: Record<string, number>;
|
|
2605
|
+
/** 是否已启用手动列宽布局。 */
|
|
1206
2606
|
manualLayout?: boolean;
|
|
1207
2607
|
}
|
|
2608
|
+
/** TableResize的插件配置。 */
|
|
1208
2609
|
interface TableResizePluginOptions {
|
|
2610
|
+
/** 是否启用该功能。 */
|
|
1209
2611
|
enabled?: boolean;
|
|
2612
|
+
/** 拖拽调整列宽结束时调用,接收 columnKey 和最终宽度(px);拖动过程中不会逐帧触发。 */
|
|
1210
2613
|
onResize?: (columnKey: string, width: number) => void;
|
|
1211
2614
|
}
|
|
2615
|
+
/** TableResize的操作接口。 */
|
|
1212
2616
|
interface TableResizeApi {
|
|
2617
|
+
/** 读取已调整的列宽映射,键为列标识。 */
|
|
1213
2618
|
getWidths: () => Readonly<Record<string, number>>;
|
|
2619
|
+
/** 设置指定列的宽度,并通知列宽变更监听者。 */
|
|
1214
2620
|
setWidth: (columnKey: string, width: number) => void;
|
|
1215
2621
|
}
|
|
2622
|
+
/** 创建表格列宽拖拽调整插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1216
2623
|
declare function createResizePlugin<T extends Record<string, unknown>>(options?: TableResizePluginOptions): TablePlugin<T, ResizeState, TableResizeApi>;
|
|
2624
|
+
/** TableColumnSetting的插件配置。 */
|
|
1217
2625
|
interface TableColumnSettingPluginOptions<T> {
|
|
1218
2626
|
/** 设置按钮的完整 Button 属性;className 合并,disabled/loading 同时禁用菜单触发。 */
|
|
1219
2627
|
buttonProps?: ButtonProps;
|
|
@@ -1221,217 +2629,498 @@ interface TableColumnSettingPluginOptions<T> {
|
|
|
1221
2629
|
menuItems?: readonly TableToolbarItem<T>[];
|
|
1222
2630
|
/** 是否显示设置菜单中的导出操作,默认 true。 */
|
|
1223
2631
|
showExport?: boolean;
|
|
2632
|
+
/** 未读取到保存配置时默认显示的列标识。 */
|
|
1224
2633
|
defaultVisibleKeys?: readonly string[];
|
|
2634
|
+
/** 是否在工具栏显示此插件的操作按钮。 */
|
|
1225
2635
|
showButton?: boolean;
|
|
2636
|
+
/** 可见列集合变化时调用。 */
|
|
1226
2637
|
onVisibleChange?: (columns: readonly TableColumn<T>[]) => void;
|
|
2638
|
+
/** 列顺序变化时调用。 */
|
|
1227
2639
|
onOrderChange?: (columns: readonly TableColumn<T>[]) => void;
|
|
2640
|
+
/** 配置持久化适配器,提供 load 和 save 方法对接本地或云端存储。 */
|
|
1228
2641
|
adapter?: TableSettingsAdapter;
|
|
2642
|
+
/** 配置存储的作用域,用于隔离不同模块和业务表格。 */
|
|
1229
2643
|
scope?: {
|
|
2644
|
+
/** 所属业务模块名称。 */
|
|
1230
2645
|
moduleName: string;
|
|
2646
|
+
/** 同一模块内用于区分表格配置的业务标识。 */
|
|
1231
2647
|
businessKey: string;
|
|
1232
2648
|
};
|
|
1233
2649
|
}
|
|
2650
|
+
/** 列设置插件的加载、面板和持久化状态。 */
|
|
1234
2651
|
interface ColumnSettingState {
|
|
2652
|
+
/** 列设置面板是否打开。 */
|
|
1235
2653
|
open: boolean;
|
|
2654
|
+
/** 当前列设置集合。 */
|
|
1236
2655
|
items: readonly TableColumnSettingItem[];
|
|
2656
|
+
/** 是否已完成一次配置读取。 */
|
|
1237
2657
|
loaded: boolean;
|
|
2658
|
+
/** 是否正在读取配置。 */
|
|
1238
2659
|
loading?: boolean;
|
|
2660
|
+
/** 最近一次配置读取是否失败。 */
|
|
1239
2661
|
loadError?: boolean;
|
|
2662
|
+
/** 用于忽略过期读取响应的请求标记。 */
|
|
1240
2663
|
loadToken?: symbol;
|
|
2664
|
+
/** 每页记录数。 */
|
|
1241
2665
|
pageSize?: number;
|
|
1242
2666
|
}
|
|
2667
|
+
/** TableColumnSetting的操作接口。 */
|
|
1243
2668
|
interface TableColumnSettingApi {
|
|
2669
|
+
/** 打开列设置面板,并通过已配置的适配器重新读取保存配置。 */
|
|
1244
2670
|
open: () => void;
|
|
2671
|
+
/** 关闭当前界面或实例。 */
|
|
1245
2672
|
close: () => void;
|
|
2673
|
+
/** 读取当前列设置快照。 */
|
|
1246
2674
|
getSettings: () => readonly TableColumnSettingItem[];
|
|
2675
|
+
/** 应用传入的配置;是否持久化由方法参数或插件选项控制。 */
|
|
1247
2676
|
apply: (settings: readonly TableColumnSettingItem[]) => void;
|
|
1248
2677
|
}
|
|
2678
|
+
/** 创建表格列设置和持久化插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1249
2679
|
declare function createColumnSettingPlugin<T extends Record<string, unknown>>(options?: TableColumnSettingPluginOptions<T>): TablePlugin<T, ColumnSettingState, TableColumnSettingApi>;
|
|
2680
|
+
/** 创建使用 localStorage 持久化表格设置的适配器,按模块及业务标识隔离配置。 */
|
|
1250
2681
|
declare function createLocalStorageTableSettingsAdapter(prefix?: string): TableSettingsAdapter;
|
|
2682
|
+
/** TableToolbar的项目定义。 */
|
|
1251
2683
|
interface TableToolbarItem<T> {
|
|
2684
|
+
/** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
|
|
1252
2685
|
key: string;
|
|
2686
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
1253
2687
|
label: ReactNode;
|
|
2688
|
+
/** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
|
|
1254
2689
|
icon?: ReactNode;
|
|
2690
|
+
/** 显示位置或定位配置。 */
|
|
1255
2691
|
position?: "start" | "end";
|
|
2692
|
+
/** 是否允许该列出现在列设置面板中。 */
|
|
1256
2693
|
inSettings?: boolean;
|
|
2694
|
+
/** 危险操作样式 */
|
|
1257
2695
|
danger?: boolean;
|
|
2696
|
+
/** 是否禁用交互。 */
|
|
1258
2697
|
disabled?: boolean | ((context: TablePluginContext<T, any>) => boolean);
|
|
2698
|
+
/** 是否隐藏此项。 */
|
|
1259
2699
|
hidden?: boolean | ((context: TablePluginContext<T, any>) => boolean);
|
|
2700
|
+
/** 点击时触发,参数为当前点击事件或项目上下文。 */
|
|
1260
2701
|
onClick?: (context: TablePluginContext<T, any>) => void | Promise<void>;
|
|
1261
2702
|
}
|
|
2703
|
+
/** TableToolbar的插件配置。 */
|
|
1262
2704
|
interface TableToolbarPluginOptions<T> {
|
|
2705
|
+
/** 范围起点。 */
|
|
1263
2706
|
start?: ReactNode;
|
|
2707
|
+
/** 范围终点。 */
|
|
1264
2708
|
end?: ReactNode;
|
|
2709
|
+
/** 按展示顺序排列的项目配置。 */
|
|
1265
2710
|
items?: readonly TableToolbarItem<T>[];
|
|
2711
|
+
/** 按业务权限判断是否允许访问或展示。 */
|
|
1266
2712
|
canAccess?: (item: TableToolbarItem<T>) => boolean;
|
|
1267
2713
|
}
|
|
2714
|
+
/** 创建表格工具栏操作插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1268
2715
|
declare function createToolbarPlugin<T extends Record<string, unknown>>(options: TableToolbarPluginOptions<T>): TablePlugin<T, undefined>;
|
|
2716
|
+
/** 表格导出的数据范围。 */
|
|
1269
2717
|
type TableExportScope = "visible" | "all" | "selected";
|
|
2718
|
+
/** TableExport的插件配置。 */
|
|
1270
2719
|
interface TableExportPluginOptions<T> {
|
|
2720
|
+
/** 配置存储的作用域,用于隔离不同模块和业务表格。 */
|
|
1271
2721
|
scope?: TableExportScope;
|
|
2722
|
+
/** 导出文件名。 */
|
|
1272
2723
|
fileName?: string | ((context: TablePluginContext<T, undefined>) => string);
|
|
2724
|
+
/** CSV 字段分隔符。 */
|
|
1273
2725
|
delimiter?: "," | "\t" | ";";
|
|
2726
|
+
/** 是否在导出文本前添加 UTF-8 BOM,便于表格软件识别中文。 */
|
|
1274
2727
|
includeBom?: boolean;
|
|
2728
|
+
/** 是否处理可能被表格软件当作公式执行的单元格文本。 */
|
|
1275
2729
|
sanitizeFormula?: boolean;
|
|
2730
|
+
/** 操作按钮的显示文案。 */
|
|
1276
2731
|
buttonLabel?: ReactNode;
|
|
2732
|
+
/** 是否在工具栏显示此插件的操作按钮。 */
|
|
1277
2733
|
showButton?: boolean;
|
|
2734
|
+
/** 执行导出时调用。 */
|
|
1278
2735
|
onExport?: (csv: string, rows: readonly T[]) => void | Promise<void>;
|
|
1279
2736
|
}
|
|
2737
|
+
/** TableExport的操作接口。 */
|
|
1280
2738
|
interface TableExportApi<T> {
|
|
2739
|
+
/** 生成当前导出范围的 CSV 文本。 */
|
|
1281
2740
|
getCsv: (scope?: TableExportScope) => string;
|
|
2741
|
+
/** 下载当前导出结果。 */
|
|
1282
2742
|
download: (scope?: TableExportScope) => Promise<void>;
|
|
2743
|
+
/** 读取插件当前处理的行数据。 */
|
|
1283
2744
|
getRows: (scope?: TableExportScope) => readonly T[];
|
|
1284
2745
|
}
|
|
2746
|
+
/** 创建表格数据导出插件。将返回值加入 Table 的 plugins 后生效。 */
|
|
1285
2747
|
declare function createExportPlugin<T extends Record<string, unknown>>(options?: TableExportPluginOptions<T>): TablePlugin<T, undefined, TableExportApi<T>>;
|
|
1286
2748
|
|
|
2749
|
+
/** 主题切换的属性配置。 */
|
|
1287
2750
|
interface ThemeSwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
|
|
2751
|
+
/** 当前是否勾选;作为受控属性时通过回调更新。 */
|
|
1288
2752
|
checked: boolean;
|
|
2753
|
+
/** 状态变化时返回最新布尔值 */
|
|
1289
2754
|
onCheckedChange?: (checked: boolean) => void;
|
|
2755
|
+
/**
|
|
2756
|
+
* 亮色主题的显示文案。
|
|
2757
|
+
* @defaultValue "亮色模式"
|
|
2758
|
+
*/
|
|
1290
2759
|
lightLabel?: string;
|
|
2760
|
+
/**
|
|
2761
|
+
* 暗色主题的显示文案。
|
|
2762
|
+
* @defaultValue "暗色模式"
|
|
2763
|
+
*/
|
|
1291
2764
|
darkLabel?: string;
|
|
1292
2765
|
}
|
|
2766
|
+
/** 主题切换组件。 */
|
|
1293
2767
|
declare const ThemeSwitch: react.ForwardRefExoticComponent<ThemeSwitchProps & react.RefAttributes<HTMLButtonElement>>;
|
|
1294
2768
|
|
|
2769
|
+
/** 浮动滚动条接入组件的属性配置。 */
|
|
1295
2770
|
interface FloatingScrollbarProviderProps {
|
|
2771
|
+
/**
|
|
2772
|
+
* 是否禁用交互。
|
|
2773
|
+
* @defaultValue false
|
|
2774
|
+
*/
|
|
1296
2775
|
disabled?: boolean;
|
|
1297
2776
|
/** 仅接管指定容器;不传时接管页面中的滚动容器。 */
|
|
1298
2777
|
targetRef?: RefObject<HTMLElement | null>;
|
|
1299
2778
|
}
|
|
2779
|
+
/** 浮动滚动条接入组件组件。 */
|
|
1300
2780
|
declare function FloatingScrollbarProvider({ disabled, targetRef }: FloatingScrollbarProviderProps): null;
|
|
1301
2781
|
|
|
2782
|
+
/** SiaTheme的模式类型。 */
|
|
1302
2783
|
type SiaThemeMode = "light" | "dark";
|
|
2784
|
+
/** 框架主题令牌集合。 */
|
|
1303
2785
|
declare const SIA_THEME: {
|
|
2786
|
+
/** 主色。 */
|
|
1304
2787
|
readonly colorPrimary: "#1677ff";
|
|
2788
|
+
/** 主色的悬停色。 */
|
|
1305
2789
|
readonly colorPrimaryHover: "#4096ff";
|
|
2790
|
+
/** 主色的按下色。 */
|
|
1306
2791
|
readonly colorPrimaryActive: "#0958d9";
|
|
2792
|
+
/** 主要文本颜色。 */
|
|
1307
2793
|
readonly colorText: "#1f1f1f";
|
|
2794
|
+
/** 次要文本颜色。 */
|
|
1308
2795
|
readonly colorTextSecondary: "#666666";
|
|
2796
|
+
/** 页面背景颜色。 */
|
|
1309
2797
|
readonly colorBackground: "#f5f7fa";
|
|
2798
|
+
/** 组件表面颜色。 */
|
|
1310
2799
|
readonly colorSurface: "#ffffff";
|
|
2800
|
+
/** 默认边框颜色。 */
|
|
1311
2801
|
readonly colorBorder: "#d9d9d9";
|
|
2802
|
+
/** 默认圆角半径,单位为像素。 */
|
|
1312
2803
|
readonly borderRadius: 6;
|
|
2804
|
+
/** 默认控件高度,单位为像素。 */
|
|
1313
2805
|
readonly controlHeight: 32;
|
|
2806
|
+
/** 默认布局间距,单位为像素。 */
|
|
1314
2807
|
readonly spacing: 16;
|
|
2808
|
+
/** 默认字号,单位为像素。 */
|
|
1315
2809
|
readonly fontSize: 16;
|
|
2810
|
+
/** 小号文字尺寸,单位为像素。 */
|
|
1316
2811
|
readonly fontSizeSmall: 14;
|
|
2812
|
+
/** 大号文字尺寸,单位为像素。 */
|
|
1317
2813
|
readonly fontSizeLarge: 18;
|
|
1318
2814
|
};
|
|
2815
|
+
/** 将亮色或暗色主题应用到指定元素;省略目标时应用到文档根节点。 */
|
|
1319
2816
|
declare function applySiaTheme(mode: SiaThemeMode, target?: HTMLElement): void;
|
|
1320
2817
|
|
|
2818
|
+
/** Selection的值类型。 */
|
|
1321
2819
|
type SelectionValue = string | number;
|
|
2820
|
+
/** Selection的候选项定义。 */
|
|
1322
2821
|
interface SelectionOption {
|
|
2822
|
+
/** 该项目对应的数据值,用于标识、选择或计算。 */
|
|
1323
2823
|
value: SelectionValue;
|
|
2824
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
1324
2825
|
label: ReactNode;
|
|
2826
|
+
/** 是否禁用交互。 */
|
|
1325
2827
|
disabled?: boolean;
|
|
2828
|
+
/** 禁用项悬停时显示的原因说明。 */
|
|
1326
2829
|
disabledTip?: ReactNode;
|
|
2830
|
+
/** 选项所属分组名称。 */
|
|
1327
2831
|
group?: string;
|
|
2832
|
+
/** 普通或按钮形态 */
|
|
1328
2833
|
optionType?: "divider";
|
|
1329
2834
|
}
|
|
2835
|
+
/** 分组选择面板的属性配置。 */
|
|
1330
2836
|
interface SelectionPanelProps {
|
|
2837
|
+
/** 可供用户选择的候选项列表。 */
|
|
1331
2838
|
options: readonly SelectionOption[];
|
|
2839
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
1332
2840
|
value: readonly SelectionValue[];
|
|
2841
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1333
2842
|
onChange: (values: SelectionValue[]) => void;
|
|
2843
|
+
/**
|
|
2844
|
+
是否允许同时选择多个项目。
|
|
2845
|
+
* @defaultValue false
|
|
2846
|
+
*/
|
|
1334
2847
|
multiple?: boolean;
|
|
1335
2848
|
/** 单选时允许再次点击已选项以清空选择。 */
|
|
1336
2849
|
allowDeselect?: boolean;
|
|
2850
|
+
/**
|
|
2851
|
+
* 是否禁用交互。
|
|
2852
|
+
* @defaultValue false
|
|
2853
|
+
*/
|
|
1337
2854
|
disabled?: boolean;
|
|
2855
|
+
/**
|
|
2856
|
+
* 是否处于加载状态。
|
|
2857
|
+
* @defaultValue false
|
|
2858
|
+
*/
|
|
1338
2859
|
loading?: boolean;
|
|
2860
|
+
/**
|
|
2861
|
+
是否显示搜索输入框。
|
|
2862
|
+
* @defaultValue true
|
|
2863
|
+
*/
|
|
1339
2864
|
showSearch?: boolean;
|
|
2865
|
+
/**
|
|
2866
|
+
是否显示全选、反选、清空及已选数量操作行。
|
|
2867
|
+
* @defaultValue true
|
|
2868
|
+
*/
|
|
1340
2869
|
showActions?: boolean;
|
|
2870
|
+
/**
|
|
2871
|
+
* 是否将不在 options 中的已选值作为自定义选项展示。
|
|
2872
|
+
* @defaultValue true
|
|
2873
|
+
*/
|
|
1341
2874
|
includeUnknownValues?: boolean;
|
|
2875
|
+
/** 受控的搜索文本。 */
|
|
1342
2876
|
searchValue?: string;
|
|
2877
|
+
/** 搜索条件变化或提交搜索时调用,具体参数见签名。 */
|
|
1343
2878
|
onSearch?: (value: string) => void;
|
|
2879
|
+
/**
|
|
2880
|
+
* 是否只显示已选中的选项。
|
|
2881
|
+
* @defaultValue false
|
|
2882
|
+
*/
|
|
1344
2883
|
selectedOnly?: boolean;
|
|
2884
|
+
/**
|
|
2885
|
+
* 在选项名称下方显示 value,下拉与弹框模式均支持;不影响按 value 搜索
|
|
2886
|
+
* @defaultValue false
|
|
2887
|
+
*/
|
|
1345
2888
|
showValue?: boolean;
|
|
2889
|
+
/**
|
|
2890
|
+
* 选项主文本显示 label 还是 value。
|
|
2891
|
+
* @defaultValue "label"
|
|
2892
|
+
*/
|
|
1346
2893
|
displayField?: "label" | "value";
|
|
2894
|
+
/**
|
|
2895
|
+
* 每行选项列数;长文本在格内单行省略。
|
|
2896
|
+
* @defaultValue 1
|
|
2897
|
+
*/
|
|
1347
2898
|
columns?: number;
|
|
2899
|
+
/**
|
|
2900
|
+
* 允许的最大高度。
|
|
2901
|
+
* @defaultValue 250
|
|
2902
|
+
*/
|
|
1348
2903
|
maxHeight?: number;
|
|
2904
|
+
/**
|
|
2905
|
+
* 面板挂载后是否自动聚焦搜索框。
|
|
2906
|
+
* @defaultValue false
|
|
2907
|
+
*/
|
|
1349
2908
|
autoFocusSearch?: boolean;
|
|
1350
2909
|
}
|
|
1351
2910
|
/** 可嵌入下拉或弹窗的分组选择面板,长列表按行虚拟化。 */
|
|
1352
2911
|
declare function SelectionPanel({ options, value, onChange, multiple, allowDeselect, disabled, loading, showSearch, showActions, includeUnknownValues, searchValue, onSearch, selectedOnly, showValue, displayField, columns, maxHeight, autoFocusSearch }: SelectionPanelProps): react.JSX.Element;
|
|
1353
2912
|
|
|
2913
|
+
/** 输入选择组合控件的属性配置。 */
|
|
1354
2914
|
interface InputSelectProps {
|
|
2915
|
+
/** 可供用户选择的候选项列表。 */
|
|
1355
2916
|
options: readonly SelectionOption[];
|
|
2917
|
+
/** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
|
|
1356
2918
|
value?: SelectionValue | readonly SelectionValue[] | null;
|
|
2919
|
+
/** 非受控模式的初始值,仅在初始化时使用。 */
|
|
1357
2920
|
defaultValue?: SelectionValue | readonly SelectionValue[];
|
|
2921
|
+
/** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
|
|
1358
2922
|
onChange?: (value: SelectionValue | SelectionValue[] | undefined) => void;
|
|
2923
|
+
/**
|
|
2924
|
+
是否允许同时选择多个项目。
|
|
2925
|
+
* @defaultValue false
|
|
2926
|
+
*/
|
|
1359
2927
|
multiple?: boolean;
|
|
2928
|
+
/**
|
|
2929
|
+
* 选项主文本显示 label 还是 value。
|
|
2930
|
+
* @defaultValue "label"
|
|
2931
|
+
*/
|
|
1360
2932
|
displayField?: "label" | "value";
|
|
2933
|
+
/**
|
|
2934
|
+
* 在选项名称下方显示 value,下拉与弹框模式均支持;不影响按 value 搜索
|
|
2935
|
+
* @defaultValue false
|
|
2936
|
+
*/
|
|
1361
2937
|
showValue?: boolean;
|
|
2938
|
+
/**
|
|
2939
|
+
* 未填写或未选择时的提示内容。
|
|
2940
|
+
* @defaultValue "请选择"
|
|
2941
|
+
*/
|
|
1362
2942
|
placeholder?: string;
|
|
2943
|
+
/** 占位提示的显示模式;floating 为浮动标签。 */
|
|
1363
2944
|
placeholderMode?: InputPlaceholderMode;
|
|
2945
|
+
/** 组件尺寸;用于调整控件高度、字号和间距。 */
|
|
1364
2946
|
size?: ControlSize;
|
|
2947
|
+
/** 当前状态,用于选择对应的状态样式。 */
|
|
1365
2948
|
status?: ControlStatus;
|
|
2949
|
+
/**
|
|
2950
|
+
* 是否禁用交互。
|
|
2951
|
+
* @defaultValue false
|
|
2952
|
+
*/
|
|
1366
2953
|
disabled?: boolean;
|
|
2954
|
+
/**
|
|
2955
|
+
* 是否处于加载状态。
|
|
2956
|
+
* @defaultValue false
|
|
2957
|
+
*/
|
|
1367
2958
|
loading?: boolean;
|
|
2959
|
+
/**
|
|
2960
|
+
是否允许清空当前选择或输入值。
|
|
2961
|
+
* @defaultValue true
|
|
2962
|
+
*/
|
|
1368
2963
|
allowClear?: boolean;
|
|
2964
|
+
/** 是否隐藏搜索输入框。 */
|
|
1369
2965
|
hideSearch?: boolean;
|
|
2966
|
+
/** 手动输入内容的最大长度 */
|
|
1370
2967
|
inputMaxLength?: number;
|
|
2968
|
+
/** 将输入文本解析为选项值的函数。 */
|
|
1371
2969
|
parseInput?: (text: string) => SelectionValue | SelectionValue[] | undefined;
|
|
2970
|
+
/** 是否显示通过弹框选择的入口。 */
|
|
1372
2971
|
enableModal?: boolean | {
|
|
2972
|
+
/** 标题内容,可传入文本或 React 节点。 */
|
|
1373
2973
|
title?: string;
|
|
2974
|
+
/** 宽度;数值按像素处理,字符串可使用 CSS 尺寸。 */
|
|
1374
2975
|
width?: number | string;
|
|
2976
|
+
/** 列配置或选项布局列数,具体类型见签名。 */
|
|
1375
2977
|
columns?: number;
|
|
2978
|
+
/** 允许的最大高度。 */
|
|
1376
2979
|
maxHeight?: number;
|
|
1377
2980
|
};
|
|
2981
|
+
/** 输入框后缀 */
|
|
1378
2982
|
suffix?: ReactNode;
|
|
2983
|
+
/** 组件根节点的内联样式。 */
|
|
1379
2984
|
style?: CSSProperties;
|
|
2985
|
+
/**
|
|
2986
|
+
* 附加到组件根节点的 CSS 类名。
|
|
2987
|
+
* @defaultValue ""
|
|
2988
|
+
*/
|
|
1380
2989
|
className?: string;
|
|
2990
|
+
/** 唯一标识,用于关联实例或插件。 */
|
|
1381
2991
|
id?: string;
|
|
2992
|
+
/** 辅助技术读取的控件名称。 */
|
|
1382
2993
|
"aria-label"?: string;
|
|
2994
|
+
/** 向辅助技术声明该控件是否必填。 */
|
|
1383
2995
|
"aria-required"?: boolean | "true" | "false";
|
|
2996
|
+
/** 打开状态改变时触发,参数为新的打开状态。 */
|
|
1384
2997
|
onOpenChange?: (open: boolean) => void;
|
|
1385
2998
|
}
|
|
2999
|
+
/** 输入选择组合控件组件。 */
|
|
1386
3000
|
declare const InputSelect: react.ForwardRefExoticComponent<InputSelectProps & react.RefAttributes<HTMLInputElement>>;
|
|
1387
3001
|
|
|
3002
|
+
/** 查询区中的一个字段,复用 Form.Item 绑定能力并增加布局宽度配置。 */
|
|
1388
3003
|
interface QueryFormField extends FormItemProps {
|
|
3004
|
+
/** 字段布局的稳定唯一标识;用于 React 渲染,不替代 Form.Item 的 name 字段路径。 */
|
|
1389
3005
|
key: string;
|
|
1390
3006
|
/** 字段占用宽度,默认由 fieldWidth 控制;组合字段可指定更大的宽度。 */
|
|
1391
3007
|
width?: number | string;
|
|
1392
3008
|
}
|
|
3009
|
+
/** 预设或已保存的快捷查询,包含名称、条件、颜色和可选数量徽标。 */
|
|
1393
3010
|
interface QueryFormShortcut<T extends FormValues = FormValues> {
|
|
3011
|
+
/** 快捷查询的稳定唯一标识,用于选中态和 onSearch 的 info.shortcutKey;建议使用后端主键,不使用可变排序索引。 */
|
|
1394
3012
|
key: string;
|
|
3013
|
+
/** 展示给用户的名称,可传入文本或 React 节点。 */
|
|
1395
3014
|
label: ReactNode;
|
|
3015
|
+
/** 该快捷查询保存的条件。点击时先恢复表单初始值,再用这些字段覆盖;支持与 Form 字段一致的嵌套数据结构。 */
|
|
1396
3016
|
values: Partial<T>;
|
|
3017
|
+
/** 是否禁用交互。 */
|
|
1397
3018
|
disabled?: boolean;
|
|
3019
|
+
/** 底部已保存快捷标签的颜色状态;未指定时使用组件分配的配色。 */
|
|
1398
3020
|
status?: TagStatus;
|
|
1399
3021
|
/** 顶部快捷查询按钮尺寸,优先于 quickQuerySize。 */
|
|
1400
3022
|
size?: ButtonSize;
|
|
1401
3023
|
/** 该快捷查询对应的数据总量,由业务接口提供。 */
|
|
1402
3024
|
count?: number;
|
|
3025
|
+
/** 顶部数量徽标的附加属性,例如 overflowCount、showZero 和颜色;徽标数量由同一快捷项的 count 提供。 */
|
|
1403
3026
|
badgeProps?: Omit<BadgeProps, "children" | "count">;
|
|
1404
3027
|
}
|
|
3028
|
+
/** 本次查询的触发来源及关联快捷查询标识。 */
|
|
1405
3029
|
interface QueryFormSearchInfo {
|
|
3030
|
+
/** 查询来源:submit 为查询按钮或表单提交,reset 为重置后查询,quick 为顶部预设,saved 为底部已保存条件。 */
|
|
1406
3031
|
source: "submit" | "reset" | "quick" | "saved";
|
|
3032
|
+
/** 触发查询的快捷项标识;普通查询或重置时可能未提供。 */
|
|
1407
3033
|
shortcutKey?: string;
|
|
1408
3034
|
}
|
|
3035
|
+
/** 查询表单的属性配置。 */
|
|
1409
3036
|
interface QueryFormProps<T extends FormValues = FormValues> extends Omit<FormProps, "onFinish" | "children" | "onError"> {
|
|
3037
|
+
/** 查询字段配置,每项包含稳定 key、可选宽度以及 Form.Item 属性;提供后优先于 children。 */
|
|
1410
3038
|
fields?: readonly QueryFormField[];
|
|
1411
3039
|
/** 也可直接放入 Form.Item 或 Space.Compact,每个直接子项视为一个查询字段。 */
|
|
1412
3040
|
children?: ReactNode;
|
|
3041
|
+
/** 表单校验通过后执行查询。values 是完整条件;info.source 区分 submit(查询)、reset(重置)、quick(顶部预设)和 saved(已保存条件)。返回 Promise 时自动显示加载状态并阻止重复提交。 */
|
|
1413
3042
|
onSearch: (values: T, info: QueryFormSearchInfo) => void | Promise<void>;
|
|
3043
|
+
/**
|
|
3044
|
+
* 是否处于加载状态。
|
|
3045
|
+
* @defaultValue false
|
|
3046
|
+
*/
|
|
1414
3047
|
loading?: boolean;
|
|
3048
|
+
/**
|
|
3049
|
+
* 查询字段的默认宽度,数值单位为像素,可传 CSS 尺寸字符串。
|
|
3050
|
+
* @defaultValue 220
|
|
3051
|
+
*/
|
|
1415
3052
|
fieldWidth?: number | string;
|
|
3053
|
+
/**
|
|
3054
|
+
是否显示展开和收起入口;false 时始终展示全部字段。
|
|
3055
|
+
* @defaultValue true
|
|
3056
|
+
*/
|
|
1416
3057
|
collapsible?: boolean;
|
|
3058
|
+
/** 受控收起状态,需在 onCollapsedChange 中更新。收起时保留字段挂载和值,只隐藏放不下的字段和底部快捷标签。 */
|
|
1417
3059
|
collapsed?: boolean;
|
|
3060
|
+
/**
|
|
3061
|
+
* 非受控模式的初始收起状态。
|
|
3062
|
+
* @defaultValue false
|
|
3063
|
+
*/
|
|
1418
3064
|
defaultCollapsed?: boolean;
|
|
3065
|
+
/**
|
|
3066
|
+
* 收起时最多保留的字段数;实际数量会根据可用宽度减少,以保持单行。
|
|
3067
|
+
* @defaultValue 3
|
|
3068
|
+
*/
|
|
1419
3069
|
collapsedCount?: number;
|
|
3070
|
+
/** 收起状态变化回调 */
|
|
1420
3071
|
onCollapsedChange?: (collapsed: boolean) => void;
|
|
3072
|
+
/**
|
|
3073
|
+
* 顶部预设快捷查询按钮。点击后先恢复 initialValues,再覆盖该项 values,校验并自动触发 onSearch。
|
|
3074
|
+
* @defaultValue []
|
|
3075
|
+
*/
|
|
1421
3076
|
quickQueries?: readonly QueryFormShortcut<T>[];
|
|
3077
|
+
/**
|
|
3078
|
+
* 顶部快捷查询按钮的默认尺寸,单项 size 优先。
|
|
3079
|
+
* @defaultValue "small"
|
|
3080
|
+
*/
|
|
1422
3081
|
quickQuerySize?: ButtonSize;
|
|
3082
|
+
/**
|
|
3083
|
+
* 底部已保存快捷查询标签。点击回填该项条件并查询;收起时隐藏。业务方负责加载数据,并在保存或删除成功后更新此数组。
|
|
3084
|
+
* @defaultValue []
|
|
3085
|
+
*/
|
|
1423
3086
|
savedQueries?: readonly QueryFormShortcut<T>[];
|
|
3087
|
+
/**
|
|
3088
|
+
* 快捷查询正在加载或更新时设为 true,期间禁用快捷操作。
|
|
3089
|
+
* @defaultValue false
|
|
3090
|
+
*/
|
|
1424
3091
|
shortcutsLoading?: boolean;
|
|
3092
|
+
/** 点击“另存为快捷查询”并确认名称后调用。query.name 为去除首尾空格的名称,query.values 为打开保存弹框时的条件快照。业务方负责持久化并更新 savedQueries;返回 Promise 时显示等待状态,失败保留弹框供重试。 */
|
|
1425
3093
|
onSaveQuery?: (query: {
|
|
3094
|
+
/** 用户输入的快捷查询名称,已经去除首尾空格。 */
|
|
1426
3095
|
name: string;
|
|
3096
|
+
/** 打开保存弹框时的完整查询条件快照。 */
|
|
1427
3097
|
values: T;
|
|
1428
3098
|
}) => void | Promise<void>;
|
|
3099
|
+
/** 删除已保存快捷项时调用,query 为被删除的完整快捷项。业务方负责持久化并更新 savedQueries;失败保留该项,删除操作不会触发查询。 */
|
|
1429
3100
|
onRemoveQuery?: (query: QueryFormShortcut<T>) => void | Promise<void>;
|
|
3101
|
+
/** 查询、保存或删除失败时调用。error 为原始异常,operation 为 search、save 或 remove;组件同时显示错误提示。 */
|
|
1430
3102
|
onError?: (error: unknown, operation: "search" | "save" | "remove") => void;
|
|
3103
|
+
/**
|
|
3104
|
+
* 查询按钮文案。
|
|
3105
|
+
* @defaultValue "查询"
|
|
3106
|
+
*/
|
|
1431
3107
|
searchText?: ReactNode;
|
|
3108
|
+
/**
|
|
3109
|
+
* 重置按钮文案。
|
|
3110
|
+
* @defaultValue "重置"
|
|
3111
|
+
*/
|
|
1432
3112
|
resetText?: ReactNode;
|
|
3113
|
+
/**
|
|
3114
|
+
* 保存快捷查询按钮文案。
|
|
3115
|
+
* @defaultValue "另存为快捷查询"
|
|
3116
|
+
*/
|
|
1433
3117
|
saveText?: ReactNode;
|
|
3118
|
+
/**
|
|
3119
|
+
* 点击重置后是否自动提交查询;false 时只恢复 initialValues,不调用 onSearch。
|
|
3120
|
+
* @defaultValue true
|
|
3121
|
+
*/
|
|
1434
3122
|
resetSearch?: boolean;
|
|
3123
|
+
/** 查询按钮组旁的自定义操作内容。 */
|
|
1435
3124
|
actionsExtra?: ReactNode;
|
|
1436
3125
|
}
|
|
1437
3126
|
/** 可复用的业务查询表单;快捷查询的存储和结果数据由业务方管理。 */
|