@pie-lib/graphing 4.1.0-beta.7 → 5.0.0-next.36

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 (505) 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/__tests__/bg.test.js +0 -282
  174. package/lib/__tests__/bg.test.js.map +0 -1
  175. package/lib/__tests__/coordinates-label.test.js +0 -276
  176. package/lib/__tests__/coordinates-label.test.js.map +0 -1
  177. package/lib/__tests__/graph-with-controls.test.js +0 -275
  178. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  179. package/lib/__tests__/graph.test.js +0 -927
  180. package/lib/__tests__/graph.test.js.map +0 -1
  181. package/lib/__tests__/grid-setup.test.js +0 -729
  182. package/lib/__tests__/grid-setup.test.js.map +0 -1
  183. package/lib/__tests__/grid.test.js +0 -29
  184. package/lib/__tests__/grid.test.js.map +0 -1
  185. package/lib/__tests__/key-legend.test.js +0 -321
  186. package/lib/__tests__/key-legend.test.js.map +0 -1
  187. package/lib/__tests__/label-svg-icon.test.js +0 -373
  188. package/lib/__tests__/label-svg-icon.test.js.map +0 -1
  189. package/lib/__tests__/labels.test.js +0 -61
  190. package/lib/__tests__/labels.test.js.map +0 -1
  191. package/lib/__tests__/mark-label.test.js +0 -133
  192. package/lib/__tests__/mark-label.test.js.map +0 -1
  193. package/lib/__tests__/toggle-bar.test.js +0 -197
  194. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  195. package/lib/__tests__/tool-menu.test.js +0 -151
  196. package/lib/__tests__/tool-menu.test.js.map +0 -1
  197. package/lib/__tests__/undo-redo.test.js +0 -31
  198. package/lib/__tests__/undo-redo.test.js.map +0 -1
  199. package/lib/__tests__/use-debounce.test.js +0 -24
  200. package/lib/__tests__/use-debounce.test.js.map +0 -1
  201. package/lib/__tests__/utils.js +0 -70
  202. package/lib/__tests__/utils.js.map +0 -1
  203. package/lib/__tests__/utils.test.js +0 -123
  204. package/lib/__tests__/utils.test.js.map +0 -1
  205. package/lib/axis/__tests__/arrow.test.js +0 -60
  206. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  207. package/lib/axis/__tests__/axes.test.js +0 -195
  208. package/lib/axis/__tests__/axes.test.js.map +0 -1
  209. package/lib/axis/arrow.js +0 -79
  210. package/lib/axis/arrow.js.map +0 -1
  211. package/lib/axis/axes.js +0 -329
  212. package/lib/axis/axes.js.map +0 -1
  213. package/lib/axis/index.js +0 -21
  214. package/lib/axis/index.js.map +0 -1
  215. package/lib/bg.js +0 -114
  216. package/lib/bg.js.map +0 -1
  217. package/lib/container/__tests__/actions.test.js +0 -108
  218. package/lib/container/__tests__/actions.test.js.map +0 -1
  219. package/lib/container/__tests__/index.test.js +0 -503
  220. package/lib/container/__tests__/index.test.js.map +0 -1
  221. package/lib/container/__tests__/marks.test.js +0 -259
  222. package/lib/container/__tests__/marks.test.js.map +0 -1
  223. package/lib/container/__tests__/middleware.test.js +0 -244
  224. package/lib/container/__tests__/middleware.test.js.map +0 -1
  225. package/lib/container/__tests__/reducer.test.js +0 -450
  226. package/lib/container/__tests__/reducer.test.js.map +0 -1
  227. package/lib/container/actions.js +0 -18
  228. package/lib/container/actions.js.map +0 -1
  229. package/lib/container/index.js +0 -127
  230. package/lib/container/index.js.map +0 -1
  231. package/lib/container/marks.js +0 -22
  232. package/lib/container/marks.js.map +0 -1
  233. package/lib/container/middleware.js +0 -19
  234. package/lib/container/middleware.js.map +0 -1
  235. package/lib/container/reducer.js +0 -18
  236. package/lib/container/reducer.js.map +0 -1
  237. package/lib/coordinates-label.js +0 -79
  238. package/lib/coordinates-label.js.map +0 -1
  239. package/lib/graph-with-controls.js +0 -294
  240. package/lib/graph-with-controls.js.map +0 -1
  241. package/lib/graph.js +0 -327
  242. package/lib/graph.js.map +0 -1
  243. package/lib/grid-setup.js +0 -414
  244. package/lib/grid-setup.js.map +0 -1
  245. package/lib/grid.js +0 -131
  246. package/lib/grid.js.map +0 -1
  247. package/lib/index.js +0 -47
  248. package/lib/index.js.map +0 -1
  249. package/lib/key-legend.js +0 -201
  250. package/lib/key-legend.js.map +0 -1
  251. package/lib/label-svg-icon.js +0 -50
  252. package/lib/label-svg-icon.js.map +0 -1
  253. package/lib/labels.js +0 -243
  254. package/lib/labels.js.map +0 -1
  255. package/lib/mark-label.js +0 -285
  256. package/lib/mark-label.js.map +0 -1
  257. package/lib/toggle-bar.js +0 -252
  258. package/lib/toggle-bar.js.map +0 -1
  259. package/lib/tool-menu.js +0 -78
  260. package/lib/tool-menu.js.map +0 -1
  261. package/lib/tools/absolute/__tests__/component.test.js +0 -65
  262. package/lib/tools/absolute/__tests__/component.test.js.map +0 -1
  263. package/lib/tools/absolute/component.js +0 -29
  264. package/lib/tools/absolute/component.js.map +0 -1
  265. package/lib/tools/absolute/index.js +0 -50
  266. package/lib/tools/absolute/index.js.map +0 -1
  267. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
  268. package/lib/tools/circle/__tests__/bg-circle.test.js.map +0 -1
  269. package/lib/tools/circle/__tests__/component.test.js +0 -615
  270. package/lib/tools/circle/__tests__/component.test.js.map +0 -1
  271. package/lib/tools/circle/__tests__/index.test.js +0 -576
  272. package/lib/tools/circle/__tests__/index.test.js.map +0 -1
  273. package/lib/tools/circle/bg-circle.js +0 -123
  274. package/lib/tools/circle/bg-circle.js.map +0 -1
  275. package/lib/tools/circle/component.js +0 -321
  276. package/lib/tools/circle/component.js.map +0 -1
  277. package/lib/tools/circle/index.js +0 -41
  278. package/lib/tools/circle/index.js.map +0 -1
  279. package/lib/tools/exponential/__tests__/component.test.js +0 -64
  280. package/lib/tools/exponential/__tests__/component.test.js.map +0 -1
  281. package/lib/tools/exponential/__tests__/index.test.js +0 -828
  282. package/lib/tools/exponential/__tests__/index.test.js.map +0 -1
  283. package/lib/tools/exponential/component.js +0 -28
  284. package/lib/tools/exponential/component.js.map +0 -1
  285. package/lib/tools/exponential/index.js +0 -56
  286. package/lib/tools/exponential/index.js.map +0 -1
  287. package/lib/tools/index.js +0 -86
  288. package/lib/tools/index.js.map +0 -1
  289. package/lib/tools/line/__tests__/component.test.js +0 -45
  290. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  291. package/lib/tools/line/component.js +0 -97
  292. package/lib/tools/line/component.js.map +0 -1
  293. package/lib/tools/line/index.js +0 -11
  294. package/lib/tools/line/index.js.map +0 -1
  295. package/lib/tools/parabola/__tests__/component.test.js +0 -64
  296. package/lib/tools/parabola/__tests__/component.test.js.map +0 -1
  297. package/lib/tools/parabola/__tests__/index.test.js +0 -564
  298. package/lib/tools/parabola/__tests__/index.test.js.map +0 -1
  299. package/lib/tools/parabola/component.js +0 -28
  300. package/lib/tools/parabola/component.js.map +0 -1
  301. package/lib/tools/parabola/index.js +0 -50
  302. package/lib/tools/parabola/index.js.map +0 -1
  303. package/lib/tools/point/__tests__/component.test.js +0 -434
  304. package/lib/tools/point/__tests__/component.test.js.map +0 -1
  305. package/lib/tools/point/__tests__/index.test.js +0 -262
  306. package/lib/tools/point/__tests__/index.test.js.map +0 -1
  307. package/lib/tools/point/component.js +0 -148
  308. package/lib/tools/point/component.js.map +0 -1
  309. package/lib/tools/point/index.js +0 -24
  310. package/lib/tools/point/index.js.map +0 -1
  311. package/lib/tools/polygon/__tests__/component.test.js +0 -485
  312. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  313. package/lib/tools/polygon/__tests__/index.test.js +0 -303
  314. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  315. package/lib/tools/polygon/__tests__/line.test.js +0 -50
  316. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  317. package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
  318. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  319. package/lib/tools/polygon/component.js +0 -437
  320. package/lib/tools/polygon/component.js.map +0 -1
  321. package/lib/tools/polygon/index.js +0 -89
  322. package/lib/tools/polygon/index.js.map +0 -1
  323. package/lib/tools/polygon/line.js +0 -112
  324. package/lib/tools/polygon/line.js.map +0 -1
  325. package/lib/tools/polygon/polygon.js +0 -130
  326. package/lib/tools/polygon/polygon.js.map +0 -1
  327. package/lib/tools/ray/__tests__/component.test.js +0 -35
  328. package/lib/tools/ray/__tests__/component.test.js.map +0 -1
  329. package/lib/tools/ray/component.js +0 -95
  330. package/lib/tools/ray/component.js.map +0 -1
  331. package/lib/tools/ray/index.js +0 -11
  332. package/lib/tools/ray/index.js.map +0 -1
  333. package/lib/tools/segment/__tests__/component.test.js +0 -35
  334. package/lib/tools/segment/__tests__/component.test.js.map +0 -1
  335. package/lib/tools/segment/component.js +0 -71
  336. package/lib/tools/segment/component.js.map +0 -1
  337. package/lib/tools/segment/index.js +0 -11
  338. package/lib/tools/segment/index.js.map +0 -1
  339. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  340. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  341. package/lib/tools/shared/arrow-head.js +0 -111
  342. package/lib/tools/shared/arrow-head.js.map +0 -1
  343. package/lib/tools/shared/icons/CorrectSVG.js +0 -40
  344. package/lib/tools/shared/icons/CorrectSVG.js.map +0 -1
  345. package/lib/tools/shared/icons/IncorrectSVG.js +0 -40
  346. package/lib/tools/shared/icons/IncorrectSVG.js.map +0 -1
  347. package/lib/tools/shared/icons/MissingSVG.js +0 -39
  348. package/lib/tools/shared/icons/MissingSVG.js.map +0 -1
  349. package/lib/tools/shared/line/__tests__/index.test.js +0 -124
  350. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  351. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
  352. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  353. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
  354. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  355. package/lib/tools/shared/line/index.js +0 -550
  356. package/lib/tools/shared/line/index.js.map +0 -1
  357. package/lib/tools/shared/line/line-path.js +0 -118
  358. package/lib/tools/shared/line/line-path.js.map +0 -1
  359. package/lib/tools/shared/line/with-root-edge.js +0 -121
  360. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  361. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  362. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  363. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  364. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
  365. package/lib/tools/shared/point/arrow-point.js +0 -72
  366. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  367. package/lib/tools/shared/point/arrow.js +0 -67
  368. package/lib/tools/shared/point/arrow.js.map +0 -1
  369. package/lib/tools/shared/point/base-point.js +0 -157
  370. package/lib/tools/shared/point/base-point.js.map +0 -1
  371. package/lib/tools/shared/point/index.js +0 -68
  372. package/lib/tools/shared/point/index.js.map +0 -1
  373. package/lib/tools/shared/styles.js +0 -33
  374. package/lib/tools/shared/styles.js.map +0 -1
  375. package/lib/tools/shared/types.js +0 -16
  376. package/lib/tools/shared/types.js.map +0 -1
  377. package/lib/tools/sine/__tests__/component.test.js +0 -72
  378. package/lib/tools/sine/__tests__/component.test.js.map +0 -1
  379. package/lib/tools/sine/component.js +0 -40
  380. package/lib/tools/sine/component.js.map +0 -1
  381. package/lib/tools/sine/index.js +0 -50
  382. package/lib/tools/sine/index.js.map +0 -1
  383. package/lib/tools/vector/__tests__/component.test.js +0 -32
  384. package/lib/tools/vector/__tests__/component.test.js.map +0 -1
  385. package/lib/tools/vector/component.js +0 -68
  386. package/lib/tools/vector/component.js.map +0 -1
  387. package/lib/tools/vector/index.js +0 -11
  388. package/lib/tools/vector/index.js.map +0 -1
  389. package/lib/undo-redo.js +0 -86
  390. package/lib/undo-redo.js.map +0 -1
  391. package/lib/use-debounce.js +0 -25
  392. package/lib/use-debounce.js.map +0 -1
  393. package/lib/utils.js +0 -229
  394. package/lib/utils.js.map +0 -1
  395. package/src/__tests__/bg.test.jsx +0 -250
  396. package/src/__tests__/coordinates-label.test.jsx +0 -243
  397. package/src/__tests__/graph-with-controls.test.jsx +0 -198
  398. package/src/__tests__/graph.test.jsx +0 -721
  399. package/src/__tests__/grid-setup.test.jsx +0 -645
  400. package/src/__tests__/grid.test.jsx +0 -22
  401. package/src/__tests__/key-legend.test.jsx +0 -260
  402. package/src/__tests__/label-svg-icon.test.jsx +0 -278
  403. package/src/__tests__/labels.test.jsx +0 -55
  404. package/src/__tests__/mark-label.test.jsx +0 -63
  405. package/src/__tests__/toggle-bar.test.jsx +0 -146
  406. package/src/__tests__/tool-menu.test.jsx +0 -115
  407. package/src/__tests__/undo-redo.test.jsx +0 -24
  408. package/src/__tests__/use-debounce.test.js +0 -21
  409. package/src/__tests__/utils.js +0 -41
  410. package/src/__tests__/utils.test.js +0 -105
  411. package/src/axis/__tests__/arrow.test.jsx +0 -38
  412. package/src/axis/__tests__/axes.test.jsx +0 -216
  413. package/src/axis/arrow.jsx +0 -57
  414. package/src/axis/axes.jsx +0 -285
  415. package/src/axis/index.js +0 -3
  416. package/src/bg.jsx +0 -96
  417. package/src/container/__tests__/actions.test.js +0 -105
  418. package/src/container/__tests__/index.test.jsx +0 -319
  419. package/src/container/__tests__/marks.test.js +0 -172
  420. package/src/container/__tests__/middleware.test.js +0 -235
  421. package/src/container/__tests__/reducer.test.js +0 -324
  422. package/src/container/actions.js +0 -8
  423. package/src/container/index.jsx +0 -91
  424. package/src/container/marks.js +0 -14
  425. package/src/container/middleware.js +0 -7
  426. package/src/container/reducer.js +0 -5
  427. package/src/coordinates-label.jsx +0 -63
  428. package/src/graph-with-controls.jsx +0 -239
  429. package/src/graph.jsx +0 -303
  430. package/src/grid-setup.jsx +0 -432
  431. package/src/grid.jsx +0 -133
  432. package/src/index.js +0 -7
  433. package/src/key-legend.jsx +0 -142
  434. package/src/label-svg-icon.jsx +0 -39
  435. package/src/labels.jsx +0 -207
  436. package/src/mark-label.jsx +0 -244
  437. package/src/toggle-bar.jsx +0 -224
  438. package/src/tool-menu.jsx +0 -49
  439. package/src/tools/absolute/__tests__/component.test.jsx +0 -53
  440. package/src/tools/absolute/component.jsx +0 -23
  441. package/src/tools/absolute/index.js +0 -31
  442. package/src/tools/circle/__tests__/bg-circle.test.jsx +0 -26
  443. package/src/tools/circle/__tests__/component.test.jsx +0 -494
  444. package/src/tools/circle/__tests__/index.test.js +0 -480
  445. package/src/tools/circle/bg-circle.jsx +0 -81
  446. package/src/tools/circle/component.jsx +0 -264
  447. package/src/tools/circle/index.js +0 -25
  448. package/src/tools/exponential/__tests__/component.test.jsx +0 -53
  449. package/src/tools/exponential/__tests__/index.test.js +0 -729
  450. package/src/tools/exponential/component.jsx +0 -23
  451. package/src/tools/exponential/index.js +0 -39
  452. package/src/tools/index.js +0 -48
  453. package/src/tools/line/__tests__/component.test.jsx +0 -37
  454. package/src/tools/line/component.jsx +0 -93
  455. package/src/tools/line/index.js +0 -4
  456. package/src/tools/parabola/__tests__/component.test.jsx +0 -48
  457. package/src/tools/parabola/__tests__/index.test.js +0 -470
  458. package/src/tools/parabola/component.jsx +0 -23
  459. package/src/tools/parabola/index.js +0 -31
  460. package/src/tools/point/__tests__/component.test.jsx +0 -349
  461. package/src/tools/point/__tests__/index.test.js +0 -241
  462. package/src/tools/point/component.jsx +0 -126
  463. package/src/tools/point/index.js +0 -11
  464. package/src/tools/polygon/__tests__/component.test.jsx +0 -471
  465. package/src/tools/polygon/__tests__/index.test.js +0 -294
  466. package/src/tools/polygon/__tests__/line.test.jsx +0 -35
  467. package/src/tools/polygon/__tests__/polygon.test.jsx +0 -61
  468. package/src/tools/polygon/component.jsx +0 -409
  469. package/src/tools/polygon/index.js +0 -52
  470. package/src/tools/polygon/line.jsx +0 -74
  471. package/src/tools/polygon/polygon.jsx +0 -110
  472. package/src/tools/ray/__tests__/component.test.jsx +0 -29
  473. package/src/tools/ray/component.jsx +0 -92
  474. package/src/tools/ray/index.js +0 -4
  475. package/src/tools/segment/__tests__/component.test.jsx +0 -28
  476. package/src/tools/segment/component.jsx +0 -65
  477. package/src/tools/segment/index.js +0 -4
  478. package/src/tools/shared/__tests__/arrow-head.test.jsx +0 -31
  479. package/src/tools/shared/arrow-head.jsx +0 -102
  480. package/src/tools/shared/icons/CorrectSVG.jsx +0 -32
  481. package/src/tools/shared/icons/IncorrectSVG.jsx +0 -30
  482. package/src/tools/shared/icons/MissingSVG.jsx +0 -31
  483. package/src/tools/shared/line/__tests__/index.test.jsx +0 -109
  484. package/src/tools/shared/line/__tests__/line-path.test.jsx +0 -53
  485. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +0 -73
  486. package/src/tools/shared/line/index.jsx +0 -487
  487. package/src/tools/shared/line/line-path.jsx +0 -80
  488. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  489. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +0 -91
  490. package/src/tools/shared/point/__tests__/base-point.test.jsx +0 -87
  491. package/src/tools/shared/point/arrow-point.jsx +0 -46
  492. package/src/tools/shared/point/arrow.jsx +0 -37
  493. package/src/tools/shared/point/base-point.jsx +0 -121
  494. package/src/tools/shared/point/index.jsx +0 -54
  495. package/src/tools/shared/styles.js +0 -27
  496. package/src/tools/shared/types.js +0 -10
  497. package/src/tools/sine/__tests__/component.test.jsx +0 -51
  498. package/src/tools/sine/component.jsx +0 -32
  499. package/src/tools/sine/index.js +0 -33
  500. package/src/tools/vector/__tests__/component.test.jsx +0 -25
  501. package/src/tools/vector/component.jsx +0 -56
  502. package/src/tools/vector/index.js +0 -4
  503. package/src/undo-redo.jsx +0 -45
  504. package/src/use-debounce.js +0 -13
  505. package/src/utils.js +0 -224
