@meta2d/core 1.0.56 → 1.0.57

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.
Files changed (299) hide show
  1. package/{index.ts → index.d.ts} +9 -9
  2. package/index.js +10 -0
  3. package/index.js.map +1 -0
  4. package/package.json +38 -39
  5. package/src/canvas/canvas.d.ts +456 -0
  6. package/src/canvas/canvas.js +7584 -0
  7. package/src/canvas/canvas.js.map +1 -0
  8. package/src/canvas/canvasImage.d.ts +27 -0
  9. package/src/canvas/canvasImage.js +441 -0
  10. package/src/canvas/canvasImage.js.map +1 -0
  11. package/src/canvas/canvasTemplate.d.ts +18 -0
  12. package/src/canvas/canvasTemplate.js +209 -0
  13. package/src/canvas/canvasTemplate.js.map +1 -0
  14. package/src/canvas/{index.ts → index.d.ts} +2 -2
  15. package/src/canvas/index.js +3 -0
  16. package/src/canvas/index.js.map +1 -0
  17. package/src/canvas/magnifierCanvas.d.ts +19 -0
  18. package/src/canvas/magnifierCanvas.js +102 -0
  19. package/src/canvas/magnifierCanvas.js.map +1 -0
  20. package/src/canvas/offscreen.d.ts +1 -0
  21. package/src/canvas/offscreen.js +14 -0
  22. package/src/canvas/offscreen.js.map +1 -0
  23. package/src/core.d.ts +479 -0
  24. package/src/core.js +4590 -0
  25. package/src/core.js.map +1 -0
  26. package/src/data.d.ts +34 -0
  27. package/src/data.js +85 -0
  28. package/src/data.js.map +1 -0
  29. package/src/diagrams/arrow.d.ts +4 -0
  30. package/src/diagrams/arrow.js +47 -0
  31. package/src/diagrams/arrow.js.map +1 -0
  32. package/src/diagrams/circle.d.ts +2 -0
  33. package/src/diagrams/circle.js +9 -0
  34. package/src/diagrams/circle.js.map +1 -0
  35. package/src/diagrams/cloud.d.ts +2 -0
  36. package/src/diagrams/cloud.js +12 -0
  37. package/src/diagrams/cloud.js.map +1 -0
  38. package/src/diagrams/cube.d.ts +2 -0
  39. package/src/diagrams/cube.js +68 -0
  40. package/src/diagrams/cube.js.map +1 -0
  41. package/src/diagrams/diamond.d.ts +2 -0
  42. package/src/diagrams/diamond.js +13 -0
  43. package/src/diagrams/diamond.js.map +1 -0
  44. package/src/diagrams/file.d.ts +2 -0
  45. package/src/diagrams/file.js +18 -0
  46. package/src/diagrams/file.js.map +1 -0
  47. package/src/diagrams/gif.d.ts +5 -0
  48. package/src/diagrams/gif.js +89 -0
  49. package/src/diagrams/gif.js.map +1 -0
  50. package/src/diagrams/hexagon.d.ts +2 -0
  51. package/src/diagrams/{hexagon.ts → hexagon.js} +55 -60
  52. package/src/diagrams/hexagon.js.map +1 -0
  53. package/src/diagrams/iframe.d.ts +2 -0
  54. package/src/diagrams/iframe.js +338 -0
  55. package/src/diagrams/iframe.js.map +1 -0
  56. package/src/diagrams/index.d.ts +71 -0
  57. package/src/diagrams/{index.ts → index.js} +77 -79
  58. package/src/diagrams/index.js.map +1 -0
  59. package/src/diagrams/line/arrow.d.ts +2 -0
  60. package/src/diagrams/line/arrow.js +128 -0
  61. package/src/diagrams/line/arrow.js.map +1 -0
  62. package/src/diagrams/line/curve.d.ts +16 -0
  63. package/src/diagrams/line/curve.js +227 -0
  64. package/src/diagrams/line/curve.js.map +1 -0
  65. package/src/diagrams/line/{index.ts → index.d.ts} +5 -5
  66. package/src/diagrams/line/index.js +6 -0
  67. package/src/diagrams/line/index.js.map +1 -0
  68. package/src/diagrams/line/line.d.ts +42 -0
  69. package/src/diagrams/line/line.js +370 -0
  70. package/src/diagrams/line/line.js.map +1 -0
  71. package/src/diagrams/line/polyline.d.ts +10 -0
  72. package/src/diagrams/line/polyline.js +627 -0
  73. package/src/diagrams/line/polyline.js.map +1 -0
  74. package/src/diagrams/line/smooth.d.ts +3 -0
  75. package/src/diagrams/line/smooth.js +136 -0
  76. package/src/diagrams/line/smooth.js.map +1 -0
  77. package/src/diagrams/message.d.ts +2 -0
  78. package/src/diagrams/message.js +15 -0
  79. package/src/diagrams/message.js.map +1 -0
  80. package/src/diagrams/mindLine.d.ts +3 -0
  81. package/src/diagrams/mindLine.js +30 -0
  82. package/src/diagrams/mindLine.js.map +1 -0
  83. package/src/diagrams/mindNode.d.ts +3 -0
  84. package/src/diagrams/mindNode.js +161 -0
  85. package/src/diagrams/mindNode.js.map +1 -0
  86. package/src/diagrams/panel.d.ts +2 -0
  87. package/src/diagrams/panel.js +131 -0
  88. package/src/diagrams/panel.js.map +1 -0
  89. package/src/diagrams/pentagon.d.ts +3 -0
  90. package/src/diagrams/pentagon.js +45 -0
  91. package/src/diagrams/pentagon.js.map +1 -0
  92. package/src/diagrams/pentagram.d.ts +3 -0
  93. package/src/diagrams/pentagram.js +51 -0
  94. package/src/diagrams/pentagram.js.map +1 -0
  95. package/src/diagrams/people.d.ts +2 -0
  96. package/src/diagrams/people.js +19 -0
  97. package/src/diagrams/people.js.map +1 -0
  98. package/src/diagrams/rectangle.d.ts +3 -0
  99. package/src/diagrams/rectangle.js +26 -0
  100. package/src/diagrams/rectangle.js.map +1 -0
  101. package/src/diagrams/svg/parse.d.ts +15 -0
  102. package/src/diagrams/svg/parse.js +279 -0
  103. package/src/diagrams/svg/parse.js.map +1 -0
  104. package/src/diagrams/svgPath.d.ts +2 -0
  105. package/src/diagrams/svgPath.js +29 -0
  106. package/src/diagrams/svgPath.js.map +1 -0
  107. package/src/diagrams/triangle.d.ts +3 -0
  108. package/src/diagrams/triangle.js +40 -0
  109. package/src/diagrams/triangle.js.map +1 -0
  110. package/src/diagrams/video.d.ts +5 -0
  111. package/src/diagrams/video.js +184 -0
  112. package/src/diagrams/video.js.map +1 -0
  113. package/src/dialog/dialog.d.ts +21 -0
  114. package/src/dialog/dialog.js +157 -0
  115. package/src/dialog/dialog.js.map +1 -0
  116. package/src/dialog/{index.ts → index.d.ts} +1 -1
  117. package/src/dialog/index.js +2 -0
  118. package/src/dialog/index.js.map +1 -0
  119. package/src/event/event.d.ts +102 -0
  120. package/src/event/event.js +22 -0
  121. package/src/event/event.js.map +1 -0
  122. package/src/event/{index.ts → index.d.ts} +1 -1
  123. package/src/event/index.js +2 -0
  124. package/src/event/index.js.map +1 -0
  125. package/src/map/{index.ts → index.d.ts} +1 -1
  126. package/src/map/index.js +2 -0
  127. package/src/map/index.js.map +1 -0
  128. package/src/map/map.d.ts +21 -0
  129. package/src/map/map.js +212 -0
  130. package/src/map/map.js.map +1 -0
  131. package/src/options.d.ts +130 -0
  132. package/src/options.js +80 -0
  133. package/src/options.js.map +1 -0
  134. package/src/pen/arrow.d.ts +4 -0
  135. package/src/pen/arrow.js +188 -0
  136. package/src/pen/arrow.js.map +1 -0
  137. package/src/pen/{index.ts → index.d.ts} +6 -6
  138. package/src/pen/index.js +7 -0
  139. package/src/pen/index.js.map +1 -0
  140. package/src/pen/math.d.ts +28 -0
  141. package/src/pen/math.js +213 -0
  142. package/src/pen/math.js.map +1 -0
  143. package/src/pen/model.d.ts +514 -0
  144. package/src/pen/model.js +210 -0
  145. package/src/pen/model.js.map +1 -0
  146. package/src/pen/plugin.d.ts +5 -0
  147. package/src/pen/plugin.js +58 -0
  148. package/src/pen/plugin.js.map +1 -0
  149. package/src/pen/render.d.ts +146 -0
  150. package/src/pen/render.js +3234 -0
  151. package/src/pen/render.js.map +1 -0
  152. package/src/pen/text.d.ts +8 -0
  153. package/src/pen/text.js +316 -0
  154. package/src/pen/text.js.map +1 -0
  155. package/src/pen/utils.d.ts +2 -0
  156. package/src/pen/utils.js +19 -0
  157. package/src/pen/utils.js.map +1 -0
  158. package/src/point/{index.ts → index.d.ts} +1 -1
  159. package/src/point/index.js +2 -0
  160. package/src/point/index.js.map +1 -0
  161. package/src/point/point.d.ts +65 -0
  162. package/src/point/point.js +178 -0
  163. package/src/point/point.js.map +1 -0
  164. package/src/rect/{index.ts → index.d.ts} +1 -1
  165. package/src/rect/index.js +2 -0
  166. package/src/rect/index.js.map +1 -0
  167. package/src/rect/rect.d.ts +52 -0
  168. package/src/rect/rect.js +427 -0
  169. package/src/rect/rect.js.map +1 -0
  170. package/src/rect/triangle.d.ts +2 -0
  171. package/src/rect/triangle.js +10 -0
  172. package/src/rect/triangle.js.map +1 -0
  173. package/src/scroll/{index.ts → index.d.ts} +1 -1
  174. package/src/scroll/index.js +2 -0
  175. package/src/scroll/index.js.map +1 -0
  176. package/src/scroll/scroll.d.ts +35 -0
  177. package/src/scroll/scroll.js +234 -0
  178. package/src/scroll/scroll.js.map +1 -0
  179. package/src/store/global.d.ts +25 -0
  180. package/src/store/global.js +18 -0
  181. package/src/store/global.js.map +1 -0
  182. package/src/store/{index.ts → index.d.ts} +2 -2
  183. package/src/store/index.js +3 -0
  184. package/src/store/index.js.map +1 -0
  185. package/src/store/store.d.ts +228 -0
  186. package/src/store/store.js +87 -0
  187. package/src/store/store.js.map +1 -0
  188. package/src/theme.d.ts +13 -0
  189. package/src/theme.js +23 -0
  190. package/src/theme.js.map +1 -0
  191. package/src/title/{index.ts → index.d.ts} +1 -1
  192. package/src/title/index.js +2 -0
  193. package/src/title/index.js.map +1 -0
  194. package/src/title/title.d.ts +30 -0
  195. package/src/title/title.js +99 -0
  196. package/src/title/title.js.map +1 -0
  197. package/src/tooltip/{index.ts → index.d.ts} +1 -1
  198. package/src/tooltip/index.js +2 -0
  199. package/src/tooltip/index.js.map +1 -0
  200. package/src/tooltip/tooltip.d.ts +40 -0
  201. package/src/tooltip/tooltip.js +172 -0
  202. package/src/tooltip/tooltip.js.map +1 -0
  203. package/src/utils/clone.d.ts +8 -0
  204. package/src/utils/clone.js +84 -0
  205. package/src/utils/clone.js.map +1 -0
  206. package/src/utils/color.d.ts +3 -0
  207. package/src/utils/color.js +110 -0
  208. package/src/utils/color.js.map +1 -0
  209. package/src/utils/error.d.ts +2 -0
  210. package/src/utils/error.js +6 -0
  211. package/src/utils/error.js.map +1 -0
  212. package/src/utils/file.d.ts +3 -0
  213. package/src/utils/file.js +40 -0
  214. package/src/utils/file.js.map +1 -0
  215. package/src/utils/{index.ts → index.d.ts} +9 -9
  216. package/src/utils/index.js +10 -0
  217. package/src/utils/index.js.map +1 -0
  218. package/src/utils/math.d.ts +18 -0
  219. package/src/utils/math.js +114 -0
  220. package/src/utils/math.js.map +1 -0
  221. package/src/utils/object.d.ts +2 -0
  222. package/src/utils/object.js +21 -0
  223. package/src/utils/object.js.map +1 -0
  224. package/src/utils/padding.d.ts +7 -0
  225. package/src/utils/padding.js +47 -0
  226. package/src/utils/padding.js.map +1 -0
  227. package/src/utils/time.d.ts +1 -0
  228. package/src/utils/time.js +17 -0
  229. package/src/utils/time.js.map +1 -0
  230. package/src/utils/url.d.ts +4 -0
  231. package/src/utils/url.js +27 -0
  232. package/src/utils/url.js.map +1 -0
  233. package/src/utils/uuid.d.ts +4 -0
  234. package/src/utils/uuid.js +13 -0
  235. package/src/utils/uuid.js.map +1 -0
  236. package/README.md +0 -13
  237. package/package.build.json +0 -39
  238. package/src/canvas/canvas.ts +0 -8639
  239. package/src/canvas/canvasImage.ts +0 -525
  240. package/src/canvas/canvasTemplate.ts +0 -257
  241. package/src/canvas/magnifierCanvas.ts +0 -142
  242. package/src/canvas/offscreen.ts +0 -14
  243. package/src/core.ts +0 -5128
  244. package/src/data.ts +0 -86
  245. package/src/diagrams/arrow.ts +0 -50
  246. package/src/diagrams/circle.ts +0 -19
  247. package/src/diagrams/cloud.ts +0 -34
  248. package/src/diagrams/cube.ts +0 -94
  249. package/src/diagrams/diamond.ts +0 -14
  250. package/src/diagrams/file.ts +0 -19
  251. package/src/diagrams/gif.ts +0 -105
  252. package/src/diagrams/iframe.ts +0 -365
  253. package/src/diagrams/line/arrow.ts +0 -175
  254. package/src/diagrams/line/curve.ts +0 -260
  255. package/src/diagrams/line/line.ts +0 -409
  256. package/src/diagrams/line/polyline.ts +0 -676
  257. package/src/diagrams/line/smooth.ts +0 -133
  258. package/src/diagrams/message.ts +0 -17
  259. package/src/diagrams/mindLine.ts +0 -31
  260. package/src/diagrams/mindNode.ts +0 -177
  261. package/src/diagrams/panel.ts +0 -149
  262. package/src/diagrams/pentagon.ts +0 -48
  263. package/src/diagrams/pentagram.ts +0 -63
  264. package/src/diagrams/people.ts +0 -23
  265. package/src/diagrams/rectangle.ts +0 -29
  266. package/src/diagrams/svg/parse.ts +0 -319
  267. package/src/diagrams/svgPath.ts +0 -53
  268. package/src/diagrams/triangle.ts +0 -43
  269. package/src/diagrams/video.ts +0 -202
  270. package/src/dialog/dialog.ts +0 -177
  271. package/src/event/event.ts +0 -142
  272. package/src/map/map.ts +0 -239
  273. package/src/options.ts +0 -205
  274. package/src/pen/arrow.ts +0 -259
  275. package/src/pen/math.ts +0 -253
  276. package/src/pen/model.ts +0 -785
  277. package/src/pen/plugin.ts +0 -57
  278. package/src/pen/render.ts +0 -3725
  279. package/src/pen/text.ts +0 -341
  280. package/src/pen/utils.ts +0 -21
  281. package/src/point/point.ts +0 -232
  282. package/src/rect/rect.ts +0 -507
  283. package/src/rect/triangle.ts +0 -16
  284. package/src/scroll/scroll.ts +0 -277
  285. package/src/store/global.ts +0 -38
  286. package/src/store/store.ts +0 -293
  287. package/src/theme.ts +0 -35
  288. package/src/title/title.ts +0 -115
  289. package/src/tooltip/tooltip.ts +0 -199
  290. package/src/utils/clone.ts +0 -79
  291. package/src/utils/color.ts +0 -126
  292. package/src/utils/error.ts +0 -7
  293. package/src/utils/file.ts +0 -46
  294. package/src/utils/math.ts +0 -120
  295. package/src/utils/object.ts +0 -23
  296. package/src/utils/padding.ts +0 -48
  297. package/src/utils/time.ts +0 -25
  298. package/src/utils/url.ts +0 -30
  299. package/src/utils/uuid.ts +0 -15
