@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,16 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/exponential/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,14 @@
1
+ import { rootEdgeComponent as e, withRootEdge as t } from "../shared/line/with-root-edge.js";
2
+ import n from "debug";
3
+ import { buildDataPoints as r, exponentialFromTwoPoints as i } from "@pie-lib/graphing-utils";
4
+ //#region src/tools/exponential/component.tsx
5
+ var a = n("pie-lib:graphing:exponential"), o = e(t((e) => {
6
+ let { root: t, edge: n, graphProps: o } = e, { domain: s, range: c } = o, l = n && n.x === t.x ? [] : r(s, c, t, n, i(t, n), !0);
7
+ return a("dataPoints:", l), {
8
+ root: e.root,
9
+ edge: e.edge,
10
+ dataPoints: l
11
+ };
12
+ }));
13
+ //#endregion
14
+ export { o as default };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/exponential/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/exponential/index.ts
5
+ var i = r("pie-lib:graphing:exponential"), a = () => ({
6
+ type: "exponential",
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 exponential model: ", n, "mark: ", r), r && (e(r.root, n) || t(r.root, n)) || r && r.root.y * n.y < 0 || n.y === 0) return r;
15
+ if (!r) return {
16
+ type: "exponential",
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,27 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/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
+ import { tool as point } from './point/index.js';
10
+ import { tool as circle } from './circle/index.js';
11
+ import { tool as polygon } from './polygon/index.js';
12
+ import { tool as sine } from './sine/index.js';
13
+ import { tool as parabola } from './parabola/index.js';
14
+ import { tool as line } from './line/index.js';
15
+ import { tool as ray } from './ray/index.js';
16
+ import { tool as vector } from './vector/index.js';
17
+ import { tool as absolute } from './absolute/index.js';
18
+ import { tool as exponential } from './exponential/index.js';
19
+ declare const allTools: string[];
20
+ declare const toolsArr: ({
21
+ type: any;
22
+ Component: any;
23
+ addPoint: (point: any, mark: any) => any;
24
+ } | {
25
+ type: string;
26
+ })[];
27
+ export { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector, absolute, exponential };
@@ -0,0 +1,55 @@
1
+ import { __exportAll as e } from "../_virtual/_rolldown/runtime.js";
2
+ import { tool as t } from "./point/index.js";
3
+ import { tool as n } from "./circle/index.js";
4
+ import { tool as r } from "./polygon/index.js";
5
+ import { tool as i } from "./sine/index.js";
6
+ import { tool as a } from "./parabola/index.js";
7
+ import { tool as o } from "./line/index.js";
8
+ import { tool as s } from "./segment/index.js";
9
+ import { tool as c } from "./ray/index.js";
10
+ import { tool as l } from "./vector/index.js";
11
+ import { tool as u } from "./absolute/index.js";
12
+ import { tool as d } from "./exponential/index.js";
13
+ //#region src/tools/index.ts
14
+ var f = /* @__PURE__ */ e({
15
+ absolute: () => u,
16
+ allTools: () => p,
17
+ circle: () => n,
18
+ exponential: () => d,
19
+ line: () => o,
20
+ parabola: () => a,
21
+ point: () => t,
22
+ polygon: () => r,
23
+ ray: () => c,
24
+ sine: () => i,
25
+ toolsArr: () => m,
26
+ vector: () => l
27
+ }), p = [
28
+ "circle",
29
+ "line",
30
+ "label",
31
+ "parabola",
32
+ "point",
33
+ "polygon",
34
+ "ray",
35
+ "segment",
36
+ "sine",
37
+ "vector",
38
+ "absolute",
39
+ "exponential"
40
+ ], m = [
41
+ n(),
42
+ o(),
43
+ a(),
44
+ t(),
45
+ r(),
46
+ c(),
47
+ s(),
48
+ i(),
49
+ l(),
50
+ u(),
51
+ d(),
52
+ { type: "label" }
53
+ ];
54
+ //#endregion
55
+ export { u as absolute, p as allTools, n as circle, d as exponential, o as line, a as parabola, t as point, r as polygon, c as ray, i as sine, m as toolsArr, f as tools_exports, l as vector };
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/line/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 const ArrowedLine: {
12
+ (props: any): React.JSX.Element;
13
+ propTypes: {
14
+ className: PropTypes.Requireable<string>;
15
+ correctness: PropTypes.Requireable<string>;
16
+ disabled: PropTypes.Requireable<boolean>;
17
+ graphProps: PropTypes.Requireable<PropTypes.InferProps<{
18
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
19
+ x: PropTypes.Validator<(...args: any[]) => any>;
20
+ y: PropTypes.Validator<(...args: any[]) => any>;
21
+ }>>>;
22
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
23
+ x: PropTypes.Validator<(...args: any[]) => any>;
24
+ y: PropTypes.Validator<(...args: any[]) => any>;
25
+ }>>>;
26
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
27
+ min: PropTypes.Validator<number>;
28
+ max: PropTypes.Validator<number>;
29
+ step: PropTypes.Requireable<number>;
30
+ }>>>;
31
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
32
+ min: PropTypes.Validator<number>;
33
+ max: PropTypes.Validator<number>;
34
+ step: PropTypes.Requireable<number>;
35
+ }>>>;
36
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
37
+ width: PropTypes.Validator<number>;
38
+ height: PropTypes.Validator<number>;
39
+ }>>>;
40
+ }>>;
41
+ from: PropTypes.Requireable<PropTypes.InferProps<{
42
+ x: PropTypes.Validator<number>;
43
+ y: PropTypes.Validator<number>;
44
+ }>>;
45
+ to: PropTypes.Requireable<PropTypes.InferProps<{
46
+ x: PropTypes.Validator<number>;
47
+ y: PropTypes.Validator<number>;
48
+ }>>;
49
+ markerId: PropTypes.Requireable<string>;
50
+ };
51
+ };
52
+ declare const Component: {
53
+ new (props: any): {
54
+ startDrag: any;
55
+ stopDrag: any;
56
+ changeMark: any;
57
+ changeMarkProps: any;
58
+ render(): React.JSX.Element;
59
+ context: unknown;
60
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
61
+ forceUpdate(callback?: (() => void) | undefined): void;
62
+ readonly props: Readonly<{}>;
63
+ state: Readonly<{}>;
64
+ refs: {
65
+ [key: string]: React.ReactInstance;
66
+ };
67
+ componentDidMount?(): void;
68
+ shouldComponentUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): boolean;
69
+ componentWillUnmount?(): void;
70
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
71
+ getSnapshotBeforeUpdate?(prevProps: Readonly<{}>, prevState: Readonly<{}>): any;
72
+ componentDidUpdate?(prevProps: Readonly<{}>, prevState: Readonly<{}>, snapshot?: any): void;
73
+ componentWillMount?(): void;
74
+ UNSAFE_componentWillMount?(): void;
75
+ componentWillReceiveProps?(nextProps: Readonly<{}>, nextContext: any): void;
76
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{}>, nextContext: any): void;
77
+ componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
78
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
79
+ };
80
+ propTypes: {
81
+ graphProps: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
82
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
83
+ x: PropTypes.Validator<(...args: any[]) => any>;
84
+ y: PropTypes.Validator<(...args: any[]) => any>;
85
+ }>>>;
86
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
87
+ x: PropTypes.Validator<(...args: any[]) => any>;
88
+ y: PropTypes.Validator<(...args: any[]) => any>;
89
+ }>>>;
90
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
91
+ min: PropTypes.Validator<number>;
92
+ max: PropTypes.Validator<number>;
93
+ step: PropTypes.Requireable<number>;
94
+ }>>>;
95
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
96
+ min: PropTypes.Validator<number>;
97
+ max: PropTypes.Validator<number>;
98
+ step: PropTypes.Requireable<number>;
99
+ }>>>;
100
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
101
+ width: PropTypes.Validator<number>;
102
+ height: PropTypes.Validator<number>;
103
+ }>>>;
104
+ }>>>;
105
+ limitLabeling: PropTypes.Requireable<boolean>;
106
+ changeMarkProps: PropTypes.Requireable<(...args: any[]) => any>;
107
+ disabled: PropTypes.Requireable<boolean>;
108
+ from: PropTypes.Requireable<PropTypes.InferProps<{
109
+ x: PropTypes.Validator<number>;
110
+ y: PropTypes.Validator<number>;
111
+ }>>;
112
+ to: PropTypes.Requireable<PropTypes.InferProps<{
113
+ x: PropTypes.Validator<number>;
114
+ y: PropTypes.Validator<number>;
115
+ }>>;
116
+ labelModeEnabled: PropTypes.Requireable<boolean>;
117
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
118
+ mark: PropTypes.Requireable<object>;
119
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
120
+ onDelete: PropTypes.Requireable<(...args: any[]) => any>;
121
+ };
122
+ contextType?: React.Context<any> | undefined;
123
+ };
124
+ export default Component;
@@ -0,0 +1,72 @@
1
+ import { getAdjustedGraphLimits as e, thinnerShapesNeeded 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 { ArrowMarker as r, genUid as i } from "../shared/arrow-head.js";
4
+ import { lineBase as a, lineToolComponent as o, styles as s } from "../shared/line/index.js";
5
+ import "react";
6
+ import c from "prop-types";
7
+ import { trig as l, types as u } from "@pie-lib/plot";
8
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
9
+ import { styled as p } from "@mui/material/styles";
10
+ //#region src/tools/line/component.tsx
11
+ var m = p("g")(({ theme: e, disabled: t, correctness: n }) => ({
12
+ "& line:not(.hit-area)": {
13
+ ...s.line(e),
14
+ ...t && s.disabledSecondary(e),
15
+ ...n === "correct" && s.correct(e, "stroke"),
16
+ ...n === "incorrect" && s.incorrect(e, "stroke"),
17
+ ...n === "missing" && s.missing(e, "stroke")
18
+ },
19
+ "& .enabledArrow": { ...s.arrow(e) },
20
+ "& .disabledArrow": { ...s.disabledArrow(e) },
21
+ "& .correctArrow": { ...s.correct(e) },
22
+ "& .incorrectArrow": { ...s.incorrect(e) },
23
+ "& .missingArrow": { ...s.missing(e) }
24
+ })), h = (a) => {
25
+ let o = i(), { className: s, correctness: c, disabled: u, graphProps: p, from: h, to: g, markerId: _, ...v } = a, { scale: y } = p, { domain: b, range: x } = e(p), [S, C] = l.edges(b, x)(h, g), w = c || u && "disabled" || "enabled", T = _ || o;
26
+ return /* @__PURE__ */ f(m, {
27
+ disabled: u,
28
+ correctness: c,
29
+ children: [
30
+ /* @__PURE__ */ d("defs", { children: /* @__PURE__ */ d(r, {
31
+ size: t(p) ? 4 : 5,
32
+ id: `${T}-${w}`,
33
+ className: n(w === "enabled" ? "enabledArrow" : w === "disabled" ? "disabledArrow" : `${w}Arrow`)
34
+ }) }),
35
+ /* @__PURE__ */ d("line", {
36
+ x1: y.x(S.x),
37
+ y1: y.y(S.y),
38
+ x2: y.x(C.x),
39
+ y2: y.y(C.y),
40
+ className: "hit-area",
41
+ stroke: "transparent",
42
+ strokeWidth: 7,
43
+ style: {
44
+ cursor: "pointer",
45
+ pointerEvents: "stroke"
46
+ }
47
+ }),
48
+ /* @__PURE__ */ d("line", {
49
+ x1: y.x(S.x),
50
+ y1: y.y(S.y),
51
+ x2: y.x(C.x),
52
+ y2: y.y(C.y),
53
+ className: s,
54
+ markerEnd: `url(#${T}-${w})`,
55
+ markerStart: `url(#${T}-${w})`,
56
+ ...v
57
+ })
58
+ ]
59
+ });
60
+ };
61
+ h.propTypes = {
62
+ className: c.string,
63
+ correctness: c.string,
64
+ disabled: c.bool,
65
+ graphProps: u.GraphPropsType,
66
+ from: u.PointType,
67
+ to: u.PointType,
68
+ markerId: c.string
69
+ };
70
+ var g = o(a(h));
71
+ //#endregion
72
+ export { h as ArrowedLine, g as default };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/line/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: any;
11
+ Component: any;
12
+ addPoint: (point: any, mark: any) => any;
13
+ };
@@ -0,0 +1,6 @@
1
+ import { lineTool as e } from "../shared/line/index.js";
2
+ import t from "./component.js";
3
+ //#region src/tools/line/index.ts
4
+ var n = e("line", t);
5
+ //#endregion
6
+ export { n as tool };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/parabola/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,14 @@
1
+ import { rootEdgeComponent as e, withRootEdge as t } from "../shared/line/with-root-edge.js";
2
+ import n from "debug";
3
+ import { buildDataPoints as r, parabolaFromTwoPoints as i } from "@pie-lib/graphing-utils";
4
+ //#region src/tools/parabola/component.tsx
5
+ var a = n("pie-lib:graphing:parabola"), o = e(t((e) => {
6
+ let { root: t, edge: n, graphProps: o } = e, { domain: s, range: c } = o, l = n && n.x === t.x ? [] : r(s, c, t, n, i(t, n), !0);
7
+ return a("dataPoints:", l), {
8
+ root: e.root,
9
+ edge: e.edge,
10
+ dataPoints: l
11
+ };
12
+ }));
13
+ //#endregion
14
+ export { o as default };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/parabola/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/parabola/index.ts
5
+ var i = r("pie-lib:graphing:parabola"), a = () => ({
6
+ type: "parabola",
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 parabola model: ", n, "mark: ", r), r && (e(r.root, n) || t(r.root, n))) return r;
15
+ if (!r) return {
16
+ type: "parabola",
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,52 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/point/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
+ export declare class Point extends React.Component {
11
+ static propTypes: {
12
+ mark: import("prop-types").Requireable<any>;
13
+ onChange: import("prop-types").Requireable<(...args: any[]) => any>;
14
+ onDragStart: import("prop-types").Requireable<(...args: any[]) => any>;
15
+ onDragStop: import("prop-types").Requireable<(...args: any[]) => any>;
16
+ graphProps: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
17
+ scale: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
18
+ x: import("prop-types").Validator<(...args: any[]) => any>;
19
+ y: import("prop-types").Validator<(...args: any[]) => any>;
20
+ }>>>;
21
+ snap: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
22
+ x: import("prop-types").Validator<(...args: any[]) => any>;
23
+ y: import("prop-types").Validator<(...args: any[]) => any>;
24
+ }>>>;
25
+ domain: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
26
+ min: import("prop-types").Validator<number>;
27
+ max: import("prop-types").Validator<number>;
28
+ step: import("prop-types").Requireable<number>;
29
+ }>>>;
30
+ range: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
31
+ min: import("prop-types").Validator<number>;
32
+ max: import("prop-types").Validator<number>;
33
+ step: import("prop-types").Requireable<number>;
34
+ }>>>;
35
+ size: import("prop-types").Validator<NonNullable<import("prop-types").InferProps<{
36
+ width: import("prop-types").Validator<number>;
37
+ height: import("prop-types").Validator<number>;
38
+ }>>>;
39
+ }>>>;
40
+ };
41
+ static defaultProps: {};
42
+ constructor(props: any);
43
+ componentDidUpdate(prevProps: any): void;
44
+ move: any;
45
+ startDrag: any;
46
+ stopDrag: any;
47
+ labelChange: any;
48
+ stopEditingLabel: any;
49
+ clickPoint: any;
50
+ render(): React.JSX.Element;
51
+ }
52
+ export default Point;
@@ -0,0 +1,91 @@
1
+ import { BasePoint as e } from "../shared/point/index.js";
2
+ import { ToolPropTypeFields as t } from "../shared/types.js";
3
+ import { MarkLabel as n } from "../../mark-label.js";
4
+ import r from "react";
5
+ import { isEmpty as i, isEqual as a } from "@pie-element/shared-lodash";
6
+ import { types as o } from "@pie-lib/plot";
7
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
+ import l from "react-dom";
9
+ //#region src/tools/point/component.tsx
10
+ var u = class extends r.Component {
11
+ static propTypes = {
12
+ graphProps: o.GraphPropsType.isRequired,
13
+ ...t
14
+ };
15
+ static defaultProps = {};
16
+ constructor(e) {
17
+ super(e), this.state = { editingLabel: null };
18
+ }
19
+ componentDidUpdate(e) {
20
+ e.labelModeEnabled && !this.props.labelModeEnabled && this.state.editingLabel !== null && this.setState({ editingLabel: null });
21
+ }
22
+ move = (e) => {
23
+ let t = {
24
+ ...this.state.mark,
25
+ ...e
26
+ };
27
+ this.setState({ mark: t });
28
+ };
29
+ startDrag = () => {
30
+ let { onDragStart: e } = this.props, t = { ...this.props.mark };
31
+ t.label === "" && delete t.label, this.setState({ mark: t }), e && e();
32
+ };
33
+ stopDrag = () => {
34
+ let { onChange: e, onDragStop: t } = this.props, n = { ...this.state.mark };
35
+ this.setState({ mark: void 0 }, () => {
36
+ a(this.props.mark, n) || e(this.props.mark, n), t && t();
37
+ });
38
+ };
39
+ labelChange = (e) => {
40
+ let { onChange: t } = this.props, n = {
41
+ ...this.props.mark,
42
+ label: e
43
+ };
44
+ (!e || i(e)) && delete n.label, this.setState({ mark: n }, () => {
45
+ t(this.props.mark, n);
46
+ });
47
+ };
48
+ stopEditingLabel = () => {
49
+ this.state.editingLabel !== null && this.setState({ editingLabel: null });
50
+ };
51
+ clickPoint = () => {
52
+ let { labelModeEnabled: e, onChange: t, onClick: n, mark: r } = this.props;
53
+ if (!e) {
54
+ n(r);
55
+ return;
56
+ }
57
+ r.disabled || (t(r, {
58
+ label: "",
59
+ ...r
60
+ }), this.setState({ editingLabel: "label" }));
61
+ };
62
+ render() {
63
+ let { coordinatesOnHover: t, graphProps: i, labelNode: a, labelModeEnabled: o } = this.props, { editingLabel: u } = this.state, d = this.state.mark ? this.state.mark : this.props.mark;
64
+ return /* @__PURE__ */ c(r.Fragment, { children: [/* @__PURE__ */ s(e, {
65
+ ...d,
66
+ coordinatesOnHover: t,
67
+ graphProps: i,
68
+ labelNode: a,
69
+ onDrag: this.move,
70
+ onDragStart: this.startDrag,
71
+ onDragStop: this.stopDrag,
72
+ onClick: this.clickPoint,
73
+ onTouchStart: (e) => {
74
+ e.stopPropagation(), this.clickPoint();
75
+ },
76
+ onTouchEnd: (e) => {
77
+ e.stopPropagation(), this.clickPoint();
78
+ }
79
+ }), a && Object.prototype.hasOwnProperty.call(d, "label") && l.createPortal(/* @__PURE__ */ s(n, {
80
+ inputRef: (e) => this.input = e,
81
+ autoFocus: u === "label",
82
+ disabled: !o,
83
+ mark: d,
84
+ graphProps: i,
85
+ onBlur: this.stopEditingLabel,
86
+ onChange: this.labelChange
87
+ }), a)] });
88
+ }
89
+ };
90
+ //#endregion
91
+ export { u as Point, u as default };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing/src/tools/point/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
+ import Point from './component.js';
10
+ export declare const tool: () => {
11
+ label: string;
12
+ type: string;
13
+ Component: typeof Point;
14
+ addPoint: (point: any) => any;
15
+ };
@@ -0,0 +1,13 @@
1
+ import { Point as e } from "./component.js";
2
+ //#region src/tools/point/index.ts
3
+ var t = () => ({
4
+ label: "Point",
5
+ type: "point",
6
+ Component: e,
7
+ addPoint: (e) => ({
8
+ type: "point",
9
+ ...e
10
+ })
11
+ });
12
+ //#endregion
13
+ export { t as tool };