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

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
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/container/index.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ import GraphWithControls from '../graph-with-controls.js';
12
+ export declare const GraphContainer: import("react-redux").ConnectedComponent<React.ComponentType<import("react-redux").Matching<{
13
+ marks: any;
14
+ } & {
15
+ onChangeMarks: (m: any) => any;
16
+ onUndo: () => any;
17
+ onRedo: () => any;
18
+ onReset: () => any;
19
+ }, React.ClassAttributes<GraphWithControls>>>, {
20
+ ref?: React.LegacyRef<GraphWithControls> | undefined;
21
+ key?: React.Key | null | undefined;
22
+ context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").UnknownAction> | null> | undefined;
23
+ store?: import("redux").Store | undefined;
24
+ } | {
25
+ ref?: ((string | ((instance: React.Component<import("react-redux").Matching<{
26
+ marks: any;
27
+ } & {
28
+ onChangeMarks: (m: any) => any;
29
+ onUndo: () => any;
30
+ onRedo: () => any;
31
+ onReset: () => any;
32
+ }, React.ClassAttributes<GraphWithControls>>, any, any> | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<React.Component<import("react-redux").Matching<{
33
+ marks: any;
34
+ } & {
35
+ onChangeMarks: (m: any) => any;
36
+ onUndo: () => any;
37
+ onRedo: () => any;
38
+ onReset: () => any;
39
+ }, React.ClassAttributes<GraphWithControls>>, any, any>>) & (string | ((instance: GraphWithControls | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<GraphWithControls>)) | null | undefined;
40
+ key?: React.Key | null | undefined;
41
+ context?: React.Context<import("react-redux").ReactReduxContextValue<any, import("redux").UnknownAction> | null> | undefined;
42
+ store?: import("redux").Store | undefined;
43
+ }>;
44
+ /**
45
+ * The graph component entry point with undo/redo
46
+ * Redux is an implementation detail, hide it in the react component.
47
+ */
48
+ declare class Root extends React.Component {
49
+ static propTypes: {
50
+ onChangeMarks: PropTypes.Requireable<(...args: any[]) => any>;
51
+ marks: PropTypes.Requireable<any[]>;
52
+ };
53
+ constructor(props: any);
54
+ componentDidUpdate(prevProps: any): void;
55
+ onStoreChange: any;
56
+ render(): React.JSX.Element;
57
+ }
58
+ export default Root;
@@ -0,0 +1,48 @@
1
+ import { applyMiddleware as e, createStore as t } from "../node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js";
2
+ import { ActionCreators as n } from "../node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js";
3
+ import r from "./reducer.js";
4
+ import { changeMarks as i } from "./actions.js";
5
+ import { GraphWithControls as a } from "../graph-with-controls.js";
6
+ import { getLastAction as o, lastActionMiddleware as s } from "./middleware.js";
7
+ import c from "react";
8
+ import l from "prop-types";
9
+ import { isEqual as u } from "@pie-element/shared-lodash";
10
+ import { jsx as d } from "react/jsx-runtime";
11
+ import { Provider as f, connect as p } from "react-redux";
12
+ var m = p((e) => ({ marks: e.marks.present }), (e) => ({
13
+ onChangeMarks: (t) => e(i(t)),
14
+ onUndo: () => e(n.undo()),
15
+ onRedo: () => e(n.redo()),
16
+ onReset: () => e(i([]))
17
+ }))(a), h = class extends c.Component {
18
+ static propTypes = {
19
+ onChangeMarks: l.func,
20
+ marks: l.array
21
+ };
22
+ constructor(n) {
23
+ super(n);
24
+ let i = r();
25
+ this.store = t(i, { marks: n.marks }, e(s)), this.store.subscribe(this.onStoreChange);
26
+ }
27
+ componentDidUpdate(e) {
28
+ let { marks: t } = this.props;
29
+ u(this.store.getState().marks.present, t) || u(e.marks, t) || t && t.find((e) => e.correctness) || this.store.dispatch(i(t));
30
+ }
31
+ onStoreChange = () => {
32
+ let { marks: e, onChangeMarks: t } = this.props, n = this.store.getState(), r = o(), i = r.type.includes("UNDO") || r.type.includes("REDO");
33
+ u(n.marks.present, e) || t(n.marks.present, i);
34
+ };
35
+ render() {
36
+ let { onChangeMarks: e, marks: t, ...n } = this.props, r = t && t.find((e) => e.correctness);
37
+ return r ? /* @__PURE__ */ d(a, {
38
+ ...n,
39
+ marks: t,
40
+ disabled: r
41
+ }) : /* @__PURE__ */ d(f, {
42
+ store: this.store,
43
+ children: /* @__PURE__ */ d(m, { ...n })
44
+ });
45
+ }
46
+ };
47
+ //#endregion
48
+ export { m as GraphContainer, h as default };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/container/marks.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ declare const marks: (state: never[] | undefined, action: any) => any;
10
+ export default marks;
@@ -0,0 +1,11 @@
1
+ //#region src/container/marks.ts
2
+ var e = (e = [], t) => {
3
+ switch (t.type) {
4
+ case "CHANGE_MARKS":
5
+ if (Array.isArray(t.marks)) return t.marks;
6
+ throw Error("marks must be an array");
7
+ default: return e;
8
+ }
9
+ };
10
+ //#endregion
11
+ export { e as default };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/container/middleware.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ export declare const getLastAction: () => any;
10
+ export declare const lastActionMiddleware: () => (next: any) => (action: any) => any;
@@ -0,0 +1,4 @@
1
+ //#region src/container/middleware.ts
2
+ var e = null, t = () => e, n = () => (t) => (n) => (e = n, t(n));
3
+ //#endregion
4
+ export { t as getLastAction, n as lastActionMiddleware };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/container/reducer.js
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ declare const _default: () => import("redux").Reducer<{
10
+ marks: import("redux-undo").StateWithHistory<never[]>;
11
+ }, import("redux").UnknownAction, Partial<{
12
+ marks: import("redux-undo").StateWithHistory<never[]> | undefined;
13
+ }>>;
14
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { combineReducers as e } from "../node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js";
2
+ import t from "./marks.js";
3
+ import n from "../node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js";
4
+ //#region src/container/reducer.ts
5
+ var r = () => e({ marks: n(t, { debug: !1 }) });
6
+ //#endregion
7
+ export { r as default };
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/coordinates-label.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare const getLabelPosition: (graphProps: any, x: any, y: any, labelLength: any) => {
12
+ left: any;
13
+ top: number;
14
+ };
15
+ export declare const CoordinatesLabel: {
16
+ ({ x, y, graphProps }: {
17
+ x: any;
18
+ y: any;
19
+ graphProps: any;
20
+ }): React.JSX.Element;
21
+ propTypes: {
22
+ graphProps: PropTypes.Requireable<PropTypes.InferProps<{
23
+ scale: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
24
+ x: PropTypes.Validator<(...args: any[]) => any>;
25
+ y: PropTypes.Validator<(...args: any[]) => any>;
26
+ }>>>;
27
+ snap: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
28
+ x: PropTypes.Validator<(...args: any[]) => any>;
29
+ y: PropTypes.Validator<(...args: any[]) => any>;
30
+ }>>>;
31
+ domain: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
32
+ min: PropTypes.Validator<number>;
33
+ max: PropTypes.Validator<number>;
34
+ step: PropTypes.Requireable<number>;
35
+ }>>>;
36
+ range: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
37
+ min: PropTypes.Validator<number>;
38
+ max: PropTypes.Validator<number>;
39
+ step: PropTypes.Requireable<number>;
40
+ }>>>;
41
+ size: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
42
+ width: PropTypes.Validator<number>;
43
+ height: PropTypes.Validator<number>;
44
+ }>>>;
45
+ }>>;
46
+ x: PropTypes.Requireable<number>;
47
+ y: PropTypes.Requireable<number>;
48
+ };
49
+ };
50
+ export default CoordinatesLabel;
@@ -0,0 +1,46 @@
1
+ import { roundNumber as e } from "./utils.js";
2
+ import "react";
3
+ import t from "prop-types";
4
+ import { types as n } from "@pie-lib/plot";
5
+ import { jsx as r } from "react/jsx-runtime";
6
+ import { styled as i } from "@mui/material/styles";
7
+ import { color as a } from "@pie-lib/render-ui";
8
+ import o from "@mui/material/InputBase";
9
+ //#region src/coordinates-label.tsx
10
+ var s = i(o)(({ theme: e }) => ({
11
+ fontFamily: e.typography.fontFamily,
12
+ fontSize: e.typography.fontSize,
13
+ borderRadius: "8px",
14
+ background: e.palette.common.white,
15
+ color: a.defaults.BLACK,
16
+ "& .MuiInputBase-input": { padding: 0 }
17
+ })), c = (e, t, n, r) => {
18
+ let { scale: i, domain: a, range: o } = e, s = n === o.min ? 16 : n === o.max ? 0 : 8;
19
+ return i.x(t) + r + 10 >= i.x(a.max) ? {
20
+ left: i.x(t) - 10 - r,
21
+ top: i.y(n) - s
22
+ } : {
23
+ left: i.x(t) + 10,
24
+ top: i.y(n) - s
25
+ };
26
+ }, l = ({ x: t, y: n, graphProps: i }) => {
27
+ let a = `(${e(t)}, ${e(n)})`, o = (a.length || 0) * 6;
28
+ return /* @__PURE__ */ r(s, {
29
+ style: {
30
+ position: "absolute",
31
+ pointerEvents: "auto",
32
+ width: o,
33
+ padding: 0,
34
+ ...c(i, t, n, o)
35
+ },
36
+ value: a,
37
+ inputProps: { ariaLabel: "naked" }
38
+ });
39
+ };
40
+ l.propTypes = {
41
+ graphProps: n.GraphPropsType,
42
+ x: t.number,
43
+ y: t.number
44
+ };
45
+ //#endregion
46
+ export { l as CoordinatesLabel, l as default, c as getLabelPosition };
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/graph-with-controls.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare const setToolbarAvailability: (toolbarTools: any) => {
12
+ toolbar: boolean;
13
+ type: any;
14
+ Component: any;
15
+ addPoint: (point: any, mark: any) => any;
16
+ }[];
17
+ export declare const toolIsAvailable: (tools: any, currentTool: any) => any;
18
+ export declare const getAvailableTool: (tools: any) => any;
19
+ export declare const filterByValidToolTypes: (backgroundMarks: any) => any;
20
+ export declare const filterByVisibleToolTypes: (toolbarTools: any, marks: any) => any;
21
+ export declare class GraphWithControls extends React.Component {
22
+ static propTypes: {
23
+ onUndo: PropTypes.Requireable<(...args: any[]) => any>;
24
+ onRedo: PropTypes.Requireable<(...args: any[]) => any>;
25
+ onReset: PropTypes.Requireable<(...args: any[]) => any>;
26
+ toolbarTools: PropTypes.Requireable<(string | null | undefined)[]>;
27
+ language: PropTypes.Requireable<string>;
28
+ axesSettings: PropTypes.Requireable<PropTypes.InferProps<{
29
+ includeArrows: PropTypes.Requireable<object>;
30
+ graphProps: PropTypes.Requireable<object>;
31
+ }>>;
32
+ backgroundMarks: PropTypes.Requireable<any[]>;
33
+ className: PropTypes.Requireable<string>;
34
+ collapsibleToolbar: PropTypes.Requireable<boolean>;
35
+ collapsibleToolbarTitle: PropTypes.Requireable<string>;
36
+ disabledLabels: PropTypes.Requireable<boolean>;
37
+ disabledTitle: PropTypes.Requireable<boolean>;
38
+ domain: PropTypes.Requireable<PropTypes.InferProps<{
39
+ min: PropTypes.Validator<number>;
40
+ max: PropTypes.Validator<number>;
41
+ step: PropTypes.Requireable<number>;
42
+ }>>;
43
+ labels: PropTypes.Requireable<PropTypes.InferProps<{
44
+ left: PropTypes.Requireable<string>;
45
+ top: PropTypes.Requireable<string>;
46
+ bottom: PropTypes.Requireable<string>;
47
+ right: PropTypes.Requireable<string>;
48
+ }>>;
49
+ labelModeEnabled: PropTypes.Requireable<boolean>;
50
+ coordinatesOnHover: PropTypes.Requireable<boolean>;
51
+ marks: PropTypes.Requireable<any[]>;
52
+ onChangeLabels: PropTypes.Requireable<(...args: any[]) => any>;
53
+ onChangeMarks: PropTypes.Requireable<(...args: any[]) => any>;
54
+ onChangeTitle: PropTypes.Requireable<(...args: any[]) => any>;
55
+ range: PropTypes.Requireable<PropTypes.InferProps<{
56
+ min: PropTypes.Validator<number>;
57
+ max: PropTypes.Validator<number>;
58
+ step: PropTypes.Requireable<number>;
59
+ }>>;
60
+ size: PropTypes.Requireable<PropTypes.InferProps<{
61
+ width: PropTypes.Validator<number>;
62
+ height: PropTypes.Validator<number>;
63
+ }>>;
64
+ showLabels: PropTypes.Requireable<boolean>;
65
+ showPixelGuides: PropTypes.Requireable<boolean>;
66
+ showTitle: PropTypes.Requireable<boolean>;
67
+ title: PropTypes.Requireable<string>;
68
+ tools: PropTypes.Requireable<any[]>;
69
+ };
70
+ static defaultProps: {
71
+ collapsibleToolbar: boolean;
72
+ collapsibleToolbarTitle: string;
73
+ disabledLabels: boolean;
74
+ disabledTitle: boolean;
75
+ showLabels: boolean;
76
+ showTitle: boolean;
77
+ toolbarTools: never[];
78
+ };
79
+ constructor(props: any);
80
+ componentDidUpdate(prevProps: any): void;
81
+ changeCurrentTool: (tool: any, tools: any) => void;
82
+ toggleLabelMode: () => void;
83
+ render(): React.JSX.Element;
84
+ }
85
+ export default GraphWithControls;
@@ -0,0 +1,155 @@
1
+ import { clsx as e } from "./node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js";
2
+ import { Graph as t, graphPropTypes as n } from "./graph.js";
3
+ import { ToolMenu as r } from "./tool-menu.js";
4
+ import { UndoRedo as i } from "./undo-redo.js";
5
+ import { allTools as a, toolsArr as o } from "./tools/index.js";
6
+ import s from "react";
7
+ import c from "prop-types";
8
+ import { isString as l, uniq as u } from "@pie-element/shared-lodash";
9
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
10
+ import { styled as m } from "@mui/material/styles";
11
+ import { color as h } from "@pie-lib/render-ui";
12
+ import { Accordion as g, AccordionDetails as _, AccordionSummary as v, Typography as y } from "@mui/material";
13
+ import b from "@mui/icons-material/ExpandMore";
14
+ //#region src/graph-with-controls.tsx
15
+ var x = (e) => o.map((t) => ({
16
+ ...t,
17
+ toolbar: !!e.find((e) => e === t.type)
18
+ })) || [], S = (e, t) => t && e && (e.find((e) => e.type === t.type) || {}).toolbar, C = (e) => e.find((e) => e.toolbar), w = (e) => e.filter((e) => !!a.find((t) => t === e.type)), T = (e, t) => t.filter((t) => !!e.find((e) => e === t.type)), E = (e) => o.find((t) => t.type === e) || null, D = m("div")(() => ({
19
+ display: "flex",
20
+ flexDirection: "column",
21
+ width: "min-content"
22
+ })), O = m("div")(() => ({
23
+ display: "flex",
24
+ justifyContent: "space-between",
25
+ padding: "calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem",
26
+ color: h.text(),
27
+ backgroundColor: "#9FA8DA",
28
+ "& button": {
29
+ fontSize: "0.875rem",
30
+ padding: "0.25rem .3rem",
31
+ width: "5rem"
32
+ }
33
+ })), k = m(g)(() => ({
34
+ backgroundColor: h.primaryLight(),
35
+ width: "100%",
36
+ boxShadow: "none"
37
+ })), A = m(v)(({ theme: e }) => ({
38
+ padding: `0 ${e.spacing(1)}`,
39
+ minHeight: "32px !important",
40
+ "& .MuiAccordionSummary-content": { margin: "4px 0 !important" }
41
+ })), j = m(_)(({ theme: e }) => ({
42
+ padding: 0,
43
+ marginTop: e.spacing(1),
44
+ display: "flex",
45
+ justifyContent: "space-between"
46
+ })), M = m("div")(() => ({
47
+ display: "flex",
48
+ flexDirection: "column",
49
+ marginTop: ".5rem"
50
+ })), N = ({ children: e, title: t }) => /* @__PURE__ */ p(k, {
51
+ square: !0,
52
+ disableGutters: !0,
53
+ children: [/* @__PURE__ */ f(A, {
54
+ expandIcon: /* @__PURE__ */ f(b, {}),
55
+ children: /* @__PURE__ */ f(y, {
56
+ variant: "subtitle1",
57
+ children: t
58
+ })
59
+ }), /* @__PURE__ */ f(j, { children: e })]
60
+ });
61
+ N.propTypes = {
62
+ children: c.node,
63
+ title: c.string
64
+ };
65
+ var P = class extends s.Component {
66
+ static propTypes = {
67
+ ...n,
68
+ onUndo: c.func,
69
+ onRedo: c.func,
70
+ onReset: c.func,
71
+ toolbarTools: c.arrayOf(c.string),
72
+ language: c.string
73
+ };
74
+ static defaultProps = {
75
+ collapsibleToolbar: !1,
76
+ collapsibleToolbarTitle: "",
77
+ disabledLabels: !1,
78
+ disabledTitle: !1,
79
+ showLabels: !0,
80
+ showTitle: !0,
81
+ toolbarTools: []
82
+ };
83
+ constructor(e) {
84
+ super(e), this.state = {
85
+ currentTool: E(e.defaultTool),
86
+ labelModeEnabled: !1
87
+ };
88
+ }
89
+ componentDidUpdate(e) {
90
+ let { defaultTool: t } = this.props;
91
+ if (e.defaultTool !== t) {
92
+ let e = E(t);
93
+ this.setState({ currentTool: e });
94
+ }
95
+ }
96
+ changeCurrentTool = (e, t) => this.setState({ currentTool: t.find((t) => t.type === e) });
97
+ toggleLabelMode = () => this.setState((e) => ({ labelModeEnabled: !e.labelModeEnabled }));
98
+ render() {
99
+ let { currentTool: n, labelModeEnabled: a } = this.state, { axesSettings: o, className: s, coordinatesOnHover: c, collapsibleToolbar: m, collapsibleToolbarTitle: h, disabled: g, disabledLabels: _, disabledTitle: v, domain: y, labels: b, labelsPlaceholders: E, onChangeLabels: k, onChangeMarks: A, onChangeTitle: j, onUndo: P, onRedo: F, range: I, size: L, showLabels: R, showPixelGuides: z, showTitle: B, title: V, titlePlaceholder: H, language: U, disableToolbar: W = !1, gssLineData: G, onChangeGssLineData: K, onSolutionSetSelected: q, onCustomReset: J } = this.props, { backgroundMarks: Y, marks: X, toolbarTools: Z } = this.props;
100
+ Z = u(Z || []).filter((e) => !!l(e)) || [], Y = w(Y || []), X = T(Z, X || []), G && G.lineA && X[0] && X[0].type === "line" && (X[0].fill = G.lineA.lineType), G && G.lineB && X[1] && X[1].type === "line" && (X[1].fill = G.lineB.lineType);
101
+ let Q = x(Z);
102
+ (!n || !S(Q, n)) && (n = C(Q));
103
+ let $ = G && /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(r, {
104
+ numberOfLines: G.numberOfLines,
105
+ gssLineData: G,
106
+ onChange: K,
107
+ disabled: !!g,
108
+ language: U
109
+ }), !g && /* @__PURE__ */ f(M, { children: /* @__PURE__ */ f(i, {
110
+ onUndo: P,
111
+ onRedo: F,
112
+ onReset: J,
113
+ language: U
114
+ }) })] });
115
+ return /* @__PURE__ */ p(D, {
116
+ className: e(s),
117
+ children: [
118
+ !W && /* @__PURE__ */ f(O, { children: m ? /* @__PURE__ */ f(N, {
119
+ title: h,
120
+ children: $
121
+ }) : $ }),
122
+ /* @__PURE__ */ f("div", { ref: (e) => this.labelNode = e }),
123
+ /* @__PURE__ */ f(t, {
124
+ axesSettings: o,
125
+ backgroundMarks: Y,
126
+ coordinatesOnHover: c,
127
+ currentTool: n,
128
+ disabledLabels: _,
129
+ disabledTitle: v,
130
+ domain: y,
131
+ labels: b,
132
+ labelModeEnabled: a,
133
+ labelsPlaceholders: E,
134
+ marks: X,
135
+ onChangeMarks: g ? void 0 : A,
136
+ onChangeLabels: k,
137
+ onChangeTitle: j,
138
+ range: I,
139
+ size: L,
140
+ showLabels: R,
141
+ showPixelGuides: z,
142
+ showTitle: B,
143
+ title: V,
144
+ titlePlaceholder: H,
145
+ tools: Q,
146
+ gssLineData: G,
147
+ onSolutionSetSelected: q,
148
+ disabled: !!g
149
+ })
150
+ ]
151
+ });
152
+ }
153
+ };
154
+ //#endregion
155
+ export { P as GraphWithControls, P as default, w as filterByValidToolTypes, T as filterByVisibleToolTypes, C as getAvailableTool, x as setToolbarAvailability, S as toolIsAvailable };
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @synced-from pie-lib/packages/graphing-solution-set/src/graph.jsx
3
+ * @auto-generated
4
+ *
5
+ * This file is automatically synced from pie-elements and converted to TypeScript.
6
+ * Manual edits will be overwritten on next sync.
7
+ * To make changes, edit the upstream JavaScript file and run sync again.
8
+ */
9
+ import React from 'react';
10
+ import PropTypes from 'prop-types';
11
+ export declare const graphPropTypes: {
12
+ axesSettings: PropTypes.Requireable<PropTypes.InferProps<{
13
+ includeArrows: PropTypes.Requireable<object>;
14
+ graphProps: PropTypes.Requireable<object>;
15
+ }>>;
16
+ backgroundMarks: PropTypes.Requireable<any[]>;
17
+ className: PropTypes.Requireable<string>;
18
+ collapsibleToolbar: PropTypes.Requireable<boolean>;
19
+ collapsibleToolbarTitle: PropTypes.Requireable<string>;
20
+ disabledLabels: PropTypes.Requireable<boolean>;
21
+ disabledTitle: PropTypes.Requireable<boolean>;
22
+ domain: PropTypes.Requireable<PropTypes.InferProps<{
23
+ min: PropTypes.Validator<number>;
24
+ max: PropTypes.Validator<number>;
25
+ step: PropTypes.Requireable<number>;
26
+ }>>;
27
+ labels: PropTypes.Requireable<PropTypes.InferProps<{
28
+ left: PropTypes.Requireable<string>;
29
+ top: PropTypes.Requireable<string>;
30
+ bottom: PropTypes.Requireable<string>;
31
+ right: PropTypes.Requireable<string>;
32
+ }>>;
33
+ labelModeEnabled: PropTypes.Requireable<boolean>;
34
+ coordinatesOnHover: PropTypes.Requireable<boolean>;
35
+ marks: PropTypes.Requireable<any[]>;
36
+ onChangeLabels: PropTypes.Requireable<(...args: any[]) => any>;
37
+ onChangeMarks: PropTypes.Requireable<(...args: any[]) => any>;
38
+ onChangeTitle: PropTypes.Requireable<(...args: any[]) => any>;
39
+ range: PropTypes.Requireable<PropTypes.InferProps<{
40
+ min: PropTypes.Validator<number>;
41
+ max: PropTypes.Validator<number>;
42
+ step: PropTypes.Requireable<number>;
43
+ }>>;
44
+ size: PropTypes.Requireable<PropTypes.InferProps<{
45
+ width: PropTypes.Validator<number>;
46
+ height: PropTypes.Validator<number>;
47
+ }>>;
48
+ showLabels: PropTypes.Requireable<boolean>;
49
+ showPixelGuides: PropTypes.Requireable<boolean>;
50
+ showTitle: PropTypes.Requireable<boolean>;
51
+ title: PropTypes.Requireable<string>;
52
+ tools: PropTypes.Requireable<any[]>;
53
+ };
54
+ export declare const removeBuildingToolIfCurrentToolDiffers: ({ marks, currentTool }: {
55
+ marks: any;
56
+ currentTool: any;
57
+ }) => any;
58
+ export declare class Graph extends React.Component {
59
+ constructor(props: any);
60
+ static propTypes: {
61
+ currentTool: PropTypes.Requireable<object>;
62
+ axesSettings: PropTypes.Requireable<PropTypes.InferProps<{
63
+ includeArrows: PropTypes.Requireable<object>;
64
+ graphProps: PropTypes.Requireable<object>;
65
+ }>>;
66
+ backgroundMarks: PropTypes.Requireable<any[]>;
67
+ className: PropTypes.Requireable<string>;
68
+ collapsibleToolbar: PropTypes.Requireable<boolean>;
69
+ collapsibleToolbarTitle: PropTypes.Requireable<string>;
70
+ disabledLabels: PropTypes.Requireable<boolean>;
71
+ disabledTitle: PropTypes.Requireable<boolean>;
72
+ domain: PropTypes.Requireable<PropTypes.InferProps<{
73
+ min: PropTypes.Validator<number>;
74
+ max: PropTypes.Validator<number>;
75
+ step: PropTypes.Requireable<number>;
76
+ }>>;
77
+ labels: PropTypes.Requireable<PropTypes.InferProps<{
78
+ left: PropTypes.Requireable<string>;
79
+ top: PropTypes.Requireable<string>;
80
+ bottom: PropTypes.Requireable<string>;
81
+ right: PropTypes.Requireable<string>;
82
+ }>>;
83
+ labelModeEnabled: PropTypes.Requireable<boolean>;
84
+ coordinatesOnHover: PropTypes.Requireable<boolean>;
85
+ marks: PropTypes.Requireable<any[]>;
86
+ onChangeLabels: PropTypes.Requireable<(...args: any[]) => any>;
87
+ onChangeMarks: PropTypes.Requireable<(...args: any[]) => any>;
88
+ onChangeTitle: PropTypes.Requireable<(...args: any[]) => any>;
89
+ range: PropTypes.Requireable<PropTypes.InferProps<{
90
+ min: PropTypes.Validator<number>;
91
+ max: PropTypes.Validator<number>;
92
+ step: PropTypes.Requireable<number>;
93
+ }>>;
94
+ size: PropTypes.Requireable<PropTypes.InferProps<{
95
+ width: PropTypes.Validator<number>;
96
+ height: PropTypes.Validator<number>;
97
+ }>>;
98
+ showLabels: PropTypes.Requireable<boolean>;
99
+ showPixelGuides: PropTypes.Requireable<boolean>;
100
+ showTitle: PropTypes.Requireable<boolean>;
101
+ title: PropTypes.Requireable<string>;
102
+ tools: PropTypes.Requireable<any[]>;
103
+ };
104
+ static defaultProps: {
105
+ onChangeMarks: () => void;
106
+ disabledLabels: boolean;
107
+ disabledTitle: boolean;
108
+ };
109
+ state: {};
110
+ generateMaskId(): string;
111
+ componentDidMount: () => void;
112
+ changeMark: any;
113
+ completeMark: any;
114
+ updateMarks: any;
115
+ getComponent: any;
116
+ onBgClick: any;
117
+ render(): React.JSX.Element;
118
+ }
119
+ export default Graph;