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

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/dist/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/axis/arrow.d.ts +13 -0
  3. package/dist/axis/arrow.js +34 -0
  4. package/dist/axis/axes.d.ts +132 -0
  5. package/dist/axis/axes.js +214 -0
  6. package/dist/axis/index.d.ts +10 -0
  7. package/dist/bg.d.ts +51 -0
  8. package/dist/bg.js +44 -0
  9. package/dist/container/actions.d.ts +15 -0
  10. package/dist/container/actions.js +7 -0
  11. package/dist/container/index.d.ts +26 -0
  12. package/dist/container/index.js +50 -0
  13. package/dist/container/marks.d.ts +10 -0
  14. package/dist/container/marks.js +11 -0
  15. package/dist/container/middleware.d.ts +10 -0
  16. package/dist/container/middleware.js +4 -0
  17. package/dist/container/reducer.d.ts +12 -0
  18. package/dist/container/reducer.js +7 -0
  19. package/dist/coordinates-label.d.ts +50 -0
  20. package/dist/coordinates-label.js +46 -0
  21. package/dist/graph-with-controls.d.ts +85 -0
  22. package/dist/graph-with-controls.js +155 -0
  23. package/dist/graph.d.ts +119 -0
  24. package/dist/graph.js +221 -0
  25. package/dist/grid-setup.d.ts +27 -0
  26. package/dist/grid-setup.js +307 -0
  27. package/dist/grid.d.ts +43 -0
  28. package/dist/grid.js +59 -0
  29. package/dist/index.d.ts +14 -0
  30. package/dist/index.js +6 -0
  31. package/dist/labels.d.ts +73 -0
  32. package/dist/labels.js +134 -0
  33. package/dist/mark-label.d.ts +50 -0
  34. package/dist/mark-label.js +84 -0
  35. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +7 -0
  36. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/defineProperty.js +12 -0
  37. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  38. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js +7 -0
  39. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectSpread2.js +25 -0
  40. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  41. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js +8 -0
  42. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +14 -0
  43. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +9 -0
  44. package/dist/node_modules/.bun/@babel_runtime@7.29.7/node_modules/@babel/runtime/helpers/esm/typeof.js +11 -0
  45. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +100 -0
  46. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +61 -0
  47. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +42 -0
  48. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  49. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  50. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +21 -0
  51. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  52. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  53. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +15 -0
  54. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/Grid.js +78 -0
  55. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +79 -0
  56. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +79 -0
  57. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  58. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +49 -0
  59. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +18 -0
  60. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  61. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +9 -0
  62. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  63. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +46 -0
  64. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +52 -0
  65. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +57 -0
  66. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +91 -0
  67. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +21 -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/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +68 -0
  71. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  72. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Hash.js +21 -0
  73. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_ListCache.js +21 -0
  74. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Map.js +10 -0
  75. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_MapCache.js +21 -0
  76. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Symbol.js +9 -0
  77. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_assocIndexOf.js +14 -0
  78. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseGetTag.js +15 -0
  79. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseIsNative.js +16 -0
  80. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_coreJsData.js +9 -0
  81. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_freeGlobal.js +8 -0
  82. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getMapData.js +14 -0
  83. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getNative.js +15 -0
  84. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getRawTag.js +19 -0
  85. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getValue.js +11 -0
  86. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashClear.js +13 -0
  87. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashDelete.js +12 -0
  88. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashGet.js +18 -0
  89. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashHas.js +14 -0
  90. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashSet.js +14 -0
  91. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isKeyable.js +12 -0
  92. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isMasked.js +16 -0
  93. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheClear.js +11 -0
  94. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheDelete.js +14 -0
  95. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheGet.js +14 -0
  96. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheHas.js +13 -0
  97. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheSet.js +14 -0
  98. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheClear.js +19 -0
  99. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheDelete.js +14 -0
  100. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheGet.js +13 -0
  101. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheHas.js +13 -0
  102. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheSet.js +14 -0
  103. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_nativeCreate.js +9 -0
  104. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_objectToString.js +12 -0
  105. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_root.js +10 -0
  106. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_toSource.js +20 -0
  107. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/eq.js +11 -0
  108. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isFunction.js +16 -0
  109. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isObject.js +12 -0
  110. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/memoize.js +20 -0
  111. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  112. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  113. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  114. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  115. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  116. package/dist/node_modules/.bun/react-input-autosize@2.2.2_f4eacebf2041cd4f/node_modules/react-input-autosize/lib/AutosizeInput.js +216 -0
  117. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js +82 -0
  118. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js +62 -0
  119. package/dist/node_modules/.bun/react-is@16.13.1/node_modules/react-is/index.js +10 -0
  120. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/Context.js +5 -0
  121. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/Provider.js +47 -0
  122. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/components/connectAdvanced.js +95 -0
  123. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/connect.js +52 -0
  124. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mapDispatchToProps.js +23 -0
  125. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mapStateToProps.js +13 -0
  126. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/mergeProps.js +26 -0
  127. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/selectorFactory.js +41 -0
  128. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/verifySubselectors.js +11 -0
  129. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/connect/wrapMapToProps.js +28 -0
  130. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/index.js +4 -0
  131. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/isPlainObject.js +10 -0
  132. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/shallowEqual.js +15 -0
  133. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/verifyPlainObject.js +8 -0
  134. package/dist/node_modules/.bun/react-redux@6.0.1_926323a638b43722/node_modules/react-redux/es/utils/warning.js +9 -0
  135. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  136. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  137. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  138. package/dist/node_modules/.bun/redux@4.2.1/node_modules/redux/es/redux.js +225 -0
  139. package/dist/toggle-bar.d.ts +40 -0
  140. package/dist/tool-menu.d.ts +21 -0
  141. package/dist/tool-menu.js +188 -0
  142. package/dist/tools/index.d.ts +17 -0
  143. package/dist/tools/index.js +12 -0
  144. package/dist/tools/line/component.d.ts +113 -0
  145. package/dist/tools/line/component.js +58 -0
  146. package/dist/tools/line/index.d.ts +13 -0
  147. package/dist/tools/line/index.js +6 -0
  148. package/dist/tools/polygon/component.d.ts +114 -0
  149. package/dist/tools/polygon/component.js +194 -0
  150. package/dist/tools/polygon/index.d.ts +19 -0
  151. package/dist/tools/polygon/index.js +55 -0
  152. package/dist/tools/polygon/line.d.ts +125 -0
  153. package/dist/tools/polygon/polygon.d.ts +122 -0
  154. package/dist/tools/polygon/polygon.js +62 -0
  155. package/dist/tools/shared/arrow-head.d.ts +43 -0
  156. package/dist/tools/shared/arrow-head.js +37 -0
  157. package/dist/tools/shared/line/index.d.ts +240 -0
  158. package/dist/tools/shared/line/index.js +320 -0
  159. package/dist/tools/shared/line/line-path.d.ts +57 -0
  160. package/dist/tools/shared/line/with-root-edge.d.ts +143 -0
  161. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  162. package/dist/tools/shared/point/arrow-point.js +47 -0
  163. package/dist/tools/shared/point/arrow.d.ts +46 -0
  164. package/dist/tools/shared/point/arrow.js +36 -0
  165. package/dist/tools/shared/point/base-point.d.ts +50 -0
  166. package/dist/tools/shared/point/base-point.js +88 -0
  167. package/dist/tools/shared/point/index.d.ts +217 -0
  168. package/dist/tools/shared/point/index.js +51 -0
  169. package/dist/tools/shared/styles.d.ts +24 -0
  170. package/dist/tools/shared/styles.js +17 -0
  171. package/dist/tools/shared/types.d.ts +15 -0
  172. package/dist/tools/shared/types.js +10 -0
  173. package/dist/undo-redo.d.ts +20 -0
  174. package/dist/undo-redo.js +33 -0
  175. package/dist/use-debounce.d.ts +9 -0
  176. package/dist/use-debounce.js +13 -0
  177. package/dist/utils.d.ts +58 -0
  178. package/dist/utils.js +72 -0
  179. package/package.json +36 -26
  180. package/CHANGELOG.json +0 -1
  181. package/CHANGELOG.md +0 -445
  182. package/LICENSE.md +0 -5
  183. package/lib/axis/arrow.js +0 -79
  184. package/lib/axis/arrow.js.map +0 -1
  185. package/lib/axis/axes.js +0 -327
  186. package/lib/axis/axes.js.map +0 -1
  187. package/lib/axis/index.js +0 -21
  188. package/lib/axis/index.js.map +0 -1
  189. package/lib/bg.js +0 -114
  190. package/lib/bg.js.map +0 -1
  191. package/lib/container/actions.js +0 -18
  192. package/lib/container/actions.js.map +0 -1
  193. package/lib/container/index.js +0 -120
  194. package/lib/container/index.js.map +0 -1
  195. package/lib/container/marks.js +0 -22
  196. package/lib/container/marks.js.map +0 -1
  197. package/lib/container/middleware.js +0 -19
  198. package/lib/container/middleware.js.map +0 -1
  199. package/lib/container/reducer.js +0 -18
  200. package/lib/container/reducer.js.map +0 -1
  201. package/lib/coordinates-label.js +0 -77
  202. package/lib/coordinates-label.js.map +0 -1
  203. package/lib/graph-with-controls.js +0 -297
  204. package/lib/graph-with-controls.js.map +0 -1
  205. package/lib/graph.js +0 -353
  206. package/lib/graph.js.map +0 -1
  207. package/lib/grid-setup.js +0 -414
  208. package/lib/grid-setup.js.map +0 -1
  209. package/lib/grid.js +0 -131
  210. package/lib/grid.js.map +0 -1
  211. package/lib/index.js +0 -40
  212. package/lib/index.js.map +0 -1
  213. package/lib/labels.js +0 -199
  214. package/lib/labels.js.map +0 -1
  215. package/lib/mark-label.js +0 -159
  216. package/lib/mark-label.js.map +0 -1
  217. package/lib/toggle-bar.js +0 -248
  218. package/lib/toggle-bar.js.map +0 -1
  219. package/lib/tool-menu.js +0 -218
  220. package/lib/tool-menu.js.map +0 -1
  221. package/lib/tools/index.js +0 -24
  222. package/lib/tools/index.js.map +0 -1
  223. package/lib/tools/line/component.js +0 -92
  224. package/lib/tools/line/component.js.map +0 -1
  225. package/lib/tools/line/index.js +0 -11
  226. package/lib/tools/line/index.js.map +0 -1
  227. package/lib/tools/polygon/component.js +0 -358
  228. package/lib/tools/polygon/component.js.map +0 -1
  229. package/lib/tools/polygon/index.js +0 -89
  230. package/lib/tools/polygon/index.js.map +0 -1
  231. package/lib/tools/polygon/line.js +0 -114
  232. package/lib/tools/polygon/line.js.map +0 -1
  233. package/lib/tools/polygon/polygon.js +0 -128
  234. package/lib/tools/polygon/polygon.js.map +0 -1
  235. package/lib/tools/shared/arrow-head.js +0 -62
  236. package/lib/tools/shared/arrow-head.js.map +0 -1
  237. package/lib/tools/shared/line/index.js +0 -539
  238. package/lib/tools/shared/line/index.js.map +0 -1
  239. package/lib/tools/shared/line/line-path.js +0 -121
  240. package/lib/tools/shared/line/line-path.js.map +0 -1
  241. package/lib/tools/shared/line/with-root-edge.js +0 -121
  242. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  243. package/lib/tools/shared/point/arrow-point.js +0 -86
  244. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  245. package/lib/tools/shared/point/arrow.js +0 -70
  246. package/lib/tools/shared/point/arrow.js.map +0 -1
  247. package/lib/tools/shared/point/base-point.js +0 -137
  248. package/lib/tools/shared/point/base-point.js.map +0 -1
  249. package/lib/tools/shared/point/index.js +0 -80
  250. package/lib/tools/shared/point/index.js.map +0 -1
  251. package/lib/tools/shared/styles.js +0 -26
  252. package/lib/tools/shared/styles.js.map +0 -1
  253. package/lib/tools/shared/types.js +0 -15
  254. package/lib/tools/shared/types.js.map +0 -1
  255. package/lib/undo-redo.js +0 -67
  256. package/lib/undo-redo.js.map +0 -1
  257. package/lib/use-debounce.js +0 -25
  258. package/lib/use-debounce.js.map +0 -1
  259. package/lib/utils.js +0 -235
  260. package/lib/utils.js.map +0 -1
  261. package/src/__tests__/bg.test.jsx +0 -250
  262. package/src/__tests__/coordinates-label.test.jsx +0 -243
  263. package/src/__tests__/graph-with-controls.test.jsx +0 -184
  264. package/src/__tests__/graph.test.jsx +0 -93
  265. package/src/__tests__/grid-setup.test.jsx +0 -645
  266. package/src/__tests__/grid.test.jsx +0 -23
  267. package/src/__tests__/labels.test.jsx +0 -41
  268. package/src/__tests__/mark-label.test.jsx +0 -66
  269. package/src/__tests__/toggle-bar.test.jsx +0 -106
  270. package/src/__tests__/tool-menu.test.jsx +0 -453
  271. package/src/__tests__/undo-redo.test.jsx +0 -26
  272. package/src/__tests__/use-debounce.test.js +0 -21
  273. package/src/__tests__/utils.js +0 -41
  274. package/src/__tests__/utils.test.js +0 -105
  275. package/src/axis/__tests__/arrow.test.jsx +0 -43
  276. package/src/axis/__tests__/axes.test.jsx +0 -182
  277. package/src/axis/arrow.jsx +0 -57
  278. package/src/axis/axes.jsx +0 -284
  279. package/src/axis/index.js +0 -3
  280. package/src/bg.jsx +0 -96
  281. package/src/container/__tests__/actions.test.js +0 -105
  282. package/src/container/__tests__/index.test.jsx +0 -227
  283. package/src/container/__tests__/marks.test.js +0 -172
  284. package/src/container/__tests__/middleware.test.js +0 -235
  285. package/src/container/__tests__/reducer.test.js +0 -324
  286. package/src/container/actions.js +0 -8
  287. package/src/container/index.jsx +0 -85
  288. package/src/container/marks.js +0 -14
  289. package/src/container/middleware.js +0 -7
  290. package/src/container/reducer.js +0 -5
  291. package/src/coordinates-label.jsx +0 -62
  292. package/src/graph-with-controls.jsx +0 -242
  293. package/src/graph.jsx +0 -333
  294. package/src/grid-setup.jsx +0 -432
  295. package/src/grid.jsx +0 -133
  296. package/src/index.js +0 -7
  297. package/src/labels.jsx +0 -173
  298. package/src/mark-label.jsx +0 -125
  299. package/src/toggle-bar.jsx +0 -221
  300. package/src/tool-menu.jsx +0 -235
  301. package/src/tools/index.js +0 -8
  302. package/src/tools/line/__tests__/component.test.jsx +0 -37
  303. package/src/tools/line/component.jsx +0 -77
  304. package/src/tools/line/index.js +0 -4
  305. package/src/tools/polygon/__tests__/component.test.jsx +0 -487
  306. package/src/tools/polygon/__tests__/index.test.js +0 -65
  307. package/src/tools/polygon/__tests__/line.test.jsx +0 -23
  308. package/src/tools/polygon/__tests__/polygon.test.jsx +0 -44
  309. package/src/tools/polygon/component.jsx +0 -324
  310. package/src/tools/polygon/index.js +0 -52
  311. package/src/tools/polygon/line.jsx +0 -80
  312. package/src/tools/polygon/polygon.jsx +0 -93
  313. package/src/tools/shared/__tests__/arrow-head.test.jsx +0 -33
  314. package/src/tools/shared/arrow-head.jsx +0 -46
  315. package/src/tools/shared/line/__tests__/index.test.jsx +0 -553
  316. package/src/tools/shared/line/__tests__/line-path.test.jsx +0 -56
  317. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +0 -488
  318. package/src/tools/shared/line/index.jsx +0 -471
  319. package/src/tools/shared/line/line-path.jsx +0 -85
  320. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  321. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +0 -91
  322. package/src/tools/shared/point/__tests__/arrow.test.jsx +0 -469
  323. package/src/tools/shared/point/__tests__/base-point.test.jsx +0 -87
  324. package/src/tools/shared/point/arrow-point.jsx +0 -60
  325. package/src/tools/shared/point/arrow.jsx +0 -40
  326. package/src/tools/shared/point/base-point.jsx +0 -113
  327. package/src/tools/shared/point/index.jsx +0 -58
  328. package/src/tools/shared/styles.js +0 -20
  329. package/src/tools/shared/types.js +0 -8
  330. package/src/undo-redo.jsx +0 -37
  331. package/src/use-debounce.js +0 -13
  332. package/src/utils.js +0 -230
