@logicflow/core 2.0.0-beta.1 → 2.0.0-beta.11

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 (469) hide show
  1. package/.turbo/turbo-build$colon$dev.log +10 -10
  2. package/.turbo/turbo-build.log +36 -36
  3. package/__tests__/bugs/1545-spec.test.ts +19 -15
  4. package/__tests__/util/edge.test.ts +57 -57
  5. package/dist/index.min.js +9 -3
  6. package/es/LogicFlow.d.ts +88 -40
  7. package/es/LogicFlow.js +38 -33
  8. package/es/LogicFlow.js.map +1 -1
  9. package/es/algorithm/edge.js.map +1 -1
  10. package/es/algorithm/index.d.ts +2 -0
  11. package/es/algorithm/index.js +2 -0
  12. package/es/algorithm/index.js.map +1 -1
  13. package/es/algorithm/outline.d.ts +1 -1
  14. package/es/common/drag.d.ts +51 -0
  15. package/es/common/drag.js +145 -0
  16. package/es/common/drag.js.map +1 -0
  17. package/es/common/history.d.ts +28 -0
  18. package/es/common/history.js +92 -0
  19. package/es/common/history.js.map +1 -0
  20. package/es/common/index.d.ts +5 -0
  21. package/es/common/index.js +6 -0
  22. package/es/common/index.js.map +1 -0
  23. package/es/common/keyboard.d.ts +34 -0
  24. package/es/common/keyboard.js +80 -0
  25. package/es/common/keyboard.js.map +1 -0
  26. package/es/common/matrix.d.ts +30 -0
  27. package/es/common/matrix.js +155 -0
  28. package/es/common/matrix.js.map +1 -0
  29. package/es/common/vector.d.ts +23 -0
  30. package/es/common/vector.js +97 -0
  31. package/es/common/vector.js.map +1 -0
  32. package/es/constant/index.d.ts +39 -2
  33. package/es/constant/index.js +41 -1
  34. package/es/constant/index.js.map +1 -1
  35. package/es/event/eventArgs.d.ts +103 -25
  36. package/es/event/eventEmitter.d.ts +2 -2
  37. package/es/event/eventEmitter.js +0 -1
  38. package/es/event/eventEmitter.js.map +1 -1
  39. package/es/index.d.ts +6 -1
  40. package/es/index.js +6 -1
  41. package/es/index.js.map +1 -1
  42. package/es/keyboard/index.d.ts +1 -0
  43. package/es/keyboard/index.js +1 -0
  44. package/es/keyboard/index.js.map +1 -1
  45. package/es/keyboard/shortcut.d.ts +8 -0
  46. package/es/keyboard/shortcut.js +70 -8
  47. package/es/keyboard/shortcut.js.map +1 -1
  48. package/es/model/BaseModel.d.ts +16 -7
  49. package/es/model/EditConfigModel.d.ts +97 -36
  50. package/es/model/EditConfigModel.js +169 -82
  51. package/es/model/EditConfigModel.js.map +1 -1
  52. package/es/model/GraphModel.d.ts +36 -14
  53. package/es/model/GraphModel.js +60 -10
  54. package/es/model/GraphModel.js.map +1 -1
  55. package/es/model/SnaplineModel.d.ts +2 -0
  56. package/es/model/TransformModel.js +1 -1
  57. package/es/model/TransformModel.js.map +1 -1
  58. package/es/model/edge/BaseEdgeModel.d.ts +21 -17
  59. package/es/model/edge/BaseEdgeModel.js +64 -42
  60. package/es/model/edge/BaseEdgeModel.js.map +1 -1
  61. package/es/model/edge/BezierEdgeModel.d.ts +5 -3
  62. package/es/model/edge/BezierEdgeModel.js +7 -3
  63. package/es/model/edge/BezierEdgeModel.js.map +1 -1
  64. package/es/model/edge/LineEdgeModel.d.ts +2 -0
  65. package/es/model/edge/LineEdgeModel.js +2 -1
  66. package/es/model/edge/LineEdgeModel.js.map +1 -1
  67. package/es/model/edge/PolylineEdgeModel.d.ts +5 -3
  68. package/es/model/edge/PolylineEdgeModel.js +22 -15
  69. package/es/model/edge/PolylineEdgeModel.js.map +1 -1
  70. package/es/model/node/BaseNodeModel.d.ts +42 -14
  71. package/es/model/node/BaseNodeModel.js +62 -48
  72. package/es/model/node/BaseNodeModel.js.map +1 -1
  73. package/es/model/node/CircleNodeModel.d.ts +4 -3
  74. package/es/model/node/CircleNodeModel.js +4 -7
  75. package/es/model/node/CircleNodeModel.js.map +1 -1
  76. package/es/model/node/DiamondNodeModel.d.ts +5 -4
  77. package/es/model/node/DiamondNodeModel.js +4 -6
  78. package/es/model/node/DiamondNodeModel.js.map +1 -1
  79. package/es/model/node/EllipseNodeModel.d.ts +5 -4
  80. package/es/model/node/EllipseNodeModel.js +4 -6
  81. package/es/model/node/EllipseNodeModel.js.map +1 -1
  82. package/es/model/node/HtmlNodeModel.d.ts +4 -5
  83. package/es/model/node/HtmlNodeModel.js +2 -12
  84. package/es/model/node/HtmlNodeModel.js.map +1 -1
  85. package/es/model/node/PolygonNodeModel.d.ts +5 -4
  86. package/es/model/node/PolygonNodeModel.js +4 -7
  87. package/es/model/node/PolygonNodeModel.js.map +1 -1
  88. package/es/model/node/RectNodeModel.d.ts +7 -5
  89. package/es/model/node/RectNodeModel.js +10 -7
  90. package/es/model/node/RectNodeModel.js.map +1 -1
  91. package/es/model/node/TextNodeModel.d.ts +17 -9
  92. package/es/model/node/TextNodeModel.js +2 -1
  93. package/es/model/node/TextNodeModel.js.map +1 -1
  94. package/es/options.d.ts +6 -3
  95. package/es/options.js +2 -11
  96. package/es/options.js.map +1 -1
  97. package/es/tool/MultipleSelectTool.d.ts +1 -1
  98. package/es/tool/MultipleSelectTool.js +5 -5
  99. package/es/tool/MultipleSelectTool.js.map +1 -1
  100. package/es/tool/TextEditTool.d.ts +3 -3
  101. package/es/tool/TextEditTool.js +2 -2
  102. package/es/tool/TextEditTool.js.map +1 -1
  103. package/es/tool/index.d.ts +24 -2
  104. package/es/tool/index.js +82 -2
  105. package/es/tool/index.js.map +1 -1
  106. package/es/util/drag.d.ts +5 -5
  107. package/es/util/drag.js +3 -1
  108. package/es/util/drag.js.map +1 -1
  109. package/es/util/edge.d.ts +9 -2
  110. package/es/util/edge.js +23 -12
  111. package/es/util/edge.js.map +1 -1
  112. package/es/util/index.d.ts +1 -0
  113. package/es/util/index.js +1 -0
  114. package/es/util/index.js.map +1 -1
  115. package/es/util/node.d.ts +8 -7
  116. package/es/util/node.js +26 -7
  117. package/es/util/node.js.map +1 -1
  118. package/es/util/resize.d.ts +32 -0
  119. package/es/util/resize.js +197 -0
  120. package/es/util/resize.js.map +1 -0
  121. package/es/view/Anchor.d.ts +6 -7
  122. package/es/view/Anchor.js +6 -3
  123. package/es/view/Anchor.js.map +1 -1
  124. package/es/view/Control.d.ts +1 -1
  125. package/es/view/Control.js +88 -39
  126. package/es/view/Control.js.map +1 -1
  127. package/es/view/Graph.d.ts +5 -1
  128. package/es/view/Graph.js +43 -3
  129. package/es/view/Graph.js.map +1 -1
  130. package/es/view/Rotate.js +2 -1
  131. package/es/view/Rotate.js.map +1 -1
  132. package/es/view/behavior/index.d.ts +2 -0
  133. package/es/view/behavior/index.js +3 -0
  134. package/es/view/behavior/index.js.map +1 -0
  135. package/es/view/behavior/snapline.d.ts +3 -0
  136. package/es/{tool → view/behavior}/snapline.js +0 -1
  137. package/es/view/behavior/snapline.js.map +1 -0
  138. package/es/view/edge/AdjustPoint.js +12 -23
  139. package/es/view/edge/AdjustPoint.js.map +1 -1
  140. package/es/view/edge/BaseEdge.d.ts +2 -2
  141. package/es/view/edge/BaseEdge.js +30 -22
  142. package/es/view/edge/BaseEdge.js.map +1 -1
  143. package/es/view/node/BaseNode.d.ts +4 -4
  144. package/es/view/node/BaseNode.js +33 -24
  145. package/es/view/node/BaseNode.js.map +1 -1
  146. package/es/view/node/CircleNode.d.ts +1 -1
  147. package/es/view/node/CircleNode.js.map +1 -1
  148. package/es/view/node/DiamondNode.d.ts +1 -1
  149. package/es/view/node/DiamondNode.js.map +1 -1
  150. package/es/view/node/EllipseNode.d.ts +1 -1
  151. package/es/view/node/EllipseNode.js.map +1 -1
  152. package/es/view/node/HtmlNode.d.ts +1 -1
  153. package/es/view/node/HtmlNode.js +2 -2
  154. package/es/view/node/HtmlNode.js.map +1 -1
  155. package/es/view/node/PolygonNode.d.ts +1 -1
  156. package/es/view/node/PolygonNode.js.map +1 -1
  157. package/es/view/node/RectNode.d.ts +1 -1
  158. package/es/view/node/RectNode.js.map +1 -1
  159. package/es/view/node/TextNode.d.ts +1 -1
  160. package/es/view/node/TextNode.js +1 -1
  161. package/es/view/node/TextNode.js.map +1 -1
  162. package/es/view/overlay/CanvasOverlay.js +5 -4
  163. package/es/view/overlay/CanvasOverlay.js.map +1 -1
  164. package/es/view/overlay/ToolOverlay.d.ts +1 -1
  165. package/es/view/overlay/ToolOverlay.js +1 -1
  166. package/es/view/overlay/ToolOverlay.js.map +1 -1
  167. package/es/view/shape/Circle.d.ts +9 -1
  168. package/es/view/shape/Circle.js +5 -5
  169. package/es/view/shape/Circle.js.map +1 -1
  170. package/es/view/shape/Ellipse.d.ts +10 -1
  171. package/es/view/shape/Ellipse.js +5 -5
  172. package/es/view/shape/Ellipse.js.map +1 -1
  173. package/es/view/shape/Line.d.ts +14 -1
  174. package/es/view/shape/Line.js +5 -7
  175. package/es/view/shape/Line.js.map +1 -1
  176. package/es/view/shape/Path.d.ts +3 -2
  177. package/es/view/shape/Path.js +3 -3
  178. package/es/view/shape/Path.js.map +1 -1
  179. package/es/view/shape/Polygon.d.ts +5 -3
  180. package/es/view/shape/Polygon.js +6 -6
  181. package/es/view/shape/Polygon.js.map +1 -1
  182. package/es/view/shape/Polyline.d.ts +7 -1
  183. package/es/view/shape/Polyline.js +8 -6
  184. package/es/view/shape/Polyline.js.map +1 -1
  185. package/es/view/shape/Rect.d.ts +11 -13
  186. package/es/view/shape/Rect.js +6 -9
  187. package/es/view/shape/Rect.js.map +1 -1
  188. package/es/view/shape/Text.d.ts +19 -1
  189. package/es/view/shape/Text.js +28 -21
  190. package/es/view/shape/Text.js.map +1 -1
  191. package/es/view/text/BaseText.d.ts +12 -15
  192. package/es/view/text/BaseText.js +43 -29
  193. package/es/view/text/BaseText.js.map +1 -1
  194. package/es/view/text/LineText.d.ts +19 -7
  195. package/es/view/text/LineText.js +62 -54
  196. package/es/view/text/LineText.js.map +1 -1
  197. package/lib/LogicFlow.d.ts +88 -40
  198. package/lib/LogicFlow.js +40 -35
  199. package/lib/LogicFlow.js.map +1 -1
  200. package/lib/algorithm/edge.js.map +1 -1
  201. package/lib/algorithm/index.d.ts +2 -0
  202. package/lib/algorithm/index.js +17 -1
  203. package/lib/algorithm/index.js.map +1 -1
  204. package/lib/algorithm/outline.d.ts +1 -1
  205. package/lib/common/drag.d.ts +51 -0
  206. package/lib/common/drag.js +148 -0
  207. package/lib/common/drag.js.map +1 -0
  208. package/lib/common/history.d.ts +28 -0
  209. package/lib/common/history.js +95 -0
  210. package/lib/common/history.js.map +1 -0
  211. package/lib/common/index.d.ts +5 -0
  212. package/lib/common/index.js +22 -0
  213. package/lib/common/index.js.map +1 -0
  214. package/lib/common/keyboard.d.ts +34 -0
  215. package/lib/common/keyboard.js +86 -0
  216. package/lib/common/keyboard.js.map +1 -0
  217. package/lib/common/matrix.d.ts +30 -0
  218. package/lib/common/matrix.js +158 -0
  219. package/lib/common/matrix.js.map +1 -0
  220. package/lib/common/vector.d.ts +23 -0
  221. package/lib/common/vector.js +101 -0
  222. package/lib/common/vector.js.map +1 -0
  223. package/lib/constant/index.d.ts +39 -2
  224. package/lib/constant/index.js +42 -2
  225. package/lib/constant/index.js.map +1 -1
  226. package/lib/event/eventArgs.d.ts +103 -25
  227. package/lib/event/eventEmitter.d.ts +2 -2
  228. package/lib/event/eventEmitter.js +0 -1
  229. package/lib/event/eventEmitter.js.map +1 -1
  230. package/lib/index.d.ts +6 -1
  231. package/lib/index.js +7 -2
  232. package/lib/index.js.map +1 -1
  233. package/lib/keyboard/index.d.ts +1 -0
  234. package/lib/keyboard/index.js +15 -0
  235. package/lib/keyboard/index.js.map +1 -1
  236. package/lib/keyboard/shortcut.d.ts +8 -0
  237. package/lib/keyboard/shortcut.js +75 -9
  238. package/lib/keyboard/shortcut.js.map +1 -1
  239. package/lib/model/BaseModel.d.ts +16 -7
  240. package/lib/model/EditConfigModel.d.ts +97 -36
  241. package/lib/model/EditConfigModel.js +168 -81
  242. package/lib/model/EditConfigModel.js.map +1 -1
  243. package/lib/model/GraphModel.d.ts +36 -14
  244. package/lib/model/GraphModel.js +59 -9
  245. package/lib/model/GraphModel.js.map +1 -1
  246. package/lib/model/SnaplineModel.d.ts +2 -0
  247. package/lib/model/TransformModel.js +1 -1
  248. package/lib/model/TransformModel.js.map +1 -1
  249. package/lib/model/edge/BaseEdgeModel.d.ts +21 -17
  250. package/lib/model/edge/BaseEdgeModel.js +61 -39
  251. package/lib/model/edge/BaseEdgeModel.js.map +1 -1
  252. package/lib/model/edge/BezierEdgeModel.d.ts +5 -3
  253. package/lib/model/edge/BezierEdgeModel.js +6 -2
  254. package/lib/model/edge/BezierEdgeModel.js.map +1 -1
  255. package/lib/model/edge/LineEdgeModel.d.ts +2 -0
  256. package/lib/model/edge/LineEdgeModel.js +2 -1
  257. package/lib/model/edge/LineEdgeModel.js.map +1 -1
  258. package/lib/model/edge/PolylineEdgeModel.d.ts +5 -3
  259. package/lib/model/edge/PolylineEdgeModel.js +21 -14
  260. package/lib/model/edge/PolylineEdgeModel.js.map +1 -1
  261. package/lib/model/node/BaseNodeModel.d.ts +42 -14
  262. package/lib/model/node/BaseNodeModel.js +60 -46
  263. package/lib/model/node/BaseNodeModel.js.map +1 -1
  264. package/lib/model/node/CircleNodeModel.d.ts +4 -3
  265. package/lib/model/node/CircleNodeModel.js +4 -7
  266. package/lib/model/node/CircleNodeModel.js.map +1 -1
  267. package/lib/model/node/DiamondNodeModel.d.ts +5 -4
  268. package/lib/model/node/DiamondNodeModel.js +4 -6
  269. package/lib/model/node/DiamondNodeModel.js.map +1 -1
  270. package/lib/model/node/EllipseNodeModel.d.ts +5 -4
  271. package/lib/model/node/EllipseNodeModel.js +4 -6
  272. package/lib/model/node/EllipseNodeModel.js.map +1 -1
  273. package/lib/model/node/HtmlNodeModel.d.ts +4 -5
  274. package/lib/model/node/HtmlNodeModel.js +2 -12
  275. package/lib/model/node/HtmlNodeModel.js.map +1 -1
  276. package/lib/model/node/PolygonNodeModel.d.ts +5 -4
  277. package/lib/model/node/PolygonNodeModel.js +4 -7
  278. package/lib/model/node/PolygonNodeModel.js.map +1 -1
  279. package/lib/model/node/RectNodeModel.d.ts +7 -5
  280. package/lib/model/node/RectNodeModel.js +10 -7
  281. package/lib/model/node/RectNodeModel.js.map +1 -1
  282. package/lib/model/node/TextNodeModel.d.ts +17 -9
  283. package/lib/model/node/TextNodeModel.js +2 -1
  284. package/lib/model/node/TextNodeModel.js.map +1 -1
  285. package/lib/options.d.ts +6 -3
  286. package/lib/options.js +2 -11
  287. package/lib/options.js.map +1 -1
  288. package/lib/tool/MultipleSelectTool.d.ts +1 -1
  289. package/lib/tool/MultipleSelectTool.js +5 -5
  290. package/lib/tool/MultipleSelectTool.js.map +1 -1
  291. package/lib/tool/TextEditTool.d.ts +3 -3
  292. package/lib/tool/TextEditTool.js +4 -4
  293. package/lib/tool/TextEditTool.js.map +1 -1
  294. package/lib/tool/index.d.ts +24 -2
  295. package/lib/tool/index.js +85 -15
  296. package/lib/tool/index.js.map +1 -1
  297. package/lib/util/drag.d.ts +5 -5
  298. package/lib/util/drag.js +3 -1
  299. package/lib/util/drag.js.map +1 -1
  300. package/lib/util/edge.d.ts +9 -2
  301. package/lib/util/edge.js +27 -15
  302. package/lib/util/edge.js.map +1 -1
  303. package/lib/util/index.d.ts +1 -0
  304. package/lib/util/index.js +1 -0
  305. package/lib/util/index.js.map +1 -1
  306. package/lib/util/node.d.ts +8 -7
  307. package/lib/util/node.js +28 -9
  308. package/lib/util/node.js.map +1 -1
  309. package/lib/util/resize.d.ts +32 -0
  310. package/lib/util/resize.js +204 -0
  311. package/lib/util/resize.js.map +1 -0
  312. package/lib/view/Anchor.d.ts +6 -7
  313. package/lib/view/Anchor.js +5 -2
  314. package/lib/view/Anchor.js.map +1 -1
  315. package/lib/view/Control.d.ts +1 -1
  316. package/lib/view/Control.js +87 -38
  317. package/lib/view/Control.js.map +1 -1
  318. package/lib/view/Graph.d.ts +5 -1
  319. package/lib/view/Graph.js +42 -2
  320. package/lib/view/Graph.js.map +1 -1
  321. package/lib/view/Rotate.js +2 -1
  322. package/lib/view/Rotate.js.map +1 -1
  323. package/lib/view/behavior/index.d.ts +2 -0
  324. package/lib/view/behavior/index.js +19 -0
  325. package/lib/view/behavior/index.js.map +1 -0
  326. package/lib/view/behavior/snapline.d.ts +3 -0
  327. package/lib/{tool → view/behavior}/snapline.js +0 -1
  328. package/lib/view/behavior/snapline.js.map +1 -0
  329. package/lib/view/edge/AdjustPoint.js +11 -22
  330. package/lib/view/edge/AdjustPoint.js.map +1 -1
  331. package/lib/view/edge/BaseEdge.d.ts +2 -2
  332. package/lib/view/edge/BaseEdge.js +29 -21
  333. package/lib/view/edge/BaseEdge.js.map +1 -1
  334. package/lib/view/node/BaseNode.d.ts +4 -4
  335. package/lib/view/node/BaseNode.js +32 -23
  336. package/lib/view/node/BaseNode.js.map +1 -1
  337. package/lib/view/node/CircleNode.d.ts +1 -1
  338. package/lib/view/node/CircleNode.js.map +1 -1
  339. package/lib/view/node/DiamondNode.d.ts +1 -1
  340. package/lib/view/node/DiamondNode.js.map +1 -1
  341. package/lib/view/node/EllipseNode.d.ts +1 -1
  342. package/lib/view/node/EllipseNode.js.map +1 -1
  343. package/lib/view/node/HtmlNode.d.ts +1 -1
  344. package/lib/view/node/HtmlNode.js +2 -2
  345. package/lib/view/node/HtmlNode.js.map +1 -1
  346. package/lib/view/node/PolygonNode.d.ts +1 -1
  347. package/lib/view/node/PolygonNode.js.map +1 -1
  348. package/lib/view/node/RectNode.d.ts +1 -1
  349. package/lib/view/node/RectNode.js.map +1 -1
  350. package/lib/view/node/TextNode.d.ts +1 -1
  351. package/lib/view/node/TextNode.js +1 -1
  352. package/lib/view/node/TextNode.js.map +1 -1
  353. package/lib/view/overlay/CanvasOverlay.js +5 -4
  354. package/lib/view/overlay/CanvasOverlay.js.map +1 -1
  355. package/lib/view/overlay/ToolOverlay.d.ts +1 -1
  356. package/lib/view/overlay/ToolOverlay.js +1 -1
  357. package/lib/view/overlay/ToolOverlay.js.map +1 -1
  358. package/lib/view/shape/Circle.d.ts +9 -1
  359. package/lib/view/shape/Circle.js +5 -5
  360. package/lib/view/shape/Circle.js.map +1 -1
  361. package/lib/view/shape/Ellipse.d.ts +10 -1
  362. package/lib/view/shape/Ellipse.js +5 -5
  363. package/lib/view/shape/Ellipse.js.map +1 -1
  364. package/lib/view/shape/Line.d.ts +14 -1
  365. package/lib/view/shape/Line.js +5 -7
  366. package/lib/view/shape/Line.js.map +1 -1
  367. package/lib/view/shape/Path.d.ts +3 -2
  368. package/lib/view/shape/Path.js +3 -3
  369. package/lib/view/shape/Path.js.map +1 -1
  370. package/lib/view/shape/Polygon.d.ts +5 -3
  371. package/lib/view/shape/Polygon.js +6 -6
  372. package/lib/view/shape/Polygon.js.map +1 -1
  373. package/lib/view/shape/Polyline.d.ts +7 -1
  374. package/lib/view/shape/Polyline.js +8 -6
  375. package/lib/view/shape/Polyline.js.map +1 -1
  376. package/lib/view/shape/Rect.d.ts +11 -13
  377. package/lib/view/shape/Rect.js +6 -9
  378. package/lib/view/shape/Rect.js.map +1 -1
  379. package/lib/view/shape/Text.d.ts +19 -1
  380. package/lib/view/shape/Text.js +29 -21
  381. package/lib/view/shape/Text.js.map +1 -1
  382. package/lib/view/text/BaseText.d.ts +12 -15
  383. package/lib/view/text/BaseText.js +46 -29
  384. package/lib/view/text/BaseText.js.map +1 -1
  385. package/lib/view/text/LineText.d.ts +19 -7
  386. package/lib/view/text/LineText.js +62 -57
  387. package/lib/view/text/LineText.js.map +1 -1
  388. package/package.json +2 -1
  389. package/src/LogicFlow.tsx +163 -79
  390. package/src/algorithm/edge.ts +1 -0
  391. package/src/algorithm/index.ts +2 -0
  392. package/src/algorithm/outline.ts +2 -2
  393. package/src/common/drag.ts +219 -0
  394. package/src/common/history.ts +108 -0
  395. package/src/common/index.ts +6 -0
  396. package/src/common/keyboard.ts +108 -0
  397. package/src/common/matrix.ts +122 -0
  398. package/src/common/vector.ts +93 -0
  399. package/src/constant/index.ts +43 -1
  400. package/src/event/eventArgs.ts +173 -34
  401. package/src/event/eventEmitter.ts +2 -3
  402. package/src/index.ts +6 -1
  403. package/src/keyboard/index.ts +2 -0
  404. package/src/keyboard/shortcut.ts +79 -8
  405. package/src/model/BaseModel.ts +18 -7
  406. package/src/model/EditConfigModel.ts +209 -97
  407. package/src/model/GraphModel.ts +64 -9
  408. package/src/model/TransformModel.ts +1 -1
  409. package/src/model/edge/BaseEdgeModel.ts +75 -44
  410. package/src/model/edge/BezierEdgeModel.ts +7 -6
  411. package/src/model/edge/LineEdgeModel.ts +2 -0
  412. package/src/model/edge/PolylineEdgeModel.ts +24 -18
  413. package/src/model/node/BaseNodeModel.ts +72 -47
  414. package/src/model/node/CircleNodeModel.ts +8 -7
  415. package/src/model/node/DiamondNodeModel.ts +9 -6
  416. package/src/model/node/EllipseNodeModel.ts +9 -6
  417. package/src/model/node/HtmlNodeModel.ts +8 -7
  418. package/src/model/node/PolygonNodeModel.ts +9 -7
  419. package/src/model/node/RectNodeModel.ts +16 -8
  420. package/src/model/node/TextNodeModel.ts +14 -1
  421. package/src/options.ts +11 -15
  422. package/src/tool/MultipleSelectTool.tsx +6 -6
  423. package/src/tool/TextEditTool.tsx +3 -3
  424. package/src/tool/index.ts +96 -2
  425. package/src/util/drag.ts +22 -6
  426. package/src/util/edge.ts +39 -13
  427. package/src/util/index.ts +1 -0
  428. package/src/util/node.ts +36 -13
  429. package/src/util/resize.ts +286 -0
  430. package/src/view/Anchor.tsx +7 -5
  431. package/src/view/Control.tsx +93 -62
  432. package/src/view/Graph.tsx +21 -4
  433. package/src/view/Rotate.tsx +2 -1
  434. package/src/view/behavior/index.ts +2 -0
  435. package/src/{tool → view/behavior}/snapline.ts +3 -4
  436. package/src/view/edge/AdjustPoint.tsx +35 -49
  437. package/src/view/edge/BaseEdge.tsx +65 -45
  438. package/src/view/node/BaseNode.tsx +55 -28
  439. package/src/view/node/CircleNode.tsx +3 -1
  440. package/src/view/node/DiamondNode.tsx +3 -1
  441. package/src/view/node/EllipseNode.tsx +3 -1
  442. package/src/view/node/HtmlNode.tsx +5 -3
  443. package/src/view/node/PolygonNode.tsx +3 -1
  444. package/src/view/node/RectNode.tsx +3 -1
  445. package/src/view/node/TextNode.tsx +4 -2
  446. package/src/view/overlay/CanvasOverlay.tsx +5 -4
  447. package/src/view/overlay/ToolOverlay.tsx +1 -1
  448. package/src/view/shape/Circle.tsx +21 -7
  449. package/src/view/shape/Ellipse.tsx +20 -6
  450. package/src/view/shape/Line.tsx +24 -9
  451. package/src/view/shape/Path.tsx +9 -6
  452. package/src/view/shape/Polygon.tsx +13 -10
  453. package/src/view/shape/Polyline.tsx +20 -8
  454. package/src/view/shape/Rect.tsx +19 -19
  455. package/src/view/shape/Text.tsx +64 -33
  456. package/src/view/text/BaseText.tsx +76 -42
  457. package/src/view/text/LineText.tsx +94 -80
  458. package/tsconfig.json +1 -1
  459. package/es/tool/snapline.d.ts +0 -3
  460. package/es/tool/snapline.js.map +0 -1
  461. package/es/tool/tool.d.ts +0 -22
  462. package/es/tool/tool.js +0 -43
  463. package/es/tool/tool.js.map +0 -1
  464. package/lib/tool/snapline.d.ts +0 -3
  465. package/lib/tool/snapline.js.map +0 -1
  466. package/lib/tool/tool.d.ts +0 -22
  467. package/lib/tool/tool.js +0 -49
  468. package/lib/tool/tool.js.map +0 -1
  469. package/src/tool/tool.ts +0 -66
