@pie-lib/graphing-solution-set 4.1.0-beta.9 → 5.0.0-next.20261002094057

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 (229) 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 +85 -0
  24. package/dist/graph-with-controls.js +155 -0
  25. package/dist/graph.d.ts +119 -0
  26. package/dist/graph.js +221 -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 +14 -0
  32. package/dist/index.js +6 -0
  33. package/dist/labels.d.ts +73 -0
  34. package/dist/labels.js +134 -0
  35. package/dist/mark-label.d.ts +50 -0
  36. package/dist/mark-label.js +84 -0
  37. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Axis.js +67 -0
  38. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +66 -0
  39. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/axis/Ticks.js +39 -0
  40. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  41. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  42. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +13 -0
  43. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  44. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  45. package/dist/node_modules/.bun/@visx_axis@4.0.0_d84c32d47042070f/node_modules/@visx/axis/esm/utils/getTickPosition.js +14 -0
  46. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/Grid.js +43 -0
  47. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridColumns.js +46 -0
  48. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/grids/GridRows.js +46 -0
  49. package/dist/node_modules/.bun/@visx_grid@4.0.0_d84c32d47042070f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  50. package/dist/node_modules/.bun/@visx_group@4.0.0_d84c32d47042070f/node_modules/@visx/group/esm/Group.js +17 -0
  51. package/dist/node_modules/.bun/@visx_point@4.0.0/node_modules/@visx/point/esm/Point.js +20 -0
  52. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  53. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/getTicks.js +7 -0
  54. package/dist/node_modules/.bun/@visx_scale@4.0.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  55. package/dist/node_modules/.bun/@visx_shape@4.0.0_d84c32d47042070f/node_modules/@visx/shape/esm/shapes/Line.js +27 -0
  56. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/Text.js +27 -0
  57. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/hooks/useText.js +68 -0
  58. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/getStringWidth.js +19 -0
  59. package/dist/node_modules/.bun/@visx_text@4.0.0_d84c32d47042070f/node_modules/@visx/text/esm/util/memoize.js +13 -0
  60. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  61. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  62. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  63. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  64. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  65. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  66. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  67. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  68. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  69. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  70. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  71. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  72. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  73. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +198 -0
  74. package/dist/tool-menu.d.ts +21 -0
  75. package/dist/tool-menu.js +188 -0
  76. package/dist/tools/index.d.ts +17 -0
  77. package/dist/tools/index.js +12 -0
  78. package/dist/tools/line/component.d.ts +113 -0
  79. package/dist/tools/line/component.js +58 -0
  80. package/dist/tools/line/index.d.ts +13 -0
  81. package/dist/tools/line/index.js +6 -0
  82. package/dist/tools/polygon/component.d.ts +117 -0
  83. package/dist/tools/polygon/component.js +194 -0
  84. package/dist/tools/polygon/index.d.ts +19 -0
  85. package/dist/tools/polygon/index.js +55 -0
  86. package/dist/tools/polygon/polygon.d.ts +122 -0
  87. package/dist/tools/polygon/polygon.js +62 -0
  88. package/dist/tools/shared/arrow-head.d.ts +43 -0
  89. package/dist/tools/shared/arrow-head.js +37 -0
  90. package/dist/tools/shared/line/index.d.ts +240 -0
  91. package/dist/tools/shared/line/index.js +320 -0
  92. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  93. package/dist/tools/shared/point/arrow-point.js +47 -0
  94. package/dist/tools/shared/point/arrow.d.ts +46 -0
  95. package/dist/tools/shared/point/arrow.js +36 -0
  96. package/dist/tools/shared/point/base-point.d.ts +50 -0
  97. package/dist/tools/shared/point/base-point.js +88 -0
  98. package/dist/tools/shared/point/index.d.ts +217 -0
  99. package/dist/tools/shared/point/index.js +51 -0
  100. package/dist/tools/shared/styles.d.ts +24 -0
  101. package/dist/tools/shared/styles.js +17 -0
  102. package/dist/tools/shared/types.d.ts +15 -0
  103. package/dist/tools/shared/types.js +10 -0
  104. package/dist/undo-redo.d.ts +20 -0
  105. package/dist/undo-redo.js +33 -0
  106. package/dist/use-debounce.d.ts +9 -0
  107. package/dist/use-debounce.js +13 -0
  108. package/dist/utils.d.ts +58 -0
  109. package/dist/utils.js +72 -0
  110. package/package.json +52 -42
  111. package/CHANGELOG.json +0 -1
  112. package/CHANGELOG.md +0 -449
  113. package/lib/axis/arrow.js +0 -79
  114. package/lib/axis/arrow.js.map +0 -1
  115. package/lib/axis/axes.js +0 -327
  116. package/lib/axis/axes.js.map +0 -1
  117. package/lib/axis/index.js +0 -21
  118. package/lib/axis/index.js.map +0 -1
  119. package/lib/bg.js +0 -114
  120. package/lib/bg.js.map +0 -1
  121. package/lib/container/actions.js +0 -18
  122. package/lib/container/actions.js.map +0 -1
  123. package/lib/container/index.js +0 -129
  124. package/lib/container/index.js.map +0 -1
  125. package/lib/container/marks.js +0 -22
  126. package/lib/container/marks.js.map +0 -1
  127. package/lib/container/middleware.js +0 -19
  128. package/lib/container/middleware.js.map +0 -1
  129. package/lib/container/reducer.js +0 -18
  130. package/lib/container/reducer.js.map +0 -1
  131. package/lib/coordinates-label.js +0 -77
  132. package/lib/coordinates-label.js.map +0 -1
  133. package/lib/graph-with-controls.js +0 -297
  134. package/lib/graph-with-controls.js.map +0 -1
  135. package/lib/graph.js +0 -353
  136. package/lib/graph.js.map +0 -1
  137. package/lib/grid-setup.js +0 -414
  138. package/lib/grid-setup.js.map +0 -1
  139. package/lib/grid.js +0 -131
  140. package/lib/grid.js.map +0 -1
  141. package/lib/index.js +0 -40
  142. package/lib/index.js.map +0 -1
  143. package/lib/labels.js +0 -199
  144. package/lib/labels.js.map +0 -1
  145. package/lib/mark-label.js +0 -159
  146. package/lib/mark-label.js.map +0 -1
  147. package/lib/toggle-bar.js +0 -248
  148. package/lib/toggle-bar.js.map +0 -1
  149. package/lib/tool-menu.js +0 -218
  150. package/lib/tool-menu.js.map +0 -1
  151. package/lib/tools/index.js +0 -24
  152. package/lib/tools/index.js.map +0 -1
  153. package/lib/tools/line/component.js +0 -92
  154. package/lib/tools/line/component.js.map +0 -1
  155. package/lib/tools/line/index.js +0 -11
  156. package/lib/tools/line/index.js.map +0 -1
  157. package/lib/tools/polygon/component.js +0 -358
  158. package/lib/tools/polygon/component.js.map +0 -1
  159. package/lib/tools/polygon/index.js +0 -89
  160. package/lib/tools/polygon/index.js.map +0 -1
  161. package/lib/tools/polygon/line.js +0 -114
  162. package/lib/tools/polygon/line.js.map +0 -1
  163. package/lib/tools/polygon/polygon.js +0 -128
  164. package/lib/tools/polygon/polygon.js.map +0 -1
  165. package/lib/tools/shared/arrow-head.js +0 -62
  166. package/lib/tools/shared/arrow-head.js.map +0 -1
  167. package/lib/tools/shared/line/index.js +0 -539
  168. package/lib/tools/shared/line/index.js.map +0 -1
  169. package/lib/tools/shared/line/line-path.js +0 -121
  170. package/lib/tools/shared/line/line-path.js.map +0 -1
  171. package/lib/tools/shared/line/with-root-edge.js +0 -121
  172. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  173. package/lib/tools/shared/point/arrow-point.js +0 -86
  174. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  175. package/lib/tools/shared/point/arrow.js +0 -70
  176. package/lib/tools/shared/point/arrow.js.map +0 -1
  177. package/lib/tools/shared/point/base-point.js +0 -137
  178. package/lib/tools/shared/point/base-point.js.map +0 -1
  179. package/lib/tools/shared/point/index.js +0 -80
  180. package/lib/tools/shared/point/index.js.map +0 -1
  181. package/lib/tools/shared/styles.js +0 -26
  182. package/lib/tools/shared/styles.js.map +0 -1
  183. package/lib/tools/shared/types.js +0 -15
  184. package/lib/tools/shared/types.js.map +0 -1
  185. package/lib/undo-redo.js +0 -67
  186. package/lib/undo-redo.js.map +0 -1
  187. package/lib/use-debounce.js +0 -25
  188. package/lib/use-debounce.js.map +0 -1
  189. package/lib/utils.js +0 -235
  190. package/lib/utils.js.map +0 -1
  191. package/src/axis/arrow.jsx +0 -57
  192. package/src/axis/axes.jsx +0 -284
  193. package/src/axis/index.js +0 -3
  194. package/src/bg.jsx +0 -96
  195. package/src/container/actions.js +0 -8
  196. package/src/container/index.jsx +0 -93
  197. package/src/container/marks.js +0 -14
  198. package/src/container/middleware.js +0 -7
  199. package/src/container/reducer.js +0 -5
  200. package/src/coordinates-label.jsx +0 -62
  201. package/src/graph-with-controls.jsx +0 -242
  202. package/src/graph.jsx +0 -333
  203. package/src/grid-setup.jsx +0 -432
  204. package/src/grid.jsx +0 -133
  205. package/src/index.js +0 -7
  206. package/src/labels.jsx +0 -173
  207. package/src/mark-label.jsx +0 -125
  208. package/src/toggle-bar.jsx +0 -221
  209. package/src/tool-menu.jsx +0 -235
  210. package/src/tools/index.js +0 -8
  211. package/src/tools/line/component.jsx +0 -77
  212. package/src/tools/line/index.js +0 -4
  213. package/src/tools/polygon/component.jsx +0 -324
  214. package/src/tools/polygon/index.js +0 -52
  215. package/src/tools/polygon/line.jsx +0 -80
  216. package/src/tools/polygon/polygon.jsx +0 -93
  217. package/src/tools/shared/arrow-head.jsx +0 -46
  218. package/src/tools/shared/line/index.jsx +0 -471
  219. package/src/tools/shared/line/line-path.jsx +0 -85
  220. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  221. package/src/tools/shared/point/arrow-point.jsx +0 -60
  222. package/src/tools/shared/point/arrow.jsx +0 -40
  223. package/src/tools/shared/point/base-point.jsx +0 -113
  224. package/src/tools/shared/point/index.jsx +0 -58
  225. package/src/tools/shared/styles.js +0 -20
  226. package/src/tools/shared/types.js +0 -8
  227. package/src/undo-redo.jsx +0 -37
  228. package/src/use-debounce.js +0 -13
  229. package/src/utils.js +0 -230
package/src/utils.js DELETED
@@ -1,230 +0,0 @@
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
- };