package/src/pen/model.ts DELETED
@@ -1,785 +0,0 @@
1
- import { Point } from '../point';
2
- import { Rect } from '../rect';
3
- import { Event, RealTime, Trigger } from '../event';
4
- import { Canvas } from '../canvas';
5
-
6
- export enum PenType {
7
- Node,
8
- Line,
9
- }
10
-
11
- export enum LockState {
12
- None,
13
- DisableEdit,
14
- DisableMove,
15
- DisableScale, //仅占位
16
- DisableMoveScale,
17
- // DisableActive,
18
- Disable = 10,
19
- }
20
-
21
- export enum AnchorMode {
22
- Default,
23
- In,
24
- Out,
25
- }
26
-
27
- export enum Gradient {
28
- None, // 没有渐变
29
- Linear, // 线性渐变
30
- Radial, // 镜像渐变
31
- }
32
-
33
- //所在画布层 值和画布zIndex对应
34
- export enum CanvasLayer{
35
- CanvasTemplate = 1, //模版层
36
- CanvasImageBottom, //底部图片层
37
- CanvasMain, //主画布层
38
- CanvasImage //顶部图片层
39
- }
40
-
41
- // export enum Flip {
42
- // None, // 正常
43
- // Horizontal, // 水平翻转
44
- // Vertical, // 垂直翻转
45
- // Both, // 全翻转
46
- // }
47
-
48
- // 修改哪些属性需要重现计算 textRect
49
- export const needCalcTextRectProps = [
50
- 'text',
51
- 'textWidth',
52
- 'textHeight',
53
- 'textLeft',
54
- 'textTop',
55
- 'fontFamily',
56
- 'fontSize',
57
- 'lineHeight',
58
- 'fontStyle',
59
- 'fontWeight',
60
- 'textAlign',
61
- 'textBaseline',
62
- 'whiteSpace',
63
- 'ellipsis',
64
- 'keepDecimal',
65
- ];
66
-
67
- export const needSetPenProps = ['x', 'y', 'width', 'height', 'flipX', 'flipY'];
68
-
69
- export const needPatchFlagsPenRectProps = [
70
- 'paddingTop',
71
- 'paddingRight',
72
- 'paddingBottom',
73
- 'paddingLeft',
74
- 'flipX',
75
- 'flipY',
76
- 'visible',
77
- 'showChild',
78
- ];
79
-
80
- export const needCalcIconRectProps = ['iconLeft', 'iconTop', 'iconRotate'];
81
-
82
- export interface ConnectLine {
83
- lineId: string;
84
- lineAnchor: string;
85
- anchor: string;
86
- }
87
-
88
- export type TextAlign = 'left' | 'center' | 'right';
89
- export type TextBaseline = 'top' | 'middle' | 'bottom';
90
- export type WhiteSpace = 'nowrap' | 'pre-line' | 'break-all' | '';
91
- // SetValue 方法参数类型
92
- export type IValue = Pen &
93
- Partial<ChartData> &
94
- Partial<Record<'tag' | 'newId', string>> & { [key: string]: any };
95
-
96
- // obj 类型数组 text 字段显示文字,其它属性选中后合并到画笔上
97
- // string 类型,只展示文字
98
- export type Dropdown = string | IValue;
99
-
100
- export enum LineAnimateType {
101
- Normal, // 水流
102
- Beads, // 水珠流动
103
- Dot, // 圆点
104
- Arrow, // 箭头,
105
- WaterDrop, // 水滴
106
- }
107
-
108
- export interface ColorStop {
109
- i: number; //取值0-1,色标位置
110
- color: string;
111
- }
112
-
113
- export interface Pen extends Rect {
114
- id?: string;
115
- tags?: string[];
116
- parentId?: string;
117
- type?: PenType;
118
- name?: string;
119
- lineName?: string;
120
- borderRadius?: number;
121
- // Hidden only visible == false
122
- visible?: boolean;
123
- locked?: LockState;
124
-
125
- // 连线是否闭合路径
126
- close?: boolean;
127
- // 连线长度
128
- length?: number;
129
-
130
- title?: string;
131
- // 优先级高于 title
132
- titleFnJs?: string;
133
- titleFn?: (pen: Pen) => string;
134
-
135
- lineWidth?: number;
136
- borderWidth?: number;
137
- borderColor?: string;
138
- globalAlpha?: number;
139
- lineDash?: number[];
140
- lineDashOffset?: number;
141
- color?: string;
142
- background?: string;
143
- anchorColor?: string;
144
- hoverAnchorColor?: string;
145
- hoverColor?: string;
146
- hoverBackground?: string;
147
- activeColor?: string;
148
- activeBackground?: string;
149
- mouseDownValid?: boolean; // 是否鼠标按下是否有样式效果
150
- mouseDownColor?: string;
151
- mouseDownBackground?: string;
152
- bkType?: Gradient;
153
- /**
154
- * @deprecated 改用 gradientColors
155
- */
156
- gradientFromColor?: string;
157
- /**
158
- * @deprecated 改用 gradientColors
159
- */
160
- gradientToColor?: string;
161
- /**
162
- * @deprecated 改用 gradientColors
163
- */
164
- gradientAngle?: number;
165
- gradientRadius?: number;
166
-
167
- // TODO: stroke 尚无径向渐变
168
- strokeType?: Gradient;
169
- /**
170
- * @deprecated 改用 lineGradientColors
171
- */
172
- lineGradientFromColor?: string;
173
- /**
174
- * @deprecated 改用 lineGradientColors
175
- */
176
- lineGradientToColor?: string;
177
- /**
178
- * @deprecated 改用 lineGradientColors
179
- */
180
- lineGradientAngle?: number;
181
-
182
- gradientColors?: string;
183
- lineGradientColors?: string;
184
- lineCap?: CanvasLineCap;
185
- fromLineCap?: CanvasLineCap;
186
- toLineCap?: CanvasLineCap;
187
- lineJoin?: CanvasLineJoin;
188
- shadowColor?: string;
189
- shadowBlur?: number;
190
- shadowOffsetX?: number;
191
- shadowOffsetY?: number;
192
- textHasShadow?: boolean; // 文字是否需要阴影
193
-
194
- text?: string;
195
- textWidth?: number;
196
- textHeight?: number;
197
- textLeft?: number;
198
- textTop?: number;
199
- textColor?: string;
200
- hoverTextColor?: string;
201
- activeTextColor?: string;
202
- fontFamily?: string;
203
- fontSize?: number;
204
- lineHeight?: number;
205
- fontStyle?: string;
206
- fontWeight?: string;
207
- textAlign?: TextAlign;
208
- textBaseline?: TextBaseline;
209
- textBackground?: string;
210
- whiteSpace?: WhiteSpace;
211
- ellipsis?: boolean;
212
-
213
- image?: string;
214
- icon?: string;
215
- iconRotate?: number;
216
- iconWidth?: number;
217
- iconHeight?: number;
218
- iconTop?: number;
219
- iconLeft?: number;
220
- iconColor?: string;
221
- iconFamily?: string;
222
- iconWeight?: string;
223
- iconSize?: number;
224
- iconAlign?:
225
- | 'top'
226
- | 'bottom'
227
- | 'left'
228
- | 'right'
229
- | 'left-top'
230
- | 'right-top'
231
- | 'left-bottom'
232
- | 'right-bottom'
233
- | 'center';
234
- imageRatio?: boolean;
235
-
236
- disableInput?: boolean;
237
- disableRotate?: boolean;
238
- disableSize?: boolean;
239
- disableAnchor?: boolean;
240
-
241
- // 相对值,若小于 1 认为是相对坐标
242
- paddingTop?: number;
243
- paddingBottom?: number;
244
- paddingLeft?: number;
245
- paddingRight?: number;
246
-
247
- backgroundImage?: string;
248
- strokeImage?: string;
249
-
250
- children?: string[];
251
- followers?: string[];
252
-
253
- anchors?: Point[];
254
- anchorRadius?: number;
255
- anchorBackground?: string;
256
-
257
- pathId?: string;
258
- path?: string;
259
-
260
- fromArrow?: string;
261
- toArrow?: string;
262
- fromArrowSize?: number;
263
- toArrowSize?: number;
264
- fromArrowColor?: string;
265
- toArrowColor?: string;
266
-
267
- autoFrom?: boolean;
268
- autoTo?: boolean;
269
-
270
- connectedLines?: ConnectLine[];
271
-
272
- // Cycle count. Infinite if == 0.
273
- animateCycle?: number;
274
- nextAnimate?: string;
275
- // TODO: video 与 动画公用该属性,可能是个问题
276
- autoPlay?: boolean;
277
- playLoop?: boolean;
278
-
279
- // 动画帧时长
280
- duration?: number;
281
- // 匀速渐变
282
- linear?: boolean;
283
- // 主要用于动画帧的缩放
284
- scale?: number;
285
- // 连线动画速度
286
- animateSpan?: number;
287
- animateColor?: string;
288
- animateLineDash?: number[];
289
- animateReverse?: boolean;
290
- // 结束动画后,是否保持动画状态
291
- keepAnimateState?: boolean;
292
-
293
- lineAnimateType?: LineAnimateType;
294
-
295
- frames?: Pen[];
296
- // 提前预置的不同效果的动画组
297
- animateList?: Pen[][];
298
- animateInterval?: number;//动画间隔 (箭头)
299
- animateShadow?: boolean;//发光效果
300
- animateShadowColor?: string;
301
- animateShadowBlur?: number;
302
- input?: boolean;
303
- dropdownList?: Dropdown[];
304
-
305
- events?: Event[];
306
-
307
- iframe?: string;
308
- video?: string;
309
- audio?: string;
310
-
311
- progress?: number;
312
- progressColor?: string;
313
- verticalProgress?: boolean;
314
- reverseProgress?: boolean;
315
- progressGradientColors?: string;
316
- externElement?: boolean;
317
-
318
- autoPolyline?: boolean;
319
-
320
- // flip?: Flip;
321
- flipX?: boolean;
322
- flipY?: boolean;
323
-
324
- fillTexts?: string[];
325
-
326
- hiddenText?: boolean; // 隐藏 text
327
- keepDecimal?: number; // undefined 显示原内容;0 显示整数
328
- showChild?: number; // 第几个子元素展示 undefined 即展示全部
329
- animateDotSize?: number; // 线条原点动画,原点大小
330
- isRuleLine?: boolean; // 是否是规则线,规则线不受缩放,平移影响
331
- /**
332
- * @deprecated 改用 canvasLayer
333
- */
334
- isBottom?: boolean; // 是否是底部图片
335
- canvasLayer?: CanvasLayer; //图元所在画布层
336
- form?: FormItem[]; // 业务表单
337
- lockedOnCombine?: LockState; // 组合成 combine ,该节点的 locked 值
338
- ratio?: boolean; //宽高比锁定
339
- animateLineWidth?: number; //连线动画线宽
340
- lineSmooth?:number; //连线平滑度
341
- gradientSmooth?: number; //渐进色平滑度
342
- scrolling?: string; //iframe scrolling属性
343
- animations?: any[]; //动画数组
344
- currentAnimation?: number; //当前动画索引
345
- realTimes?: RealTime[];
346
- triggers?: Trigger[]; //状态
347
- crossOrigin?: string;
348
- imageRadius?: number; //图片圆角
349
- textFlip?: boolean; //文字是否镜像
350
- textRotate?: boolean; //文字是否旋转
351
- // calculative 对象中的值是为了动画存在,表明了渐变过程中,画布上绘制的当前值
352
- textAutoAdjust?: boolean; //text图元宽高根据文本自动调整
353
- dbInput?: boolean; //锁定状态下,双击能否输入
354
- operationalRect?: Rect; //iframe可操作区域 x,y,width,height 均取值0-1
355
- blur?: number;
356
- blurBackground?: string;
357
- /**
358
- * @deprecated 改用 canvasLayer
359
- */
360
- template?: boolean; //是否作为模版图元
361
- thumbImg?: string; //iframe嵌入场景缩略图
362
- apiUrl?: string;
363
- apiMethod?: string;
364
- apiHeaders?: any;
365
- apiBody?: any;
366
- apiEnable?: boolean;
367
- container?:boolean; //是否是容器组件
368
- disabled?:boolean; //是否禁用
369
- disabledColor?:string; //禁用颜色
370
- disabledBackground?:string; //禁用背景色
371
- disabledTextColor?:string; //禁用文字颜色
372
- inputType?:string; //输入框类型
373
- deviceId?:string;//关联的设备id
374
- pivot?:Point; //旋转中心
375
- noOnBinds?:boolean; //是否禁用绑定事件
376
- interaction?:boolean; //是否开启交互 组合时将不会被锁定
377
- childHover?:boolean; //子元素hover和active是否生效
378
- childActive?:boolean;
379
- calculative?: {
380
- x?: number;
381
- y?: number;
382
- width?: number;
383
- height?: number;
384
- borderRadius?: number;
385
-
386
- progress?: number;
387
- progressColor?: string;
388
- progressGradientColors?: string;
389
- worldRect?: Rect;
390
- worldAnchors?: Point[];
391
- worldIconRect?: Rect;
392
- worldTextRect?: Rect;
393
- textDrawRect?: Rect;
394
- svgRect?: Rect;
395
-
396
- // 执行动画前的初始位置
397
- initRect?: Rect;
398
- // 执行动画前的初始相对位置
399
- initRelativeRect?: Rect;
400
- // 执行动画前存储子图元的显示隐藏情况
401
- childrenVisible?: any;
402
- rotate?: number;
403
- lineWidth?: number;
404
- borderWidth?: number;
405
- borderColor?: string;
406
- globalAlpha?: number;
407
- lineDash?: number[];
408
- lineDashOffset?: number;
409
- color?: string;
410
- background?: string;
411
- // anchorColor?: string; // TODO: 锚点颜色动画,应该不需要
412
- bkType?: number;
413
- /**
414
- * @deprecated 改用 gradientColors
415
- */
416
- gradientFromColor?: string;
417
- /**
418
- * @deprecated 改用 gradientColors
419
- */
420
- gradientToColor?: string;
421
- /**
422
- * @deprecated 改用 gradientColors
423
- */
424
- gradientAngle?: number;
425
- gradientRadius?: number;
426
-
427
- // TODO: stroke 尚无径向渐变
428
- strokeType?: Gradient;
429
- /**
430
- * @deprecated 改用 lineGradientColors
431
- */
432
- lineGradientFromColor?: string;
433
- /**
434
- * @deprecated 改用 lineGradientColors
435
- */
436
- lineGradientToColor?: string;
437
- /**
438
- * @deprecated 改用 lineGradientColors
439
- */
440
- lineGradientAngle?: number;
441
- shadowColor?: string;
442
- shadowBlur?: number;
443
- shadowOffsetX?: number;
444
- shadowOffsetY?: number;
445
- textHasShadow?: boolean;
446
-
447
- tempText?: string;
448
- text?: string;
449
- textWidth?: number;
450
- textHeight?: number;
451
- textLeft?: number;
452
- textTop?: number;
453
- textColor?: string;
454
- textType?: Gradient;
455
- textGradientColors?: string;
456
- fontFamily?: string;
457
- fontSize?: number;
458
- lineHeight?: number;
459
- fontStyle?: string;
460
- fontWeight?: string;
461
- textBackground?: string;
462
- iconSize?: number;
463
- icon?: string;
464
- iconRotate?: number;
465
- iconWidth?: number;
466
- iconHeight?: number;
467
- iconTop?: number;
468
- iconLeft?: number;
469
- iconColor?: string;
470
- iconFamily?: string;
471
- iconWeight?: string;
472
-
473
- // 绝对值,计算后的结果
474
- paddingTop?: number;
475
- paddingBottom?: number;
476
- paddingLeft?: number;
477
- paddingRight?: number;
478
-
479
- textLines?: string[];
480
- textLineWidths?: number[]; // textLines 每一行 width 组成的数组
481
- image?: string;
482
- img?: HTMLImageElement;
483
- imgNaturalWidth?: number;
484
- imgNaturalHeight?: number;
485
- backgroundImage?: string;
486
- strokeImage?: string;
487
- backgroundImg?: HTMLImageElement;
488
- strokeImg?: HTMLImageElement;
489
- active?: boolean;
490
- focus?: boolean; //聚焦图元
491
- hover?: boolean;
492
- mouseDown?: boolean; //是否鼠标按下
493
- containerHover?: boolean; //容器组件hover
494
- isDock?: boolean; // 是否是对齐参考画笔
495
- pencil?: boolean;
496
- activeAnchor?: Point;
497
- patchFlags?: boolean;
498
- visible?: boolean; // TODO: visible 是否参与动画呢?
499
- // 仅仅内部专用
500
- inView?: boolean;
501
- // 辅助变量,画线时,动态计算锚点是否时水平方向
502
- drawlineH?: boolean;
503
-
504
- // 节点是否有图片
505
- hasImage?: boolean;
506
- // 图片是否已经绘画,避免频繁重绘
507
- imageDrawed?: boolean;
508
- // 图片是否在底层
509
- /**
510
- * @deprecated 改用 canvasLayer
511
- */
512
- isBottom?: boolean;
513
- canvasLayer?: CanvasLayer; //图元所在画布层
514
-
515
- scale?: number;
516
-
517
- // 动画开始时间
518
- start?: number;
519
- // 动画时长
520
- duration?: number;
521
- // 动画结束时间
522
- end?: number;
523
- // 当前动画帧
524
- frameIndex?: number;
525
- // 当前动画帧起止时间
526
- frameStart?: number;
527
- frameEnd?: number;
528
- frameDuration?: number;
529
- animatePos?: number;
530
- // 已经循环次数
531
- cycleIndex?: number;
532
- // 是否暂停动画
533
- pause?: number;
534
-
535
- layer?: number;
536
-
537
- canvas?: Canvas;
538
-
539
- iframe?: string;
540
- video?: string;
541
- audio?: string;
542
- media?: HTMLMediaElement;
543
-
544
- // flip?: Flip;
545
- flipX?: boolean;
546
- flipY?: boolean;
547
-
548
- h?: boolean; // 是否水平
549
-
550
- hiddenText?: boolean; // 隐藏 text
551
- keepDecimal?: number; // undefined 显示原内容;0 显示整数;保留几位小数
552
- showChild?: number; // 第几个子元素展示 undefined 即展示全部
553
- animateDotSize?: number; // 线条原点动画,原点大小
554
- zIndex?: number; //dom节点 z-index;
555
- // media element
556
- onended?: (pen: Pen) => void;
557
-
558
- // 不应该被deepClone多份的数据,例如外部第三方组件库挂载点,
559
- singleton?: any;
560
- gradientColors?: string;
561
- lineGradientColors?: string;
562
- gradient?: CanvasGradient; //临时渐进色 防止每次都计算
563
- lineGradient?: CanvasGradient;
564
- radialGradient?: CanvasGradient;
565
- gradientColorStop?: ColorStop[]; //临时 连线ColorStop
566
- gradientTimer?: any;
567
- animateLineWidth?: number;
568
- lineSmooth?:number; //连线平滑度
569
- gradientSmooth?: number; //渐进色平滑度
570
- gradientAnimatePath?: Path2D;
571
- cssDisplay?: string; //css display
572
- animations?: any[];
573
- imageRadius?: number;
574
- disabled?: boolean; //是否禁用
575
- disabledColor?: string;
576
- disabledBackground?: string;
577
- disabledTextColor?:string; //禁用文字颜色
578
- };
579
- lastConnected?:any;
580
- // 下划线相关配置属性
581
- textDecoration?: string;
582
- textDecorationDash?: number[];
583
- textDecorationColor?: string;
584
- // 删除线相关配置
585
- textStrickoutColor?: string;
586
- textStrickoutDash?: number[];
587
- textStrickout?: boolean;
588
- // 前一个动画帧状态数据
589
- prevFrame?: Pen;
590
-
591
- onAdd?: (pen: Pen) => void;
592
- onValue?: (pen: Pen) => void;
593
- onBeforeValue?: (pen: Pen, value: ChartData) => any;
594
- onDestroy?: (pen: Pen) => void;
595
- onMove?: (pen: Pen) => void;
596
- onResize?: (pen: Pen) => void;
597
- onRotate?: (pen: Pen) => void;
598
- onScale?: (pen: Pen) => void;
599
- onClick?: (pen: Pen, e: Point) => void;
600
- onMouseEnter?: (pen: Pen, e: Point) => void;
601
- onMouseLeave?: (pen: Pen, e: Point) => void;
602
- onMouseDown?: (pen: Pen, e: Point) => void;
603
- onMouseMove?: (pen: Pen, e: Point) => void;
604
- onMouseUp?: (pen: Pen, e: Point) => void;
605
- onShowInput?: (pen: Pen, e: Point) => void;
606
- onInput?: (pen: Pen, text: string) => void;
607
- onChangeId?: (pen: Pen, oldId: string, newId: string) => void;
608
- onBinds?: (pen: Pen, values: IValue[], formItem: FormItem) => IValue;
609
- onStartVideo?: (pen: Pen) => void;
610
- onPauseVideo?: (pen: Pen) => void;
611
- onStopVideo?: (pen: Pen) => void;
612
- onRenderPenRaw?: (pen: Pen) => void;
613
- onKeyDown?: (pen: Pen, key: string) => void;
614
- onWheel?: (pen: Pen, e: WheelEvent) => void;
615
- onContextmenu?: (pen: Pen, e: Point) => void;
616
- onConnectLine?: (line: Pen, e: {
617
- lineAnchor: Point;
618
- fromAnchor: Point;
619
- line: Pen;
620
- anchor: Point;
621
- pen: Pen;
622
- fromPen: Pen
623
- }) => void;
624
- }
625
-
626
- // 属性绑定变量
627
- export interface FormItem {
628
- key: string;
629
- /**
630
- * 单属性绑定单变量 或 绑定多变量
631
- * 为数组时,顺序不重要
632
- */
633
- dataIds?: BindId | BindId[];
634
- }
635
-
636
- export type BindId = {
637
- dataId: string;
638
- name: string; // TODO: 用作图表的归类
639
- };
640
-
641
- /**
642
- * 图表追加或替换数据,只关注数据
643
- */
644
- export interface ChartData {
645
- dataX: any | any[]; // x轴 或 y 轴分类变化
646
- dataY: any | any[]; // series 数据变化
647
- /**
648
- * @deprecated 旧版本,未来移除该属性
649
- */
650
- overwrite?: boolean; // 追加 or 替换 , false 追加
651
- }
652
-
653
- /**
654
- * dom 类型的 图形
655
- */
656
- export const isDomShapes = [
657
- 'gif',
658
- 'iframe',
659
- 'video',
660
- 'echarts',
661
- 'highcharts',
662
- 'lightningCharts',
663
- ];
664
-
665
- /**
666
- * 交互图元
667
- */
668
- export const isInteraction = [
669
- 'radio',
670
- 'checkbox',
671
- 'button',
672
- 'inputDom',
673
- 'slider',
674
- 'echarts',
675
- ]
676
-
677
- // 格式刷同步的属性
678
- export const formatAttrs: Set<string> = new Set([
679
- 'borderRadius',
680
- // 'rotate',
681
- 'paddingLeft',
682
- 'paddingRight',
683
- 'paddingTop',
684
- 'paddingBottom',
685
- 'progress',
686
- 'progressColor',
687
- 'verticalProgress',
688
- 'reverseProgress',
689
- // 'flip',
690
- 'flipX',
691
- 'flipY',
692
- 'input',
693
- 'lineDash',
694
- 'lineCap',
695
- 'lineJoin',
696
- 'strokeType',
697
- 'lineGradientFromColor',
698
- 'lineGradientToColor',
699
- 'lineGradientAngle',
700
- 'color',
701
- 'hoverColor',
702
- 'activeColor',
703
- 'lineWidth',
704
- 'bkType',
705
- 'gradientFromColor',
706
- 'gradientToColor',
707
- 'gradientAngle',
708
- 'gradientRadius',
709
- 'hoverBackground',
710
- 'activeBackground',
711
- 'globalAlpha',
712
- 'anchorColor',
713
- 'anchorRadius',
714
- 'shadowColor',
715
- 'shadowBlur',
716
- 'shadowOffsetX',
717
- 'shadowOffsetY',
718
- 'textHasShadow',
719
- 'fontFamily',
720
- 'fontSize',
721
- 'textColor',
722
- 'hoverTextColor',
723
- 'activeTextColor',
724
- 'textBackground',
725
- 'fontStyle',
726
- 'fontWeight',
727
- 'textAlign',
728
- 'textBaseline',
729
- 'lineHeight',
730
- 'whiteSpace',
731
- 'textWidth',
732
- 'textHeight',
733
- 'textLeft',
734
- 'textTop',
735
- 'ellipsis',
736
- 'hiddenText',
737
- 'keepDecimal',
738
- 'borderWidth',
739
- 'borderColor',
740
- 'animateLineWidth',
741
- 'lineAnimateType',
742
- 'frames',
743
- 'animateColor',
744
- 'animateType',
745
- 'animateReverse',
746
- 'background',
747
- 'gradientColors',
748
- 'lineGradientColors',
749
- 'animateLineWidth',
750
- 'gradientSmooth',
751
- 'lineSmooth',
752
- 'animations'
753
- ]);
754
-
755
- /**
756
- * 清空 pen 的 生命周期
757
- */
758
- export function clearLifeCycle(pen: Pen) {
759
- pen.onAdd = undefined;
760
- pen.onValue = undefined;
761
- pen.onBeforeValue = undefined;
762
- pen.onDestroy = undefined;
763
- pen.onMove = undefined;
764
- pen.onResize = undefined;
765
- pen.onRotate = undefined;
766
- pen.onClick = undefined;
767
- pen.onMouseEnter = undefined;
768
- pen.onMouseLeave = undefined;
769
- pen.onMouseDown = undefined;
770
- pen.onMouseMove = undefined;
771
- pen.onMouseUp = undefined;
772
- pen.onShowInput = undefined;
773
- pen.onInput = undefined;
774
- pen.onChangeId = undefined;
775
- pen.onBinds = undefined;
776
- pen.onStartVideo = undefined;
777
- pen.onPauseVideo = undefined;
778
- pen.onStopVideo = undefined;
779
- pen.onRenderPenRaw = undefined;
780
- pen.onKeyDown = undefined;
781
- pen.onContextmenu = undefined;
782
- pen.onScale = undefined;
783
- pen.onWheel = undefined;
784
- pen.onConnectLine = undefined;
785
- }