@@ -1,828 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
- var _index = require("../index");
7
- var _utils = require("../../../utils");
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- jest.mock('../../../utils', function () {
11
- return {
12
- equalPoints: jest.fn(),
13
- sameAxes: jest.fn()
14
- };
15
- });
16
- jest.mock('debug', function () {
17
- return jest.fn(function () {
18
- return jest.fn();
19
- });
20
- });
21
- describe('exponential tool', function () {
22
- var exponentialTool;
23
- beforeEach(function () {
24
- jest.clearAllMocks();
25
- exponentialTool = (0, _index.tool)();
26
- });
27
- describe('tool configuration', function () {
28
- it('creates a tool object', function () {
29
- expect(exponentialTool).toBeDefined();
30
- expect((0, _typeof2["default"])(exponentialTool)).toBe('object');
31
- });
32
- it('has type exponential', function () {
33
- expect(exponentialTool.type).toBe('exponential');
34
- });
35
- it('has a Component', function () {
36
- expect(exponentialTool.Component).toBeDefined();
37
- });
38
- it('has complete function', function () {
39
- expect((0, _typeof2["default"])(exponentialTool.complete)).toBe('function');
40
- });
41
- it('has addPoint function', function () {
42
- expect((0, _typeof2["default"])(exponentialTool.addPoint)).toBe('function');
43
- });
44
- it('does not have hover function', function () {
45
- expect(exponentialTool.hover).toBeUndefined();
46
- });
47
- });
48
- describe('complete', function () {
49
- it('marks exponential as complete', function () {
50
- var data = {
51
- x: 5,
52
- y: 10
53
- };
54
- var mark = {
55
- type: 'exponential',
56
- root: {
57
- x: 0,
58
- y: 1
59
- },
60
- edge: {
61
- x: 5,
62
- y: 10
63
- },
64
- building: true,
65
- closed: false
66
- };
67
- var result = exponentialTool.complete(data, mark);
68
- expect(result).toEqual(_objectSpread(_objectSpread({}, mark), {}, {
69
- building: false,
70
- closed: true
71
- }));
72
- });
73
- it('sets building to false', function () {
74
- var mark = {
75
- type: 'exponential',
76
- root: {
77
- x: 0,
78
- y: 1
79
- },
80
- building: true
81
- };
82
- var result = exponentialTool.complete({}, mark);
83
- expect(result.building).toBe(false);
84
- });
85
- it('sets closed to true', function () {
86
- var mark = {
87
- type: 'exponential',
88
- root: {
89
- x: 0,
90
- y: 1
91
- },
92
- closed: false
93
- };
94
- var result = exponentialTool.complete({}, mark);
95
- expect(result.closed).toBe(true);
96
- });
97
- it('preserves mark properties', function () {
98
- var mark = {
99
- type: 'exponential',
100
- root: {
101
- x: 0,
102
- y: 1
103
- },
104
- edge: {
105
- x: 5,
106
- y: 10
107
- },
108
- label: 'Exp A',
109
- correctness: {
110
- value: 'correct'
111
- }
112
- };
113
- var result = exponentialTool.complete({}, mark);
114
- expect(result.label).toBe('Exp A');
115
- expect(result.correctness).toEqual({
116
- value: 'correct'
117
- });
118
- expect(result.root).toEqual(mark.root);
119
- expect(result.edge).toEqual(mark.edge);
120
- });
121
- it('does not mutate original mark', function () {
122
- var mark = {
123
- type: 'exponential',
124
- root: {
125
- x: 0,
126
- y: 1
127
- },
128
- building: true,
129
- closed: false
130
- };
131
- var originalMark = _objectSpread({}, mark);
132
- exponentialTool.complete({}, mark);
133
- expect(mark).toEqual(originalMark);
134
- });
135
- });
136
- describe('addPoint', function () {
137
- describe('first point (creating root)', function () {
138
- it('creates new exponential mark when no mark exists', function () {
139
- var point = {
140
- x: 0,
141
- y: 5
142
- };
143
- var mark = null;
144
- _utils.equalPoints.mockReturnValue(false);
145
- _utils.sameAxes.mockReturnValue(false);
146
- var result = exponentialTool.addPoint(point, mark);
147
- expect(result).toEqual({
148
- type: 'exponential',
149
- root: point,
150
- edge: undefined,
151
- closed: false,
152
- building: true
153
- });
154
- });
155
- it('creates mark with building true', function () {
156
- var point = {
157
- x: 2,
158
- y: 3
159
- };
160
- _utils.equalPoints.mockReturnValue(false);
161
- _utils.sameAxes.mockReturnValue(false);
162
- var result = exponentialTool.addPoint(point, null);
163
- expect(result.building).toBe(true);
164
- });
165
- it('creates mark with closed false', function () {
166
- var point = {
167
- x: 2,
168
- y: 3
169
- };
170
- _utils.equalPoints.mockReturnValue(false);
171
- _utils.sameAxes.mockReturnValue(false);
172
- var result = exponentialTool.addPoint(point, null);
173
- expect(result.closed).toBe(false);
174
- });
175
- it('creates mark with undefined edge', function () {
176
- var point = {
177
- x: 2,
178
- y: 3
179
- };
180
- _utils.equalPoints.mockReturnValue(false);
181
- _utils.sameAxes.mockReturnValue(false);
182
- var result = exponentialTool.addPoint(point, null);
183
- expect(result.edge).toBeUndefined();
184
- });
185
- it('works with positive coordinates', function () {
186
- var point = {
187
- x: 5,
188
- y: 10
189
- };
190
- _utils.equalPoints.mockReturnValue(false);
191
- _utils.sameAxes.mockReturnValue(false);
192
- var result = exponentialTool.addPoint(point, null);
193
- expect(result.root).toEqual(point);
194
- });
195
- it('works with negative y coordinate', function () {
196
- var point = {
197
- x: 5,
198
- y: -10
199
- };
200
- _utils.equalPoints.mockReturnValue(false);
201
- _utils.sameAxes.mockReturnValue(false);
202
- var result = exponentialTool.addPoint(point, null);
203
- expect(result.root).toEqual(point);
204
- });
205
- it('works with decimal coordinates', function () {
206
- var point = {
207
- x: 3.5,
208
- y: 7.25
209
- };
210
- _utils.equalPoints.mockReturnValue(false);
211
- _utils.sameAxes.mockReturnValue(false);
212
- var result = exponentialTool.addPoint(point, null);
213
- expect(result.root).toEqual(point);
214
- });
215
- });
216
- describe('second point (completing exponential)', function () {
217
- it('completes exponential when adding edge point', function () {
218
- var root = {
219
- x: 0,
220
- y: 1
221
- };
222
- var edge = {
223
- x: 5,
224
- y: 10
225
- };
226
- var mark = {
227
- type: 'exponential',
228
- root: root,
229
- edge: undefined,
230
- closed: false,
231
- building: true
232
- };
233
- _utils.equalPoints.mockReturnValue(false);
234
- _utils.sameAxes.mockReturnValue(false);
235
- var result = exponentialTool.addPoint(edge, mark);
236
- expect(result).toEqual(_objectSpread(_objectSpread({}, mark), {}, {
237
- edge: edge,
238
- closed: true,
239
- building: false
240
- }));
241
- });
242
- it('sets building to false', function () {
243
- var mark = {
244
- type: 'exponential',
245
- root: {
246
- x: 0,
247
- y: 1
248
- },
249
- building: true
250
- };
251
- var point = {
252
- x: 5,
253
- y: 10
254
- };
255
- _utils.equalPoints.mockReturnValue(false);
256
- _utils.sameAxes.mockReturnValue(false);
257
- var result = exponentialTool.addPoint(point, mark);
258
- expect(result.building).toBe(false);
259
- });
260
- it('sets closed to true', function () {
261
- var mark = {
262
- type: 'exponential',
263
- root: {
264
- x: 0,
265
- y: 1
266
- },
267
- closed: false
268
- };
269
- var point = {
270
- x: 5,
271
- y: 10
272
- };
273
- _utils.equalPoints.mockReturnValue(false);
274
- _utils.sameAxes.mockReturnValue(false);
275
- var result = exponentialTool.addPoint(point, mark);
276
- expect(result.closed).toBe(true);
277
- });
278
- it('preserves root when adding edge', function () {
279
- var root = {
280
- x: 1,
281
- y: 2
282
- };
283
- var mark = {
284
- type: 'exponential',
285
- root: root,
286
- building: true
287
- };
288
- var edge = {
289
- x: 5,
290
- y: 8
291
- };
292
- _utils.equalPoints.mockReturnValue(false);
293
- _utils.sameAxes.mockReturnValue(false);
294
- var result = exponentialTool.addPoint(edge, mark);
295
- expect(result.root).toEqual(root);
296
- expect(result.edge).toEqual(edge);
297
- });
298
- it('preserves mark properties', function () {
299
- var mark = {
300
- type: 'exponential',
301
- root: {
302
- x: 0,
303
- y: 1
304
- },
305
- label: 'Exp 1',
306
- correctness: {
307
- value: 'correct'
308
- }
309
- };
310
- var point = {
311
- x: 5,
312
- y: 10
313
- };
314
- _utils.equalPoints.mockReturnValue(false);
315
- _utils.sameAxes.mockReturnValue(false);
316
- var result = exponentialTool.addPoint(point, mark);
317
- expect(result.label).toBe('Exp 1');
318
- expect(result.correctness).toEqual({
319
- value: 'correct'
320
- });
321
- });
322
- });
323
- describe('same point handling', function () {
324
- it('returns same mark when clicking equal point', function () {
325
- var point = {
326
- x: 5,
327
- y: 10
328
- };
329
- var mark = {
330
- type: 'exponential',
331
- root: point,
332
- building: true
333
- };
334
- _utils.equalPoints.mockReturnValue(true);
335
- _utils.sameAxes.mockReturnValue(false);
336
- var result = exponentialTool.addPoint(point, mark);
337
- expect(result).toBe(mark);
338
- });
339
- it('returns same mark when clicking point on same axis', function () {
340
- var mark = {
341
- type: 'exponential',
342
- root: {
343
- x: 5,
344
- y: 10
345
- },
346
- building: true
347
- };
348
- var point = {
349
- x: 8,
350
- y: 10
351
- }; // same y
352
- _utils.equalPoints.mockReturnValue(false);
353
- _utils.sameAxes.mockReturnValue(true);
354
- var result = exponentialTool.addPoint(point, mark);
355
- expect(result).toBe(mark);
356
- });
357
- it('calls equalPoints with correct arguments', function () {
358
- var point = {
359
- x: 5,
360
- y: 10
361
- };
362
- var mark = {
363
- type: 'exponential',
364
- root: {
365
- x: 5,
366
- y: 10
367
- },
368
- building: true
369
- };
370
- _utils.equalPoints.mockReturnValue(true);
371
- exponentialTool.addPoint(point, mark);
372
- expect(_utils.equalPoints).toHaveBeenCalledWith(mark.root, point);
373
- });
374
- it('calls sameAxes with correct arguments', function () {
375
- var point = {
376
- x: 8,
377
- y: 10
378
- };
379
- var mark = {
380
- type: 'exponential',
381
- root: {
382
- x: 5,
383
- y: 10
384
- },
385
- building: true
386
- };
387
- _utils.equalPoints.mockReturnValue(false);
388
- _utils.sameAxes.mockReturnValue(true);
389
- exponentialTool.addPoint(point, mark);
390
- expect(_utils.sameAxes).toHaveBeenCalledWith(mark.root, point);
391
- });
392
- });
393
- describe('opposite sign y-coordinates', function () {
394
- it('returns same mark when root and point have opposite sign y', function () {
395
- var mark = {
396
- type: 'exponential',
397
- root: {
398
- x: 0,
399
- y: 5
400
- },
401
- // positive y
402
- building: true
403
- };
404
- var point = {
405
- x: 5,
406
- y: -10
407
- }; // negative y
408
- _utils.equalPoints.mockReturnValue(false);
409
- _utils.sameAxes.mockReturnValue(false);
410
- var result = exponentialTool.addPoint(point, mark);
411
- expect(result).toBe(mark);
412
- });
413
- it('returns same mark when root is negative and point is positive', function () {
414
- var mark = {
415
- type: 'exponential',
416
- root: {
417
- x: 0,
418
- y: -5
419
- },
420
- // negative y
421
- building: true
422
- };
423
- var point = {
424
- x: 5,
425
- y: 10
426
- }; // positive y
427
- _utils.equalPoints.mockReturnValue(false);
428
- _utils.sameAxes.mockReturnValue(false);
429
- var result = exponentialTool.addPoint(point, mark);
430
- expect(result).toBe(mark);
431
- });
432
- it('allows points with same sign y (both positive)', function () {
433
- var mark = {
434
- type: 'exponential',
435
- root: {
436
- x: 0,
437
- y: 5
438
- },
439
- building: true
440
- };
441
- var point = {
442
- x: 5,
443
- y: 10
444
- };
445
- _utils.equalPoints.mockReturnValue(false);
446
- _utils.sameAxes.mockReturnValue(false);
447
- var result = exponentialTool.addPoint(point, mark);
448
- expect(result.edge).toEqual(point);
449
- expect(result.building).toBe(false);
450
- });
451
- it('allows points with same sign y (both negative)', function () {
452
- var mark = {
453
- type: 'exponential',
454
- root: {
455
- x: 0,
456
- y: -5
457
- },
458
- building: true
459
- };
460
- var point = {
461
- x: 5,
462
- y: -10
463
- };
464
- _utils.equalPoints.mockReturnValue(false);
465
- _utils.sameAxes.mockReturnValue(false);
466
- var result = exponentialTool.addPoint(point, mark);
467
- expect(result.edge).toEqual(point);
468
- expect(result.building).toBe(false);
469
- });
470
- });
471
- describe('zero y-coordinate handling', function () {
472
- it('returns same mark when point has y = 0', function () {
473
- var mark = {
474
- type: 'exponential',
475
- root: {
476
- x: 0,
477
- y: 5
478
- },
479
- building: true
480
- };
481
- var point = {
482
- x: 5,
483
- y: 0
484
- };
485
- _utils.equalPoints.mockReturnValue(false);
486
- _utils.sameAxes.mockReturnValue(false);
487
- var result = exponentialTool.addPoint(point, mark);
488
- expect(result).toBe(mark);
489
- });
490
- it('prevents adding point with zero y', function () {
491
- var point = {
492
- x: 5,
493
- y: 0
494
- };
495
- var mark = {
496
- type: 'exponential',
497
- root: {
498
- x: 1,
499
- y: 2
500
- },
501
- building: true
502
- };
503
- _utils.equalPoints.mockReturnValue(false);
504
- _utils.sameAxes.mockReturnValue(false);
505
- var result = exponentialTool.addPoint(point, mark);
506
- expect(result).toBe(mark);
507
- expect(result.edge).toBeUndefined();
508
- });
509
- it('prevents creating root with zero y', function () {
510
- var point = {
511
- x: 5,
512
- y: 0
513
- };
514
- _utils.equalPoints.mockReturnValue(false);
515
- _utils.sameAxes.mockReturnValue(false);
516
- var result = exponentialTool.addPoint(point, null);
517
- expect(result).toBeNull();
518
- });
519
- it('allows positive y values close to zero', function () {
520
- var point = {
521
- x: 5,
522
- y: 0.001
523
- };
524
- _utils.equalPoints.mockReturnValue(false);
525
- _utils.sameAxes.mockReturnValue(false);
526
- var result = exponentialTool.addPoint(point, null);
527
- expect(result.root).toEqual(point);
528
- });
529
- it('allows negative y values close to zero', function () {
530
- var point = {
531
- x: 5,
532
- y: -0.001
533
- };
534
- _utils.equalPoints.mockReturnValue(false);
535
- _utils.sameAxes.mockReturnValue(false);
536
- var result = exponentialTool.addPoint(point, null);
537
- expect(result.root).toEqual(point);
538
- });
539
- });
540
- describe('error handling', function () {
541
- it('throws error when mark has no root', function () {
542
- var mark = {
543
- type: 'exponential',
544
- building: true
545
- // root is missing
546
- };
547
- var point = {
548
- x: 5,
549
- y: 10
550
- };
551
- _utils.equalPoints.mockReturnValue(false);
552
- _utils.sameAxes.mockReturnValue(false);
553
- expect(function () {
554
- exponentialTool.addPoint(point, mark);
555
- }).toThrow(); // Will throw TypeError when accessing undefined.y
556
- });
557
- it('throws error when mark root is null', function () {
558
- var mark = {
559
- type: 'exponential',
560
- root: null,
561
- building: true
562
- };
563
- var point = {
564
- x: 5,
565
- y: 10
566
- };
567
- _utils.equalPoints.mockReturnValue(false);
568
- _utils.sameAxes.mockReturnValue(false);
569
- expect(function () {
570
- exponentialTool.addPoint(point, mark);
571
- }).toThrow(); // Will throw TypeError when accessing null.y
572
- });
573
- it('throws error when mark root is undefined', function () {
574
- var mark = {
575
- type: 'exponential',
576
- root: undefined,
577
- building: true
578
- };
579
- var point = {
580
- x: 5,
581
- y: 10
582
- };
583
- _utils.equalPoints.mockReturnValue(false);
584
- _utils.sameAxes.mockReturnValue(false);
585
- expect(function () {
586
- exponentialTool.addPoint(point, mark);
587
- }).toThrow(); // Will throw TypeError when accessing undefined.y
588
- });
589
- });
590
- describe('edge cases', function () {
591
- it('handles undefined mark on first click', function () {
592
- var point = {
593
- x: 5,
594
- y: 10
595
- };
596
- _utils.equalPoints.mockReturnValue(false);
597
- _utils.sameAxes.mockReturnValue(false);
598
- var result = exponentialTool.addPoint(point, undefined);
599
- expect(result.type).toBe('exponential');
600
- expect(result.root).toEqual(point);
601
- expect(result.building).toBe(true);
602
- });
603
- it('handles very large positive y', function () {
604
- var point = {
605
- x: 5,
606
- y: 10000
607
- };
608
- _utils.equalPoints.mockReturnValue(false);
609
- _utils.sameAxes.mockReturnValue(false);
610
- var result = exponentialTool.addPoint(point, null);
611
- expect(result.root).toEqual(point);
612
- });
613
- it('handles very large negative y', function () {
614
- var point = {
615
- x: 5,
616
- y: -10000
617
- };
618
- _utils.equalPoints.mockReturnValue(false);
619
- _utils.sameAxes.mockReturnValue(false);
620
- var result = exponentialTool.addPoint(point, null);
621
- expect(result.root).toEqual(point);
622
- });
623
- it('handles negative x coordinates', function () {
624
- var point = {
625
- x: -5,
626
- y: 10
627
- };
628
- _utils.equalPoints.mockReturnValue(false);
629
- _utils.sameAxes.mockReturnValue(false);
630
- var result = exponentialTool.addPoint(point, null);
631
- expect(result.root).toEqual(point);
632
- });
633
- it('handles mark with existing edge', function () {
634
- var mark = {
635
- type: 'exponential',
636
- root: {
637
- x: 0,
638
- y: 1
639
- },
640
- edge: {
641
- x: 3,
642
- y: 3
643
- },
644
- building: false,
645
- closed: true
646
- };
647
- var newEdge = {
648
- x: 5,
649
- y: 5
650
- };
651
- _utils.equalPoints.mockReturnValue(false);
652
- _utils.sameAxes.mockReturnValue(false);
653
- var result = exponentialTool.addPoint(newEdge, mark);
654
- expect(result.edge).toEqual(newEdge);
655
- expect(result.closed).toBe(true);
656
- expect(result.building).toBe(false);
657
- });
658
- });
659
- describe('immutability', function () {
660
- it('does not mutate original mark when adding edge', function () {
661
- var mark = {
662
- type: 'exponential',
663
- root: {
664
- x: 0,
665
- y: 1
666
- },
667
- building: true
668
- };
669
- var originalMark = _objectSpread({}, mark);
670
- var point = {
671
- x: 5,
672
- y: 10
673
- };
674
- _utils.equalPoints.mockReturnValue(false);
675
- _utils.sameAxes.mockReturnValue(false);
676
- var result = exponentialTool.addPoint(point, mark);
677
- expect(mark).toEqual(originalMark);
678
- expect(result).not.toBe(mark);
679
- });
680
- it('does not mutate original mark when returning same', function () {
681
- var mark = {
682
- type: 'exponential',
683
- root: {
684
- x: 5,
685
- y: 10
686
- },
687
- building: true
688
- };
689
- var point = {
690
- x: 5,
691
- y: 10
692
- };
693
- _utils.equalPoints.mockReturnValue(true);
694
- var result = exponentialTool.addPoint(point, mark);
695
- expect(result).toBe(mark);
696
- });
697
- });
698
- });
699
- describe('integration scenarios', function () {
700
- it('handles full exponential creation flow', function () {
701
- _utils.equalPoints.mockReturnValue(false);
702
- _utils.sameAxes.mockReturnValue(false);
703
-
704
- // First click - create root
705
- var firstPoint = {
706
- x: 0,
707
- y: 1
708
- };
709
- var mark1 = exponentialTool.addPoint(firstPoint, null);
710
- expect(mark1.root).toEqual(firstPoint);
711
- expect(mark1.building).toBe(true);
712
- expect(mark1.closed).toBe(false);
713
-
714
- // Second click - complete exponential
715
- var secondPoint = {
716
- x: 5,
717
- y: 10
718
- };
719
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
720
- expect(mark2.root).toEqual(firstPoint);
721
- expect(mark2.edge).toEqual(secondPoint);
722
- expect(mark2.building).toBe(false);
723
- expect(mark2.closed).toBe(true);
724
-
725
- // Complete
726
- var mark3 = exponentialTool.complete({}, mark2);
727
- expect(mark3.building).toBe(false);
728
- expect(mark3.closed).toBe(true);
729
- });
730
- it('handles rejected second point (zero y)', function () {
731
- _utils.equalPoints.mockReturnValue(false);
732
- _utils.sameAxes.mockReturnValue(false);
733
- var firstPoint = {
734
- x: 0,
735
- y: 1
736
- };
737
- var mark1 = exponentialTool.addPoint(firstPoint, null);
738
- var secondPoint = {
739
- x: 5,
740
- y: 0
741
- };
742
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
743
-
744
- // Should return unchanged mark
745
- expect(mark2).toBe(mark1);
746
- expect(mark2.edge).toBeUndefined();
747
- });
748
- it('handles rejected second point (opposite sign)', function () {
749
- _utils.equalPoints.mockReturnValue(false);
750
- _utils.sameAxes.mockReturnValue(false);
751
- var firstPoint = {
752
- x: 0,
753
- y: 5
754
- };
755
- var mark1 = exponentialTool.addPoint(firstPoint, null);
756
- var secondPoint = {
757
- x: 5,
758
- y: -10
759
- };
760
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
761
-
762
- // Should return unchanged mark
763
- expect(mark2).toBe(mark1);
764
- expect(mark2.edge).toBeUndefined();
765
- });
766
- it('handles rejected second point (same axes)', function () {
767
- _utils.equalPoints.mockReturnValue(false);
768
- _utils.sameAxes.mockReturnValue(true);
769
- var firstPoint = {
770
- x: 0,
771
- y: 5
772
- };
773
- var mark1 = exponentialTool.addPoint(firstPoint, null);
774
- var secondPoint = {
775
- x: 10,
776
- y: 5
777
- }; // same y
778
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
779
-
780
- // Should return unchanged mark
781
- expect(mark2).toBe(mark1);
782
- });
783
- it('handles exponential with negative y values', function () {
784
- _utils.equalPoints.mockReturnValue(false);
785
- _utils.sameAxes.mockReturnValue(false);
786
- var firstPoint = {
787
- x: 0,
788
- y: -1
789
- };
790
- var mark1 = exponentialTool.addPoint(firstPoint, null);
791
- var secondPoint = {
792
- x: 5,
793
- y: -10
794
- };
795
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
796
- expect(mark2.root).toEqual(firstPoint);
797
- expect(mark2.edge).toEqual(secondPoint);
798
- expect(mark2.building).toBe(false);
799
- expect(mark2.closed).toBe(true);
800
- });
801
- it('handles exponential with properties', function () {
802
- _utils.equalPoints.mockReturnValue(false);
803
- _utils.sameAxes.mockReturnValue(false);
804
- var firstPoint = {
805
- x: 0,
806
- y: 1,
807
- label: 'Start'
808
- };
809
- var mark1 = exponentialTool.addPoint(firstPoint, null);
810
-
811
- // Add properties
812
- mark1.label = 'Exp A';
813
- mark1.correctness = {
814
- value: 'correct'
815
- };
816
- var secondPoint = {
817
- x: 5,
818
- y: 10
819
- };
820
- var mark2 = exponentialTool.addPoint(secondPoint, mark1);
821
- expect(mark2.label).toBe('Exp A');
822
- expect(mark2.correctness).toEqual({
823
- value: 'correct'
824
- });
825
- });
826
- });
827
- });
828
- //# sourceMappingURL=index.test.js.map