@@ -1,41 +0,0 @@
1
- export const scaleMock = () => {
2
- const fn = jest.fn((n) => n);
3
- fn.invert = jest.fn((n) => n);
4
- fn.domain = jest.fn(() => fn);
5
- fn.range = jest.fn(() => fn);
6
- fn.copy = jest.fn(() => scaleMock());
7
- return fn;
8
- };
9
-
10
- export const graphProps = (dmin = 0, dmax = 1, rmin = 0, rmax = 1) => ({
11
- scale: {
12
- x: scaleMock(),
13
- y: scaleMock(),
14
- },
15
- snap: {
16
- x: jest.fn((n) => n),
17
- y: jest.fn((n) => n),
18
- },
19
- domain: {
20
- min: dmin,
21
- max: dmax,
22
- step: 1,
23
- },
24
- range: {
25
- min: rmin,
26
- max: rmax,
27
- step: 1,
28
- },
29
- size: {
30
- width: 400,
31
- height: 400,
32
- },
33
- });
34
-
35
- export const xy = (x, y, index) => {
36
- const out = { x, y, index };
37
- if (!Number.isFinite(index)) {
38
- delete out.index;
39
- }
40
- return out;
41
- };
@@ -1,105 +0,0 @@
1
- import * as utils from '../utils';
2
-
3
- const xy = (x, y) => ({ x, y });
4
-
5
- const tick = (isMajor, v) => ({
6
- major: isMajor,
7
- value: v,
8
- x: v,
9
- });
10
-
11
- const major = tick.bind(null, true);
12
- const minor = tick.bind(null, false);
13
-
14
- describe('utils', () => {
15
- describe('polygonToArea', () => {
16
- const assertPolygon = (points, area) => {
17
- it(`converts ${points} -> ${area}`, () => {
18
- const result = utils.polygonToArea(points);
19
- expect(result).toEqual(area);
20
- });
21
- };
22
- assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {
23
- left: 0,
24
- top: 1,
25
- bottom: -1,
26
- right: 1,
27
- });
28
- assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {
29
- left: 0,
30
- top: 0,
31
- bottom: -4,
32
- right: 4,
33
- });
34
- });
35
-
36
- describe('lineToArea', () => {
37
- const assertLine = (from, to, expected) => {
38
- it(`${from},${to} => ${expected}`, () => {
39
- const result = utils.lineToArea(from, to);
40
- expect(result).toEqual(expected);
41
- });
42
- };
43
-
44
- assertLine(xy(1, 1), xy(2, 2), { left: 1, top: 2, bottom: 1, right: 2 });
45
- assertLine(xy(-1, 4), xy(4, -3), {
46
- left: -1,
47
- top: 4,
48
- bottom: -3,
49
- right: 4,
50
- });
51
- });
52
-
53
- describe('getTickValues', () => {
54
- const assertGetTickValues = (props, expected) => {
55
- it(` => ${expected}`, () => {
56
- const result = utils.getTickValues(props);
57
- expect(result).toEqual(expected);
58
- });
59
- };
60
-
61
- assertGetTickValues({ min: 0, max: 10, step: 1 }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
62
- assertGetTickValues({ min: 0, max: 3, step: 0.5 }, [0, 0.5, 1, 1.5, 2, 2.5, 3]);
63
- assertGetTickValues({ min: -0.2, max: 2, step: 0.6 }, [0, 0.6, 1.2, 1.8]);
64
- assertGetTickValues({ min: -3.4, max: 6.2, step: 1.2 }, [0, -1.2, -2.4, 1.2, 2.4, 3.6, 4.8, 6]);
65
-
66
- assertGetTickValues(
67
- { min: 0.6, max: 4.8, step: 0.3 },
68
- [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8],
69
- );
70
- assertGetTickValues(
71
- { min: 0.5, max: 4.9, step: 0.3 },
72
- [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8],
73
- );
74
- assertGetTickValues(
75
- { min: 0, max: 3, step: 0.125 },
76
- [
77
- 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2, 2.125, 2.25,
78
- 2.375, 2.5, 2.625, 2.75, 2.875, 3,
79
- ],
80
- );
81
- });
82
-
83
- describe('countWords', () => {
84
- it('should return 1 if label is undefined', () => {
85
- const label = undefined;
86
- const result = utils.countWords(label);
87
-
88
- expect(result).toEqual(1);
89
- });
90
-
91
- it('should return 1 if label is null', () => {
92
- const label = null;
93
- const result = utils.countWords(label);
94
-
95
- expect(result).toEqual(1);
96
- });
97
-
98
- it('should return 3 if label has 3 words', () => {
99
- const label = 'Number of months';
100
- const result = utils.countWords(label);
101
-
102
- expect(result).toEqual(3);
103
- });
104
- });
105
- });
@@ -1,43 +0,0 @@
1
- import { render } from '@pie-lib/test-utils';
2
- import React from 'react';
3
- import { Arrow } from '../arrow';
4
-
5
- describe('Arrow', () => {
6
- let onChange = jest.fn();
7
-
8
- const renderComponent = (extras) => {
9
- const defaults = {
10
- classes: {},
11
- className: 'className',
12
- onChange,
13
- scale: {
14
- x: jest.fn((n) => n),
15
- y: jest.fn((n) => n),
16
- },
17
- };
18
- const props = { ...defaults, ...extras };
19
- return render(<Arrow {...props} />);
20
- };
21
-
22
- describe('rendering', () => {
23
- it('renders with direction up', () => {
24
- const { container } = renderComponent({ direction: 'up' });
25
- expect(container.firstChild).toBeInTheDocument();
26
- });
27
-
28
- it('renders with direction down', () => {
29
- const { container } = renderComponent({ direction: 'down' });
30
- expect(container.firstChild).toBeInTheDocument();
31
- });
32
-
33
- it('renders with direction left', () => {
34
- const { container } = renderComponent({ direction: 'left' });
35
- expect(container.firstChild).toBeInTheDocument();
36
- });
37
-
38
- it('renders with direction right', () => {
39
- const { container } = renderComponent({ direction: 'right' });
40
- expect(container.firstChild).toBeInTheDocument();
41
- });
42
- });
43
- });
@@ -1,182 +0,0 @@
1
- import { render } from '@pie-lib/test-utils';
2
- import React from 'react';
3
- import { graphProps } from '../../__tests__/utils';
4
-
5
- import { firstNegativeValue, RawXAxis, RawYAxis, sharedValues } from '../axes';
6
-
7
- describe('RawXAxis', () => {
8
- let onChange = jest.fn();
9
-
10
- const renderComponent = (extras) => {
11
- const defaults = {
12
- classes: {},
13
- className: 'className',
14
- onChange,
15
- graphProps: graphProps(),
16
- includeArrows: {
17
- left: true,
18
- right: true,
19
- up: true,
20
- down: true,
21
- },
22
- columnTicksValues: [-1, 0, 1],
23
- skipValues: [],
24
- distanceFromOriginToFirstNegativeY: 0,
25
- dy: 0,
26
- };
27
- const props = { ...defaults, ...extras };
28
- return render(<RawXAxis {...props} />);
29
- };
30
-
31
- describe('rendering', () => {
32
- it('renders without crashing', () => {
33
- const { container } = renderComponent();
34
- expect(container.firstChild).toBeInTheDocument();
35
- });
36
- });
37
- });
38
-
39
- describe('RawYAxis', () => {
40
- let onChange = jest.fn();
41
-
42
- const renderComponent = (extras) => {
43
- const defaults = {
44
- classes: {},
45
- className: 'className',
46
- onChange,
47
- graphProps: graphProps(),
48
- includeArrows: {
49
- left: true,
50
- right: true,
51
- up: true,
52
- down: true,
53
- },
54
- rowTickValues: [-1, 0, 1],
55
- skipValues: [],
56
- };
57
- const props = { ...defaults, ...extras };
58
- return render(<RawYAxis {...props} />);
59
- };
60
-
61
- describe('rendering', () => {
62
- it('renders without crashing', () => {
63
- const { container } = renderComponent();
64
- expect(container.firstChild).toBeInTheDocument();
65
- });
66
- });
67
- });
68
-
69
- const customScaleMock = (distance) => {
70
- const fn = jest.fn((n) => n * distance);
71
- fn.invert = jest.fn((n) => n * distance);
72
- fn.domain = jest.fn(() => fn);
73
- fn.range = jest.fn(() => fn);
74
- fn.copy = jest.fn(() => customScaleMock(distance));
75
- return fn;
76
- };
77
-
78
- // Note: Instance method tests (xValues, yValues) have been removed.
79
- // These methods are internal implementation details and should be tested through
80
- // component rendering and integration tests that verify the axes render correctly.
81
-
82
- describe('firstNegativeValue', () => {
83
- it('should return undefined for undefined interval', () => {
84
- const interval = undefined;
85
- const result = firstNegativeValue(interval);
86
- expect(result).toEqual(undefined);
87
- });
88
-
89
- it('should return undefined for empty interval', () => {
90
- const interval = [];
91
- const result = firstNegativeValue(interval);
92
- expect(result).toEqual(undefined);
93
- });
94
-
95
- it('should return undefined if there is no negative in interval array', () => {
96
- const interval = [1, 5, 7, 4, 5];
97
- const result = firstNegativeValue(interval);
98
- expect(result).toEqual(undefined);
99
- });
100
-
101
- it('should return first negative number from interval', () => {
102
- const interval = [1, 5, 7, -2, 4, 5, -1];
103
- const result = firstNegativeValue(interval);
104
- expect(result).toEqual(-2);
105
- });
106
- });
107
-
108
- describe('sharedValues', () => {
109
- it('should be empty array if firstNegativeValue for one of the axes is undefined', () => {
110
- // x
111
- const intervalX = [1, 2, 3, 4, 5, 6];
112
- const firstNegativeX = firstNegativeValue(intervalX);
113
- const distanceFromOriginToFirstNegativeX = -22;
114
-
115
- // y
116
- const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
117
- const firstNegativeY = firstNegativeValue(intervalY);
118
- const distanceFromOriginToFirstNegativeY = -22;
119
-
120
- const deltaAllowance = 5;
121
-
122
- const result = sharedValues(
123
- firstNegativeX,
124
- firstNegativeY,
125
- distanceFromOriginToFirstNegativeX,
126
- distanceFromOriginToFirstNegativeY,
127
- deltaAllowance,
128
- );
129
-
130
- expect(result).toEqual([]);
131
- });
132
-
133
- it('should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', () => {
134
- // x
135
- const intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
136
- const firstNegativeX = firstNegativeValue(intervalX);
137
- const distanceFromOriginToFirstNegativeX = -7;
138
-
139
- // y
140
- const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
141
- const firstNegativeY = firstNegativeValue(intervalY);
142
- const distanceFromOriginToFirstNegativeY = -22;
143
-
144
- const deltaAllowance = 5;
145
-
146
- const result = sharedValues(
147
- firstNegativeX,
148
- firstNegativeY,
149
- distanceFromOriginToFirstNegativeX,
150
- distanceFromOriginToFirstNegativeY,
151
- deltaAllowance,
152
- );
153
-
154
- expect(result).toEqual([]);
155
- });
156
-
157
- it('should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', () => {
158
- // x
159
- const intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
160
- const firstNegativeX = firstNegativeValue(intervalX);
161
- const distanceFromOriginToFirstNegativeX = -20;
162
-
163
- // y
164
- const intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
165
- const firstNegativeY = firstNegativeValue(intervalY);
166
- const distanceFromOriginToFirstNegativeY = -22;
167
-
168
- const deltaAllowance = 5;
169
- const dy = -20; // dy needs to be within the range for the condition to pass
170
-
171
- const result = sharedValues(
172
- firstNegativeX,
173
- firstNegativeY,
174
- distanceFromOriginToFirstNegativeX,
175
- distanceFromOriginToFirstNegativeY,
176
- deltaAllowance,
177
- dy,
178
- );
179
-
180
- expect(result).toEqual([-1]);
181
- });
182
- });
@@ -1,57 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
-
4
- import { styled } from '@mui/material/styles';
5
- import { types } from '@pie-lib/plot';
6
-
7
- const StyledPath = styled('path')(({ theme }) => ({
8
- fill: `var(--arrow-color, ${theme.palette.common.black})`,
9
- }));
10
-
11
- export class Arrow extends React.Component {
12
- render() {
13
- const { x, y, className, scale } = this.props;
14
- let direction = this.props.direction || 'left';
15
-
16
- const xv = scale.x(x);
17
- const yv = scale.y(y);
18
-
19
- let transform = '';
20
-
21
- const getTransform = (x, y, rotate) => `translate(${x}, ${y}) rotate(${rotate})`;
22
-
23
- if (direction === 'left') {
24
- transform = getTransform(xv - 15, yv, 0);
25
- }
26
-
27
- if (direction === 'right') {
28
- transform = getTransform(xv + 15, yv, 180);
29
- }
30
-
31
- if (direction === 'up') {
32
- transform = getTransform(xv, yv - 15, 90);
33
- }
34
-
35
- if (direction === 'down') {
36
- transform = getTransform(xv, yv + 15, 270);
37
- }
38
-
39
- return <StyledPath d="m 0,0 8,-5 0,10 -8,-5" transform={transform} className={className} />;
40
- }
41
- }
42
-
43
- Arrow.propTypes = {
44
- y: PropTypes.number,
45
- x: PropTypes.number,
46
- direction: PropTypes.oneOf(['left', 'right', 'up', 'down']),
47
- className: PropTypes.string,
48
- scale: types.ScaleType.isRequired,
49
- };
50
-
51
- Arrow.defaultProps = {
52
- y: 0,
53
- x: 0,
54
- direction: 'left',
55
- };
56
-
57
- export default Arrow;
package/src/axis/axes.jsx DELETED
@@ -1,284 +0,0 @@
1
- import React from 'react';
2
- import { Axis } from '@visx/axis';
3
- import { types } from '@pie-lib/plot';
4
- import PropTypes from 'prop-types';
5
- import Arrow from './arrow';
6
- import { styled } from '@mui/material/styles';
7
- import { amountToIncreaseWidth, countWords, findLongestWord, getTickValues } from '../utils';
8
- import { color, Readable } from '@pie-lib/render-ui';
9
-
10
- export const AxisPropTypes = {
11
- includeArrows: PropTypes.object,
12
- graphProps: PropTypes.object,
13
- };
14
-
15
- const AxisDefaultProps = {
16
- includeArrows: {
17
- left: true,
18
- right: true,
19
- up: true,
20
- down: true,
21
- },
22
- };
23
-
24
- const StyledAxesGroup = styled('g')(() => ({
25
- '& .visx-axis-line': {
26
- stroke: '#8a92c0',
27
- strokeWidth: 4,
28
- },
29
- '& .visx-axis-tick': {
30
- fill: color.defaults.BLACK,
31
- '& > line': {
32
- stroke: '#8a92c0',
33
- },
34
- },
35
- }));
36
-
37
- const AxisLabelHolder = styled('div')(({ theme, centered }) => ({
38
- padding: 0,
39
- margin: 0,
40
- '* > *': {
41
- margin: 0,
42
- padding: 0,
43
- },
44
- '& p': {
45
- margin: 0,
46
- },
47
- fontSize: theme.typography.fontSize,
48
- ...(centered && { textAlign: 'center' }),
49
- }));
50
-
51
- const StyledArrow = styled(Arrow)({
52
- fill: '#8a92c0',
53
- });
54
-
55
- const tickLabelStyles = {
56
- fontFamily: 'Roboto',
57
- fontSize: '14px',
58
- cursor: 'inherit',
59
- };
60
-
61
- export const sharedValues = (
62
- firstNegativeX,
63
- firstNegativeY,
64
- distanceFromOriginToFirstNegativeX,
65
- distanceFromOriginToFirstNegativeY,
66
- deltaAllowance,
67
- dy,
68
- ) => {
69
- let result = [];
70
-
71
- if (
72
- firstNegativeX === firstNegativeY &&
73
- distanceFromOriginToFirstNegativeX - deltaAllowance < distanceFromOriginToFirstNegativeY &&
74
- distanceFromOriginToFirstNegativeY < distanceFromOriginToFirstNegativeX + deltaAllowance &&
75
- distanceFromOriginToFirstNegativeX - deltaAllowance < dy &&
76
- dy < distanceFromOriginToFirstNegativeX + deltaAllowance
77
- ) {
78
- result.push(firstNegativeX);
79
- }
80
-
81
- return result;
82
- };
83
-
84
- export const firstNegativeValue = (interval) => (interval || []).find((element) => element < 0);
85
-
86
- export class RawXAxis extends React.Component {
87
- static propTypes = {
88
- ...AxisPropTypes,
89
- graphProps: types.GraphPropsType.isRequired,
90
- };
91
- static defaultProps = AxisDefaultProps;
92
-
93
- render() {
94
- const { includeArrows, graphProps, columnTicksValues, skipValues, distanceFromOriginToFirstNegativeY, dy } =
95
- this.props;
96
- const { scale, domain, size, range } = graphProps || {};
97
-
98
- const labelProps = (label) => {
99
- const y = skipValues && skipValues[0] === label ? distanceFromOriginToFirstNegativeY + 4 : dy;
100
-
101
- return {
102
- ...tickLabelStyles,
103
- textAnchor: 'middle',
104
- y: y,
105
- dx: label === 0 ? -10 : 0,
106
- dy: label === 0 ? -7 : 0,
107
- };
108
- };
109
-
110
- const necessaryRows = countWords(domain.axisLabel);
111
- const longestWord = findLongestWord(domain.axisLabel);
112
- const necessaryWidth = amountToIncreaseWidth(longestWord) + 2;
113
-
114
- return (
115
- <StyledAxesGroup>
116
- <Axis
117
- scale={scale.x}
118
- top={scale.y(0)}
119
- left={0}
120
- label={domain.label}
121
- rangePadding={8}
122
- tickFormat={(value) => value}
123
- tickLabelProps={labelProps}
124
- tickValues={columnTicksValues}
125
- hideZero={!(domain.labelStep || range.labelStep) && domain.min <= 0}
126
- />
127
- {includeArrows && includeArrows.left && <StyledArrow direction="left" x={domain.min} y={0} scale={scale} />}
128
- {includeArrows && includeArrows.right && <StyledArrow direction="right" x={domain.max} y={0} scale={scale} />}
129
- {domain.axisLabel && (
130
- <foreignObject x={size.width + 17} y={scale.y(0) - 9} width={necessaryWidth} height={20 * necessaryRows}>
131
- <Readable false>
132
- <AxisLabelHolder dangerouslySetInnerHTML={{ __html: domain.axisLabel }} />
133
- </Readable>
134
- </foreignObject>
135
- )}
136
- </StyledAxesGroup>
137
- );
138
- }
139
- }
140
-
141
- const XAxis = RawXAxis;
142
-
143
- export class RawYAxis extends React.Component {
144
- static propTypes = {
145
- ...AxisPropTypes,
146
- graphProps: types.GraphPropsType.isRequired,
147
- };
148
- static defaultProps = AxisDefaultProps;
149
-
150
- render() {
151
- const { includeArrows, graphProps, skipValues, rowTickValues } = this.props;
152
- const { scale, range, size } = graphProps || {};
153
-
154
- const necessaryWidth = range.axisLabel ? amountToIncreaseWidth(range.axisLabel.length) : 0;
155
-
156
- const customTickFormat = (value) => (skipValues && skipValues.indexOf(value) >= 0 ? '' : value);
157
-
158
- return (
159
- <StyledAxesGroup>
160
- <Axis
161
- orientation={'left'}
162
- scale={scale.y}
163
- top={0}
164
- height={size.height}
165
- left={scale.x(0)}
166
- label={range.label}
167
- labelProps={{ 'data-pie-readable': false }}
168
- rangePadding={8}
169
- tickLength={10}
170
- tickFormat={customTickFormat}
171
- tickLabelProps={(value) => {
172
- let digits = value.toLocaleString().replace(/[.-]/g, '').length || 1;
173
-
174
- return {
175
- ...tickLabelStyles,
176
- dy: 4,
177
- dx: -10 - digits * 9,
178
- 'data-pie-readable': false,
179
- };
180
- }}
181
- hideZero={true}
182
- tickTextAnchor={'bottom'}
183
- tickValues={rowTickValues}
184
- />
185
- {includeArrows && includeArrows.down && <StyledArrow direction="down" x={0} y={range.min} scale={scale} />}
186
- {includeArrows && includeArrows.up && <StyledArrow direction="up" x={0} y={range.max} scale={scale} />}
187
- {range.axisLabel && (
188
- <foreignObject x={scale.x(0) - necessaryWidth / 2} y={-33} width={necessaryWidth} height="20">
189
- <Readable false>
190
- <AxisLabelHolder centered dangerouslySetInnerHTML={{ __html: range.axisLabel }} />
191
- </Readable>
192
- </foreignObject>
193
- )}
194
- </StyledAxesGroup>
195
- );
196
- }
197
- }
198
-
199
- const YAxis = RawYAxis;
200
-
201
- export default class Axes extends React.Component {
202
- static propTypes = {
203
- ...AxisPropTypes,
204
- graphProps: types.GraphPropsType.isRequired,
205
- };
206
- static defaultProps = AxisDefaultProps;
207
-
208
- xValues = () => {
209
- const { graphProps } = this.props;
210
- const { scale, domain } = graphProps || {};
211
-
212
- if (!domain || !scale) {
213
- return;
214
- }
215
-
216
- const ticks = getTickValues({ ...domain, step: domain.labelStep });
217
- const negative = firstNegativeValue(ticks);
218
-
219
- return {
220
- columnTicksValues: ticks,
221
- firstNegativeX: negative,
222
- distanceFromOriginToFirstNegativeX: Math.abs(scale.y(0) - scale.y(negative)),
223
- };
224
- };
225
-
226
- yValues = () => {
227
- const { graphProps } = this.props;
228
- const { scale, range } = graphProps || {};
229
-
230
- if (!range || !scale) {
231
- return;
232
- }
233
-
234
- const ticks = getTickValues({ ...range, step: range.labelStep });
235
- const negative = firstNegativeValue(ticks);
236
-
237
- return {
238
- rowTickValues: ticks,
239
- firstNegativeY: negative,
240
- distanceFromOriginToFirstNegativeY: Math.abs(scale.x(0) - scale.x(negative)),
241
- };
242
- };
243
-
244
- render() {
245
- const { graphProps } = this.props;
246
- const { domain, range } = graphProps || {};
247
- const { columnTicksValues, firstNegativeX, distanceFromOriginToFirstNegativeX } = this.xValues();
248
- const { rowTickValues, firstNegativeY, distanceFromOriginToFirstNegativeY } = this.yValues();
249
- const deltaAllowance = 6;
250
- const dy = 25;
251
-
252
- const skipValues = sharedValues(
253
- firstNegativeX,
254
- firstNegativeY,
255
- distanceFromOriginToFirstNegativeX,
256
- distanceFromOriginToFirstNegativeY,
257
- deltaAllowance,
258
- dy,
259
- );
260
-
261
- // each axis has to be displayed only if the domain & range include it
262
- return (
263
- <StyledAxesGroup>
264
- {range.min <= 0 ? (
265
- <XAxis
266
- {...this.props}
267
- skipValues={skipValues}
268
- columnTicksValues={columnTicksValues}
269
- distanceFromOriginToFirstNegativeY={distanceFromOriginToFirstNegativeY}
270
- dy={dy}
271
- />
272
- ) : null}
273
- {domain.min <= 0 ? (
274
- <YAxis
275
- {...this.props}
276
- skipValues={skipValues}
277
- rowTickValues={rowTickValues}
278
- distanceFromOriginToFirstNegativeX={distanceFromOriginToFirstNegativeX}
279
- />
280
- ) : null}
281
- </StyledAxesGroup>
282
- );
283
- }
284
- }