@pie-lib/graphing-solution-set 4.0.4-next.0 → 4.0.4-next.102

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 (332) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/CHANGELOG.md +449 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/axis/arrow.js +79 -0
  5. package/lib/axis/arrow.js.map +1 -0
  6. package/lib/axis/axes.js +327 -0
  7. package/lib/axis/axes.js.map +1 -0
  8. package/lib/axis/index.js +21 -0
  9. package/lib/axis/index.js.map +1 -0
  10. package/lib/bg.js +114 -0
  11. package/lib/bg.js.map +1 -0
  12. package/lib/container/actions.js +18 -0
  13. package/lib/container/actions.js.map +1 -0
  14. package/lib/container/index.js +129 -0
  15. package/lib/container/index.js.map +1 -0
  16. package/lib/container/marks.js +22 -0
  17. package/lib/container/marks.js.map +1 -0
  18. package/lib/container/middleware.js +19 -0
  19. package/lib/container/middleware.js.map +1 -0
  20. package/lib/container/reducer.js +18 -0
  21. package/lib/container/reducer.js.map +1 -0
  22. package/lib/coordinates-label.js +77 -0
  23. package/lib/coordinates-label.js.map +1 -0
  24. package/lib/graph-with-controls.js +297 -0
  25. package/lib/graph-with-controls.js.map +1 -0
  26. package/lib/graph.js +353 -0
  27. package/lib/graph.js.map +1 -0
  28. package/lib/grid-setup.js +414 -0
  29. package/lib/grid-setup.js.map +1 -0
  30. package/lib/grid.js +131 -0
  31. package/lib/grid.js.map +1 -0
  32. package/lib/index.js +40 -0
  33. package/lib/index.js.map +1 -0
  34. package/lib/labels.js +199 -0
  35. package/lib/labels.js.map +1 -0
  36. package/lib/mark-label.js +159 -0
  37. package/lib/mark-label.js.map +1 -0
  38. package/lib/toggle-bar.js +248 -0
  39. package/lib/toggle-bar.js.map +1 -0
  40. package/lib/tool-menu.js +218 -0
  41. package/lib/tool-menu.js.map +1 -0
  42. package/lib/tools/index.js +24 -0
  43. package/lib/tools/index.js.map +1 -0
  44. package/lib/tools/line/component.js +92 -0
  45. package/lib/tools/line/component.js.map +1 -0
  46. package/lib/tools/line/index.js +11 -0
  47. package/lib/tools/line/index.js.map +1 -0
  48. package/lib/tools/polygon/component.js +358 -0
  49. package/lib/tools/polygon/component.js.map +1 -0
  50. package/lib/tools/polygon/index.js +89 -0
  51. package/lib/tools/polygon/index.js.map +1 -0
  52. package/lib/tools/polygon/line.js +114 -0
  53. package/lib/tools/polygon/line.js.map +1 -0
  54. package/lib/tools/polygon/polygon.js +128 -0
  55. package/lib/tools/polygon/polygon.js.map +1 -0
  56. package/lib/tools/shared/arrow-head.js +62 -0
  57. package/lib/tools/shared/arrow-head.js.map +1 -0
  58. package/lib/tools/shared/line/index.js +539 -0
  59. package/lib/tools/shared/line/index.js.map +1 -0
  60. package/lib/tools/shared/line/line-path.js +121 -0
  61. package/lib/tools/shared/line/line-path.js.map +1 -0
  62. package/lib/tools/shared/line/with-root-edge.js +121 -0
  63. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  64. package/lib/tools/shared/point/arrow-point.js +86 -0
  65. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  66. package/lib/tools/shared/point/arrow.js +70 -0
  67. package/lib/tools/shared/point/arrow.js.map +1 -0
  68. package/lib/tools/shared/point/base-point.js +137 -0
  69. package/lib/tools/shared/point/base-point.js.map +1 -0
  70. package/lib/tools/shared/point/index.js +80 -0
  71. package/lib/tools/shared/point/index.js.map +1 -0
  72. package/lib/tools/shared/styles.js +26 -0
  73. package/lib/tools/shared/styles.js.map +1 -0
  74. package/lib/tools/shared/types.js +15 -0
  75. package/lib/tools/shared/types.js.map +1 -0
  76. package/lib/undo-redo.js +67 -0
  77. package/lib/undo-redo.js.map +1 -0
  78. package/lib/use-debounce.js +25 -0
  79. package/lib/use-debounce.js.map +1 -0
  80. package/lib/utils.js +235 -0
  81. package/lib/utils.js.map +1 -0
  82. package/package.json +27 -37
  83. package/src/__tests__/bg.test.jsx +250 -0
  84. package/src/__tests__/coordinates-label.test.jsx +243 -0
  85. package/src/__tests__/graph-with-controls.test.jsx +184 -0
  86. package/src/__tests__/graph.test.jsx +93 -0
  87. package/src/__tests__/grid-setup.test.jsx +645 -0
  88. package/src/__tests__/grid.test.jsx +23 -0
  89. package/src/__tests__/labels.test.jsx +41 -0
  90. package/src/__tests__/mark-label.test.jsx +66 -0
  91. package/src/__tests__/toggle-bar.test.jsx +106 -0
  92. package/src/__tests__/tool-menu.test.jsx +453 -0
  93. package/src/__tests__/undo-redo.test.jsx +26 -0
  94. package/src/__tests__/use-debounce.test.js +21 -0
  95. package/src/__tests__/utils.js +41 -0
  96. package/src/__tests__/utils.test.js +105 -0
  97. package/src/axis/__tests__/arrow.test.jsx +43 -0
  98. package/src/axis/__tests__/axes.test.jsx +182 -0
  99. package/src/axis/arrow.jsx +57 -0
  100. package/src/axis/axes.jsx +284 -0
  101. package/src/axis/index.js +3 -0
  102. package/src/bg.jsx +96 -0
  103. package/src/container/__tests__/actions.test.js +105 -0
  104. package/src/container/__tests__/index.test.jsx +227 -0
  105. package/src/container/__tests__/marks.test.js +172 -0
  106. package/src/container/__tests__/middleware.test.js +235 -0
  107. package/src/container/__tests__/reducer.test.js +324 -0
  108. package/src/container/actions.js +8 -0
  109. package/src/container/index.jsx +93 -0
  110. package/src/container/marks.js +14 -0
  111. package/src/container/middleware.js +7 -0
  112. package/src/container/reducer.js +5 -0
  113. package/src/coordinates-label.jsx +62 -0
  114. package/src/graph-with-controls.jsx +242 -0
  115. package/src/graph.jsx +333 -0
  116. package/src/grid-setup.jsx +432 -0
  117. package/src/grid.jsx +133 -0
  118. package/src/index.js +7 -0
  119. package/src/labels.jsx +173 -0
  120. package/src/mark-label.jsx +125 -0
  121. package/src/toggle-bar.jsx +221 -0
  122. package/src/tool-menu.jsx +235 -0
  123. package/src/tools/index.js +8 -0
  124. package/src/tools/line/__tests__/component.test.jsx +37 -0
  125. package/src/tools/line/component.jsx +77 -0
  126. package/src/tools/line/index.js +4 -0
  127. package/src/tools/polygon/__tests__/component.test.jsx +487 -0
  128. package/src/tools/polygon/__tests__/index.test.js +65 -0
  129. package/src/tools/polygon/__tests__/line.test.jsx +23 -0
  130. package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
  131. package/src/tools/polygon/component.jsx +324 -0
  132. package/src/tools/polygon/index.js +52 -0
  133. package/src/tools/polygon/line.jsx +80 -0
  134. package/src/tools/polygon/polygon.jsx +93 -0
  135. package/src/tools/shared/__tests__/arrow-head.test.jsx +33 -0
  136. package/src/tools/shared/arrow-head.jsx +46 -0
  137. package/src/tools/shared/line/__tests__/index.test.jsx +553 -0
  138. package/src/tools/shared/line/__tests__/line-path.test.jsx +56 -0
  139. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +488 -0
  140. package/src/tools/shared/line/index.jsx +471 -0
  141. package/src/tools/shared/line/line-path.jsx +85 -0
  142. package/src/tools/shared/line/with-root-edge.jsx +97 -0
  143. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +91 -0
  144. package/src/tools/shared/point/__tests__/arrow.test.jsx +469 -0
  145. package/src/tools/shared/point/__tests__/base-point.test.jsx +87 -0
  146. package/src/tools/shared/point/arrow-point.jsx +60 -0
  147. package/src/tools/shared/point/arrow.jsx +40 -0
  148. package/src/tools/shared/point/base-point.jsx +113 -0
  149. package/src/tools/shared/point/index.jsx +58 -0
  150. package/src/tools/shared/styles.js +20 -0
  151. package/src/tools/shared/types.js +8 -0
  152. package/src/undo-redo.jsx +37 -0
  153. package/src/use-debounce.js +13 -0
  154. package/src/utils.js +230 -0
  155. package/dist/_virtual/_rolldown/runtime.js +0 -23
  156. package/dist/axis/arrow.d.ts +0 -13
  157. package/dist/axis/arrow.js +0 -34
  158. package/dist/axis/axes.d.ts +0 -132
  159. package/dist/axis/axes.js +0 -214
  160. package/dist/axis/index.d.ts +0 -10
  161. package/dist/bg.d.ts +0 -51
  162. package/dist/bg.js +0 -44
  163. package/dist/container/actions.d.ts +0 -15
  164. package/dist/container/actions.js +0 -7
  165. package/dist/container/index.d.ts +0 -26
  166. package/dist/container/index.js +0 -50
  167. package/dist/container/marks.d.ts +0 -10
  168. package/dist/container/marks.js +0 -11
  169. package/dist/container/middleware.d.ts +0 -10
  170. package/dist/container/middleware.js +0 -4
  171. package/dist/container/reducer.d.ts +0 -12
  172. package/dist/container/reducer.js +0 -7
  173. package/dist/coordinates-label.d.ts +0 -50
  174. package/dist/coordinates-label.js +0 -46
  175. package/dist/graph-with-controls.d.ts +0 -85
  176. package/dist/graph-with-controls.js +0 -155
  177. package/dist/graph.d.ts +0 -119
  178. package/dist/graph.js +0 -221
  179. package/dist/grid-setup.d.ts +0 -27
  180. package/dist/grid-setup.js +0 -307
  181. package/dist/grid.d.ts +0 -43
  182. package/dist/grid.js +0 -59
  183. package/dist/index.d.ts +0 -14
  184. package/dist/index.js +0 -6
  185. package/dist/labels.d.ts +0 -73
  186. package/dist/labels.js +0 -134
  187. package/dist/mark-label.d.ts +0 -50
  188. package/dist/mark-label.js +0 -84
  189. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +0 -7
  190. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -12
  191. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +0 -12
  192. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +0 -7
  193. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +0 -25
  194. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -12
  195. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +0 -8
  196. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -14
  197. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -9
  198. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -11
  199. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +0 -100
  200. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +0 -61
  201. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +0 -42
  202. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +0 -9
  203. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +0 -14
  204. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +0 -21
  205. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +0 -16
  206. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +0 -8
  207. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +0 -15
  208. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/Grid.js +0 -78
  209. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +0 -79
  210. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +0 -79
  211. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +0 -6
  212. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +0 -49
  213. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +0 -18
  214. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +0 -10
  215. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +0 -9
  216. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +0 -6
  217. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +0 -46
  218. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +0 -52
  219. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +0 -57
  220. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +0 -91
  221. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +0 -21
  222. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +0 -32
  223. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +0 -33
  224. package/dist/node_modules/.bun/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -68
  225. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +0 -28
  226. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Hash.js +0 -21
  227. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_ListCache.js +0 -21
  228. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Map.js +0 -10
  229. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_MapCache.js +0 -21
  230. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Symbol.js +0 -9
  231. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_assocIndexOf.js +0 -14
  232. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseGetTag.js +0 -15
  233. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseIsNative.js +0 -16
  234. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_coreJsData.js +0 -9
  235. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_freeGlobal.js +0 -8
  236. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getMapData.js +0 -14
  237. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getNative.js +0 -15
  238. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getRawTag.js +0 -19
  239. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getValue.js +0 -11
  240. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashClear.js +0 -13
  241. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashDelete.js +0 -12
  242. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashGet.js +0 -18
  243. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashHas.js +0 -14
  244. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashSet.js +0 -14
  245. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isKeyable.js +0 -12
  246. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isMasked.js +0 -16
  247. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheClear.js +0 -11
  248. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheDelete.js +0 -14
  249. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheGet.js +0 -14
  250. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheHas.js +0 -13
  251. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheSet.js +0 -14
  252. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheClear.js +0 -19
  253. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheDelete.js +0 -14
  254. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheGet.js +0 -13
  255. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheHas.js +0 -13
  256. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheSet.js +0 -14
  257. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_nativeCreate.js +0 -9
  258. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_objectToString.js +0 -12
  259. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_root.js +0 -10
  260. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_toSource.js +0 -20
  261. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/eq.js +0 -11
  262. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isFunction.js +0 -16
  263. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isObject.js +0 -12
  264. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/memoize.js +0 -20
  265. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +0 -37
  266. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +0 -509
  267. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +0 -108
  268. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +0 -31
  269. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +0 -45
  270. package/dist/node_modules/.bun/react-input-autosize@2.2.2_f4eacebf2041cd4f/node_modules/react-input-autosize/lib/AutosizeInput.js +0 -216
  271. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +0 -82
  272. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +0 -62
  273. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/index.js +0 -10
  274. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/Context.js +0 -5
  275. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/Provider.js +0 -47
  276. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/connectAdvanced.js +0 -95
  277. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/connect.js +0 -52
  278. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mapDispatchToProps.js +0 -23
  279. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mapStateToProps.js +0 -13
  280. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mergeProps.js +0 -26
  281. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/selectorFactory.js +0 -41
  282. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/verifySubselectors.js +0 -11
  283. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/wrapMapToProps.js +0 -28
  284. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/index.js +0 -4
  285. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/isPlainObject.js +0 -10
  286. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/shallowEqual.js +0 -15
  287. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/verifyPlainObject.js +0 -8
  288. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/warning.js +0 -9
  289. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +0 -49
  290. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +0 -34
  291. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +0 -185
  292. package/dist/node_modules/.bun/redux@4.2.1/node_modules/redux/es/redux.js +0 -225
  293. package/dist/toggle-bar.d.ts +0 -40
  294. package/dist/tool-menu.d.ts +0 -21
  295. package/dist/tool-menu.js +0 -188
  296. package/dist/tools/index.d.ts +0 -17
  297. package/dist/tools/index.js +0 -12
  298. package/dist/tools/line/component.d.ts +0 -113
  299. package/dist/tools/line/component.js +0 -58
  300. package/dist/tools/line/index.d.ts +0 -13
  301. package/dist/tools/line/index.js +0 -6
  302. package/dist/tools/polygon/component.d.ts +0 -114
  303. package/dist/tools/polygon/component.js +0 -194
  304. package/dist/tools/polygon/index.d.ts +0 -19
  305. package/dist/tools/polygon/index.js +0 -55
  306. package/dist/tools/polygon/line.d.ts +0 -125
  307. package/dist/tools/polygon/polygon.d.ts +0 -122
  308. package/dist/tools/polygon/polygon.js +0 -62
  309. package/dist/tools/shared/arrow-head.d.ts +0 -43
  310. package/dist/tools/shared/arrow-head.js +0 -37
  311. package/dist/tools/shared/line/index.d.ts +0 -240
  312. package/dist/tools/shared/line/index.js +0 -320
  313. package/dist/tools/shared/line/line-path.d.ts +0 -57
  314. package/dist/tools/shared/line/with-root-edge.d.ts +0 -143
  315. package/dist/tools/shared/point/arrow-point.d.ts +0 -57
  316. package/dist/tools/shared/point/arrow-point.js +0 -47
  317. package/dist/tools/shared/point/arrow.d.ts +0 -46
  318. package/dist/tools/shared/point/arrow.js +0 -36
  319. package/dist/tools/shared/point/base-point.d.ts +0 -50
  320. package/dist/tools/shared/point/base-point.js +0 -88
  321. package/dist/tools/shared/point/index.d.ts +0 -217
  322. package/dist/tools/shared/point/index.js +0 -51
  323. package/dist/tools/shared/styles.d.ts +0 -24
  324. package/dist/tools/shared/styles.js +0 -17
  325. package/dist/tools/shared/types.d.ts +0 -15
  326. package/dist/tools/shared/types.js +0 -10
  327. package/dist/undo-redo.d.ts +0 -20
  328. package/dist/undo-redo.js +0 -33
  329. package/dist/use-debounce.d.ts +0 -9
  330. package/dist/use-debounce.js +0 -13
  331. package/dist/utils.d.ts +0 -58
  332. package/dist/utils.js +0 -72
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classNames from 'classnames';
4
+ import { types } from '@pie-lib/plot';
5
+ import { isEqual } from 'lodash-es';
6
+ import { arrowDimensions, getAngleDeg } from '../../../utils';
7
+
8
+ export class RawArrow extends React.Component {
9
+ static propTypes = {
10
+ classes: PropTypes.object,
11
+ className: PropTypes.string,
12
+ correctness: PropTypes.string,
13
+ disabled: PropTypes.bool,
14
+ x: PropTypes.number,
15
+ y: PropTypes.number,
16
+ from: PropTypes.shape({
17
+ x: PropTypes.number,
18
+ y: PropTypes.number,
19
+ }).isRequired,
20
+ to: PropTypes.shape({
21
+ x: PropTypes.number,
22
+ y: PropTypes.number,
23
+ }),
24
+ graphProps: types.GraphPropsType.isRequired,
25
+ };
26
+
27
+ static defaultProps = {
28
+ from: {},
29
+ to: {},
30
+ };
31
+
32
+ render() {
33
+ const { classes, className, x, y, disabled, correctness, graphProps, from, to, ...rest } = this.props;
34
+ // x & y are the initial coordinates for the arrow
35
+ // from & to are used only to calculate the angle that the arrow should be rotated with
36
+
37
+ const { scale } = graphProps;
38
+ const angle = getAngleDeg(from.x, from.y, to.x, to.y);
39
+
40
+ let points = '';
41
+
42
+ if (isEqual(from, to)) {
43
+ points = '0,0 0,0 0,0';
44
+ } else {
45
+ points = `0,0 ${arrowDimensions.vector},${arrowDimensions.vector * 2}
46
+ -${arrowDimensions.vector},${arrowDimensions.vector * 2}`;
47
+ }
48
+
49
+ return (
50
+ <g className={classNames(classes.point, disabled && classes.disabled, classes[correctness], className)} {...rest}>
51
+ <polygon
52
+ points={points}
53
+ transform={`
54
+ translate(${scale.x(x)}, ${scale.y(y)})
55
+ rotate(${angle} 0 0)`}
56
+ />
57
+ </g>
58
+ );
59
+ }
60
+ }
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import classNames from 'classnames';
4
+ import { types } from '@pie-lib/plot';
5
+ import { ArrowHead } from '../arrow-head';
6
+ import { thinnerShapesNeeded } from '../../../utils';
7
+
8
+ export default class Arrow extends React.Component {
9
+ static propTypes = {
10
+ classes: PropTypes.object,
11
+ className: PropTypes.string,
12
+ correctness: PropTypes.string,
13
+ disabled: PropTypes.bool,
14
+ x: PropTypes.number.isRequired,
15
+ y: PropTypes.number.isRequired,
16
+ angle: PropTypes.number.isRequired,
17
+ graphProps: types.GraphPropsType.isRequired,
18
+ };
19
+
20
+ render() {
21
+ const { classes, angle, className, x, y, disabled, correctness, graphProps, ...rest } = this.props;
22
+
23
+ const size = thinnerShapesNeeded(graphProps) ? 12 : 14;
24
+ const { scale } = graphProps;
25
+
26
+ const scaledX = scale.x(x);
27
+ const scaledY = scale.y(y);
28
+
29
+ const transform = `rotate(${-angle}, ${scaledX},${scaledY})`;
30
+ const points = `${scaledX},${scaledY}
31
+ ${scaledX - size},${scaledY - size / 2}
32
+ ${scaledX - size}, ${scaledY + size / 2}`;
33
+
34
+ return (
35
+ <g className={classNames(classes.point, disabled && classes.disabled, classes[correctness], className)} {...rest}>
36
+ <ArrowHead size={size} transform={transform} points={points} />
37
+ </g>
38
+ );
39
+ }
40
+ }
@@ -0,0 +1,113 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { types } from '@pie-lib/plot';
4
+ import CoordinatesLabel from '../../../coordinates-label';
5
+ import ReactDOM from 'react-dom';
6
+ import { thinnerShapesNeeded } from '../../../utils';
7
+ import { color } from '@pie-lib/render-ui';
8
+ import { styled } from '@mui/material/styles';
9
+ import { correct, disabled as disabledStyle, incorrect, missing } from '../styles';
10
+
11
+ const StyledPointGroup = styled('g')(({ disabled, correctness }) => ({
12
+ cursor: 'pointer',
13
+ '& circle': {
14
+ fill: 'currentColor',
15
+ },
16
+ ...(disabled && {
17
+ ...disabledStyle('fill'),
18
+ ...disabledStyle('color'),
19
+ }),
20
+ ...(correctness === 'correct' && {
21
+ ...correct('fill'),
22
+ ...correct('color'),
23
+ }),
24
+ ...(correctness === 'incorrect' && {
25
+ ...incorrect('fill'),
26
+ ...incorrect('color'),
27
+ }),
28
+ ...(correctness === 'missing' && {
29
+ ...missing('fill'),
30
+ ...missing('color'),
31
+ }),
32
+ }));
33
+
34
+ export class RawBp extends React.Component {
35
+ static propTypes = {
36
+ className: PropTypes.string,
37
+ coordinatesOnHover: PropTypes.bool,
38
+ correctness: PropTypes.string,
39
+ disabled: PropTypes.bool,
40
+ labelNode: PropTypes.object,
41
+ x: PropTypes.number,
42
+ y: PropTypes.number,
43
+ graphProps: types.GraphPropsType.isRequired,
44
+ onClick: PropTypes.func,
45
+ onTouchStart: PropTypes.func,
46
+ onTouchEnd: PropTypes.func,
47
+ };
48
+
49
+ constructor(props) {
50
+ super(props);
51
+ this.state = { showCoordinates: false };
52
+ }
53
+
54
+ render() {
55
+ const {
56
+ className,
57
+ coordinatesOnHover,
58
+ x,
59
+ y,
60
+ disabled,
61
+ correctness,
62
+ graphProps,
63
+ labelNode,
64
+ // we need to remove style from props
65
+ // eslint-disable-next-line no-unused-vars,react/prop-types
66
+ style,
67
+ onClick,
68
+ // Refactored RawBp component by isolating onTouchStart and onTouchEnd handlers to the outer circle, resolving erratic touch event behavior.
69
+ // Remaining props are now applied only to the inner circle for improved event handling consistency.
70
+ onTouchStart,
71
+ onTouchEnd,
72
+ ...rest
73
+ } = this.props;
74
+ const { showCoordinates } = this.state;
75
+ const { scale } = graphProps;
76
+ const r = thinnerShapesNeeded(graphProps) ? 5 : 7;
77
+
78
+ return (
79
+ <>
80
+ <circle
81
+ style={{ fill: 'transparent', cursor: 'pointer', pointerEvents: 'all' }}
82
+ r={r * 3}
83
+ cx={scale.x(x)}
84
+ cy={scale.y(y)}
85
+ onMouseEnter={() => this.setState({ showCoordinates: true })}
86
+ onMouseLeave={() => this.setState({ showCoordinates: false })}
87
+ onTouchStart={onTouchStart}
88
+ onTouchEnd={onTouchEnd}
89
+ onClick={onClick}
90
+ />
91
+ <StyledPointGroup
92
+ disabled={disabled}
93
+ correctness={correctness}
94
+ className={className}
95
+ onMouseEnter={() => this.setState({ showCoordinates: true })}
96
+ onMouseLeave={() => this.setState({ showCoordinates: false })}
97
+ >
98
+ <circle
99
+ {...rest}
100
+ style={{ fill: color.defaults.BLACK, cursor: 'pointer' }}
101
+ r={r}
102
+ cx={scale.x(x)}
103
+ cy={scale.y(y)}
104
+ />
105
+ {labelNode &&
106
+ coordinatesOnHover &&
107
+ showCoordinates &&
108
+ ReactDOM.createPortal(<CoordinatesLabel graphProps={graphProps} x={x} y={y} />, labelNode)}
109
+ </StyledPointGroup>
110
+ </>
111
+ );
112
+ }
113
+ }
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { styled } from '@mui/material/styles';
4
+ import { gridDraggable } from '@pie-lib/plot';
5
+ import * as utils from '../../../utils';
6
+ import { correct, disabled, incorrect, missing } from '../styles';
7
+ import { RawBp } from './base-point';
8
+ import { RawArrow } from './arrow-point';
9
+ import { color } from '@pie-lib/render-ui';
10
+ import BaseArrow from './arrow';
11
+
12
+ const opts = {
13
+ bounds: (props, { domain, range }) => {
14
+ const { x, y } = props;
15
+ const area = { left: x, top: y, bottom: y, right: x };
16
+
17
+ return utils.bounds(area, domain, range);
18
+ },
19
+ anchorPoint: (props) => {
20
+ const { x, y } = props;
21
+
22
+ return { x, y };
23
+ },
24
+ fromDelta: (props, delta) => {
25
+ return utils.point(props).add(utils.point(delta));
26
+ },
27
+ };
28
+
29
+ const StyledPointWrapper = styled('g', {
30
+ shouldForwardProp: (prop) => !['disabled', 'correctness'].includes(prop),
31
+ })(({ disabled: isDisabled, correctness }) => ({
32
+ '& circle, & polygon': {
33
+ cursor: 'pointer',
34
+ fill: color.defaults.SECONDARY,
35
+ ...(isDisabled && disabled()),
36
+ ...(correctness === 'correct' && correct()),
37
+ ...(correctness === 'incorrect' && incorrect()),
38
+ ...(correctness === 'missing' && missing()),
39
+ },
40
+ }));
41
+
42
+ const withStyledWrapper = (WrappedComponent) => {
43
+ const WrappedComponentWithStyles = (props) => (
44
+ <StyledPointWrapper disabled={props.disabled} correctness={props.correctness}>
45
+ <WrappedComponent {...props} />
46
+ </StyledPointWrapper>
47
+ );
48
+ WrappedComponentWithStyles.displayName = `withStyledWrapper(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;
49
+ WrappedComponentWithStyles.propTypes = {
50
+ disabled: PropTypes.bool,
51
+ correctness: PropTypes.string,
52
+ };
53
+ return WrappedComponentWithStyles;
54
+ };
55
+
56
+ export const BasePoint = gridDraggable(opts)(withStyledWrapper(RawBp));
57
+ export const ArrowPoint = gridDraggable(opts)(withStyledWrapper(RawArrow));
58
+ export const Arrow = gridDraggable(opts)(withStyledWrapper(BaseArrow));
@@ -0,0 +1,20 @@
1
+ import { color } from '@pie-lib/render-ui';
2
+
3
+ export const disabled = (key = 'fill') => ({
4
+ [key]: color.disabled(),
5
+ pointerEvents: 'none',
6
+ });
7
+
8
+ export const correct = (key = 'fill') => ({
9
+ [key]: color.correct(),
10
+ pointerEvents: 'none',
11
+ });
12
+ export const incorrect = (key = 'fill') => ({
13
+ [key]: color.incorrect(),
14
+ pointerEvents: 'none',
15
+ });
16
+
17
+ export const missing = (key = 'fill') => ({
18
+ [key]: color.missing(),
19
+ pointerEvents: 'none',
20
+ });
@@ -0,0 +1,8 @@
1
+ import PropTypes from 'prop-types';
2
+
3
+ export const ToolPropTypeFields = {
4
+ mark: PropTypes.any,
5
+ onChange: PropTypes.func,
6
+ onDragStart: PropTypes.func,
7
+ onDragStop: PropTypes.func,
8
+ };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { styled } from '@mui/material/styles';
4
+ import Button from '@mui/material/Button';
5
+ import { color } from '@pie-lib/render-ui';
6
+ import Translator from '@pie-lib/translator';
7
+
8
+ const { translator } = Translator;
9
+
10
+ const StyledButton = styled(Button)(({ theme }) => ({
11
+ color: color.text(),
12
+ fontWeight: 'bold',
13
+ marginBottom: theme.spacing(0.5),
14
+ '&:not(:last-of-type)': {
15
+ marginRight: theme.spacing(0.5),
16
+ },
17
+ }));
18
+
19
+ export class UndoRedo extends React.Component {
20
+ static propTypes = {
21
+ className: PropTypes.string,
22
+ onReset: PropTypes.func.isRequired,
23
+ language: PropTypes.string,
24
+ };
25
+ static defaultProps = {};
26
+
27
+ render() {
28
+ const { className, onReset = false, language } = this.props;
29
+ return (
30
+ <div className={className}>
31
+ <StyledButton onClick={() => onReset()}>{translator.t('graphing.reset', { lng: language })}</StyledButton>
32
+ </div>
33
+ );
34
+ }
35
+ }
36
+
37
+ export default UndoRedo;
@@ -0,0 +1,13 @@
1
+ import { useEffect, useState } from 'react';
2
+
3
+ export const useDebounce = (value, delay) => {
4
+ const [debouncedValue, setDebouncedValue] = useState(value);
5
+
6
+ useEffect(() => {
7
+ const handler = setTimeout(() => {
8
+ setDebouncedValue(value);
9
+ }, delay);
10
+ return () => clearTimeout(handler);
11
+ }, [value]);
12
+ return debouncedValue;
13
+ };
package/src/utils.js ADDED
@@ -0,0 +1,230 @@
1
+ import { cloneDeep, head, isEmpty, isEqual, tail } from 'lodash-es';
2
+ import { utils } from '@pie-lib/plot';
3
+ import invariant from 'invariant';
4
+
5
+ export const bounds = utils.bounds;
6
+ export const point = utils.point;
7
+
8
+ //TODO: This can be removed?
9
+ export const getAngleDeg = () => 0;
10
+ //TODO: This can be removed?
11
+ export const arrowDimensions = () => 0;
12
+
13
+ export const getTickValues = (prop) => {
14
+ const tickValues = [];
15
+ let tickVal = 0;
16
+
17
+ while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {
18
+ tickValues.push(tickVal);
19
+ tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;
20
+ }
21
+
22
+ tickVal = Math.round(prop.step * 10000) / 10000;
23
+
24
+ while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {
25
+ tickValues.push(tickVal);
26
+ tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;
27
+ }
28
+
29
+ // return only ticks that are inside the min-max interval
30
+ if (tickValues) {
31
+ return tickValues.filter((tV) => tV >= prop.min && tV <= prop.max);
32
+ }
33
+
34
+ return [];
35
+ };
36
+
37
+ export const countWords = (label) => {
38
+ if (label == null || isEmpty(label)) {
39
+ return 1;
40
+ }
41
+
42
+ const words = label.split(' ');
43
+ return words.length;
44
+ };
45
+
46
+ // findLongestWord is also used in plot
47
+ export const findLongestWord = (label) => {
48
+ let longestWord = (label || '')
49
+ .replace(/<[^>]+>/g, '')
50
+ .split(' ')
51
+ .sort((a, b) => b.length - a.length);
52
+
53
+ return longestWord[0].length;
54
+ };
55
+
56
+ // amountToIncreaseWidth is also used in plot
57
+ export const amountToIncreaseWidth = (longestWord) => {
58
+ if (!longestWord) {
59
+ return 0;
60
+ }
61
+
62
+ return longestWord * 10;
63
+ };
64
+
65
+ export const polygonToArea = (points) => {
66
+ const h = head(points);
67
+ const area = {
68
+ left: h.x,
69
+ top: h.y,
70
+ bottom: h.y,
71
+ right: h.x,
72
+ };
73
+ return tail(points).reduce((a, p) => {
74
+ a.left = Math.min(a.left, p.x);
75
+ a.top = Math.max(a.top, p.y);
76
+ a.bottom = Math.min(a.bottom, p.y);
77
+ a.right = Math.max(a.right, p.x);
78
+ return a;
79
+ }, area);
80
+ };
81
+
82
+ export const lineToArea = (from, to) => pointsToArea(from, to);
83
+
84
+ export const pointsToArea = (a, b) => {
85
+ invariant(!!a && !!b, 'a or b is undefined');
86
+ const left = Math.min(a.x, b.x);
87
+ const top = Math.max(a.y, b.y);
88
+ const bottom = Math.min(a.y, b.y);
89
+ const right = Math.max(a.x, b.x);
90
+ return { left, top, bottom, right };
91
+ };
92
+
93
+ export const getRightestPoints = (points) => {
94
+ const sortedPoints = cloneDeep(points);
95
+ sortedPoints.sort((a, b) => b.x - a.x);
96
+
97
+ return { a: sortedPoints[0], b: sortedPoints[1] };
98
+ };
99
+
100
+ export const getMiddleOfTwoPoints = (a, b) => ({
101
+ x: (a.x + b.x) / 2,
102
+ y: (a.y + b.y) / 2,
103
+ });
104
+
105
+ export const roundNumber = (number) => parseFloat(number.toFixed(4));
106
+
107
+ export const sameAxes = (p1, p2) =>
108
+ p1 && p2 && (roundNumber(p1.x) === roundNumber(p2.x) || roundNumber(p1.y) === roundNumber(p2.y));
109
+
110
+ export const equalPoints = (p1, p2) =>
111
+ p1 &&
112
+ p2 &&
113
+ isEqual(
114
+ {
115
+ x: roundNumber(p1.x),
116
+ y: roundNumber(p1.y),
117
+ },
118
+ {
119
+ x: roundNumber(p2.x),
120
+ y: roundNumber(p2.y),
121
+ },
122
+ );
123
+
124
+ const getDistanceBetweenTicks = (axis, size) => {
125
+ const { min, max, step } = axis;
126
+ const nbOfTicks = (max - min) / step;
127
+
128
+ return size / nbOfTicks;
129
+ };
130
+
131
+ export const thinnerShapesNeeded = (graphProps) => {
132
+ const {
133
+ domain,
134
+ range,
135
+ size: { width, height },
136
+ } = graphProps;
137
+
138
+ // 14 is the default width of a point
139
+ return getDistanceBetweenTicks(domain, width) < 14 || getDistanceBetweenTicks(range, height) < 14;
140
+ };
141
+
142
+ export const getAdjustedGraphLimits = (graphProps) => {
143
+ const {
144
+ domain,
145
+ range,
146
+ size: { width, height },
147
+ } = graphProps;
148
+ const domainTicksDistance = getDistanceBetweenTicks(domain, width);
149
+ const rangeTicksDistance = getDistanceBetweenTicks(range, height);
150
+
151
+ // 15 is the distance required for the arrow to extend the graph
152
+ const domainPadding = domain.step / (domainTicksDistance / 15);
153
+ const rangePadding = range.step / (rangeTicksDistance / 15);
154
+
155
+ return {
156
+ domain: {
157
+ min: domain.min - domainPadding,
158
+ max: domain.max + domainPadding,
159
+ },
160
+ range: {
161
+ min: range.min - rangePadding,
162
+ max: range.max + rangePadding,
163
+ },
164
+ };
165
+ };
166
+
167
+ const sortPoints = (array) => (array || []).sort((a, b) => a.x - b.x || a.y - b.y);
168
+
169
+ // check colliniarity of 3 points (source: https://www.geeksforgeeks.org/program-check-three-points-collinear/)
170
+ const checkCollinearity = (a, b, c) => (a.x - b.x) * (c.y - b.y) === (c.x - b.x) * (a.y - b.y);
171
+
172
+ // 2 lines are overlapping if all 4 points are collinear
173
+ const isSameLine = (markA, markB) =>
174
+ checkCollinearity(markA.from, markB.from, markB.to) && checkCollinearity(markA.to, markB.from, markB.to);
175
+
176
+ export const isDuplicatedMark = (mark, marks, oldMark) => {
177
+ const { type, building } = mark;
178
+
179
+ if (building) {
180
+ return false;
181
+ }
182
+
183
+ const filteredMarks = (marks || []).filter((m) => m.type === type && !m.building);
184
+ const index = filteredMarks.findIndex((m) => isEqual(m, oldMark));
185
+
186
+ if (index !== -1) {
187
+ filteredMarks.splice(index, 1);
188
+ }
189
+
190
+ const duplicated = filteredMarks.find((m) => {
191
+ if (type === 'line') {
192
+ const { from, to } = mark;
193
+ return (
194
+ (equalPoints(from, m.from) && equalPoints(to, m.to)) ||
195
+ (equalPoints(from, m.to) && equalPoints(to, m.from)) ||
196
+ (type === 'line' && isSameLine(m, mark))
197
+ );
198
+ } else if (type === 'polygon') {
199
+ return isEqual(sortPoints(cloneDeep(mark.points)), sortPoints(cloneDeep(m.points)));
200
+ }
201
+ });
202
+
203
+ return !!duplicated;
204
+ };
205
+
206
+ export const areArraysOfObjectsEqual = (array1, array2) => {
207
+ // Check if both arrays have the same length
208
+ if (array1.length !== array2.length) {
209
+ return false;
210
+ }
211
+ // Iterate through each object in the arrays
212
+ for (let i = 0; i < array1.length; i++) {
213
+ // Get the current objects in both arrays
214
+ const obj1 = array1[i];
215
+ const obj2 = array2[i];
216
+ // Check if the objects have the same number of properties
217
+ if (Object.keys(obj1).length !== Object.keys(obj2).length) {
218
+ return false;
219
+ }
220
+ // Iterate through each property in the objects
221
+ for (const key in obj1) {
222
+ // Check if the properties and their values are equal
223
+ if (obj1[key] !== obj2[key]) {
224
+ return false;
225
+ }
226
+ }
227
+ }
228
+ // If all objects are equal, the arrays are the same
229
+ return true;
230
+ };
@@ -1,23 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
3
- let r = {};
4
- for (var i in e) t(r, i, {
5
- get: e[i],
6
- enumerable: !0
7
- });
8
- return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
9
- }, c = (e, i, o, s) => {
10
- if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
11
- get: ((e) => i[e]).bind(null, d),
12
- enumerable: !(s = n(i, d)) || s.enumerable
13
- });
14
- return e;
15
- }, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
16
- value: n,
17
- enumerable: !0
18
- }) : a, n)), u = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
19
- if (typeof require < "u") return require.apply(this, arguments);
20
- throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
21
- });
22
- //#endregion
23
- export { o as __commonJSMin, s as __exportAll, u as __require, l as __toESM };
@@ -1,13 +0,0 @@
1
- /**
2
- * @synced-from pie-lib/packages/graphing-solution-set/src/axis/arrow.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 Arrow extends React.Component {
11
- render(): React.JSX.Element;
12
- }
13
- export default Arrow;
@@ -1,34 +0,0 @@
1
- import e from "react";
2
- import t from "prop-types";
3
- import { types as n } from "@pie-lib/plot";
4
- import { styled as r } from "@mui/material/styles";
5
- import { jsx as i } from "react/jsx-runtime";
6
- //#region src/axis/arrow.tsx
7
- var a = r("path")(({ theme: e }) => ({ fill: `var(--arrow-color, ${e.palette.common.black})` })), o = class extends e.Component {
8
- render() {
9
- let { x: e, y: t, className: n, scale: r } = this.props, o = this.props.direction || "left", s = r.x(e), c = r.y(t), l = "", u = (e, t, n) => `translate(${e}, ${t}) rotate(${n})`;
10
- return o === "left" && (l = u(s - 15, c, 0)), o === "right" && (l = u(s + 15, c, 180)), o === "up" && (l = u(s, c - 15, 90)), o === "down" && (l = u(s, c + 15, 270)), /* @__PURE__ */ i(a, {
11
- d: "m 0,0 8,-5 0,10 -8,-5",
12
- transform: l,
13
- className: n
14
- });
15
- }
16
- };
17
- o.propTypes = {
18
- y: t.number,
19
- x: t.number,
20
- direction: t.oneOf([
21
- "left",
22
- "right",
23
- "up",
24
- "down"
25
- ]),
26
- className: t.string,
27
- scale: n.ScaleType.isRequired
28
- }, o.defaultProps = {
29
- y: 0,
30
- x: 0,
31
- direction: "left"
32
- };
33
- //#endregion
34
- export { o as default };