@canvas-components/react-maintop-pattern 0.0.0-stage → 0.1.2
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/LICENSE +21 -0
- package/README.md +61 -2
- package/dist/index.cjs +3623 -0
- package/dist/index.d.cts +382 -0
- package/dist/index.d.ts +382 -0
- package/dist/index.js +3612 -0
- package/package.json +40 -3
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LoopConfig, MemoConfig, GridMarks } from '@canvas-components/maintop-pattern';
|
|
3
|
+
export { DeleteJingWeiValues, DeleteLoopValues, DeleteMemoValues, DuplicateValues, EditLoopValues, GridMarks, InsertValues, LoopConfig, LoopValues, MemoConfig, MemoValues } from '@canvas-components/maintop-pattern';
|
|
4
|
+
|
|
5
|
+
interface HistoryLog {
|
|
6
|
+
id: number;
|
|
7
|
+
time: string;
|
|
8
|
+
content: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface DrawingBoardRef {
|
|
12
|
+
/** 获取当前生成的排版字符串(未展开计算) */
|
|
13
|
+
getBeforeOpenPattern: () => string;
|
|
14
|
+
/** 获取当前生成的排版字符串(已展开计算) */
|
|
15
|
+
getAfterOpenPattern: () => string;
|
|
16
|
+
/** 加载排版字符串并重置画布状态 */
|
|
17
|
+
loadPattern: (pattern: string, parseLoops?: boolean) => void;
|
|
18
|
+
/** 将当前画布内容导出为图片 */
|
|
19
|
+
exportImage: (type?: string, quality?: number, forceExpanded?: boolean) => {
|
|
20
|
+
url: string;
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
dpi: number;
|
|
24
|
+
};
|
|
25
|
+
/** 将当前画布内容导出为 SVG */
|
|
26
|
+
exportSvg: (forceExpanded?: boolean) => {
|
|
27
|
+
svg: string;
|
|
28
|
+
url: string;
|
|
29
|
+
width: number;
|
|
30
|
+
height: number;
|
|
31
|
+
};
|
|
32
|
+
/** 获得当前所有循环配置 */
|
|
33
|
+
getLoops: () => LoopConfig[];
|
|
34
|
+
/** 加载循环配置 */
|
|
35
|
+
loadLoops: (loops: LoopConfig[]) => void;
|
|
36
|
+
/** 获得当前所有备注配置 */
|
|
37
|
+
getMemos: () => MemoConfig[];
|
|
38
|
+
/** 加载备注配置 */
|
|
39
|
+
loadMemos: (memos: MemoConfig[]) => void;
|
|
40
|
+
/** 获取整个排版信息 */
|
|
41
|
+
getPatternInfo: () => {
|
|
42
|
+
/** 展开之前的排版字符串 */
|
|
43
|
+
beforeOpenPattern: string;
|
|
44
|
+
/** 展开之后的排版字符串 */
|
|
45
|
+
pattern: string;
|
|
46
|
+
/** 循环配置 */
|
|
47
|
+
loops: LoopConfig[];
|
|
48
|
+
/** 备注配置 */
|
|
49
|
+
memos: MemoConfig[];
|
|
50
|
+
/** 历史记录 */
|
|
51
|
+
historyLogs: HistoryLog[];
|
|
52
|
+
};
|
|
53
|
+
/** 加载排版信息。 */
|
|
54
|
+
loadPatternInfo: (info: {
|
|
55
|
+
/** 展开之前的排版字符串 */
|
|
56
|
+
beforeOpenPattern: string;
|
|
57
|
+
/** 循环配置 */
|
|
58
|
+
loops: LoopConfig[];
|
|
59
|
+
/** 备注配置 */
|
|
60
|
+
memos: MemoConfig[];
|
|
61
|
+
}) => void;
|
|
62
|
+
/** @deprecated 请使用 loadPatternInfo。 */
|
|
63
|
+
loadPatterInfo: DrawingBoardRef["loadPatternInfo"];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* DrawingBoard 组件的 Props 接口
|
|
67
|
+
*
|
|
68
|
+
* 定义了 DrawingBoard 组件所需的所有属性及其用途。
|
|
69
|
+
*/
|
|
70
|
+
interface DrawingBoardProps {
|
|
71
|
+
/**
|
|
72
|
+
* 刻度总数,决定画布的逻辑宽度。
|
|
73
|
+
*/
|
|
74
|
+
horizontalScaleSize: number;
|
|
75
|
+
/**
|
|
76
|
+
* 垂直刻度总数,决定画布的逻辑高度。
|
|
77
|
+
* @default horizontalScaleSize
|
|
78
|
+
*/
|
|
79
|
+
verticalScaleSize?: number;
|
|
80
|
+
/**
|
|
81
|
+
* 每个刻度的像素间距。
|
|
82
|
+
*/
|
|
83
|
+
step: number;
|
|
84
|
+
/**
|
|
85
|
+
* 右侧留白距离。
|
|
86
|
+
*/
|
|
87
|
+
rightPadding: number;
|
|
88
|
+
/**
|
|
89
|
+
* 顶部留白距离。
|
|
90
|
+
*/
|
|
91
|
+
topPadding: number;
|
|
92
|
+
/**
|
|
93
|
+
* 标尺厚度(单位:px)。
|
|
94
|
+
*/
|
|
95
|
+
thickness: number;
|
|
96
|
+
/**
|
|
97
|
+
* Canvas 右边距。
|
|
98
|
+
*/
|
|
99
|
+
canvasRightMargin: number;
|
|
100
|
+
/**
|
|
101
|
+
* Canvas 顶边距。
|
|
102
|
+
*/
|
|
103
|
+
canvasTopMargin: number;
|
|
104
|
+
/**
|
|
105
|
+
* 是否默认滚动到右侧。
|
|
106
|
+
*/
|
|
107
|
+
defaultRight: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* 是否默认滚动到底部。
|
|
110
|
+
*/
|
|
111
|
+
defaultBottom: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* 主刻度间隔。
|
|
114
|
+
*/
|
|
115
|
+
majorInterval: number;
|
|
116
|
+
/**
|
|
117
|
+
* 中间刻度间隔。
|
|
118
|
+
*/
|
|
119
|
+
midInterval: number;
|
|
120
|
+
/**
|
|
121
|
+
* 悬停网格坐标改变的回调函数。
|
|
122
|
+
*/
|
|
123
|
+
onHoverGridChange?: (coord: {
|
|
124
|
+
x: number;
|
|
125
|
+
y: number;
|
|
126
|
+
} | null) => void;
|
|
127
|
+
/**
|
|
128
|
+
* 最大网格坐标改变的回调函数。
|
|
129
|
+
*/
|
|
130
|
+
onMaxGridChange?: (coord: {
|
|
131
|
+
x: number;
|
|
132
|
+
y: number;
|
|
133
|
+
} | null) => void;
|
|
134
|
+
/**
|
|
135
|
+
* 最大网格坐标改变的回调函数
|
|
136
|
+
* 存在循环时,计算循环之后的最大坐标
|
|
137
|
+
* 返回null 说明没有循环 采用 onMaxGridChange 获取最大的坐标
|
|
138
|
+
*/
|
|
139
|
+
onMaxGridExpandedChange?: (coord: {
|
|
140
|
+
x: number;
|
|
141
|
+
y: number;
|
|
142
|
+
} | null) => void;
|
|
143
|
+
/**
|
|
144
|
+
* 是否只读,true时不展示左侧控制菜单
|
|
145
|
+
*/
|
|
146
|
+
readonly?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* 是否展示光标
|
|
149
|
+
* @default true
|
|
150
|
+
*/
|
|
151
|
+
showCursor?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* 画布外层容器宽度
|
|
154
|
+
* @default '100%'
|
|
155
|
+
*/
|
|
156
|
+
width?: string | number;
|
|
157
|
+
/**
|
|
158
|
+
* 画布外层容器高度
|
|
159
|
+
* @default 650
|
|
160
|
+
*/
|
|
161
|
+
height?: string | number;
|
|
162
|
+
/**
|
|
163
|
+
* 是否显示滚动条
|
|
164
|
+
* @default true
|
|
165
|
+
*/
|
|
166
|
+
showScrollbar?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* 中刻度线数字大小
|
|
169
|
+
*/
|
|
170
|
+
midTickFontSize?: number;
|
|
171
|
+
/**
|
|
172
|
+
* 大刻度线数字大小
|
|
173
|
+
*/
|
|
174
|
+
majorTickFontSize?: number;
|
|
175
|
+
/**
|
|
176
|
+
* 循环标记字号
|
|
177
|
+
*/
|
|
178
|
+
loopFontSize?: number;
|
|
179
|
+
/**
|
|
180
|
+
* 是否为打印模式
|
|
181
|
+
*/
|
|
182
|
+
printMode?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* 打印模式下的选择网格绘制字体大小
|
|
185
|
+
*/
|
|
186
|
+
markPointFontSize?: number;
|
|
187
|
+
/** 循环符号横向向内收缩偏移量 (默认2px) */
|
|
188
|
+
loopWingOffset?: number;
|
|
189
|
+
/** 中刻度线长度 */
|
|
190
|
+
midTickLength?: number;
|
|
191
|
+
/** 大刻度线长度 */
|
|
192
|
+
majorTickLength?: number;
|
|
193
|
+
/** 小刻度线长度 */
|
|
194
|
+
smallTickLength?: number;
|
|
195
|
+
/** 是否展示小刻度数字 */
|
|
196
|
+
showSmallTickText?: boolean;
|
|
197
|
+
/** 小刻度线数字大小 */
|
|
198
|
+
smallTickFontSize?: number;
|
|
199
|
+
/** 鼠标悬停单元格填充颜色 */
|
|
200
|
+
hoverEffectColor?: string;
|
|
201
|
+
/** 状态1网格填充颜色 (蓝色) */
|
|
202
|
+
markSelectColor?: string;
|
|
203
|
+
/** 状态2网格填充颜色 (红色) */
|
|
204
|
+
markCheckedColor?: string;
|
|
205
|
+
/** 网格标点红X或打印模式字体颜色 */
|
|
206
|
+
markPointColor?: string;
|
|
207
|
+
/** 鼠标指针十字线颜色 */
|
|
208
|
+
cursorColor?: string;
|
|
209
|
+
/** 主网格线颜色 */
|
|
210
|
+
mainGridColor?: string;
|
|
211
|
+
/** 标尺背景颜色 */
|
|
212
|
+
rulerBgColor?: string;
|
|
213
|
+
/** 标尺文字颜色 */
|
|
214
|
+
rulerTextColor?: string;
|
|
215
|
+
/** 标尺刻度线颜色 */
|
|
216
|
+
rulerTickColor?: string;
|
|
217
|
+
/** 标尺分割线颜色 (标尺与网格的边界) */
|
|
218
|
+
rulerBorderColor?: string;
|
|
219
|
+
/** 循环指示器连线颜色 */
|
|
220
|
+
loopIndicatorColor?: string;
|
|
221
|
+
/** 循环指示器文字颜色 */
|
|
222
|
+
loopTextColor?: string;
|
|
223
|
+
/** 次网格线颜色 */
|
|
224
|
+
minorTickColor?: string;
|
|
225
|
+
/** 循环指示器端点反向延长长度 */
|
|
226
|
+
loopTickExtension?: number;
|
|
227
|
+
/** 是否显示循环指标连端箭头 */
|
|
228
|
+
showLoopArrow?: boolean;
|
|
229
|
+
/** 循环箭头尺寸 */
|
|
230
|
+
loopArrowSize?: number;
|
|
231
|
+
/** 是否展示嵌套循环内部的端点数字 */
|
|
232
|
+
showInnerLoopEndpoints?: boolean;
|
|
233
|
+
/** 单元格点击事件 */
|
|
234
|
+
onGirdClick?: () => void;
|
|
235
|
+
}
|
|
236
|
+
declare const DrawingBoard: React.ForwardRefExoticComponent<DrawingBoardProps & React.RefAttributes<DrawingBoardRef>>;
|
|
237
|
+
|
|
238
|
+
interface GridRef {
|
|
239
|
+
/** 将当前画布内容导出为图片信息 */
|
|
240
|
+
toDataURL: (type?: string, quality?: number, forceExpanded?: boolean) => {
|
|
241
|
+
url: string;
|
|
242
|
+
width: number;
|
|
243
|
+
height: number;
|
|
244
|
+
dpi: number;
|
|
245
|
+
};
|
|
246
|
+
/** 将当前画布内容导出为 SVG */
|
|
247
|
+
toSVG: (forceExpanded?: boolean) => {
|
|
248
|
+
svg: string;
|
|
249
|
+
url: string;
|
|
250
|
+
width: number;
|
|
251
|
+
height: number;
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
interface GridProps {
|
|
255
|
+
/** 视口宽度 */
|
|
256
|
+
width: number;
|
|
257
|
+
/** 视口高度 */
|
|
258
|
+
height: number;
|
|
259
|
+
/** 水平滚动偏移量 */
|
|
260
|
+
scrollLeft: number;
|
|
261
|
+
/** 垂直滚动偏移量 */
|
|
262
|
+
scrollTop: number;
|
|
263
|
+
/** 是否在主 Canvas 中绘制滚动条。 */
|
|
264
|
+
showScrollbar?: boolean;
|
|
265
|
+
/** 横向内容总尺寸。 */
|
|
266
|
+
scrollbarTotalWidth?: number;
|
|
267
|
+
/** 纵向内容总尺寸。 */
|
|
268
|
+
scrollbarTotalHeight?: number;
|
|
269
|
+
/** 横向滚动位置变更回调。 */
|
|
270
|
+
onHorizontalScroll?: (position: number) => void;
|
|
271
|
+
/** 纵向滚动位置变更回调。 */
|
|
272
|
+
onVerticalScroll?: (position: number) => void;
|
|
273
|
+
/** 水平标尺总刻度数 */
|
|
274
|
+
horizontalScaleSize?: number;
|
|
275
|
+
/** 垂直标尺总刻度数 */
|
|
276
|
+
verticalScaleSize?: number;
|
|
277
|
+
/** 标尺厚度 (原 height) */
|
|
278
|
+
thickness?: number;
|
|
279
|
+
/** 基础刻度间隔 (px) */
|
|
280
|
+
step?: number;
|
|
281
|
+
/** 中刻度出现的频率 */
|
|
282
|
+
midTickInterval?: number;
|
|
283
|
+
/** 主刻度出现的频率 */
|
|
284
|
+
majorTickInterval?: number;
|
|
285
|
+
/** 两端留白 */
|
|
286
|
+
padding?: number;
|
|
287
|
+
/** 顶部留白 */
|
|
288
|
+
topPadding?: number;
|
|
289
|
+
/** 滚动请求回调 */
|
|
290
|
+
onScrollRequest?: (deltaX: number, deltaY: number) => void;
|
|
291
|
+
/** 鼠标悬停网格坐标变化回调 */
|
|
292
|
+
onHoverGridChange?: (coord: {
|
|
293
|
+
x: number;
|
|
294
|
+
y: number;
|
|
295
|
+
} | null) => void;
|
|
296
|
+
/** 最大网格坐标改变的回调函数 */
|
|
297
|
+
onMaxGridChange?: (coord: {
|
|
298
|
+
x: number;
|
|
299
|
+
y: number;
|
|
300
|
+
} | null) => void;
|
|
301
|
+
/** 网格标记数据 */
|
|
302
|
+
gridMarks: GridMarks;
|
|
303
|
+
/** 网格标记数据变更回调 */
|
|
304
|
+
onGridMarksChange: React.Dispatch<React.SetStateAction<GridMarks>>;
|
|
305
|
+
/** 画布右侧留白 */
|
|
306
|
+
canvasRightMargin?: number;
|
|
307
|
+
/** 画布顶部留白 */
|
|
308
|
+
canvasTopMargin?: number;
|
|
309
|
+
/** 是否只读 */
|
|
310
|
+
readonly?: boolean;
|
|
311
|
+
/** 是否显示光标 */
|
|
312
|
+
showCursor?: boolean;
|
|
313
|
+
/** 循环配置数组 */
|
|
314
|
+
loops?: LoopConfig[];
|
|
315
|
+
/** 备忘录配置数组 */
|
|
316
|
+
memos?: MemoConfig[];
|
|
317
|
+
/** 是否处于展开状态 */
|
|
318
|
+
isExpanded?: boolean;
|
|
319
|
+
/** 中刻度线数字大小 */
|
|
320
|
+
midTickFontSize?: number;
|
|
321
|
+
/** 大刻度线数字大小 */
|
|
322
|
+
majorTickFontSize?: number;
|
|
323
|
+
/** 循环标记字号 */
|
|
324
|
+
loopFontSize?: number;
|
|
325
|
+
/** 点击操作模式是否启用 */
|
|
326
|
+
isClickModeEnabled?: boolean;
|
|
327
|
+
/** 是否为打印模式 */
|
|
328
|
+
printMode?: boolean;
|
|
329
|
+
/** 打印模式下的字体大小 */
|
|
330
|
+
markPointFontSize?: number;
|
|
331
|
+
/** 循环符号横向侧翼向内收缩偏移量 */
|
|
332
|
+
loopWingOffset?: number;
|
|
333
|
+
/** 中刻度线长度 */
|
|
334
|
+
midTickLength?: number;
|
|
335
|
+
/** 大刻度线长度 */
|
|
336
|
+
majorTickLength?: number;
|
|
337
|
+
/** 小刻度线长度 */
|
|
338
|
+
smallTickLength?: number;
|
|
339
|
+
/** 是否展示小刻度数字 */
|
|
340
|
+
showSmallTickText?: boolean;
|
|
341
|
+
/** 小刻度小数字大小 */
|
|
342
|
+
smallTickFontSize?: number;
|
|
343
|
+
/** 鼠标悬停单元格填充颜色 */
|
|
344
|
+
hoverEffectColor?: string;
|
|
345
|
+
/** 状态1网格填充颜色 (蓝色) */
|
|
346
|
+
markSelectColor?: string;
|
|
347
|
+
/** 状态2网格填充颜色 (红色) */
|
|
348
|
+
markCheckedColor?: string;
|
|
349
|
+
/** 网格标点红X或打印模式字体颜色 */
|
|
350
|
+
markPointColor?: string;
|
|
351
|
+
/** 鼠标指针十字线颜色 */
|
|
352
|
+
cursorColor?: string;
|
|
353
|
+
/** 主网格线颜色 */
|
|
354
|
+
mainGridColor?: string;
|
|
355
|
+
/** 标尺背景颜色 */
|
|
356
|
+
rulerBgColor?: string;
|
|
357
|
+
/** 标尺文字颜色 */
|
|
358
|
+
rulerTextColor?: string;
|
|
359
|
+
/** 标尺刻度线颜色 */
|
|
360
|
+
rulerTickColor?: string;
|
|
361
|
+
/** 标尺分割线颜色 (标尺与网格的边界) */
|
|
362
|
+
rulerBorderColor?: string;
|
|
363
|
+
/** 次网格线颜色 */
|
|
364
|
+
minorTickColor?: string;
|
|
365
|
+
/** 循环指示器连线颜色 */
|
|
366
|
+
loopIndicatorColor?: string;
|
|
367
|
+
/** 循环指示器文字颜色 */
|
|
368
|
+
loopTextColor?: string;
|
|
369
|
+
/** 循环指示器端点反向延长长度 */
|
|
370
|
+
loopTickExtension?: number;
|
|
371
|
+
/** 是否显示循环指标连端箭头 */
|
|
372
|
+
showLoopArrow?: boolean;
|
|
373
|
+
/** 循环箭头尺寸 */
|
|
374
|
+
loopArrowSize?: number;
|
|
375
|
+
/** 是否展示嵌套循环内部的端点数字 */
|
|
376
|
+
showInnerLoopEndpoints?: boolean;
|
|
377
|
+
/** 单元格点击事件 */
|
|
378
|
+
onGirdClick?: () => void;
|
|
379
|
+
}
|
|
380
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<GridProps & React.RefAttributes<GridRef>>>;
|
|
381
|
+
|
|
382
|
+
export { DrawingBoard, type DrawingBoardProps, type DrawingBoardRef, type GridProps, type GridRef, type HistoryLog, _default as MaintopPatternGrid, DrawingBoard as ReactMaintopPattern, type DrawingBoardProps as ReactMaintopPatternProps, type DrawingBoardRef as ReactMaintopPatternRef, DrawingBoard as default };
|