@@ -26,6 +26,7 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
+ import { forEach, toPairs } from 'lodash-es';
29
30
  export function Line(props) {
30
31
  var attrs = {
31
32
  // default
@@ -34,18 +35,15 @@ export function Line(props) {
34
35
  x2: 20,
35
36
  y2: 20,
36
37
  stroke: 'black',
37
- // ...props,
38
+ // ...props
38
39
  };
39
- Object.entries(props).forEach(function (_a) {
40
+ forEach(toPairs(props), function (_a) {
40
41
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
41
42
  if (k === 'style') {
42
43
  attrs[k] = v;
43
44
  }
44
- else {
45
- var valueType = typeof v;
46
- if (valueType !== 'object') {
47
- attrs[k] = v;
48
- }
45
+ else if (typeof v !== 'object') {
46
+ attrs[k] = v;
49
47
  }
50
48
  });
51
49
  return _jsx("line", __assign({}, attrs));
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../src/view/shape/Line.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,UAAU,IAAI,CAAC,KAAK;IACxB,IAAM,KAAK,GAAG;QACZ,UAAU;QACV,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,OAAO;QACf,YAAY;KACb,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAM;YAAN,KAAA,aAAM,EAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAClC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;aAAM,CAAC;YACN,IAAM,SAAS,GAAG,OAAO,CAAC,CAAA;YAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../src/view/shape/Line.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAe5C,MAAM,UAAU,IAAI,CAAC,KAAiB;IACpC,IAAM,KAAK,GAAe;QACxB,UAAU;QACV,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,MAAM,EAAE,OAAO;QACf,WAAW;KACZ,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAC,EAA2B;YAA3B,KAAA,aAA2B,EAA1B,CAAC,QAAA,EAAE,CAAC,QAAA;QAC5B,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,eAAe,IAAI,CAAA"}
@@ -1,6 +1,7 @@
1
- type IProps = {
1
+ import { createElement as h } from 'preact/compat';
2
+ export type IPathProps = {
2
3
  d: string;
3
4
  [key: string]: any;
4
5
  };
5
- export declare function Path(props: IProps): import("preact").JSX.Element;
6
+ export declare function Path(props: IPathProps): h.JSX.Element;
6
7
  export default Path;
@@ -26,14 +26,14 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
+ import { forEach, toPairs } from 'lodash-es';
29
30
  export function Path(props) {
30
31
  var attrs = {
31
32
  d: '',
32
33
  };
33
- Object.entries(props).forEach(function (_a) {
34
+ forEach(toPairs(props), function (_a) {
34
35
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
35
- var valueType = typeof v;
36
- if (k === 'style' || valueType !== 'object') {
36
+ if (k === 'style' || typeof v !== 'object') {
37
37
  attrs[k] = v;
38
38
  }
39
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../src/view/shape/Path.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,IAAM,KAAK,GAAG;QACZ,CAAC,EAAE,EAAE;KACN,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAM;YAAN,KAAA,aAAM,EAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAClC,IAAM,SAAS,GAAG,OAAO,CAAC,CAAA;QAC1B,IAAI,CAAC,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../src/view/shape/Path.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAO5C,MAAM,UAAU,IAAI,CAAC,KAAiB;IACpC,IAAM,KAAK,GAAwB;QACjC,CAAC,EAAE,EAAE;KACN,CAAA;IACD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAC,EAA6B;YAA7B,KAAA,aAA6B,EAA5B,CAAC,QAAA,EAAE,CAAC,QAAA;QAC5B,IAAI,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3C,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,eAAe,IAAI,CAAA"}
@@ -1,8 +1,10 @@
1
- import LogicFlow from '../../LogicFlow';
1
+ import { createElement as h } from 'preact/compat';
2
+ import { LogicFlow } from '../..';
2
3
  export type IPolygonProps = {
3
4
  points: LogicFlow.PointTuple[];
5
+ x?: number;
6
+ y?: number;
4
7
  className?: string;
5
- [key: string]: any;
6
8
  };
7
- export declare function Polygon(props: IPolygonProps): import("preact").JSX.Element;
9
+ export declare function Polygon(props: IPolygonProps): h.JSX.Element;
8
10
  export default Polygon;
@@ -26,8 +26,9 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
+ import { forEach, toPairs } from 'lodash-es';
29
30
  export function Polygon(props) {
30
- var points = props.points, className = props.className;
31
+ var _a = props.points, points = _a === void 0 ? [] : _a, className = props.className;
31
32
  var attrs = {
32
33
  fill: 'transparent',
33
34
  fillOpacity: 1,
@@ -36,18 +37,17 @@ export function Polygon(props) {
36
37
  strokeOpacity: 1,
37
38
  points: '',
38
39
  };
39
- Object.entries(props).forEach(function (_a) {
40
+ forEach(toPairs(props), function (_a) {
40
41
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
41
- var valueType = typeof v;
42
- if (valueType !== 'object') {
42
+ if (typeof v !== 'object') {
43
43
  attrs[k] = v;
44
44
  }
45
45
  });
46
46
  if (className) {
47
- attrs.className = "lf-basic-shape ".concat(className);
47
+ attrs.classNmae = "lf-basic-shape ".concat(className);
48
48
  }
49
49
  else {
50
- attrs.className = 'lf-shape';
50
+ attrs.className = 'lf-basic-shape';
51
51
  }
52
52
  attrs.points = points.map(function (point) { return point.join(','); }).join(' ');
53
53
  return _jsx("polygon", __assign({}, attrs));
@@ -1 +1 @@
1
- {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../src/view/shape/Polygon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,UAAU,OAAO,CAAC,KAAoB;IAClC,IAAA,MAAM,GAAgB,KAAK,OAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAU;IACnC,IAAM,KAAK,GAAwB;QACjC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,EAAE;KACX,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAM;YAAN,KAAA,aAAM,EAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAClC,IAAM,SAAS,GAAG,OAAO,CAAC,CAAA;QAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,SAAS,GAAG,yBAAkB,SAAS,CAAE,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,SAAS,GAAG,UAAU,CAAA;IAC9B,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE/D,OAAO,6BAAa,KAAK,EAAI,CAAA;AAC/B,CAAC;AAED,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../src/view/shape/Polygon.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAU5C,MAAM,UAAU,OAAO,CAAC,KAAoB;IAClC,IAAA,KAA2B,KAAK,OAArB,EAAX,MAAM,mBAAG,EAAE,KAAA,EAAE,SAAS,GAAK,KAAK,UAAV,CAAU;IACxC,IAAM,KAAK,GAAwB;QACjC,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,EAAE;KACX,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAC,EAA2B;YAA3B,KAAA,aAA2B,EAA1B,CAAC,QAAA,EAAE,CAAC,QAAA;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,SAAS,GAAG,yBAAkB,SAAS,CAAE,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAA;IACpC,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAf,CAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE/D,OAAO,6BAAa,KAAK,EAAI,CAAA;AAC/B,CAAC;AAED,eAAe,OAAO,CAAA"}
@@ -1,2 +1,8 @@
1
- export declare function Polyline(props: any): import("preact").JSX.Element;
1
+ import { createElement as h } from 'preact/compat';
2
+ export type IPolylineProps = {
3
+ points: string;
4
+ pathLength?: number | 'none';
5
+ className?: string;
6
+ };
7
+ export declare function Polyline(props: IPolylineProps): h.JSX.Element;
2
8
  export default Polyline;
@@ -26,23 +26,25 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
+ import { forEach, toPairs } from 'lodash-es';
29
30
  export function Polyline(props) {
31
+ var className = props.className;
30
32
  var attrs = {
31
33
  points: '',
32
34
  fill: 'none',
33
35
  };
34
- Object.entries(props).forEach(function (_a) {
36
+ forEach(toPairs(props), function (_a) {
35
37
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
36
38
  if (k === 'style') {
37
39
  attrs[k] = v;
38
40
  }
39
- else {
40
- var valueType = typeof v;
41
- if (valueType !== 'object') {
42
- attrs[k] = v;
43
- }
41
+ else if (typeof v !== 'object') {
42
+ attrs[k] = v;
44
43
  }
45
44
  });
45
+ if (className) {
46
+ attrs.className = "".concat(className);
47
+ }
46
48
  return _jsx("polyline", __assign({}, attrs));
47
49
  }
48
50
  export default Polyline;
@@ -1 +1 @@
1
- {"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../src/view/shape/Polyline.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,UAAU,QAAQ,CAAC,KAAK;IAC5B,IAAM,KAAK,GAAG;QACZ,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;KACb,CAAA;IACD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAM;YAAN,KAAA,aAAM,EAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAClC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;aAAM,CAAC;YACN,IAAM,SAAS,GAAG,OAAO,CAAC,CAAA;YAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,8BAAc,KAAK,EAAI,CAAA;AAChC,CAAC;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"Polyline.js","sourceRoot":"","sources":["../../../src/view/shape/Polyline.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQ5C,MAAM,UAAU,QAAQ,CAAC,KAAqB;IACpC,IAAA,SAAS,GAAK,KAAK,UAAV,CAAU;IAC3B,IAAM,KAAK,GAA4B;QACrC,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;KACb,CAAA;IAED,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAC,EAA+B;YAA/B,KAAA,aAA+B,EAA9B,CAAC,QAAA,EAAE,CAAC,QAAA;QAC5B,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,SAAS,GAAG,UAAG,SAAS,CAAE,CAAA;IAClC,CAAC;IAED,OAAO,8BAAc,KAAK,EAAI,CAAA;AAChC,CAAC;AAED,eAAe,QAAQ,CAAA"}
@@ -1,15 +1,13 @@
1
- import LogicFlow from '../../LogicFlow';
2
- import Point = LogicFlow.Point;
3
- import RectSize = LogicFlow.RectSize;
4
- type IRectProps = {
1
+ import { createElement as h } from 'preact/compat';
2
+ import LogicFlow from '../..';
3
+ export type IRectProps = {
4
+ x: number;
5
+ y: number;
6
+ width: number;
7
+ height: number;
5
8
  className?: string;
6
- radius?: number;
7
- } & Point & RectSize;
8
- export declare function Rect(props: IRectProps): import("preact").JSX.Element;
9
- export declare namespace Rect {
10
- var defaultProps: {
11
- className: string;
12
- radius: string;
13
- };
14
- }
9
+ radius?: LogicFlow.NumberOrPercent;
10
+ [key: string]: any;
11
+ };
12
+ export declare function Rect(props: IRectProps): h.JSX.Element;
15
13
  export default Rect;
@@ -26,15 +26,16 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
+ import { forEach, toPairs } from 'lodash-es';
29
30
  export function Rect(props) {
30
- var x = props.x, y = props.y, width = props.width, height = props.height, className = props.className, radius = props.radius;
31
+ var x = props.x, y = props.y, width = props.width, height = props.height, className = props.className, strokeWidth = props.strokeWidth, _a = props.radius, radius = _a === void 0 ? 0 : _a;
31
32
  var leftTopX = x - width / 2;
32
33
  var leftTopY = y - height / 2;
33
34
  var attrs = {};
34
- Object.entries(props).forEach(function (_a) {
35
+ attrs['stroke-width'] = strokeWidth;
36
+ forEach(toPairs(props), function (_a) {
35
37
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
36
- var valueType = typeof v;
37
- if (valueType !== 'object') {
38
+ if (typeof v !== 'object') {
38
39
  attrs[k] = v;
39
40
  }
40
41
  });
@@ -42,7 +43,7 @@ export function Rect(props) {
42
43
  attrs.className = "lf-basic-shape ".concat(className);
43
44
  }
44
45
  else {
45
- attrs.className = 'lf-shape';
46
+ attrs.className = 'lf-basic-shape';
46
47
  }
47
48
  if (radius) {
48
49
  attrs.rx = radius;
@@ -52,9 +53,5 @@ export function Rect(props) {
52
53
  attrs.y = leftTopY;
53
54
  return _jsx("rect", __assign({}, attrs));
54
55
  }
55
- Rect.defaultProps = {
56
- className: '',
57
- radius: '',
58
- };
59
56
  export default Rect;
60
57
  //# sourceMappingURL=Rect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Rect.js","sourceRoot":"","sources":["../../../src/view/shape/Rect.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,UAAU,IAAI,CAAC,KAAiB;IAC5B,IAAA,CAAC,GAA0C,KAAK,EAA/C,EAAE,CAAC,GAAuC,KAAK,EAA5C,EAAE,KAAK,GAAgC,KAAK,MAArC,EAAE,MAAM,GAAwB,KAAK,OAA7B,EAAE,SAAS,GAAa,KAAK,UAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAU;IAExD,IAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAC9B,IAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;IAC/B,IAAM,KAAK,GAAwB,EAAE,CAAA;IACrC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,EAAM;YAAN,KAAA,aAAM,EAAL,CAAC,QAAA,EAAE,CAAC,QAAA;QAClC,IAAM,SAAS,GAAG,OAAO,CAAC,CAAA;QAC1B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,SAAS,GAAG,yBAAkB,SAAS,CAAE,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,SAAS,GAAG,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,GAAG,MAAM,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAA;IAClB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAA;IAClB,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,IAAI,CAAC,YAAY,GAAG;IAClB,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;CACX,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Rect.js","sourceRoot":"","sources":["../../../src/view/shape/Rect.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAa5C,MAAM,UAAU,IAAI,CAAC,KAAiB;IAC5B,IAAA,CAAC,GAA2D,KAAK,EAAhE,EAAE,CAAC,GAAwD,KAAK,EAA7D,EAAE,KAAK,GAAiD,KAAK,MAAtD,EAAE,MAAM,GAAyC,KAAK,OAA9C,EAAE,SAAS,GAA8B,KAAK,UAAnC,EAAE,WAAW,GAAiB,KAAK,YAAtB,EAAE,KAAe,KAAK,OAAV,EAAV,MAAM,mBAAG,CAAC,KAAA,CAAU;IAEzE,IAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAC9B,IAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;IAC/B,IAAM,KAAK,GAAwB,EAAE,CAAA;IACrC,KAAK,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;IACnC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAC,EAA2B;YAA3B,KAAA,aAA2B,EAA1B,CAAC,QAAA,EAAE,CAAC,QAAA;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,SAAS,GAAG,yBAAkB,SAAS,CAAE,CAAA;IACjD,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAA;IACpC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,EAAE,GAAG,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,GAAG,MAAM,CAAA;IACnB,CAAC;IACD,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAA;IAClB,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAA;IAElB,OAAO,0BAAU,KAAK,EAAI,CAAA;AAC5B,CAAC;AAED,eAAe,IAAI,CAAA"}
@@ -1,2 +1,20 @@
1
- export declare function Text(props: any): import("preact").JSX.Element | null;
1
+ import { createElement as h } from 'preact/compat';
2
+ import { BaseNodeModel, BaseEdgeModel } from '../../model';
3
+ export type ITextProps = {
4
+ x: number;
5
+ y: number;
6
+ value: string;
7
+ fontSize?: number;
8
+ fill?: string;
9
+ overflowMode?: 'default' | 'autoWrap' | 'ellipsis';
10
+ textWidth?: number;
11
+ lineHeight?: number;
12
+ fontFamily?: string | null;
13
+ wrapPadding?: string | number | null;
14
+ model: BaseNodeModel | BaseEdgeModel;
15
+ [key: string]: any;
16
+ };
17
+ export type ForeignObjectPropsType = 'string | number | SignalLike<string | number | undefined> | undefined';
18
+ export declare function Text(props: ITextProps): h.JSX.Element | null;
19
+ export declare function renderHtmlText(props: ITextProps): h.JSX.Element;
2
20
  export default Text;
@@ -26,31 +26,37 @@ var __read = (this && this.__read) || function (o, n) {
26
26
  return ar;
27
27
  };
28
28
  import { jsx as _jsx } from "preact/jsx-runtime";
29
- import { getHtmlTextHeight } from '../../util';
30
29
  import { ElementType, ModelType } from '../../constant';
30
+ import { getHtmlTextHeight } from '../../util';
31
+ import { forEach, toPairs } from 'lodash-es';
31
32
  export function Text(props) {
32
- var _a = props.x, x = _a === void 0 ? 0 : _a, _b = props.y, y = _b === void 0 ? 0 : _b, value = props.value, fontSize = props.fontSize, _c = props.fill, fill = _c === void 0 ? 'currentColor' : _c, _d = props.overflowMode, overflowMode = _d === void 0 ? 'default' : _d, _e = props.textWidth, textWidth = _e === void 0 ? '' : _e, model = props.model;
33
+ var _a = props.x, x = _a === void 0 ? 0 : _a, _b = props.y, y = _b === void 0 ? 0 : _b, value = props.value, _c = props.fontSize, fontSize = _c === void 0 ? 12 : _c, _d = props.fill, fill = _d === void 0 ? 'currentColor' : _d, _e = props.overflowMode, overflowMode = _e === void 0 ? 'default' : _e,
34
+ // TODO: 确认该 textWidth 为 '' 时跟设置什么值一致
35
+ _f = props.textWidth,
36
+ // TODO: 确认该 textWidth 为 '' 时跟设置什么值一致
37
+ textWidth = _f === void 0 ? undefined : _f, model = props.model;
33
38
  var attrs = {
34
- textAnchor: 'middle',
35
- 'dominant-baseline': 'middle',
36
39
  x: x,
37
40
  y: y,
38
41
  fill: fill,
42
+ fontSize: fontSize,
43
+ textAnchor: 'middle',
44
+ dominantBaseline: 'central',
39
45
  // ...props,
40
46
  };
41
- Object.entries(props).forEach(function (_a) {
47
+ forEach(toPairs(props), function (_a) {
42
48
  var _b = __read(_a, 2), k = _b[0], v = _b[1];
43
- var valueType = typeof v;
44
- if (valueType !== 'object') {
49
+ if (typeof v !== 'object') {
45
50
  attrs[k] = v;
46
51
  }
47
52
  });
48
53
  if (value) {
49
- // String(value),兼容纯数字的文案
54
+ // String(value),兼容纯数字的文案
55
+ // TODO: 将 value 转为纯文本,移除其中 \n \r 等特殊字符,看是否应该丰富该功能
50
56
  var rows = String(value).split(/[\r\n]/g);
51
57
  var rowsLength_1 = rows.length;
52
58
  if (overflowMode !== 'default') {
53
- // 非文本节点设置了自动换行,或边设置了自动换行并且设置了textWidth
59
+ // 非文本节点设置了自动换行,或者边设置了自动换行并且设置了 textWidth
54
60
  var BaseType = model.BaseType, modelType = model.modelType;
55
61
  if ((BaseType === ElementType.NODE && modelType !== ModelType.TEXT_NODE) ||
56
62
  (BaseType === ElementType.EDGE && textWidth)) {
@@ -58,10 +64,10 @@ export function Text(props) {
58
64
  }
59
65
  }
60
66
  if (rowsLength_1 > 1) {
61
- var tSpans = rows.map(function (row, i) {
62
- // 保证文字居中,文字Y轴偏移为当前行数对应中心行数的偏移行 * 行高
63
- var tspanLineHeight = fontSize + 2;
64
- var offsetY = (i - (rowsLength_1 - 1) / 2) * tspanLineHeight;
67
+ var tSpans = rows.map(function (row, idx) {
68
+ // 保证文字居中,文字 Y 轴偏移为当前行数对应中心行数的偏移行 * 行高
69
+ var tSpanLineHeight = fontSize + 2;
70
+ var offsetY = (idx - (rowsLength_1 - 1) / 2) * tSpanLineHeight;
65
71
  return (_jsx("tspan", { className: "lf-text-tspan", x: x, y: y + offsetY, children: row }));
66
72
  });
67
73
  return _jsx("text", __assign({}, attrs, { children: tSpans }));
@@ -70,10 +76,11 @@ export function Text(props) {
70
76
  }
71
77
  return null;
72
78
  }
73
- function renderHtmlText(props) {
74
- var value = props.value, fontSize = props.fontSize, model = props.model, _a = props.fontFamily, fontFamily = _a === void 0 ? '' : _a, lineHeight = props.lineHeight, _b = props.wrapPadding, wrapPadding = _b === void 0 ? '0, 0' : _b, overflowMode = props.overflowMode, x = props.x, y = props.y;
75
- var width = model.width, textHeight = model.textHeight;
76
- var textRealWidth = props.textWidth || width;
79
+ export function renderHtmlText(props) {
80
+ var x = props.x, y = props.y, value = props.value, model = props.model, textWidth = props.textWidth, _a = props.fontSize, fontSize = _a === void 0 ? 12 : _a, lineHeight = props.lineHeight, _b = props.fontFamily, fontFamily = _b === void 0 ? '' : _b, _c = props.wrapPadding, wrapPadding = _c === void 0 ? '0, 0' : _c, overflowMode = props.overflowMode;
81
+ var width = model.width, height = model.height, textHeight = model.textHeight;
82
+ // TODO: 设置文本宽度为 textWidth 节点的宽度
83
+ var textRealWidth = textWidth || width;
77
84
  var rows = String(value).split(/[\r\n]/g);
78
85
  var rowsLength = rows.length;
79
86
  var textRealHeight = getHtmlTextHeight({
@@ -89,8 +96,8 @@ function renderHtmlText(props) {
89
96
  className: 'lf-get-text-height',
90
97
  });
91
98
  // 当文字超过边框时,取文字高度的实际值,也就是文字可以超过边框
92
- var foreignObjectHeight = model.height > textRealHeight ? model.height : textRealHeight;
93
- // 如果设置了文字高度,取设置的高度
99
+ var foreignObjectHeight = height > textRealHeight ? height : textRealHeight;
100
+ // 如果设置了文本高度,取设置的高度
94
101
  if (textHeight) {
95
102
  foreignObjectHeight = textHeight;
96
103
  }
@@ -98,13 +105,13 @@ function renderHtmlText(props) {
98
105
  if (isEllipsis) {
99
106
  foreignObjectHeight = fontSize + 2;
100
107
  }
101
- return (_jsx("g", { children: _jsx("foreignObject", { width: textRealWidth, height: foreignObjectHeight, x: x - textRealWidth / 2, y: y - foreignObjectHeight / 2, children: _jsx("div", { className: "lf-node-text-auto-wrap", style: {
108
+ return (_jsx("g", { children: _jsx("foreignObject", { width: textRealWidth, height: foreignObjectHeight, x: x - textRealWidth / 2, y: y - foreignObjectHeight / 2, style: { overflow: 'visible', textAlign: 'left' }, children: _jsx("div", { className: "lf-node-text-auto-wrap", style: {
102
109
  minHeight: foreignObjectHeight,
103
110
  width: textRealWidth,
104
111
  padding: wrapPadding,
105
112
  }, children: _jsx("div", { className: isEllipsis
106
113
  ? 'lf-node-text-ellipsis-content'
107
- : 'lf-node-text-auto-wrap-content', title: isEllipsis ? rows.join('') : '', style: __assign({}, props), children: rows.map(function (item) { return (_jsx("div", { className: "lf-node-text--auto-wrap-inner", children: item })); }) }) }) }) }));
114
+ : 'lf-node-text-auto-wrap-content', title: isEllipsis ? rows.join('') : '', style: __assign({}, props), children: rows.map(function (row) { return (_jsx("div", { className: "lf-node-text--auto-wrap-inner", children: row })); }) }) }) }) }));
108
115
  }
109
116
  export default Text;
110
117
  //# sourceMappingURL=Text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/view/shape/Text.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../src/view/shape/Text.tsx"],"names":[],"mappings":"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"}
@@ -1,25 +1,22 @@
1
- import { Component, createElement as h } from 'preact/compat';
2
- import { StepDrag } from '../../util';
3
- import { GraphModel, Model } from '../../model';
4
- type IProps = {
5
- model: Model.BaseModel;
1
+ import { createElement as h, Component } from 'preact/compat';
2
+ import { GraphModel, BaseNodeModel, BaseEdgeModel } from '../../model';
3
+ import { IDragParams, StepDrag } from '../../util';
4
+ export type IBaseTextProps = {
5
+ model: BaseNodeModel | BaseEdgeModel;
6
6
  graphModel: GraphModel;
7
7
  draggable: boolean;
8
8
  editable: boolean;
9
9
  };
10
- type IState = {
10
+ export type IBaseTextState = {
11
11
  isHovered: boolean;
12
12
  };
13
- export declare class BaseText extends Component<IProps, IState> {
14
- stepDrag: StepDrag;
15
- constructor(config: any);
13
+ export declare class BaseText<P extends IBaseTextProps, S extends IBaseTextState> extends Component<P, S> {
14
+ stepperDrag: StepDrag;
15
+ constructor(props: P);
16
16
  getShape(): h.JSX.Element | null;
17
- onDragging: ({ deltaX, deltaY }: {
18
- deltaX: any;
19
- deltaY: any;
20
- }) => void;
21
- dblClickHandler: () => void;
22
- mouseDownHandle: (ev: MouseEvent) => void;
17
+ mouseDownHandler: (e: MouseEvent) => void;
18
+ onDragging: ({ deltaX, deltaY }: IDragParams) => void;
19
+ dbClickHandler: () => void;
23
20
  render(): h.JSX.Element | undefined;
24
21
  }
25
22
  export default BaseText;
@@ -41,70 +41,84 @@ var __read = (this && this.__read) || function (o, n) {
41
41
  return ar;
42
42
  };
43
43
  import { jsx as _jsx } from "preact/jsx-runtime";
44
+ import classNames from 'classnames';
44
45
  import { Component } from 'preact/compat';
46
+ import { ElementState, EventType } from '../../constant';
45
47
  import { Text } from '../shape';
46
48
  import { StepDrag } from '../../util';
47
- import { ElementState } from '../../constant';
48
49
  var BaseText = /** @class */ (function (_super) {
49
50
  __extends(BaseText, _super);
50
- function BaseText(config) {
51
+ function BaseText(props) {
51
52
  var _this = _super.call(this) || this;
53
+ _this.mouseDownHandler = function (e) {
54
+ var _a = _this.props, draggable = _a.draggable, model = _a.model, graphModel = _a.graphModel;
55
+ var nodeTextDraggable = graphModel.editConfigModel.nodeTextDraggable;
56
+ if (draggable !== null && draggable !== void 0 ? draggable : nodeTextDraggable) {
57
+ _this.stepperDrag.model = model;
58
+ _this.stepperDrag.handleMouseDown(e);
59
+ }
60
+ };
52
61
  _this.onDragging = function (_a) {
53
62
  var deltaX = _a.deltaX, deltaY = _a.deltaY;
54
63
  var _b = _this.props, model = _b.model, transformModel = _b.graphModel.transformModel;
55
- var _c = __read(transformModel.fixDeltaXY(deltaX, deltaY), 2), curDeltaX = _c[0], curDeltaY = _c[1];
56
- model.moveText(curDeltaX, curDeltaY);
64
+ if (deltaX && deltaY) {
65
+ var _c = __read(transformModel.fixDeltaXY(deltaX, deltaY), 2), curDeltaX = _c[0], curDeltaY = _c[1];
66
+ model.moveText(curDeltaX, curDeltaY);
67
+ }
57
68
  };
58
- _this.dblClickHandler = function () {
69
+ _this.dbClickHandler = function () {
59
70
  // 静默模式下,双击不更改状态,不可编辑
60
- var editable = _this.props.editable;
71
+ var _a = _this.props, editable = _a.editable, eventCenter = _a.graphModel.eventCenter, model = _a.model;
61
72
  if (editable) {
62
- var model = _this.props.model;
63
73
  model.setElementState(ElementState.TEXT_EDIT);
64
74
  }
75
+ eventCenter.emit(EventType.TEXT_DBCLICK, {
76
+ data: model.text,
77
+ model: model,
78
+ });
65
79
  };
66
- _this.mouseDownHandle = function (ev) {
67
- var _a = _this.props, draggable = _a.draggable, model = _a.model, nodeTextDraggable = _a.graphModel.editConfigModel.nodeTextDraggable;
68
- if (draggable || nodeTextDraggable) {
69
- _this.stepDrag.model = model;
70
- _this.stepDrag.handleMouseDown(ev);
71
- }
72
- };
73
- var draggable = config.draggable;
74
- _this.stepDrag = new StepDrag({
80
+ var draggable = props.draggable;
81
+ // TODO: 确认为什么不在 new 的时候传入 model,而在下面使用的时候赋值
82
+ _this.stepperDrag = new StepDrag({
75
83
  onDragging: _this.onDragging,
76
84
  step: 1,
85
+ // model,
86
+ eventType: 'TEXT',
77
87
  isStopPropagation: draggable,
78
88
  });
79
89
  return _this;
80
90
  }
81
91
  BaseText.prototype.getShape = function () {
82
92
  var _a = this.props, model = _a.model, graphModel = _a.graphModel;
83
- var text = model.text;
84
93
  var editConfigModel = graphModel.editConfigModel;
85
- var value = text.value, x = text.x, y = text.y, editable = text.editable, draggable = text.draggable;
94
+ var _b = model.text, value = _b.value, x = _b.x, y = _b.y, editable = _b.editable, draggable = _b.draggable;
86
95
  var attr = {
87
96
  x: x,
88
97
  y: y,
89
98
  className: '',
90
99
  value: value,
91
100
  };
92
- if (editable) {
93
- attr.className = 'lf-element-text';
94
- }
95
- else if (draggable || editConfigModel.nodeTextDraggable) {
96
- attr.className = 'lf-text-draggable';
97
- }
98
- else {
99
- attr.className = 'lf-text-disabled';
100
- }
101
+ // DONE: 代码优化,看是否可以引入 classnames
102
+ // TODO: 确认下面逻辑是否正确,确认正确后删除下面注释
103
+ // if (editable) {
104
+ // attr.className = 'lf-element-text';
105
+ // } else if (draggable || editConfigModel.nodeTextDraggable) {
106
+ // attr.className = 'lf-text-draggable';
107
+ // } else {
108
+ // attr.className = 'lf-text-disabled';
109
+ // }
101
110
  var style = model.getTextStyle();
102
- return _jsx(Text, __assign({}, attr, style, { model: model }));
111
+ var isDraggable = editConfigModel.nodeTextDraggable || draggable;
112
+ return (_jsx(Text, __assign({}, attr, style, { className: classNames({
113
+ 'lf-element-text': editable,
114
+ 'lf-text-draggable': !editable && isDraggable,
115
+ 'lf-text-disabled': !editable && !isDraggable,
116
+ }), model: model })));
103
117
  };
104
118
  BaseText.prototype.render = function () {
105
119
  var text = this.props.model.text;
106
120
  if (text) {
107
- return (_jsx("g", { onMouseDown: this.mouseDownHandle, onDblClick: this.dblClickHandler, children: this.getShape() }));
121
+ return (_jsx("g", { onMouseDown: this.mouseDownHandler, onDblClick: this.dbClickHandler, children: this.getShape() }));
108
122
  }
109
123
  };
110
124
  return BaseText;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseText.js","sourceRoot":"","sources":["../../../src/view/text/BaseText.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseText.js","sourceRoot":"","sources":["../../../src/view/text/BaseText.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
- import BaseText from './BaseText';
2
- export declare class LineText extends BaseText {
3
- constructor(config: any);
4
- getBackground(): import("preact").JSX.Element | undefined;
5
- setHoverON: () => void;
6
- setHoverOFF: () => void;
7
- getShape(): import("preact").JSX.Element | null;
1
+ import { createElement as h } from 'preact/compat';
2
+ import { BaseText } from '.';
3
+ import { BaseEdgeModel, GraphModel } from '../../model';
4
+ export type ILineTextProps = {
5
+ model: BaseEdgeModel;
6
+ graphModel: GraphModel;
7
+ draggable: boolean;
8
+ editable: boolean;
9
+ [key: string]: unknown;
10
+ };
11
+ export type ILineTextState = {
12
+ isHovered: boolean;
13
+ };
14
+ export declare class LineText extends BaseText<ILineTextProps, ILineTextState> {
15
+ constructor(props: ILineTextProps);
16
+ setHoverOn: () => void;
17
+ setHoverOff: () => void;
18
+ getBackground(): h.JSX.Element | null;
19
+ getShape(): h.JSX.Element | null;
8
20
  }
9
21
  export default LineText;