@pie-lib/graphing 4.1.0-beta.9 → 5.0.0-next.37

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 (361) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/autosize-input.d.ts +10 -0
  3. package/dist/autosize-input.js +66 -0
  4. package/dist/axis/arrow.d.ts +13 -0
  5. package/dist/axis/arrow.js +34 -0
  6. package/dist/axis/axes.d.ts +132 -0
  7. package/dist/axis/axes.js +214 -0
  8. package/dist/axis/index.d.ts +10 -0
  9. package/dist/bg.d.ts +51 -0
  10. package/dist/bg.js +44 -0
  11. package/dist/container/actions.d.ts +15 -0
  12. package/dist/container/actions.js +7 -0
  13. package/dist/container/index.d.ts +58 -0
  14. package/dist/container/index.js +48 -0
  15. package/dist/container/marks.d.ts +10 -0
  16. package/dist/container/marks.js +11 -0
  17. package/dist/container/middleware.d.ts +10 -0
  18. package/dist/container/middleware.js +4 -0
  19. package/dist/container/reducer.d.ts +14 -0
  20. package/dist/container/reducer.js +7 -0
  21. package/dist/coordinates-label.d.ts +50 -0
  22. package/dist/coordinates-label.js +46 -0
  23. package/dist/graph-with-controls.d.ts +88 -0
  24. package/dist/graph-with-controls.js +156 -0
  25. package/dist/graph.d.ts +126 -0
  26. package/dist/graph.js +209 -0
  27. package/dist/grid-setup.d.ts +27 -0
  28. package/dist/grid-setup.js +307 -0
  29. package/dist/grid.d.ts +43 -0
  30. package/dist/grid.js +59 -0
  31. package/dist/index.d.ts +15 -0
  32. package/dist/index.js +7 -0
  33. package/dist/key-legend.d.ts +21 -0
  34. package/dist/key-legend.js +231 -0
  35. package/dist/label-svg-icon.d.ts +18 -0
  36. package/dist/label-svg-icon.js +42 -0
  37. package/dist/labels.d.ts +37 -0
  38. package/dist/labels.js +152 -0
  39. package/dist/mark-label.d.ts +60 -0
  40. package/dist/mark-label.js +222 -0
  41. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Axis.js +67 -0
  42. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +66 -0
  43. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Ticks.js +39 -0
  44. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  45. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  46. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +13 -0
  47. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  48. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  49. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickPosition.js +14 -0
  50. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/Grid.js +43 -0
  51. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridColumns.js +46 -0
  52. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridRows.js +46 -0
  53. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  54. package/dist/node_modules/.bun/@visx_group@4.0.0_d84c32d47042070f/node_modules/@visx/group/esm/Group.js +17 -0
  55. package/dist/node_modules/.bun/@visx_point@4.0.0/node_modules/@visx/point/esm/Point.js +20 -0
  56. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  57. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/getTicks.js +7 -0
  58. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  59. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Line.js +27 -0
  60. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/LinePath.js +24 -0
  61. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +9 -0
  62. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +6 -0
  63. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/Text.js +27 -0
  64. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/hooks/useText.js +68 -0
  65. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/getStringWidth.js +19 -0
  66. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/memoize.js +13 -0
  67. package/dist/node_modules/.bun/@visx_vendor@4.0.0/node_modules/@visx/vendor/esm/d3-shape.js +8 -0
  68. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  69. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  70. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  71. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  72. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  73. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  74. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  75. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  76. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  77. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  78. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  79. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  80. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  81. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +198 -0
  82. package/dist/toggle-bar.d.ts +40 -0
  83. package/dist/toggle-bar.js +155 -0
  84. package/dist/tool-menu.d.ts +29 -0
  85. package/dist/tool-menu.js +41 -0
  86. package/dist/tools/absolute/component.d.ts +16 -0
  87. package/dist/tools/absolute/component.js +15 -0
  88. package/dist/tools/absolute/index.d.ts +20 -0
  89. package/dist/tools/absolute/index.js +32 -0
  90. package/dist/tools/circle/bg-circle.d.ts +116 -0
  91. package/dist/tools/circle/bg-circle.js +72 -0
  92. package/dist/tools/circle/component.d.ts +88 -0
  93. package/dist/tools/circle/component.js +208 -0
  94. package/dist/tools/circle/index.d.ts +20 -0
  95. package/dist/tools/circle/index.js +22 -0
  96. package/dist/tools/exponential/component.d.ts +16 -0
  97. package/dist/tools/exponential/component.js +14 -0
  98. package/dist/tools/exponential/index.d.ts +20 -0
  99. package/dist/tools/exponential/index.js +32 -0
  100. package/dist/tools/index.d.ts +27 -0
  101. package/dist/tools/index.js +55 -0
  102. package/dist/tools/line/component.d.ts +124 -0
  103. package/dist/tools/line/component.js +72 -0
  104. package/dist/tools/line/index.d.ts +13 -0
  105. package/dist/tools/line/index.js +6 -0
  106. package/dist/tools/parabola/component.d.ts +16 -0
  107. package/dist/tools/parabola/component.js +14 -0
  108. package/dist/tools/parabola/index.d.ts +20 -0
  109. package/dist/tools/parabola/index.js +32 -0
  110. package/dist/tools/point/component.d.ts +52 -0
  111. package/dist/tools/point/component.js +91 -0
  112. package/dist/tools/point/index.d.ts +15 -0
  113. package/dist/tools/point/index.js +13 -0
  114. package/dist/tools/polygon/component.d.ts +125 -0
  115. package/dist/tools/polygon/component.js +271 -0
  116. package/dist/tools/polygon/index.d.ts +19 -0
  117. package/dist/tools/polygon/index.js +55 -0
  118. package/dist/tools/polygon/line.d.ts +125 -0
  119. package/dist/tools/polygon/line.js +63 -0
  120. package/dist/tools/polygon/polygon.d.ts +122 -0
  121. package/dist/tools/polygon/polygon.js +74 -0
  122. package/dist/tools/ray/component.d.ts +101 -0
  123. package/dist/tools/ray/component.js +71 -0
  124. package/dist/tools/ray/index.d.ts +13 -0
  125. package/dist/tools/ray/index.js +6 -0
  126. package/dist/tools/segment/component.d.ts +100 -0
  127. package/dist/tools/segment/component.js +52 -0
  128. package/dist/tools/segment/index.d.ts +13 -0
  129. package/dist/tools/segment/index.js +6 -0
  130. package/dist/tools/shared/arrow-head.d.ts +51 -0
  131. package/dist/tools/shared/arrow-head.js +63 -0
  132. package/dist/tools/shared/icons/CorrectSVG.d.ts +26 -0
  133. package/dist/tools/shared/icons/CorrectSVG.js +29 -0
  134. package/dist/tools/shared/icons/IncorrectSVG.d.ts +26 -0
  135. package/dist/tools/shared/icons/IncorrectSVG.js +27 -0
  136. package/dist/tools/shared/icons/MissingSVG.d.ts +26 -0
  137. package/dist/tools/shared/icons/MissingSVG.js +28 -0
  138. package/dist/tools/shared/line/index.d.ts +251 -0
  139. package/dist/tools/shared/line/index.js +332 -0
  140. package/dist/tools/shared/line/line-path.d.ts +57 -0
  141. package/dist/tools/shared/line/line-path.js +71 -0
  142. package/dist/tools/shared/line/with-root-edge.d.ts +148 -0
  143. package/dist/tools/shared/line/with-root-edge.js +73 -0
  144. package/dist/tools/shared/point/arrow-point.d.ts +56 -0
  145. package/dist/tools/shared/point/arrow-point.js +41 -0
  146. package/dist/tools/shared/point/arrow.d.ts +45 -0
  147. package/dist/tools/shared/point/arrow.js +35 -0
  148. package/dist/tools/shared/point/base-point.d.ts +52 -0
  149. package/dist/tools/shared/point/base-point.js +103 -0
  150. package/dist/tools/shared/point/index.d.ts +216 -0
  151. package/dist/tools/shared/point/index.js +45 -0
  152. package/dist/tools/shared/styles.d.ts +29 -0
  153. package/dist/tools/shared/styles.js +20 -0
  154. package/dist/tools/shared/types.d.ts +21 -0
  155. package/dist/tools/shared/types.js +11 -0
  156. package/dist/tools/sine/component.d.ts +16 -0
  157. package/dist/tools/sine/component.js +22 -0
  158. package/dist/tools/sine/index.d.ts +20 -0
  159. package/dist/tools/sine/index.js +32 -0
  160. package/dist/tools/vector/component.d.ts +100 -0
  161. package/dist/tools/vector/component.js +44 -0
  162. package/dist/tools/vector/index.d.ts +13 -0
  163. package/dist/tools/vector/index.js +6 -0
  164. package/dist/undo-redo.d.ts +22 -0
  165. package/dist/undo-redo.js +47 -0
  166. package/dist/use-debounce.d.ts +9 -0
  167. package/dist/use-debounce.js +13 -0
  168. package/dist/utils.d.ts +61 -0
  169. package/dist/utils.js +75 -0
  170. package/package.json +51 -41
  171. package/CHANGELOG.json +0 -1
  172. package/CHANGELOG.md +0 -1469
  173. package/lib/axis/arrow.js +0 -79
  174. package/lib/axis/arrow.js.map +0 -1
  175. package/lib/axis/axes.js +0 -329
  176. package/lib/axis/axes.js.map +0 -1
  177. package/lib/axis/index.js +0 -21
  178. package/lib/axis/index.js.map +0 -1
  179. package/lib/bg.js +0 -114
  180. package/lib/bg.js.map +0 -1
  181. package/lib/container/actions.js +0 -18
  182. package/lib/container/actions.js.map +0 -1
  183. package/lib/container/index.js +0 -127
  184. package/lib/container/index.js.map +0 -1
  185. package/lib/container/marks.js +0 -22
  186. package/lib/container/marks.js.map +0 -1
  187. package/lib/container/middleware.js +0 -19
  188. package/lib/container/middleware.js.map +0 -1
  189. package/lib/container/reducer.js +0 -18
  190. package/lib/container/reducer.js.map +0 -1
  191. package/lib/coordinates-label.js +0 -79
  192. package/lib/coordinates-label.js.map +0 -1
  193. package/lib/graph-with-controls.js +0 -294
  194. package/lib/graph-with-controls.js.map +0 -1
  195. package/lib/graph.js +0 -327
  196. package/lib/graph.js.map +0 -1
  197. package/lib/grid-setup.js +0 -414
  198. package/lib/grid-setup.js.map +0 -1
  199. package/lib/grid.js +0 -131
  200. package/lib/grid.js.map +0 -1
  201. package/lib/index.js +0 -47
  202. package/lib/index.js.map +0 -1
  203. package/lib/key-legend.js +0 -201
  204. package/lib/key-legend.js.map +0 -1
  205. package/lib/label-svg-icon.js +0 -50
  206. package/lib/label-svg-icon.js.map +0 -1
  207. package/lib/labels.js +0 -243
  208. package/lib/labels.js.map +0 -1
  209. package/lib/mark-label.js +0 -285
  210. package/lib/mark-label.js.map +0 -1
  211. package/lib/toggle-bar.js +0 -252
  212. package/lib/toggle-bar.js.map +0 -1
  213. package/lib/tool-menu.js +0 -78
  214. package/lib/tool-menu.js.map +0 -1
  215. package/lib/tools/absolute/component.js +0 -29
  216. package/lib/tools/absolute/component.js.map +0 -1
  217. package/lib/tools/absolute/index.js +0 -50
  218. package/lib/tools/absolute/index.js.map +0 -1
  219. package/lib/tools/circle/bg-circle.js +0 -123
  220. package/lib/tools/circle/bg-circle.js.map +0 -1
  221. package/lib/tools/circle/component.js +0 -321
  222. package/lib/tools/circle/component.js.map +0 -1
  223. package/lib/tools/circle/index.js +0 -41
  224. package/lib/tools/circle/index.js.map +0 -1
  225. package/lib/tools/exponential/component.js +0 -28
  226. package/lib/tools/exponential/component.js.map +0 -1
  227. package/lib/tools/exponential/index.js +0 -56
  228. package/lib/tools/exponential/index.js.map +0 -1
  229. package/lib/tools/index.js +0 -86
  230. package/lib/tools/index.js.map +0 -1
  231. package/lib/tools/line/component.js +0 -97
  232. package/lib/tools/line/component.js.map +0 -1
  233. package/lib/tools/line/index.js +0 -11
  234. package/lib/tools/line/index.js.map +0 -1
  235. package/lib/tools/parabola/component.js +0 -28
  236. package/lib/tools/parabola/component.js.map +0 -1
  237. package/lib/tools/parabola/index.js +0 -50
  238. package/lib/tools/parabola/index.js.map +0 -1
  239. package/lib/tools/point/component.js +0 -148
  240. package/lib/tools/point/component.js.map +0 -1
  241. package/lib/tools/point/index.js +0 -24
  242. package/lib/tools/point/index.js.map +0 -1
  243. package/lib/tools/polygon/component.js +0 -437
  244. package/lib/tools/polygon/component.js.map +0 -1
  245. package/lib/tools/polygon/index.js +0 -89
  246. package/lib/tools/polygon/index.js.map +0 -1
  247. package/lib/tools/polygon/line.js +0 -112
  248. package/lib/tools/polygon/line.js.map +0 -1
  249. package/lib/tools/polygon/polygon.js +0 -130
  250. package/lib/tools/polygon/polygon.js.map +0 -1
  251. package/lib/tools/ray/component.js +0 -95
  252. package/lib/tools/ray/component.js.map +0 -1
  253. package/lib/tools/ray/index.js +0 -11
  254. package/lib/tools/ray/index.js.map +0 -1
  255. package/lib/tools/segment/component.js +0 -71
  256. package/lib/tools/segment/component.js.map +0 -1
  257. package/lib/tools/segment/index.js +0 -11
  258. package/lib/tools/segment/index.js.map +0 -1
  259. package/lib/tools/shared/arrow-head.js +0 -111
  260. package/lib/tools/shared/arrow-head.js.map +0 -1
  261. package/lib/tools/shared/icons/CorrectSVG.js +0 -40
  262. package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
  263. package/lib/tools/shared/icons/IncorrectSVG.js +0 -40
  264. package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
  265. package/lib/tools/shared/icons/MissingSVG.js +0 -39
  266. package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
  267. package/lib/tools/shared/line/index.js +0 -550
  268. package/lib/tools/shared/line/index.js.map +0 -1
  269. package/lib/tools/shared/line/line-path.js +0 -118
  270. package/lib/tools/shared/line/line-path.js.map +0 -1
  271. package/lib/tools/shared/line/with-root-edge.js +0 -121
  272. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  273. package/lib/tools/shared/point/arrow-point.js +0 -72
  274. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  275. package/lib/tools/shared/point/arrow.js +0 -67
  276. package/lib/tools/shared/point/arrow.js.map +0 -1
  277. package/lib/tools/shared/point/base-point.js +0 -157
  278. package/lib/tools/shared/point/base-point.js.map +0 -1
  279. package/lib/tools/shared/point/index.js +0 -68
  280. package/lib/tools/shared/point/index.js.map +0 -1
  281. package/lib/tools/shared/styles.js +0 -33
  282. package/lib/tools/shared/styles.js.map +0 -1
  283. package/lib/tools/shared/types.js +0 -16
  284. package/lib/tools/shared/types.js.map +0 -1
  285. package/lib/tools/sine/component.js +0 -40
  286. package/lib/tools/sine/component.js.map +0 -1
  287. package/lib/tools/sine/index.js +0 -50
  288. package/lib/tools/sine/index.js.map +0 -1
  289. package/lib/tools/vector/component.js +0 -68
  290. package/lib/tools/vector/component.js.map +0 -1
  291. package/lib/tools/vector/index.js +0 -11
  292. package/lib/tools/vector/index.js.map +0 -1
  293. package/lib/undo-redo.js +0 -86
  294. package/lib/undo-redo.js.map +0 -1
  295. package/lib/use-debounce.js +0 -25
  296. package/lib/use-debounce.js.map +0 -1
  297. package/lib/utils.js +0 -229
  298. package/lib/utils.js.map +0 -1
  299. package/src/axis/arrow.jsx +0 -57
  300. package/src/axis/axes.jsx +0 -285
  301. package/src/axis/index.js +0 -3
  302. package/src/bg.jsx +0 -96
  303. package/src/container/actions.js +0 -8
  304. package/src/container/index.jsx +0 -91
  305. package/src/container/marks.js +0 -14
  306. package/src/container/middleware.js +0 -7
  307. package/src/container/reducer.js +0 -5
  308. package/src/coordinates-label.jsx +0 -63
  309. package/src/graph-with-controls.jsx +0 -239
  310. package/src/graph.jsx +0 -303
  311. package/src/grid-setup.jsx +0 -432
  312. package/src/grid.jsx +0 -133
  313. package/src/index.js +0 -7
  314. package/src/key-legend.jsx +0 -142
  315. package/src/label-svg-icon.jsx +0 -39
  316. package/src/labels.jsx +0 -207
  317. package/src/mark-label.jsx +0 -244
  318. package/src/toggle-bar.jsx +0 -224
  319. package/src/tool-menu.jsx +0 -49
  320. package/src/tools/absolute/component.jsx +0 -23
  321. package/src/tools/absolute/index.js +0 -31
  322. package/src/tools/circle/bg-circle.jsx +0 -81
  323. package/src/tools/circle/component.jsx +0 -264
  324. package/src/tools/circle/index.js +0 -25
  325. package/src/tools/exponential/component.jsx +0 -23
  326. package/src/tools/exponential/index.js +0 -39
  327. package/src/tools/index.js +0 -48
  328. package/src/tools/line/component.jsx +0 -93
  329. package/src/tools/line/index.js +0 -4
  330. package/src/tools/parabola/component.jsx +0 -23
  331. package/src/tools/parabola/index.js +0 -31
  332. package/src/tools/point/component.jsx +0 -126
  333. package/src/tools/point/index.js +0 -11
  334. package/src/tools/polygon/component.jsx +0 -409
  335. package/src/tools/polygon/index.js +0 -52
  336. package/src/tools/polygon/line.jsx +0 -74
  337. package/src/tools/polygon/polygon.jsx +0 -110
  338. package/src/tools/ray/component.jsx +0 -92
  339. package/src/tools/ray/index.js +0 -4
  340. package/src/tools/segment/component.jsx +0 -65
  341. package/src/tools/segment/index.js +0 -4
  342. package/src/tools/shared/arrow-head.jsx +0 -102
  343. package/src/tools/shared/icons/CorrectSVG.jsx +0 -32
  344. package/src/tools/shared/icons/IncorrectSVG.jsx +0 -30
  345. package/src/tools/shared/icons/MissingSVG.jsx +0 -31
  346. package/src/tools/shared/line/index.jsx +0 -487
  347. package/src/tools/shared/line/line-path.jsx +0 -80
  348. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  349. package/src/tools/shared/point/arrow-point.jsx +0 -46
  350. package/src/tools/shared/point/arrow.jsx +0 -37
  351. package/src/tools/shared/point/base-point.jsx +0 -121
  352. package/src/tools/shared/point/index.jsx +0 -54
  353. package/src/tools/shared/styles.js +0 -27
  354. package/src/tools/shared/types.js +0 -10
  355. package/src/tools/sine/component.jsx +0 -32
  356. package/src/tools/sine/index.js +0 -33
  357. package/src/tools/vector/component.jsx +0 -56
  358. package/src/tools/vector/index.js +0 -4
  359. package/src/undo-redo.jsx +0 -45
  360. package/src/use-debounce.js +0 -13
  361. package/src/utils.js +0 -224
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tool-menu.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare class ToolMenu extends React.Component {
12
+ static propTypes: {
13
+ className: PropTypes.Requireable<string>;
14
+ currentToolType: PropTypes.Requireable<string>;
15
+ disabled: PropTypes.Requireable<boolean>;
16
+ draggableTools: PropTypes.Requireable<boolean>;
17
+ labelModeEnabled: PropTypes.Requireable<boolean>;
18
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
19
+ onChangeTools: PropTypes.Requireable<(...args: any[]) => any>;
20
+ toolbarTools: PropTypes.Requireable<(string | null | undefined)[]>;
21
+ language: PropTypes.Requireable<string>;
22
+ };
23
+ static defaultProps: {
24
+ toolbarTools: never[];
25
+ };
26
+ updateToolsOrder: any;
27
+ render(): React.JSX.Element;
28
+ }
29
+ export default ToolMenu;
@@ -0,0 +1,41 @@
1
+ import { clsx as e } from "./node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
2
+ import { ToggleBar as t } from "./toggle-bar.js";
3
+ import n from "react";
4
+ import r from "prop-types";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ //#region src/tool-menu.tsx
7
+ var a = class extends n.Component {
8
+ static propTypes = {
9
+ className: r.string,
10
+ currentToolType: r.string,
11
+ disabled: r.bool,
12
+ draggableTools: r.bool,
13
+ labelModeEnabled: r.bool,
14
+ onChange: r.func,
15
+ onChangeTools: r.func,
16
+ toolbarTools: r.arrayOf(r.string),
17
+ language: r.string
18
+ };
19
+ static defaultProps = { toolbarTools: [] };
20
+ updateToolsOrder = (e) => {
21
+ let { onChangeTools: t } = this.props;
22
+ t(e);
23
+ };
24
+ render() {
25
+ let { className: n, currentToolType: r, disabled: a, draggableTools: o, onChange: s, language: c } = this.props, { toolbarTools: l } = this.props;
26
+ return /* @__PURE__ */ i("div", {
27
+ className: e(n),
28
+ children: /* @__PURE__ */ i(t, {
29
+ disabled: a,
30
+ draggableTools: o,
31
+ options: l,
32
+ selectedToolType: r,
33
+ onChange: s,
34
+ onChangeToolsOrder: (e) => this.updateToolsOrder(e),
35
+ language: c
36
+ })
37
+ });
38
+ }
39
+ };
40
+ //#endregion
41
+ export { a as ToolMenu, a as default };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/absolute/component.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ declare const Component: {
10
+ (props: any): import("react").JSX.Element;
11
+ propTypes: {
12
+ onChange: import("prop-types").Requireable<(...args: any[]) => any>;
13
+ mark: import("prop-types").Requireable<object>;
14
+ };
15
+ };
16
+ export default Component;
@@ -0,0 +1,15 @@
1
+ import { rootEdgeComponent as e, withRootEdge as t } from "../shared/line/with-root-edge.js";
2
+ import n from "debug";
3
+ import { absoluteFromTwoPoints as r, buildDataPoints as i } from "@pie-lib/graphing-utils";
4
+ //#region src/tools/absolute/component.tsx
5
+ var a = n("pie-lib:graphing:absolute"), o = e(t((e) => {
6
+ let { root: t, edge: n, graphProps: o } = e, { domain: s, range: c } = o, l = n && n.x === t.x ? [] : i(s, c, t, n, r(t, n), !0);
7
+ return a("dataPoints:", l), {
8
+ root: e.root,
9
+ edge: e.edge,
10
+ dataPoints: l,
11
+ enableCurve: !1
12
+ };
13
+ }));
14
+ //#endregion
15
+ export { o as default };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/absolute/index.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export declare const tool: () => {
10
+ type: string;
11
+ Component: {
12
+ (props: any): import("react").JSX.Element;
13
+ propTypes: {
14
+ onChange: import("prop-types").Requireable<(...args: any[]) => any>;
15
+ mark: import("prop-types").Requireable<object>;
16
+ };
17
+ };
18
+ complete: (data: any, mark: any) => any;
19
+ addPoint: (point: any, mark: any) => any;
20
+ };
@@ -0,0 +1,32 @@
1
+ import { equalPoints as e, sameAxes as t } from "../../utils.js";
2
+ import n from "./component.js";
3
+ import r from "debug";
4
+ //#region src/tools/absolute/index.ts
5
+ var i = r("pie-lib:graphing:absolute"), a = () => ({
6
+ type: "absolute",
7
+ Component: n,
8
+ complete: (e, t) => ({
9
+ ...t,
10
+ building: !1,
11
+ closed: !0
12
+ }),
13
+ addPoint: (n, r) => {
14
+ if (i("add point to absolute model: ", n, "mark: ", r), r && (e(r.root, n) || t(r.root, n))) return r;
15
+ if (!r) return {
16
+ type: "absolute",
17
+ root: n,
18
+ edge: void 0,
19
+ closed: !1,
20
+ building: !0
21
+ };
22
+ if (r && !r.root) throw Error("no root - should never happen");
23
+ return {
24
+ ...r,
25
+ edge: n,
26
+ closed: !0,
27
+ building: !1
28
+ };
29
+ }
30
+ });
31
+ //#endregion
32
+ export { a as tool };
@@ -0,0 +1,116 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/circle/bg-circle.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ declare class RawCircle extends React.Component {
12
+ static propTypes: {
13
+ className: PropTypes.Requireable<string>;
14
+ correctness: PropTypes.Requireable<string>;
15
+ disabled: PropTypes.Requireable<boolean>;
16
+ x: PropTypes.Validator<number>;
17
+ y: PropTypes.Validator<number>;
18
+ radius: PropTypes.Requireable<number>;
19
+ graphProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
20
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
21
+ x: PropTypes.Validator<(...args: any[]) => any>;
22
+ y: PropTypes.Validator<(...args: any[]) => any>;
23
+ }>>>;
24
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
25
+ x: PropTypes.Validator<(...args: any[]) => any>;
26
+ y: PropTypes.Validator<(...args: any[]) => any>;
27
+ }>>>;
28
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
29
+ min: PropTypes.Validator<number>;
30
+ max: PropTypes.Validator<number>;
31
+ step: PropTypes.Requireable<number>;
32
+ }>>>;
33
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
34
+ min: PropTypes.Validator<number>;
35
+ max: PropTypes.Validator<number>;
36
+ step: PropTypes.Requireable<number>;
37
+ }>>>;
38
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
39
+ width: PropTypes.Validator<number>;
40
+ height: PropTypes.Validator<number>;
41
+ }>>>;
42
+ }>>>;
43
+ };
44
+ render(): React.JSX.Element;
45
+ }
46
+ export declare const BgCircle: typeof RawCircle;
47
+ declare const _default: {
48
+ new (props: any): {
49
+ grid: any;
50
+ onStart: any;
51
+ position: any;
52
+ tiny: any;
53
+ getScaledBounds: any;
54
+ getClientPoint: any;
55
+ skipDragOutsideOfBounds: any;
56
+ onDrag: any;
57
+ getDelta: any;
58
+ applyDelta: any;
59
+ onStop: any;
60
+ render(): React.JSX.Element;
61
+ context: unknown;
62
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
63
+ forceUpdate(callback?: (() => void) | undefined): void;
64
+ readonly props: Readonly<{}>;
65
+ state: Readonly<{}>;
66
+ refs: {
67
+ [key: string]: React.ReactInstance;
68
+ };
69
+ componentDidMount?(): void;
70
+ shouldComponentUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): boolean;
71
+ componentWillUnmount?(): void;
72
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
73
+ getSnapshotBeforeUpdate?(prevProps: Readonly<{}>, prevState: Readonly<{}>): any;
74
+ componentDidUpdate?(prevProps: Readonly<{}>, prevState: Readonly<{}>, snapshot?: any): void;
75
+ componentWillMount?(): void;
76
+ UNSAFE_componentWillMount?(): void;
77
+ componentWillReceiveProps?(nextProps: Readonly<{}>, nextContext: any): void;
78
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{}>, nextContext: any): void;
79
+ componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
80
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
81
+ };
82
+ propTypes: {
83
+ disabled: PropTypes.Requireable<boolean>;
84
+ onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
85
+ onDrag: PropTypes.Requireable<(...args: any[]) => any>;
86
+ onDragStop: PropTypes.Requireable<(...args: any[]) => any>;
87
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
88
+ onMove: PropTypes.Requireable<(...args: any[]) => any>;
89
+ graphProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
90
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
91
+ x: PropTypes.Validator<(...args: any[]) => any>;
92
+ y: PropTypes.Validator<(...args: any[]) => any>;
93
+ }>>>;
94
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
95
+ x: PropTypes.Validator<(...args: any[]) => any>;
96
+ y: PropTypes.Validator<(...args: any[]) => any>;
97
+ }>>>;
98
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
99
+ min: PropTypes.Validator<number>;
100
+ max: PropTypes.Validator<number>;
101
+ step: PropTypes.Requireable<number>;
102
+ }>>>;
103
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
104
+ min: PropTypes.Validator<number>;
105
+ max: PropTypes.Validator<number>;
106
+ step: PropTypes.Requireable<number>;
107
+ }>>>;
108
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
109
+ width: PropTypes.Validator<number>;
110
+ height: PropTypes.Validator<number>;
111
+ }>>>;
112
+ }>>>;
113
+ };
114
+ contextType?: React.Context<any> | undefined;
115
+ };
116
+ export default _default;
@@ -0,0 +1,72 @@
1
+ import { bounds as e, point as t } from "../../utils.js";
2
+ import { clsx as n } from "../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
3
+ import { correct as r, disabled as i, disabledSecondary as a, incorrect as o, missing as s } from "../shared/styles.js";
4
+ import c from "react";
5
+ import l from "prop-types";
6
+ import { gridDraggable as u, types as d } from "@pie-lib/plot";
7
+ import { jsx as f } from "react/jsx-runtime";
8
+ import { styled as p } from "@mui/material/styles";
9
+ import { color as m } from "@pie-lib/render-ui";
10
+ //#region src/tools/circle/bg-circle.tsx
11
+ var h = class extends c.Component {
12
+ static propTypes = {
13
+ className: l.string,
14
+ correctness: l.string,
15
+ disabled: l.bool,
16
+ x: l.number.isRequired,
17
+ y: l.number.isRequired,
18
+ radius: l.number,
19
+ graphProps: d.GraphPropsType.isRequired
20
+ };
21
+ render() {
22
+ let { disabled: e, className: t, correctness: r, x: i, y: a, radius: o, graphProps: s, ...c } = this.props, { scale: l } = s, u = Math.abs(l.x(i + o) - l.x(i)), d = Math.abs(l.y(a + o) - l.y(a));
23
+ return /* @__PURE__ */ f(_, {
24
+ className: n(t, e && "disabledSecondary", r),
25
+ cx: l.x(i),
26
+ cy: l.y(a),
27
+ rx: u,
28
+ ry: d,
29
+ ...c
30
+ });
31
+ }
32
+ }, g = (e) => ({
33
+ ...e("stroke"),
34
+ "&:hover": {
35
+ strokeWidth: 3,
36
+ ...e("stroke")
37
+ }
38
+ }), _ = p("ellipse")(() => ({
39
+ fill: "transparent",
40
+ stroke: m.defaults.BLACK,
41
+ strokeWidth: 3,
42
+ transition: "stroke 200ms ease-in, stroke-width 200ms ease-in",
43
+ "&:hover": {
44
+ strokeWidth: 6,
45
+ stroke: m.defaults.PRIMARY_DARK
46
+ },
47
+ "&.disabled": g(i),
48
+ "&.disabledSecondary": g(a),
49
+ "&.correct": g(r),
50
+ "&.incorrect": g(o),
51
+ "&.missing": g(s)
52
+ })), v = h, y = u({
53
+ bounds: (t, { domain: n, range: r }) => {
54
+ let { x: i, y: a } = t;
55
+ return e({
56
+ left: i,
57
+ top: a,
58
+ bottom: a,
59
+ right: i
60
+ }, n, r);
61
+ },
62
+ anchorPoint: (e) => {
63
+ let { x: t, y: n } = e;
64
+ return {
65
+ x: t,
66
+ y: n
67
+ };
68
+ },
69
+ fromDelta: (e, n) => t(e).add(t(n))
70
+ })(v);
71
+ //#endregion
72
+ export { v as BgCircle, y as default };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/circle/component.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare class RawBaseCircle extends React.Component {
12
+ static propTypes: {
13
+ building: PropTypes.Requireable<boolean>;
14
+ className: PropTypes.Requireable<string>;
15
+ coordinatesOnHover: PropTypes.Requireable<boolean>;
16
+ correctness: PropTypes.Requireable<string>;
17
+ from: PropTypes.Requireable<PropTypes.InferProps<{
18
+ x: PropTypes.Validator<number>;
19
+ y: PropTypes.Validator<number>;
20
+ }>>;
21
+ disabled: PropTypes.Requireable<boolean>;
22
+ to: PropTypes.Requireable<PropTypes.InferProps<{
23
+ x: PropTypes.Validator<number>;
24
+ y: PropTypes.Validator<number>;
25
+ }>>;
26
+ middle: PropTypes.Requireable<PropTypes.InferProps<{
27
+ x: PropTypes.Validator<number>;
28
+ y: PropTypes.Validator<number>;
29
+ }>>;
30
+ onChange: PropTypes.Validator<(...args: any[]) => any>;
31
+ onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
32
+ onDragStop: PropTypes.Requireable<(...args: any[]) => any>;
33
+ graphProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
34
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
35
+ x: PropTypes.Validator<(...args: any[]) => any>;
36
+ y: PropTypes.Validator<(...args: any[]) => any>;
37
+ }>>>;
38
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
39
+ x: PropTypes.Validator<(...args: any[]) => any>;
40
+ y: PropTypes.Validator<(...args: any[]) => any>;
41
+ }>>>;
42
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
43
+ min: PropTypes.Validator<number>;
44
+ max: PropTypes.Validator<number>;
45
+ step: PropTypes.Requireable<number>;
46
+ }>>>;
47
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
48
+ min: PropTypes.Validator<number>;
49
+ max: PropTypes.Validator<number>;
50
+ step: PropTypes.Requireable<number>;
51
+ }>>>;
52
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
53
+ width: PropTypes.Validator<number>;
54
+ height: PropTypes.Validator<number>;
55
+ }>>>;
56
+ }>>>;
57
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
58
+ labelNode: PropTypes.Requireable<object>;
59
+ labelModeEnabled: PropTypes.Requireable<boolean>;
60
+ changeMarkProps: PropTypes.Requireable<(...args: any[]) => any>;
61
+ limitLabeling: PropTypes.Requireable<boolean>;
62
+ };
63
+ static defaultProps: {
64
+ onClick: () => {};
65
+ };
66
+ state: {
67
+ editingLabel: null;
68
+ };
69
+ componentDidUpdate(prevProps: any): void;
70
+ onChangePoint: any;
71
+ dragFrom: any;
72
+ dragTo: any;
73
+ dragCircle: any;
74
+ labelChange: any;
75
+ stopEditingLabel: any;
76
+ clickPoint: any;
77
+ input: {};
78
+ render(): React.JSX.Element;
79
+ }
80
+ export declare const BaseCircle: typeof RawBaseCircle;
81
+ declare const Component: {
82
+ (props: any): React.JSX.Element;
83
+ propTypes: {
84
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
85
+ mark: PropTypes.Requireable<object>;
86
+ };
87
+ };
88
+ export default Component;
@@ -0,0 +1,208 @@
1
+ import { equalPoints as e, getMiddleOfTwoPoints as t, point as n, stripEmptyLabel as r } from "../../utils.js";
2
+ import { clsx as i } from "../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
3
+ import { BasePoint as a } from "../shared/point/index.js";
4
+ import { MarkLabel as o } from "../../mark-label.js";
5
+ import s from "./bg-circle.js";
6
+ import { rootEdgeComponent as c } from "../shared/line/with-root-edge.js";
7
+ import l from "react";
8
+ import u from "prop-types";
9
+ import { isEmpty as d } from "@pie-element/shared-lodash";
10
+ import { types as f } from "@pie-lib/plot";
11
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
12
+ import { keyframes as h, styled as g } from "@mui/material/styles";
13
+ import { color as _ } from "@pie-lib/render-ui";
14
+ import v from "react-dom";
15
+ //#region src/tools/circle/component.tsx
16
+ var y = (e) => h({
17
+ "0%": { opacity: "0.0" },
18
+ "50%": { opacity: e },
19
+ "100%": { opacity: "0.0" }
20
+ }), b = (e, t) => n(e).dist(n(t)), x = class extends l.Component {
21
+ static propTypes = {
22
+ building: u.bool,
23
+ className: u.string,
24
+ coordinatesOnHover: u.bool,
25
+ correctness: u.string,
26
+ from: f.PointType,
27
+ disabled: u.bool,
28
+ to: f.PointType,
29
+ middle: f.PointType,
30
+ onChange: u.func.isRequired,
31
+ onDragStart: u.func,
32
+ onDragStop: u.func,
33
+ graphProps: f.GraphPropsType.isRequired,
34
+ onClick: u.func,
35
+ labelNode: u.object,
36
+ labelModeEnabled: u.bool,
37
+ changeMarkProps: u.func,
38
+ limitLabeling: u.bool
39
+ };
40
+ static defaultProps = { onClick: () => ({}) };
41
+ state = { editingLabel: null };
42
+ componentDidUpdate(e) {
43
+ e.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null && this.setState({ editingLabel: null });
44
+ }
45
+ onChangePoint = (n) => {
46
+ let { middle: r, onChange: i } = this.props, { from: a, to: o } = n;
47
+ e(a, o) || (r && (n.middle = {
48
+ ...r,
49
+ ...t(a, o)
50
+ }), i(n));
51
+ };
52
+ dragFrom = (t) => {
53
+ let { from: n, to: r } = this.props;
54
+ n.label && (t.label = n.label), e(t, r) || this.onChangePoint({
55
+ from: t,
56
+ to: r
57
+ });
58
+ };
59
+ dragTo = (t) => {
60
+ let { from: n, to: r } = this.props;
61
+ r.label && (t.label = r.label), e(n, t) || this.onChangePoint({
62
+ from: n,
63
+ to: t
64
+ });
65
+ };
66
+ dragCircle = (e) => {
67
+ let { from: r, to: i, onChange: a, middle: o } = this.props, s = n(r).sub(n(e)), c = n(i).sub(s);
68
+ r.label && (e.label = r.label), i.label && (c.label = i.label);
69
+ let l = {
70
+ from: e,
71
+ to: c
72
+ };
73
+ o && (l.middle = {
74
+ ...o,
75
+ ...t(e, c)
76
+ }), this.setState({
77
+ draggedroot: void 0,
78
+ draggedOuter: void 0,
79
+ isCircleDrag: !1
80
+ }, () => a(l));
81
+ };
82
+ labelChange = (e, t) => {
83
+ let { changeMarkProps: n } = this.props, r = { ...e };
84
+ (!e.label || d(e.label)) && delete r.label, n({ [t]: r });
85
+ };
86
+ stopEditingLabel = () => {
87
+ this.state.editingLabel !== null && this.setState({ editingLabel: null });
88
+ };
89
+ clickPoint = (e, n, i) => {
90
+ let { changeMarkProps: a, disabled: o, from: s, to: c, middle: l, labelModeEnabled: u, limitLabeling: d, onClick: f } = this.props;
91
+ if (!u) {
92
+ f(e || i);
93
+ return;
94
+ }
95
+ o || d || (n === "middle" && !e && s && c && (e = {
96
+ ...e,
97
+ ...t(s, c)
98
+ }), a({
99
+ from: r(s),
100
+ to: r(c),
101
+ middle: r(l),
102
+ [n]: {
103
+ label: "",
104
+ ...e
105
+ }
106
+ }), this.setState({ editingLabel: n }));
107
+ };
108
+ input = {};
109
+ render() {
110
+ let { from: e, to: t, middle: n, disabled: r, building: s, coordinatesOnHover: c, onDragStart: l, onDragStop: u, onClick: d, correctness: f, graphProps: h, labelNode: g, labelModeEnabled: _ } = this.props, { editingLabel: y } = this.state, x = {
111
+ onDragStart: l,
112
+ onDragStop: u,
113
+ graphProps: h,
114
+ onClick: d
115
+ };
116
+ t ||= e;
117
+ let C = b(e, t), w = null, T = null, E = null;
118
+ return g && (e?.label !== void 0 && (w = v.createPortal(/* @__PURE__ */ p(o, {
119
+ inputRef: (e) => this.input.from = e,
120
+ autoFocus: y === "from",
121
+ disabled: !_,
122
+ mark: e,
123
+ graphProps: h,
124
+ onBlur: this.stopEditingLabel,
125
+ onChange: (t) => this.labelChange({
126
+ ...e,
127
+ label: t
128
+ }, "from")
129
+ }), g)), t?.label !== void 0 && (T = v.createPortal(/* @__PURE__ */ p(o, {
130
+ inputRef: (e) => this.input.to = e,
131
+ autoFocus: y === "to",
132
+ disabled: !_,
133
+ mark: t,
134
+ graphProps: h,
135
+ onBlur: this.stopEditingLabel,
136
+ onChange: (e) => this.labelChange({
137
+ ...t,
138
+ label: e
139
+ }, "to")
140
+ }), g)), n?.label !== void 0 && (E = v.createPortal(/* @__PURE__ */ p(o, {
141
+ inputRef: (e) => this.input.middle = e,
142
+ autoFocus: y === "middle",
143
+ disabled: !_,
144
+ mark: n,
145
+ graphProps: h,
146
+ onBlur: this.stopEditingLabel,
147
+ onChange: (e) => this.labelChange({
148
+ ...n,
149
+ label: e
150
+ }, "middle")
151
+ }), g))), /* @__PURE__ */ m("g", { children: [
152
+ /* @__PURE__ */ p(S, {
153
+ disabled: s || r,
154
+ correctness: f,
155
+ className: i(s && "bgCircleBuilding"),
156
+ x: e.x,
157
+ y: e.y,
158
+ radius: C,
159
+ onDrag: this.dragCircle,
160
+ ...x,
161
+ onClick: (e) => this.clickPoint(n, "middle", e)
162
+ }),
163
+ E,
164
+ /* @__PURE__ */ p(a, {
165
+ disabled: s || r,
166
+ coordinatesOnHover: c,
167
+ correctness: f,
168
+ labelNode: g,
169
+ x: t.x,
170
+ y: t.y,
171
+ onDrag: this.dragTo,
172
+ ...x,
173
+ onClick: (e) => this.clickPoint(t, "to", e)
174
+ }),
175
+ T,
176
+ /* @__PURE__ */ p(a, {
177
+ disabled: s || r,
178
+ coordinatesOnHover: c,
179
+ correctness: f,
180
+ labelNode: g,
181
+ x: e.x,
182
+ y: e.y,
183
+ className: "from",
184
+ onDrag: this.dragFrom,
185
+ ...x,
186
+ onClick: (t) => this.clickPoint(e, "from", t)
187
+ }),
188
+ w
189
+ ] });
190
+ }
191
+ }, S = g(s)(() => ({
192
+ "&.outerLine": {
193
+ fill: _.transparent(),
194
+ stroke: _.defaults.BLACK,
195
+ strokeWidth: 4,
196
+ "&:hover": {
197
+ strokeWidth: 6,
198
+ stroke: _.defaults.PRIMARY_DARK
199
+ }
200
+ },
201
+ "&.bgCircleBuilding": {
202
+ stroke: _.defaults.BLACK,
203
+ animation: `${y("0.3")} 2s ease-out infinite`,
204
+ opacity: 1
205
+ }
206
+ })), C = x, w = c(C);
207
+ //#endregion
208
+ export { C as BaseCircle, x as RawBaseCircle, w as default };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/circle/index.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export declare const tool: () => {
10
+ type: string;
11
+ Component: {
12
+ (props: any): import("react").JSX.Element;
13
+ propTypes: {
14
+ onChange: import("prop-types").Requireable<(...args: any[]) => any>;
15
+ mark: import("prop-types").Requireable<object>;
16
+ };
17
+ };
18
+ hover: (point: any, mark: any) => any;
19
+ addPoint: (point: any, mark: any) => any;
20
+ };
@@ -0,0 +1,22 @@
1
+ import { equalPoints as e } from "../../utils.js";
2
+ import t from "./component.js";
3
+ //#region src/tools/circle/index.ts
4
+ var n = () => ({
5
+ type: "circle",
6
+ Component: t,
7
+ hover: (e, t) => ({
8
+ ...t,
9
+ edge: e
10
+ }),
11
+ addPoint: (t, n) => n && e(n.root, t) ? n : n ? {
12
+ ...n,
13
+ edge: t,
14
+ building: !1
15
+ } : {
16
+ type: "circle",
17
+ root: t,
18
+ building: !0
19
+ }
20
+ });
21
+ //#endregion
22
+ export { n as tool };