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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) 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/toggle-bar.d.ts +40 -0
  75. package/dist/tool-menu.d.ts +21 -0
  76. package/dist/tool-menu.js +188 -0
  77. package/dist/tools/index.d.ts +17 -0
  78. package/dist/tools/index.js +12 -0
  79. package/dist/tools/line/component.d.ts +113 -0
  80. package/dist/tools/line/component.js +58 -0
  81. package/dist/tools/line/index.d.ts +13 -0
  82. package/dist/tools/line/index.js +6 -0
  83. package/dist/tools/polygon/component.d.ts +117 -0
  84. package/dist/tools/polygon/component.js +194 -0
  85. package/dist/tools/polygon/index.d.ts +19 -0
  86. package/dist/tools/polygon/index.js +55 -0
  87. package/dist/tools/polygon/line.d.ts +125 -0
  88. package/dist/tools/polygon/polygon.d.ts +122 -0
  89. package/dist/tools/polygon/polygon.js +62 -0
  90. package/dist/tools/shared/arrow-head.d.ts +43 -0
  91. package/dist/tools/shared/arrow-head.js +37 -0
  92. package/dist/tools/shared/line/index.d.ts +240 -0
  93. package/dist/tools/shared/line/index.js +320 -0
  94. package/dist/tools/shared/line/line-path.d.ts +57 -0
  95. package/dist/tools/shared/line/with-root-edge.d.ts +143 -0
  96. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  97. package/dist/tools/shared/point/arrow-point.js +47 -0
  98. package/dist/tools/shared/point/arrow.d.ts +46 -0
  99. package/dist/tools/shared/point/arrow.js +36 -0
  100. package/dist/tools/shared/point/base-point.d.ts +50 -0
  101. package/dist/tools/shared/point/base-point.js +88 -0
  102. package/dist/tools/shared/point/index.d.ts +217 -0
  103. package/dist/tools/shared/point/index.js +51 -0
  104. package/dist/tools/shared/styles.d.ts +24 -0
  105. package/dist/tools/shared/styles.js +17 -0
  106. package/dist/tools/shared/types.d.ts +15 -0
  107. package/dist/tools/shared/types.js +10 -0
  108. package/dist/undo-redo.d.ts +20 -0
  109. package/dist/undo-redo.js +33 -0
  110. package/dist/use-debounce.d.ts +9 -0
  111. package/dist/use-debounce.js +13 -0
  112. package/dist/utils.d.ts +58 -0
  113. package/dist/utils.js +72 -0
  114. package/package.json +52 -42
  115. package/CHANGELOG.json +0 -1
  116. package/CHANGELOG.md +0 -449
  117. package/lib/axis/arrow.js +0 -79
  118. package/lib/axis/arrow.js.map +0 -1
  119. package/lib/axis/axes.js +0 -327
  120. package/lib/axis/axes.js.map +0 -1
  121. package/lib/axis/index.js +0 -21
  122. package/lib/axis/index.js.map +0 -1
  123. package/lib/bg.js +0 -114
  124. package/lib/bg.js.map +0 -1
  125. package/lib/container/actions.js +0 -18
  126. package/lib/container/actions.js.map +0 -1
  127. package/lib/container/index.js +0 -129
  128. package/lib/container/index.js.map +0 -1
  129. package/lib/container/marks.js +0 -22
  130. package/lib/container/marks.js.map +0 -1
  131. package/lib/container/middleware.js +0 -19
  132. package/lib/container/middleware.js.map +0 -1
  133. package/lib/container/reducer.js +0 -18
  134. package/lib/container/reducer.js.map +0 -1
  135. package/lib/coordinates-label.js +0 -77
  136. package/lib/coordinates-label.js.map +0 -1
  137. package/lib/graph-with-controls.js +0 -297
  138. package/lib/graph-with-controls.js.map +0 -1
  139. package/lib/graph.js +0 -353
  140. package/lib/graph.js.map +0 -1
  141. package/lib/grid-setup.js +0 -414
  142. package/lib/grid-setup.js.map +0 -1
  143. package/lib/grid.js +0 -131
  144. package/lib/grid.js.map +0 -1
  145. package/lib/index.js +0 -40
  146. package/lib/index.js.map +0 -1
  147. package/lib/labels.js +0 -199
  148. package/lib/labels.js.map +0 -1
  149. package/lib/mark-label.js +0 -159
  150. package/lib/mark-label.js.map +0 -1
  151. package/lib/toggle-bar.js +0 -248
  152. package/lib/toggle-bar.js.map +0 -1
  153. package/lib/tool-menu.js +0 -218
  154. package/lib/tool-menu.js.map +0 -1
  155. package/lib/tools/index.js +0 -24
  156. package/lib/tools/index.js.map +0 -1
  157. package/lib/tools/line/component.js +0 -92
  158. package/lib/tools/line/component.js.map +0 -1
  159. package/lib/tools/line/index.js +0 -11
  160. package/lib/tools/line/index.js.map +0 -1
  161. package/lib/tools/polygon/component.js +0 -358
  162. package/lib/tools/polygon/component.js.map +0 -1
  163. package/lib/tools/polygon/index.js +0 -89
  164. package/lib/tools/polygon/index.js.map +0 -1
  165. package/lib/tools/polygon/line.js +0 -114
  166. package/lib/tools/polygon/line.js.map +0 -1
  167. package/lib/tools/polygon/polygon.js +0 -128
  168. package/lib/tools/polygon/polygon.js.map +0 -1
  169. package/lib/tools/shared/arrow-head.js +0 -62
  170. package/lib/tools/shared/arrow-head.js.map +0 -1
  171. package/lib/tools/shared/line/index.js +0 -539
  172. package/lib/tools/shared/line/index.js.map +0 -1
  173. package/lib/tools/shared/line/line-path.js +0 -121
  174. package/lib/tools/shared/line/line-path.js.map +0 -1
  175. package/lib/tools/shared/line/with-root-edge.js +0 -121
  176. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  177. package/lib/tools/shared/point/arrow-point.js +0 -86
  178. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  179. package/lib/tools/shared/point/arrow.js +0 -70
  180. package/lib/tools/shared/point/arrow.js.map +0 -1
  181. package/lib/tools/shared/point/base-point.js +0 -137
  182. package/lib/tools/shared/point/base-point.js.map +0 -1
  183. package/lib/tools/shared/point/index.js +0 -80
  184. package/lib/tools/shared/point/index.js.map +0 -1
  185. package/lib/tools/shared/styles.js +0 -26
  186. package/lib/tools/shared/styles.js.map +0 -1
  187. package/lib/tools/shared/types.js +0 -15
  188. package/lib/tools/shared/types.js.map +0 -1
  189. package/lib/undo-redo.js +0 -67
  190. package/lib/undo-redo.js.map +0 -1
  191. package/lib/use-debounce.js +0 -25
  192. package/lib/use-debounce.js.map +0 -1
  193. package/lib/utils.js +0 -235
  194. package/lib/utils.js.map +0 -1
  195. package/src/axis/arrow.jsx +0 -57
  196. package/src/axis/axes.jsx +0 -284
  197. package/src/axis/index.js +0 -3
  198. package/src/bg.jsx +0 -96
  199. package/src/container/actions.js +0 -8
  200. package/src/container/index.jsx +0 -93
  201. package/src/container/marks.js +0 -14
  202. package/src/container/middleware.js +0 -7
  203. package/src/container/reducer.js +0 -5
  204. package/src/coordinates-label.jsx +0 -62
  205. package/src/graph-with-controls.jsx +0 -242
  206. package/src/graph.jsx +0 -333
  207. package/src/grid-setup.jsx +0 -432
  208. package/src/grid.jsx +0 -133
  209. package/src/index.js +0 -7
  210. package/src/labels.jsx +0 -173
  211. package/src/mark-label.jsx +0 -125
  212. package/src/toggle-bar.jsx +0 -221
  213. package/src/tool-menu.jsx +0 -235
  214. package/src/tools/index.js +0 -8
  215. package/src/tools/line/component.jsx +0 -77
  216. package/src/tools/line/index.js +0 -4
  217. package/src/tools/polygon/component.jsx +0 -324
  218. package/src/tools/polygon/index.js +0 -52
  219. package/src/tools/polygon/line.jsx +0 -80
  220. package/src/tools/polygon/polygon.jsx +0 -93
  221. package/src/tools/shared/arrow-head.jsx +0 -46
  222. package/src/tools/shared/line/index.jsx +0 -471
  223. package/src/tools/shared/line/line-path.jsx +0 -85
  224. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  225. package/src/tools/shared/point/arrow-point.jsx +0 -60
  226. package/src/tools/shared/point/arrow.jsx +0 -40
  227. package/src/tools/shared/point/base-point.jsx +0 -113
  228. package/src/tools/shared/point/index.jsx +0 -58
  229. package/src/tools/shared/styles.js +0 -20
  230. package/src/tools/shared/types.js +0 -8
  231. package/src/undo-redo.jsx +0 -37
  232. package/src/use-debounce.js +0 -13
  233. 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;