@pie-lib/graphing 4.0.5-next.31 → 4.0.5-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.
- package/CHANGELOG.json +1 -0
- package/CHANGELOG.md +1469 -0
- package/LICENSE.md +5 -0
- package/lib/axis/arrow.js +79 -0
- package/lib/axis/arrow.js.map +1 -0
- package/lib/axis/axes.js +329 -0
- package/lib/axis/axes.js.map +1 -0
- package/lib/axis/index.js +21 -0
- package/lib/axis/index.js.map +1 -0
- package/lib/bg.js +114 -0
- package/lib/bg.js.map +1 -0
- package/lib/container/actions.js +18 -0
- package/lib/container/actions.js.map +1 -0
- package/lib/container/index.js +127 -0
- package/lib/container/index.js.map +1 -0
- package/lib/container/marks.js +22 -0
- package/lib/container/marks.js.map +1 -0
- package/lib/container/middleware.js +19 -0
- package/lib/container/middleware.js.map +1 -0
- package/lib/container/reducer.js +18 -0
- package/lib/container/reducer.js.map +1 -0
- package/lib/coordinates-label.js +79 -0
- package/lib/coordinates-label.js.map +1 -0
- package/lib/graph-with-controls.js +294 -0
- package/lib/graph-with-controls.js.map +1 -0
- package/lib/graph.js +327 -0
- package/lib/graph.js.map +1 -0
- package/lib/grid-setup.js +414 -0
- package/lib/grid-setup.js.map +1 -0
- package/lib/grid.js +131 -0
- package/lib/grid.js.map +1 -0
- package/lib/index.js +47 -0
- package/lib/index.js.map +1 -0
- package/lib/key-legend.js +201 -0
- package/lib/key-legend.js.map +1 -0
- package/lib/label-svg-icon.js +50 -0
- package/lib/label-svg-icon.js.map +1 -0
- package/lib/labels.js +243 -0
- package/lib/labels.js.map +1 -0
- package/lib/mark-label.js +285 -0
- package/lib/mark-label.js.map +1 -0
- package/lib/toggle-bar.js +252 -0
- package/lib/toggle-bar.js.map +1 -0
- package/lib/tool-menu.js +78 -0
- package/lib/tool-menu.js.map +1 -0
- package/lib/tools/absolute/component.js +29 -0
- package/lib/tools/absolute/component.js.map +1 -0
- package/lib/tools/absolute/index.js +50 -0
- package/lib/tools/absolute/index.js.map +1 -0
- package/lib/tools/circle/bg-circle.js +123 -0
- package/lib/tools/circle/bg-circle.js.map +1 -0
- package/lib/tools/circle/component.js +321 -0
- package/lib/tools/circle/component.js.map +1 -0
- package/lib/tools/circle/index.js +41 -0
- package/lib/tools/circle/index.js.map +1 -0
- package/lib/tools/exponential/component.js +28 -0
- package/lib/tools/exponential/component.js.map +1 -0
- package/lib/tools/exponential/index.js +56 -0
- package/lib/tools/exponential/index.js.map +1 -0
- package/lib/tools/index.js +86 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/line/component.js +97 -0
- package/lib/tools/line/component.js.map +1 -0
- package/lib/tools/line/index.js +11 -0
- package/lib/tools/line/index.js.map +1 -0
- package/lib/tools/parabola/component.js +28 -0
- package/lib/tools/parabola/component.js.map +1 -0
- package/lib/tools/parabola/index.js +50 -0
- package/lib/tools/parabola/index.js.map +1 -0
- package/lib/tools/point/component.js +148 -0
- package/lib/tools/point/component.js.map +1 -0
- package/lib/tools/point/index.js +24 -0
- package/lib/tools/point/index.js.map +1 -0
- package/lib/tools/polygon/component.js +437 -0
- package/lib/tools/polygon/component.js.map +1 -0
- package/lib/tools/polygon/index.js +89 -0
- package/lib/tools/polygon/index.js.map +1 -0
- package/lib/tools/polygon/line.js +112 -0
- package/lib/tools/polygon/line.js.map +1 -0
- package/lib/tools/polygon/polygon.js +130 -0
- package/lib/tools/polygon/polygon.js.map +1 -0
- package/lib/tools/ray/component.js +95 -0
- package/lib/tools/ray/component.js.map +1 -0
- package/lib/tools/ray/index.js +11 -0
- package/lib/tools/ray/index.js.map +1 -0
- package/lib/tools/segment/component.js +71 -0
- package/lib/tools/segment/component.js.map +1 -0
- package/lib/tools/segment/index.js +11 -0
- package/lib/tools/segment/index.js.map +1 -0
- package/lib/tools/shared/arrow-head.js +111 -0
- package/lib/tools/shared/arrow-head.js.map +1 -0
- package/lib/tools/shared/icons/CorrectSVG.js +40 -0
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/IncorrectSVG.js +40 -0
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
- package/lib/tools/shared/icons/MissingSVG.js +39 -0
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
- package/lib/tools/shared/line/index.js +550 -0
- package/lib/tools/shared/line/index.js.map +1 -0
- package/lib/tools/shared/line/line-path.js +118 -0
- package/lib/tools/shared/line/line-path.js.map +1 -0
- package/lib/tools/shared/line/with-root-edge.js +121 -0
- package/lib/tools/shared/line/with-root-edge.js.map +1 -0
- package/lib/tools/shared/point/arrow-point.js +72 -0
- package/lib/tools/shared/point/arrow-point.js.map +1 -0
- package/lib/tools/shared/point/arrow.js +67 -0
- package/lib/tools/shared/point/arrow.js.map +1 -0
- package/lib/tools/shared/point/base-point.js +157 -0
- package/lib/tools/shared/point/base-point.js.map +1 -0
- package/lib/tools/shared/point/index.js +68 -0
- package/lib/tools/shared/point/index.js.map +1 -0
- package/lib/tools/shared/styles.js +33 -0
- package/lib/tools/shared/styles.js.map +1 -0
- package/lib/tools/shared/types.js +16 -0
- package/lib/tools/shared/types.js.map +1 -0
- package/lib/tools/sine/component.js +40 -0
- package/lib/tools/sine/component.js.map +1 -0
- package/lib/tools/sine/index.js +50 -0
- package/lib/tools/sine/index.js.map +1 -0
- package/lib/tools/vector/component.js +68 -0
- package/lib/tools/vector/component.js.map +1 -0
- package/lib/tools/vector/index.js +11 -0
- package/lib/tools/vector/index.js.map +1 -0
- package/lib/undo-redo.js +86 -0
- package/lib/undo-redo.js.map +1 -0
- package/lib/use-debounce.js +25 -0
- package/lib/use-debounce.js.map +1 -0
- package/lib/utils.js +229 -0
- package/lib/utils.js.map +1 -0
- package/package.json +33 -45
- package/src/__tests__/bg.test.jsx +250 -0
- package/src/__tests__/coordinates-label.test.jsx +243 -0
- package/src/__tests__/graph-with-controls.test.jsx +198 -0
- package/src/__tests__/graph.test.jsx +721 -0
- package/src/__tests__/grid-setup.test.jsx +645 -0
- package/src/__tests__/grid.test.jsx +22 -0
- package/src/__tests__/key-legend.test.jsx +260 -0
- package/src/__tests__/label-svg-icon.test.jsx +278 -0
- package/src/__tests__/labels.test.jsx +55 -0
- package/src/__tests__/mark-label.test.jsx +63 -0
- package/src/__tests__/toggle-bar.test.jsx +146 -0
- package/src/__tests__/tool-menu.test.jsx +115 -0
- package/src/__tests__/undo-redo.test.jsx +24 -0
- package/src/__tests__/use-debounce.test.js +21 -0
- package/src/__tests__/utils.js +41 -0
- package/src/__tests__/utils.test.js +105 -0
- package/src/axis/__tests__/arrow.test.jsx +38 -0
- package/src/axis/__tests__/axes.test.jsx +216 -0
- package/src/axis/arrow.jsx +57 -0
- package/src/axis/axes.jsx +285 -0
- package/src/axis/index.js +3 -0
- package/src/bg.jsx +96 -0
- package/src/container/__tests__/actions.test.js +105 -0
- package/src/container/__tests__/index.test.jsx +319 -0
- package/src/container/__tests__/marks.test.js +172 -0
- package/src/container/__tests__/middleware.test.js +235 -0
- package/src/container/__tests__/reducer.test.js +324 -0
- package/src/container/actions.js +8 -0
- package/src/container/index.jsx +91 -0
- package/src/container/marks.js +14 -0
- package/src/container/middleware.js +7 -0
- package/src/container/reducer.js +5 -0
- package/src/coordinates-label.jsx +63 -0
- package/src/graph-with-controls.jsx +239 -0
- package/src/graph.jsx +303 -0
- package/src/grid-setup.jsx +432 -0
- package/src/grid.jsx +133 -0
- package/src/index.js +7 -0
- package/src/key-legend.jsx +142 -0
- package/src/label-svg-icon.jsx +39 -0
- package/src/labels.jsx +207 -0
- package/src/mark-label.jsx +244 -0
- package/src/toggle-bar.jsx +224 -0
- package/src/tool-menu.jsx +49 -0
- package/src/tools/absolute/__tests__/component.test.jsx +53 -0
- package/src/tools/absolute/component.jsx +23 -0
- package/src/tools/absolute/index.js +31 -0
- package/src/tools/circle/__tests__/bg-circle.test.jsx +26 -0
- package/src/tools/circle/__tests__/component.test.jsx +494 -0
- package/src/tools/circle/__tests__/index.test.js +480 -0
- package/src/tools/circle/bg-circle.jsx +81 -0
- package/src/tools/circle/component.jsx +264 -0
- package/src/tools/circle/index.js +25 -0
- package/src/tools/exponential/__tests__/component.test.jsx +53 -0
- package/src/tools/exponential/__tests__/index.test.js +729 -0
- package/src/tools/exponential/component.jsx +23 -0
- package/src/tools/exponential/index.js +39 -0
- package/src/tools/index.js +48 -0
- package/src/tools/line/__tests__/component.test.jsx +37 -0
- package/src/tools/line/component.jsx +93 -0
- package/src/tools/line/index.js +4 -0
- package/src/tools/parabola/__tests__/component.test.jsx +48 -0
- package/src/tools/parabola/__tests__/index.test.js +470 -0
- package/src/tools/parabola/component.jsx +23 -0
- package/src/tools/parabola/index.js +31 -0
- package/src/tools/point/__tests__/component.test.jsx +349 -0
- package/src/tools/point/__tests__/index.test.js +241 -0
- package/src/tools/point/component.jsx +126 -0
- package/src/tools/point/index.js +11 -0
- package/src/tools/polygon/__tests__/component.test.jsx +471 -0
- package/src/tools/polygon/__tests__/index.test.js +294 -0
- package/src/tools/polygon/__tests__/line.test.jsx +35 -0
- package/src/tools/polygon/__tests__/polygon.test.jsx +61 -0
- package/src/tools/polygon/component.jsx +409 -0
- package/src/tools/polygon/index.js +52 -0
- package/src/tools/polygon/line.jsx +74 -0
- package/src/tools/polygon/polygon.jsx +110 -0
- package/src/tools/ray/__tests__/component.test.jsx +29 -0
- package/src/tools/ray/component.jsx +92 -0
- package/src/tools/ray/index.js +4 -0
- package/src/tools/segment/__tests__/component.test.jsx +28 -0
- package/src/tools/segment/component.jsx +65 -0
- package/src/tools/segment/index.js +4 -0
- package/src/tools/shared/__tests__/arrow-head.test.jsx +31 -0
- package/src/tools/shared/arrow-head.jsx +102 -0
- package/src/tools/shared/icons/CorrectSVG.jsx +32 -0
- package/src/tools/shared/icons/IncorrectSVG.jsx +30 -0
- package/src/tools/shared/icons/MissingSVG.jsx +31 -0
- package/src/tools/shared/line/__tests__/index.test.jsx +109 -0
- package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
- package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
- package/src/tools/shared/line/index.jsx +487 -0
- package/src/tools/shared/line/line-path.jsx +80 -0
- package/src/tools/shared/line/with-root-edge.jsx +97 -0
- package/src/tools/shared/point/__tests__/arrow-point.test.jsx +91 -0
- package/src/tools/shared/point/__tests__/base-point.test.jsx +87 -0
- package/src/tools/shared/point/arrow-point.jsx +46 -0
- package/src/tools/shared/point/arrow.jsx +37 -0
- package/src/tools/shared/point/base-point.jsx +121 -0
- package/src/tools/shared/point/index.jsx +54 -0
- package/src/tools/shared/styles.js +27 -0
- package/src/tools/shared/types.js +10 -0
- package/src/tools/sine/__tests__/component.test.jsx +51 -0
- package/src/tools/sine/component.jsx +32 -0
- package/src/tools/sine/index.js +33 -0
- package/src/tools/vector/__tests__/component.test.jsx +25 -0
- package/src/tools/vector/component.jsx +56 -0
- package/src/tools/vector/index.js +4 -0
- package/src/undo-redo.jsx +45 -0
- package/src/use-debounce.js +13 -0
- package/src/utils.js +224 -0
- package/dist/_virtual/_rolldown/runtime.js +0 -23
- package/dist/autosize-input.d.ts +0 -10
- package/dist/autosize-input.js +0 -66
- package/dist/axis/arrow.d.ts +0 -13
- package/dist/axis/arrow.js +0 -34
- package/dist/axis/axes.d.ts +0 -132
- package/dist/axis/axes.js +0 -214
- package/dist/axis/index.d.ts +0 -10
- package/dist/bg.d.ts +0 -51
- package/dist/bg.js +0 -44
- package/dist/container/actions.d.ts +0 -15
- package/dist/container/actions.js +0 -7
- package/dist/container/index.d.ts +0 -58
- package/dist/container/index.js +0 -48
- package/dist/container/marks.d.ts +0 -10
- package/dist/container/marks.js +0 -11
- package/dist/container/middleware.d.ts +0 -10
- package/dist/container/middleware.js +0 -4
- package/dist/container/reducer.d.ts +0 -14
- package/dist/container/reducer.js +0 -7
- package/dist/coordinates-label.d.ts +0 -50
- package/dist/coordinates-label.js +0 -46
- package/dist/graph-with-controls.d.ts +0 -88
- package/dist/graph-with-controls.js +0 -154
- package/dist/graph.d.ts +0 -126
- package/dist/graph.js +0 -209
- package/dist/grid-setup.d.ts +0 -27
- package/dist/grid-setup.js +0 -307
- package/dist/grid.d.ts +0 -43
- package/dist/grid.js +0 -59
- package/dist/index.d.ts +0 -15
- package/dist/index.js +0 -7
- package/dist/key-legend.d.ts +0 -21
- package/dist/key-legend.js +0 -231
- package/dist/label-svg-icon.d.ts +0 -18
- package/dist/label-svg-icon.js +0 -42
- package/dist/labels.d.ts +0 -37
- package/dist/labels.js +0 -152
- package/dist/mark-label.d.ts +0 -58
- package/dist/mark-label.js +0 -171
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +0 -101
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +0 -63
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +0 -44
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +0 -9
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +0 -14
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +0 -21
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +0 -16
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +0 -8
- package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +0 -15
- package/dist/node_modules/.bun/@visx_curve@3.12.0/node_modules/@visx/curve/esm/index.js +0 -2
- package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/Grid.js +0 -79
- package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +0 -79
- package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +0 -79
- package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +0 -6
- package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +0 -50
- package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +0 -18
- package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +0 -10
- package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +0 -9
- package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +0 -6
- package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +0 -47
- package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/LinePath.js +0 -50
- package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +0 -9
- package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +0 -6
- package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +0 -53
- package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +0 -57
- package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +0 -91
- package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +0 -21
- package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +0 -32
- package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +0 -33
- package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +0 -32
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
- package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +0 -28
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Hash.js +0 -21
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_ListCache.js +0 -21
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js +0 -10
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_MapCache.js +0 -21
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js +0 -9
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +0 -15
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js +0 -16
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js +0 -9
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +0 -8
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getMapData.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js +0 -15
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js +0 -19
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js +0 -11
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashClear.js +0 -13
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashDelete.js +0 -12
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashGet.js +0 -18
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashHas.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashSet.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isKeyable.js +0 -12
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js +0 -16
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheClear.js +0 -11
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheGet.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheHas.js +0 -13
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheSet.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js +0 -19
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js +0 -13
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js +0 -13
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js +0 -14
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeCreate.js +0 -9
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js +0 -12
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js +0 -10
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js +0 -20
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/eq.js +0 -11
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js +0 -16
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js +0 -12
- package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/memoize.js +0 -20
- package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +0 -37
- package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +0 -509
- package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +0 -108
- package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +0 -31
- package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +0 -45
- package/dist/node_modules/.bun/react-redux@9.3.0_9e2203c65d1d5fa1/node_modules/react-redux/dist/react-redux.js +0 -471
- package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +0 -49
- package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +0 -34
- package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +0 -185
- package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +0 -198
- package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +0 -53
- package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +0 -51
- package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/with-selector.js +0 -10
- package/dist/toggle-bar.d.ts +0 -40
- package/dist/toggle-bar.js +0 -155
- package/dist/tool-menu.d.ts +0 -29
- package/dist/tool-menu.js +0 -41
- package/dist/tools/absolute/component.d.ts +0 -16
- package/dist/tools/absolute/component.js +0 -15
- package/dist/tools/absolute/index.d.ts +0 -20
- package/dist/tools/absolute/index.js +0 -32
- package/dist/tools/circle/bg-circle.d.ts +0 -116
- package/dist/tools/circle/bg-circle.js +0 -72
- package/dist/tools/circle/component.d.ts +0 -83
- package/dist/tools/circle/component.js +0 -195
- package/dist/tools/circle/index.d.ts +0 -20
- package/dist/tools/circle/index.js +0 -22
- package/dist/tools/exponential/component.d.ts +0 -16
- package/dist/tools/exponential/component.js +0 -14
- package/dist/tools/exponential/index.d.ts +0 -20
- package/dist/tools/exponential/index.js +0 -32
- package/dist/tools/index.d.ts +0 -27
- package/dist/tools/index.js +0 -55
- package/dist/tools/line/component.d.ts +0 -124
- package/dist/tools/line/component.js +0 -72
- package/dist/tools/line/index.d.ts +0 -13
- package/dist/tools/line/index.js +0 -6
- package/dist/tools/parabola/component.d.ts +0 -16
- package/dist/tools/parabola/component.js +0 -14
- package/dist/tools/parabola/index.d.ts +0 -20
- package/dist/tools/parabola/index.js +0 -32
- package/dist/tools/point/component.d.ts +0 -50
- package/dist/tools/point/component.js +0 -85
- package/dist/tools/point/index.d.ts +0 -15
- package/dist/tools/point/index.js +0 -13
- package/dist/tools/polygon/component.d.ts +0 -120
- package/dist/tools/polygon/component.js +0 -262
- package/dist/tools/polygon/index.d.ts +0 -19
- package/dist/tools/polygon/index.js +0 -55
- package/dist/tools/polygon/line.d.ts +0 -125
- package/dist/tools/polygon/line.js +0 -63
- package/dist/tools/polygon/polygon.d.ts +0 -122
- package/dist/tools/polygon/polygon.js +0 -74
- package/dist/tools/ray/component.d.ts +0 -101
- package/dist/tools/ray/component.js +0 -71
- package/dist/tools/ray/index.d.ts +0 -13
- package/dist/tools/ray/index.js +0 -6
- package/dist/tools/segment/component.d.ts +0 -100
- package/dist/tools/segment/component.js +0 -52
- package/dist/tools/segment/index.d.ts +0 -13
- package/dist/tools/segment/index.js +0 -6
- package/dist/tools/shared/arrow-head.d.ts +0 -51
- package/dist/tools/shared/arrow-head.js +0 -63
- package/dist/tools/shared/icons/CorrectSVG.d.ts +0 -26
- package/dist/tools/shared/icons/CorrectSVG.js +0 -29
- package/dist/tools/shared/icons/IncorrectSVG.d.ts +0 -26
- package/dist/tools/shared/icons/IncorrectSVG.js +0 -27
- package/dist/tools/shared/icons/MissingSVG.d.ts +0 -26
- package/dist/tools/shared/icons/MissingSVG.js +0 -28
- package/dist/tools/shared/line/index.d.ts +0 -245
- package/dist/tools/shared/line/index.js +0 -319
- package/dist/tools/shared/line/line-path.d.ts +0 -57
- package/dist/tools/shared/line/line-path.js +0 -71
- package/dist/tools/shared/line/with-root-edge.d.ts +0 -142
- package/dist/tools/shared/line/with-root-edge.js +0 -73
- package/dist/tools/shared/point/arrow-point.d.ts +0 -56
- package/dist/tools/shared/point/arrow-point.js +0 -41
- package/dist/tools/shared/point/arrow.d.ts +0 -45
- package/dist/tools/shared/point/arrow.js +0 -35
- package/dist/tools/shared/point/base-point.d.ts +0 -52
- package/dist/tools/shared/point/base-point.js +0 -103
- package/dist/tools/shared/point/index.d.ts +0 -216
- package/dist/tools/shared/point/index.js +0 -45
- package/dist/tools/shared/styles.d.ts +0 -29
- package/dist/tools/shared/styles.js +0 -20
- package/dist/tools/shared/types.d.ts +0 -21
- package/dist/tools/shared/types.js +0 -11
- package/dist/tools/sine/component.d.ts +0 -16
- package/dist/tools/sine/component.js +0 -22
- package/dist/tools/sine/index.d.ts +0 -20
- package/dist/tools/sine/index.js +0 -32
- package/dist/tools/vector/component.d.ts +0 -100
- package/dist/tools/vector/component.js +0 -44
- package/dist/tools/vector/index.d.ts +0 -13
- package/dist/tools/vector/index.js +0 -6
- package/dist/undo-redo.d.ts +0 -22
- package/dist/undo-redo.js +0 -47
- package/dist/use-debounce.d.ts +0 -9
- package/dist/use-debounce.js +0 -13
- package/dist/utils.d.ts +0 -61
- package/dist/utils.js +0 -75
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.styles = exports.lineToolComponent = exports.lineTool = exports.lineBase = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _lodashEs = require("lodash-es");
|
|
17
|
+
var _point = require("../point");
|
|
18
|
+
var _plot = require("@pie-lib/plot");
|
|
19
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
20
|
+
var _styles = require("../styles");
|
|
21
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
22
|
+
var _markLabel = _interopRequireDefault(require("../../../mark-label"));
|
|
23
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
24
|
+
var _utils = require("../../../utils");
|
|
25
|
+
var _styles2 = require("@mui/material/styles");
|
|
26
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
27
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
|
+
var StyledLineGroup = (0, _styles2.styled)('g')(function (_ref) {
|
|
31
|
+
var disabled = _ref.disabled,
|
|
32
|
+
correctness = _ref.correctness;
|
|
33
|
+
return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
34
|
+
'& line:not(.hit-area)': {
|
|
35
|
+
fill: 'transparent',
|
|
36
|
+
stroke: _renderUi.color.defaults.BLACK,
|
|
37
|
+
strokeWidth: 3,
|
|
38
|
+
transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
|
|
39
|
+
'&:hover': {
|
|
40
|
+
strokeWidth: 6,
|
|
41
|
+
stroke: _renderUi.color.defaults.PRIMARY_DARK
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}, disabled && {
|
|
45
|
+
'& line:not(.hit-area)': _objectSpread(_objectSpread({}, (0, _styles.disabledSecondary)('stroke')), {}, {
|
|
46
|
+
strokeWidth: 2
|
|
47
|
+
})
|
|
48
|
+
}), correctness === 'correct' && {
|
|
49
|
+
'& line:not(.hit-area)': _objectSpread({}, (0, _styles.correct)('stroke'))
|
|
50
|
+
}), correctness === 'incorrect' && {
|
|
51
|
+
'& line:not(.hit-area)': _objectSpread({}, (0, _styles.incorrect)('stroke'))
|
|
52
|
+
}), correctness === 'missing' && {
|
|
53
|
+
'& line:not(.hit-area)': _objectSpread(_objectSpread({}, (0, _styles.missing)('stroke')), {}, {
|
|
54
|
+
strokeWidth: 1,
|
|
55
|
+
strokeDasharray: '4 3'
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
var lineTool = exports.lineTool = function lineTool(type, Component) {
|
|
60
|
+
return function () {
|
|
61
|
+
return {
|
|
62
|
+
type: type,
|
|
63
|
+
Component: Component,
|
|
64
|
+
addPoint: function addPoint(point, mark) {
|
|
65
|
+
if (mark && (0, _utils.equalPoints)(mark.root, point)) {
|
|
66
|
+
return mark;
|
|
67
|
+
}
|
|
68
|
+
if (!mark) {
|
|
69
|
+
return {
|
|
70
|
+
type: type,
|
|
71
|
+
building: true,
|
|
72
|
+
from: point
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if ((0, _utils.equalPoints)(point, mark.from)) {
|
|
76
|
+
return _objectSpread({}, mark);
|
|
77
|
+
}
|
|
78
|
+
return _objectSpread(_objectSpread({}, mark), {}, {
|
|
79
|
+
building: false,
|
|
80
|
+
to: point
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
var lineToolComponent = exports.lineToolComponent = function lineToolComponent(Component) {
|
|
87
|
+
var _LineToolComponent;
|
|
88
|
+
return _LineToolComponent = /*#__PURE__*/function (_React$Component) {
|
|
89
|
+
function LineToolComponent(props) {
|
|
90
|
+
var _this;
|
|
91
|
+
(0, _classCallCheck2["default"])(this, LineToolComponent);
|
|
92
|
+
_this = _callSuper(this, LineToolComponent, [props]);
|
|
93
|
+
(0, _defineProperty2["default"])(_this, "startDrag", function () {
|
|
94
|
+
var onDragStart = _this.props.onDragStart;
|
|
95
|
+
_this.setState({
|
|
96
|
+
mark: _objectSpread({}, _this.props.mark)
|
|
97
|
+
});
|
|
98
|
+
if (onDragStart) onDragStart();
|
|
99
|
+
});
|
|
100
|
+
(0, _defineProperty2["default"])(_this, "stopDrag", function () {
|
|
101
|
+
var _this$props = _this.props,
|
|
102
|
+
onChange = _this$props.onChange,
|
|
103
|
+
mark = _this$props.mark,
|
|
104
|
+
onDragStop = _this$props.onDragStop;
|
|
105
|
+
var update = _objectSpread({}, _this.state.mark);
|
|
106
|
+
_this.setState({
|
|
107
|
+
mark: undefined
|
|
108
|
+
}, function () {
|
|
109
|
+
var type = update.type;
|
|
110
|
+
var shouldNotChange = type && (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') && (0, _utils.sameAxes)(update.from, update.to);
|
|
111
|
+
if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {
|
|
112
|
+
shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;
|
|
113
|
+
}
|
|
114
|
+
if (!(0, _lodashEs.isEqual)(mark, update) && !shouldNotChange) {
|
|
115
|
+
onChange(mark, update);
|
|
116
|
+
}
|
|
117
|
+
if (onDragStop) onDragStop();
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
(0, _defineProperty2["default"])(_this, "changeMark", function (_ref2) {
|
|
121
|
+
var from = _ref2.from,
|
|
122
|
+
to = _ref2.to,
|
|
123
|
+
middle = _ref2.middle;
|
|
124
|
+
var mark = _objectSpread(_objectSpread({}, _this.state.mark), {}, {
|
|
125
|
+
from: from,
|
|
126
|
+
to: to
|
|
127
|
+
});
|
|
128
|
+
if (middle) {
|
|
129
|
+
mark = _objectSpread(_objectSpread({}, mark), {}, {
|
|
130
|
+
middle: middle
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
_this.setState({
|
|
134
|
+
mark: mark
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
(0, _defineProperty2["default"])(_this, "changeMarkProps", function (_ref3) {
|
|
138
|
+
var from = _ref3.from,
|
|
139
|
+
to = _ref3.to,
|
|
140
|
+
middle = _ref3.middle;
|
|
141
|
+
var _this$props2 = _this.props,
|
|
142
|
+
onChange = _this$props2.onChange,
|
|
143
|
+
mark = _this$props2.mark;
|
|
144
|
+
var update = _objectSpread(_objectSpread({}, mark), _this.state.mark);
|
|
145
|
+
if (from) {
|
|
146
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
147
|
+
from: from
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if (to) {
|
|
151
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
152
|
+
to: to
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
if (middle) {
|
|
156
|
+
update = _objectSpread(_objectSpread({}, update), {}, {
|
|
157
|
+
middle: middle
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
if (!(0, _lodashEs.isEqual)(mark, update)) {
|
|
161
|
+
onChange(mark, update);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
_this.state = {};
|
|
165
|
+
return _this;
|
|
166
|
+
}
|
|
167
|
+
(0, _inherits2["default"])(LineToolComponent, _React$Component);
|
|
168
|
+
return (0, _createClass2["default"])(LineToolComponent, [{
|
|
169
|
+
key: "render",
|
|
170
|
+
value: function render() {
|
|
171
|
+
var _this$props3 = this.props,
|
|
172
|
+
graphProps = _this$props3.graphProps,
|
|
173
|
+
onClick = _this$props3.onClick,
|
|
174
|
+
labelNode = _this$props3.labelNode,
|
|
175
|
+
labelModeEnabled = _this$props3.labelModeEnabled,
|
|
176
|
+
coordinatesOnHover = _this$props3.coordinatesOnHover,
|
|
177
|
+
limitLabeling = _this$props3.limitLabeling;
|
|
178
|
+
var mark = this.state.mark ? this.state.mark : this.props.mark;
|
|
179
|
+
var from = (0, _lodashEs.cloneDeep)(mark.from);
|
|
180
|
+
var to = (0, _lodashEs.cloneDeep)(mark.to);
|
|
181
|
+
var middle = (0, _lodashEs.cloneDeep)(mark.middle);
|
|
182
|
+
|
|
183
|
+
// SET DISABLED
|
|
184
|
+
// if it's a background mark, we need to force disable it
|
|
185
|
+
if (from && mark.isBackground) {
|
|
186
|
+
from.disabled = true;
|
|
187
|
+
}
|
|
188
|
+
if (to && mark.isBackground) {
|
|
189
|
+
to.disabled = true;
|
|
190
|
+
}
|
|
191
|
+
if (middle && mark.isBackground) {
|
|
192
|
+
middle.disabled = true;
|
|
193
|
+
}
|
|
194
|
+
return /*#__PURE__*/_react["default"].createElement(Component, {
|
|
195
|
+
disabled: mark.disabled,
|
|
196
|
+
coordinatesOnHover: coordinatesOnHover,
|
|
197
|
+
correctness: mark.correctness,
|
|
198
|
+
from: from,
|
|
199
|
+
to: to,
|
|
200
|
+
middle: middle,
|
|
201
|
+
graphProps: graphProps,
|
|
202
|
+
onChange: this.changeMark,
|
|
203
|
+
changeMarkProps: this.changeMarkProps,
|
|
204
|
+
onClick: onClick,
|
|
205
|
+
onDragStart: this.startDrag,
|
|
206
|
+
onDragStop: this.stopDrag,
|
|
207
|
+
labelNode: labelNode,
|
|
208
|
+
labelModeEnabled: labelModeEnabled,
|
|
209
|
+
limitLabeling: limitLabeling
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}]);
|
|
213
|
+
}(_react["default"].Component), (0, _defineProperty2["default"])(_LineToolComponent, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
|
|
214
|
+
graphProps: _plot.types.GraphPropsType.isRequired,
|
|
215
|
+
limitLabeling: _propTypes["default"].bool,
|
|
216
|
+
changeMarkProps: _propTypes["default"].func,
|
|
217
|
+
disabled: _propTypes["default"].bool,
|
|
218
|
+
from: _plot.types.PointType,
|
|
219
|
+
to: _plot.types.PointType,
|
|
220
|
+
labelModeEnabled: _propTypes["default"].bool,
|
|
221
|
+
onClick: _propTypes["default"].func
|
|
222
|
+
})), _LineToolComponent;
|
|
223
|
+
};
|
|
224
|
+
var dragOpts = function dragOpts() {
|
|
225
|
+
return {
|
|
226
|
+
bounds: function bounds(props, _ref4) {
|
|
227
|
+
var domain = _ref4.domain,
|
|
228
|
+
range = _ref4.range;
|
|
229
|
+
var area = _plot.utils.lineToArea(props.from, props.to);
|
|
230
|
+
return _plot.utils.bounds(area, domain, range);
|
|
231
|
+
},
|
|
232
|
+
anchorPoint: function anchorPoint(props) {
|
|
233
|
+
var from = props.from;
|
|
234
|
+
return from;
|
|
235
|
+
},
|
|
236
|
+
fromDelta: function fromDelta(props, delta) {
|
|
237
|
+
var from = props.from,
|
|
238
|
+
to = props.to;
|
|
239
|
+
return {
|
|
240
|
+
from: _plot.utils.point(from).add(_plot.utils.point(delta)),
|
|
241
|
+
to: _plot.utils.point(to).add(_plot.utils.point(delta))
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
var lineBase = exports.lineBase = function lineBase(Comp, opts) {
|
|
247
|
+
var DraggableComp = (0, _plot.gridDraggable)(dragOpts())(Comp);
|
|
248
|
+
var FromPoint = opts && opts.from ? opts.from : _point.BasePoint;
|
|
249
|
+
var ToPoint = opts && opts.to ? opts.to : _point.BasePoint;
|
|
250
|
+
var LineBase = /*#__PURE__*/function (_React$Component2) {
|
|
251
|
+
function LineBase() {
|
|
252
|
+
var _this2;
|
|
253
|
+
(0, _classCallCheck2["default"])(this, LineBase);
|
|
254
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
255
|
+
args[_key] = arguments[_key];
|
|
256
|
+
}
|
|
257
|
+
_this2 = _callSuper(this, LineBase, [].concat(args));
|
|
258
|
+
(0, _defineProperty2["default"])(_this2, "onChangePoint", function (point) {
|
|
259
|
+
var _this2$props = _this2.props,
|
|
260
|
+
middle = _this2$props.middle,
|
|
261
|
+
onChange = _this2$props.onChange;
|
|
262
|
+
var from = point.from,
|
|
263
|
+
to = point.to;
|
|
264
|
+
|
|
265
|
+
// because point.from.label and point.to.label can be different
|
|
266
|
+
if (!(0, _utils.equalPoints)(from, to)) {
|
|
267
|
+
if (middle) {
|
|
268
|
+
point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
269
|
+
}
|
|
270
|
+
onChange(point);
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
(0, _defineProperty2["default"])(_this2, "dragComp", function (_ref5) {
|
|
274
|
+
var draggedFrom = _ref5.from,
|
|
275
|
+
draggedTo = _ref5.to;
|
|
276
|
+
var _this2$props2 = _this2.props,
|
|
277
|
+
from = _this2$props2.from,
|
|
278
|
+
to = _this2$props2.to,
|
|
279
|
+
onChange = _this2$props2.onChange,
|
|
280
|
+
middle = _this2$props2.middle;
|
|
281
|
+
if (from.label) {
|
|
282
|
+
draggedFrom.label = from.label;
|
|
283
|
+
}
|
|
284
|
+
if (to.label) {
|
|
285
|
+
draggedTo.label = to.label;
|
|
286
|
+
}
|
|
287
|
+
var updated = {
|
|
288
|
+
from: draggedFrom,
|
|
289
|
+
to: draggedTo
|
|
290
|
+
};
|
|
291
|
+
if (middle) {
|
|
292
|
+
updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
|
|
293
|
+
}
|
|
294
|
+
onChange(updated);
|
|
295
|
+
});
|
|
296
|
+
(0, _defineProperty2["default"])(_this2, "dragFrom", function (draggedFrom) {
|
|
297
|
+
var _this2$props3 = _this2.props,
|
|
298
|
+
from = _this2$props3.from,
|
|
299
|
+
to = _this2$props3.to;
|
|
300
|
+
if (from.label) {
|
|
301
|
+
draggedFrom.label = from.label;
|
|
302
|
+
}
|
|
303
|
+
if (!(0, _utils.equalPoints)(draggedFrom, to)) {
|
|
304
|
+
_this2.onChangePoint({
|
|
305
|
+
from: draggedFrom,
|
|
306
|
+
to: to
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
(0, _defineProperty2["default"])(_this2, "dragTo", function (draggedTo) {
|
|
311
|
+
var _this2$props4 = _this2.props,
|
|
312
|
+
from = _this2$props4.from,
|
|
313
|
+
to = _this2$props4.to;
|
|
314
|
+
if (to.label) {
|
|
315
|
+
draggedTo.label = to.label;
|
|
316
|
+
}
|
|
317
|
+
if (!(0, _utils.equalPoints)(from, draggedTo)) {
|
|
318
|
+
_this2.onChangePoint({
|
|
319
|
+
from: from,
|
|
320
|
+
to: draggedTo
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
(0, _defineProperty2["default"])(_this2, "labelChange", function (point, type) {
|
|
325
|
+
var changeMarkProps = _this2.props.changeMarkProps;
|
|
326
|
+
var update = _objectSpread({}, point);
|
|
327
|
+
if (!point.label || (0, _lodashEs.isEmpty)(point.label)) {
|
|
328
|
+
delete update.label;
|
|
329
|
+
}
|
|
330
|
+
changeMarkProps((0, _defineProperty2["default"])({}, type, update));
|
|
331
|
+
});
|
|
332
|
+
(0, _defineProperty2["default"])(_this2, "clickPoint", function (point, type, data) {
|
|
333
|
+
var _this2$props5 = _this2.props,
|
|
334
|
+
changeMarkProps = _this2$props5.changeMarkProps,
|
|
335
|
+
disabled = _this2$props5.disabled,
|
|
336
|
+
from = _this2$props5.from,
|
|
337
|
+
to = _this2$props5.to,
|
|
338
|
+
middle = _this2$props5.middle,
|
|
339
|
+
labelModeEnabled = _this2$props5.labelModeEnabled,
|
|
340
|
+
limitLabeling = _this2$props5.limitLabeling,
|
|
341
|
+
onClick = _this2$props5.onClick;
|
|
342
|
+
if (!labelModeEnabled) {
|
|
343
|
+
onClick(point || data);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
if (disabled) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// limit labeling the points of the line
|
|
351
|
+
if (limitLabeling) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (type === 'middle' && !point && from && to) {
|
|
355
|
+
point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
|
|
356
|
+
}
|
|
357
|
+
changeMarkProps((0, _defineProperty2["default"])({
|
|
358
|
+
from: (0, _utils.stripEmptyLabel)(from),
|
|
359
|
+
to: (0, _utils.stripEmptyLabel)(to),
|
|
360
|
+
middle: (0, _utils.stripEmptyLabel)(middle)
|
|
361
|
+
}, type, _objectSpread({
|
|
362
|
+
label: ''
|
|
363
|
+
}, point)));
|
|
364
|
+
if (_this2.input[type]) {
|
|
365
|
+
_this2.input[type].focus();
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
// IMPORTANT, do not remove
|
|
369
|
+
(0, _defineProperty2["default"])(_this2, "input", {});
|
|
370
|
+
return _this2;
|
|
371
|
+
}
|
|
372
|
+
(0, _inherits2["default"])(LineBase, _React$Component2);
|
|
373
|
+
return (0, _createClass2["default"])(LineBase, [{
|
|
374
|
+
key: "render",
|
|
375
|
+
value: function render() {
|
|
376
|
+
var _this3 = this;
|
|
377
|
+
var _this$props4 = this.props,
|
|
378
|
+
coordinatesOnHover = _this$props4.coordinatesOnHover,
|
|
379
|
+
graphProps = _this$props4.graphProps,
|
|
380
|
+
onDragStart = _this$props4.onDragStart,
|
|
381
|
+
onDragStop = _this$props4.onDragStop,
|
|
382
|
+
from = _this$props4.from,
|
|
383
|
+
to = _this$props4.to,
|
|
384
|
+
middle = _this$props4.middle,
|
|
385
|
+
disabled = _this$props4.disabled,
|
|
386
|
+
correctness = _this$props4.correctness,
|
|
387
|
+
onClick = _this$props4.onClick,
|
|
388
|
+
labelNode = _this$props4.labelNode,
|
|
389
|
+
labelModeEnabled = _this$props4.labelModeEnabled;
|
|
390
|
+
var common = {
|
|
391
|
+
graphProps: graphProps,
|
|
392
|
+
onDragStart: onDragStart,
|
|
393
|
+
onDragStop: onDragStop,
|
|
394
|
+
disabled: disabled,
|
|
395
|
+
correctness: correctness,
|
|
396
|
+
onClick: onClick
|
|
397
|
+
};
|
|
398
|
+
var angle = to ? _plot.trig.toDegrees(_plot.trig.angle(from, to)) : 0;
|
|
399
|
+
var fromLabelNode = null;
|
|
400
|
+
var toLabelNode = null;
|
|
401
|
+
var lineLabelNode = null;
|
|
402
|
+
if (labelNode) {
|
|
403
|
+
if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {
|
|
404
|
+
fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
405
|
+
inputRef: function inputRef(r) {
|
|
406
|
+
return _this3.input.from = r;
|
|
407
|
+
},
|
|
408
|
+
disabled: !labelModeEnabled,
|
|
409
|
+
mark: from,
|
|
410
|
+
graphProps: graphProps,
|
|
411
|
+
onChange: function onChange(label) {
|
|
412
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, from), {}, {
|
|
413
|
+
label: label
|
|
414
|
+
}), 'from');
|
|
415
|
+
}
|
|
416
|
+
}), labelNode);
|
|
417
|
+
}
|
|
418
|
+
if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {
|
|
419
|
+
toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
420
|
+
inputRef: function inputRef(r) {
|
|
421
|
+
return _this3.input.to = r;
|
|
422
|
+
},
|
|
423
|
+
disabled: !labelModeEnabled,
|
|
424
|
+
mark: to,
|
|
425
|
+
graphProps: graphProps,
|
|
426
|
+
onChange: function onChange(label) {
|
|
427
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, to), {}, {
|
|
428
|
+
label: label
|
|
429
|
+
}), 'to');
|
|
430
|
+
}
|
|
431
|
+
}), labelNode);
|
|
432
|
+
}
|
|
433
|
+
if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
|
|
434
|
+
lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
|
|
435
|
+
inputRef: function inputRef(r) {
|
|
436
|
+
return _this3.input.middle = r;
|
|
437
|
+
},
|
|
438
|
+
disabled: !labelModeEnabled,
|
|
439
|
+
mark: middle,
|
|
440
|
+
graphProps: graphProps,
|
|
441
|
+
onChange: function onChange(label) {
|
|
442
|
+
return _this3.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
|
|
443
|
+
label: label
|
|
444
|
+
}), 'middle');
|
|
445
|
+
}
|
|
446
|
+
}), labelNode);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
return /*#__PURE__*/_react["default"].createElement(StyledLineGroup, {
|
|
450
|
+
disabled: disabled,
|
|
451
|
+
correctness: correctness
|
|
452
|
+
}, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, (0, _extends2["default"])({
|
|
453
|
+
from: from,
|
|
454
|
+
to: to,
|
|
455
|
+
middle: middle,
|
|
456
|
+
onDrag: this.dragComp
|
|
457
|
+
}, common, {
|
|
458
|
+
onClick: function onClick(data) {
|
|
459
|
+
return _this3.clickPoint(middle, 'middle', data);
|
|
460
|
+
}
|
|
461
|
+
})), lineLabelNode, /*#__PURE__*/_react["default"].createElement(FromPoint, (0, _extends2["default"])({
|
|
462
|
+
x: from.x,
|
|
463
|
+
y: from.y,
|
|
464
|
+
labelNode: labelNode,
|
|
465
|
+
coordinatesOnHover: coordinatesOnHover,
|
|
466
|
+
onDrag: this.dragFrom
|
|
467
|
+
}, common, {
|
|
468
|
+
onClick: function onClick(data) {
|
|
469
|
+
return _this3.clickPoint(from, 'from', data);
|
|
470
|
+
}
|
|
471
|
+
})), fromLabelNode, to && /*#__PURE__*/_react["default"].createElement(ToPoint, (0, _extends2["default"])({
|
|
472
|
+
x: to.x,
|
|
473
|
+
y: to.y,
|
|
474
|
+
angle: angle //angle + 45}
|
|
475
|
+
,
|
|
476
|
+
labelNode: labelNode,
|
|
477
|
+
coordinatesOnHover: coordinatesOnHover,
|
|
478
|
+
onDrag: this.dragTo
|
|
479
|
+
}, common, {
|
|
480
|
+
onClick: function onClick(data) {
|
|
481
|
+
return _this3.clickPoint(to, 'to', data);
|
|
482
|
+
}
|
|
483
|
+
})), toLabelNode);
|
|
484
|
+
}
|
|
485
|
+
}]);
|
|
486
|
+
}(_react["default"].Component);
|
|
487
|
+
(0, _defineProperty2["default"])(LineBase, "propTypes", {
|
|
488
|
+
coordinatesOnHover: _propTypes["default"].bool,
|
|
489
|
+
graphProps: _plot.types.GraphPropsType,
|
|
490
|
+
from: _plot.types.PointType,
|
|
491
|
+
to: _plot.types.PointType,
|
|
492
|
+
middle: _plot.types.PointType,
|
|
493
|
+
onChange: _propTypes["default"].func,
|
|
494
|
+
onDragStart: _propTypes["default"].func,
|
|
495
|
+
onDragStop: _propTypes["default"].func,
|
|
496
|
+
onClick: _propTypes["default"].func,
|
|
497
|
+
correctness: _propTypes["default"].string,
|
|
498
|
+
disabled: _propTypes["default"].bool,
|
|
499
|
+
limitLabeling: _propTypes["default"].bool,
|
|
500
|
+
changeMarkProps: _propTypes["default"].func,
|
|
501
|
+
labelModeEnabled: _propTypes["default"].bool,
|
|
502
|
+
labelNode: _propTypes["default"].object
|
|
503
|
+
});
|
|
504
|
+
return LineBase;
|
|
505
|
+
};
|
|
506
|
+
var styles = exports.styles = {
|
|
507
|
+
line: function line() {
|
|
508
|
+
return {
|
|
509
|
+
fill: 'transparent',
|
|
510
|
+
stroke: _renderUi.color.defaults.BLACK,
|
|
511
|
+
strokeWidth: 3,
|
|
512
|
+
transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
|
|
513
|
+
'&:hover': {
|
|
514
|
+
strokeWidth: 6,
|
|
515
|
+
stroke: _renderUi.color.defaults.PRIMARY_DARK
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
},
|
|
519
|
+
arrow: function arrow() {
|
|
520
|
+
return {
|
|
521
|
+
fill: _renderUi.color.defaults.BLACK
|
|
522
|
+
};
|
|
523
|
+
},
|
|
524
|
+
disabledArrow: function disabledArrow() {
|
|
525
|
+
return _objectSpread({}, (0, _styles.disabledSecondary)());
|
|
526
|
+
},
|
|
527
|
+
disabledSecondary: function disabledSecondary() {
|
|
528
|
+
return _objectSpread(_objectSpread({}, (0, _styles.disabledSecondary)('stroke')), {}, {
|
|
529
|
+
strokeWidth: 2
|
|
530
|
+
});
|
|
531
|
+
},
|
|
532
|
+
disabled: function disabled() {
|
|
533
|
+
return _objectSpread(_objectSpread({}, (0, _styles.disabled)('stroke')), {}, {
|
|
534
|
+
strokeWidth: 2
|
|
535
|
+
});
|
|
536
|
+
},
|
|
537
|
+
correct: function correct(theme, key) {
|
|
538
|
+
return _objectSpread({}, (0, _styles.correct)(key));
|
|
539
|
+
},
|
|
540
|
+
incorrect: function incorrect(theme, key) {
|
|
541
|
+
return _objectSpread({}, (0, _styles.incorrect)(key));
|
|
542
|
+
},
|
|
543
|
+
missing: function missing(theme, key) {
|
|
544
|
+
return _objectSpread(_objectSpread({}, (0, _styles.missing)(key)), {}, {
|
|
545
|
+
strokeWidth: 1,
|
|
546
|
+
strokeDasharray: '4 3'
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_lodashEs","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_renderUi","_utils","_styles2","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledLineGroup","styled","_ref","disabled","correctness","fill","stroke","color","defaults","BLACK","strokeWidth","transition","PRIMARY_DARK","disabledSecondary","correct","incorrect","missing","strokeDasharray","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","onDragStart","setState","_this$props","onChange","onDragStop","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref2","middle","_ref3","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","limitLabeling","cloneDeep","isBackground","createElement","changeMark","changeMarkProps","startDrag","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","PropTypes","bool","func","PointType","dragOpts","bounds","_ref4","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","_this2$props","getMiddleOfTwoPoints","_ref5","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","stripEmptyLabel","input","focus","_this3","_this$props4","common","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","_extends2","onDrag","dragComp","clickPoint","x","dragFrom","dragTo","string","object","styles","line","arrow","disabledArrow","theme"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport { cloneDeep, isEmpty, isEqual } from 'lodash-es';\nimport { BasePoint } from '../point';\nimport { gridDraggable, trig, types, utils } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { correct, disabled, disabledSecondary, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport { color } from '@pie-lib/render-ui';\nimport { equalPoints, getMiddleOfTwoPoints, sameAxes, stripEmptyLabel } from '../../../utils';\nimport { styled } from '@mui/material/styles';\n\nconst StyledLineGroup = styled('g')(({ disabled, correctness }) => ({\n '& line:not(.hit-area)': {\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n },\n ...(disabled && {\n '& line:not(.hit-area)': {\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n },\n }),\n ...(correctness === 'correct' && {\n '& line:not(.hit-area)': {\n ...correct('stroke'),\n },\n }),\n ...(correctness === 'incorrect' && {\n '& line:not(.hit-area)': {\n ...incorrect('stroke'),\n },\n }),\n ...(correctness === 'missing' && {\n '& line:not(.hit-area)': {\n ...missing('stroke'),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n },\n }),\n}));\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n disabled: PropTypes.bool,\n from: types.PointType,\n to: types.PointType,\n labelModeEnabled: PropTypes.bool,\n onClick: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => {\n const { onDragStart } = this.props;\n this.setState({ mark: { ...this.props.mark } });\n if (onDragStart) onDragStart();\n };\n\n stopDrag = () => {\n const { onChange, mark, onDragStop } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n if (onDragStop) onDragStop();\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, limitLabeling } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n labelModeEnabled: PropTypes.bool,\n labelNode: PropTypes.object,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, middle, labelModeEnabled, limitLabeling, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n // limit labeling the points of the line\n if (limitLabeling) {\n return;\n }\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({\n from: stripEmptyLabel(from),\n to: stripEmptyLabel(to),\n middle: stripEmptyLabel(middle),\n [type]: { label: '', ...point },\n });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const common = { graphProps, onDragStart, onDragStop, disabled, correctness, onClick };\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n\n return (\n <StyledLineGroup disabled={disabled} correctness={correctness}>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </StyledLineGroup>\n );\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.PRIMARY_DARK,\n },\n }),\n arrow: () => ({\n fill: color.defaults.BLACK,\n }),\n disabledArrow: () => ({\n ...disabledSecondary(),\n }),\n disabledSecondary: () => ({\n ...disabledSecondary('stroke'),\n strokeWidth: 2,\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n strokeWidth: 1,\n strokeDasharray: '4 3',\n }),\n};\n"],"mappings":"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","ignoreList":[]}
|