@pie-lib/graphing 4.0.5-next.3 → 4.0.6

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.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.0.6](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@4.0.5...@pie-lib/graphing@4.0.6) (2026-06-01)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **graphing:** make sure evaluate mode marks are not included in undo/redo history PIE-582 ([74f4820](https://github.com/pie-framework/pie-lib/commit/74f482052b5331d918212dcfd847a477f1e5e2d4))
11
+
12
+ ## [4.0.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@4.0.4...@pie-lib/graphing@4.0.5) (2026-05-21)
13
+
14
+ ### Bug Fixes
15
+
16
+ - add a bigger stroke for polygons PIE-451 ([4908eda](https://github.com/pie-framework/pie-lib/commit/4908edae1bb176575e18a5c5979cb3d4e9eb1454))
17
+
6
18
  ## [4.0.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@4.0.3...@pie-lib/graphing@4.0.4) (2026-05-15)
7
19
 
8
20
  ### Bug Fixes
@@ -84,7 +84,16 @@ var Root = /*#__PURE__*/function (_React$Component) {
84
84
  return;
85
85
  }
86
86
  if (!(0, _lodashEs.isEqual)(prevProps.marks, marks)) {
87
- this.store.dispatch((0, _actions.changeMarks)(marks));
87
+ // Don't dispatch marks that have correctness (evaluate mode marks) into the undo history.
88
+ // These marks are already handled in render() via the correctnessSet path and bypass the
89
+ // Redux store entirely. Dispatching them would pollute the undo history and cause the graph
90
+ // to show the correct answer when the user presses undo after returning to gather mode.
91
+ var hasCorrectness = marks && marks.find(function (m) {
92
+ return m.correctness;
93
+ });
94
+ if (!hasCorrectness) {
95
+ this.store.dispatch((0, _actions.changeMarks)(marks));
96
+ }
88
97
  }
89
98
  }
90
99
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_reactRedux","require","_react","_interopRequireDefault","_redux","_reducer","_actions","_propTypes","_lodashEs","_reduxUndo","_graphWithControls","_middleware","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","mapStateToProps","s","marks","present","mapDispatchToProps","dispatch","onChangeMarks","m","changeMarks","onUndo","ActionCreators","undo","onRedo","redo","onReset","GraphContainer","exports","connect","GraphWithControls","Root","_React$Component","props","_this","_classCallCheck2","_defineProperty2","_this$props","storeState","store","getState","isEqual","r","reducer","createStore","applyMiddleware","lastActionMiddleware","subscribe","onStoreChange","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","render","_this$props2","rest","_objectWithoutProperties2","correctnessSet","find","correctness","createElement","_extends2","disabled","Provider","React","Component","PropTypes","func","array","_default"],"sources":["../../src/container/index.jsx"],"sourcesContent":["import { connect, Provider } from 'react-redux';\nimport React from 'react';\nimport { applyMiddleware, createStore } from 'redux';\nimport reducer from './reducer';\nimport { changeMarks } from './actions';\nimport PropTypes from 'prop-types';\nimport { isEqual } from 'lodash-es';\nimport { ActionCreators } from 'redux-undo';\nimport GraphWithControls from '../graph-with-controls';\nimport { lastActionMiddleware } from './middleware';\n\nconst mapStateToProps = (s) => ({\n marks: s.marks.present,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n onChangeMarks: (m) => dispatch(changeMarks(m)),\n onUndo: () => dispatch(ActionCreators.undo()),\n onRedo: () => dispatch(ActionCreators.redo()),\n onReset: () => dispatch(changeMarks([])),\n});\n\nexport const GraphContainer = connect(mapStateToProps, mapDispatchToProps)(GraphWithControls);\n\n/**\n * The graph component entry point with undo/redo\n * Redux is an implementation detail, hide it in the react component.\n */\nclass Root extends React.Component {\n static propTypes = {\n onChangeMarks: PropTypes.func,\n marks: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n\n const r = reducer();\n this.store = createStore(r, { marks: props.marks }, applyMiddleware(lastActionMiddleware));\n\n this.store.subscribe(this.onStoreChange);\n }\n\n componentDidUpdate(prevProps) {\n const { marks } = this.props;\n const storeState = this.store.getState();\n\n if (isEqual(storeState.marks.present, marks)) {\n return;\n }\n\n if (!isEqual(prevProps.marks, marks)) {\n this.store.dispatch(changeMarks(marks));\n }\n }\n\n onStoreChange = () => {\n const { marks, onChangeMarks } = this.props;\n const storeState = this.store.getState();\n\n if (!isEqual(storeState.marks.present, marks)) {\n onChangeMarks(storeState.marks.present);\n }\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { onChangeMarks, marks, ...rest } = this.props;\n const correctnessSet = marks && marks.find((m) => m.correctness);\n\n if (correctnessSet) {\n return <GraphWithControls {...rest} marks={marks} disabled={correctnessSet} />;\n }\n\n return (\n <Provider store={this.store}>\n <GraphContainer {...rest} />\n </Provider>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_reactRedux","require","_react","_interopRequireDefault","_redux","_reducer","_actions","_propTypes","_lodashEs","_reduxUndo","_graphWithControls","_middleware","_excluded","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","mapStateToProps","s","marks","present","mapDispatchToProps","dispatch","onChangeMarks","m","changeMarks","onUndo","ActionCreators","undo","onRedo","redo","onReset","GraphContainer","exports","connect","GraphWithControls","Root","_React$Component","props","_this","_classCallCheck2","_defineProperty2","_this$props","storeState","store","getState","isEqual","r","reducer","createStore","applyMiddleware","lastActionMiddleware","subscribe","onStoreChange","_inherits2","_createClass2","key","value","componentDidUpdate","prevProps","hasCorrectness","find","correctness","render","_this$props2","rest","_objectWithoutProperties2","correctnessSet","createElement","_extends2","disabled","Provider","React","Component","PropTypes","func","array","_default"],"sources":["../../src/container/index.jsx"],"sourcesContent":["import { connect, Provider } from 'react-redux';\nimport React from 'react';\nimport { applyMiddleware, createStore } from 'redux';\nimport reducer from './reducer';\nimport { changeMarks } from './actions';\nimport PropTypes from 'prop-types';\nimport { isEqual } from 'lodash-es';\nimport { ActionCreators } from 'redux-undo';\nimport GraphWithControls from '../graph-with-controls';\nimport { lastActionMiddleware } from './middleware';\n\nconst mapStateToProps = (s) => ({\n marks: s.marks.present,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n onChangeMarks: (m) => dispatch(changeMarks(m)),\n onUndo: () => dispatch(ActionCreators.undo()),\n onRedo: () => dispatch(ActionCreators.redo()),\n onReset: () => dispatch(changeMarks([])),\n});\n\nexport const GraphContainer = connect(mapStateToProps, mapDispatchToProps)(GraphWithControls);\n\n/**\n * The graph component entry point with undo/redo\n * Redux is an implementation detail, hide it in the react component.\n */\nclass Root extends React.Component {\n static propTypes = {\n onChangeMarks: PropTypes.func,\n marks: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n\n const r = reducer();\n this.store = createStore(r, { marks: props.marks }, applyMiddleware(lastActionMiddleware));\n\n this.store.subscribe(this.onStoreChange);\n }\n\n componentDidUpdate(prevProps) {\n const { marks } = this.props;\n const storeState = this.store.getState();\n\n if (isEqual(storeState.marks.present, marks)) {\n return;\n }\n\n if (!isEqual(prevProps.marks, marks)) {\n // Don't dispatch marks that have correctness (evaluate mode marks) into the undo history.\n // These marks are already handled in render() via the correctnessSet path and bypass the\n // Redux store entirely. Dispatching them would pollute the undo history and cause the graph\n // to show the correct answer when the user presses undo after returning to gather mode.\n const hasCorrectness = marks && marks.find((m) => m.correctness);\n\n if (!hasCorrectness) {\n this.store.dispatch(changeMarks(marks));\n }\n }\n }\n\n onStoreChange = () => {\n const { marks, onChangeMarks } = this.props;\n const storeState = this.store.getState();\n\n if (!isEqual(storeState.marks.present, marks)) {\n onChangeMarks(storeState.marks.present);\n }\n };\n\n render() {\n // eslint-disable-next-line no-unused-vars\n const { onChangeMarks, marks, ...rest } = this.props;\n const correctnessSet = marks && marks.find((m) => m.correctness);\n\n if (correctnessSet) {\n return <GraphWithControls {...rest} marks={marks} disabled={correctnessSet} />;\n }\n\n return (\n <Provider store={this.store}>\n <GraphContainer {...rest} />\n </Provider>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
@@ -32,7 +32,7 @@ var StyledPolygon = (0, _styles.styled)('polygon')(function (_ref) {
32
32
  correctness = _ref.correctness;
33
33
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
34
34
  fill: (0, _styles.alpha)((0, _styles2.graphingShapeFill)(), 0.2),
35
- strokeWidth: 2,
35
+ strokeWidth: 3,
36
36
  stroke: _renderUi.color.defaults.BLACK
37
37
  }, isDisabled && (0, _styles2.disabledSecondary)('stroke')), correctness === 'correct' && (0, _styles2.correct)('stroke')), correctness === 'incorrect' && (0, _styles2.incorrect)('stroke')), correctness === 'missing' && _objectSpread(_objectSpread({}, (0, _styles2.missing)('stroke')), {}, {
38
38
  stroke: 'inherit'
@@ -43,7 +43,7 @@ var StyledPolyline = (0, _styles.styled)('polyline')(function (_ref2) {
43
43
  correctness = _ref2.correctness;
44
44
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
45
45
  fill: (0, _styles.alpha)((0, _styles2.graphingShapeFill)(), 0.0),
46
- strokeWidth: 2,
46
+ strokeWidth: 3,
47
47
  stroke: _renderUi.color.defaults.BLACK,
48
48
  pointerEvents: 'none'
49
49
  }, isDisabled && (0, _styles2.disabledSecondary)('stroke')), correctness === 'correct' && (0, _styles2.correct)('stroke')), correctness === 'incorrect' && (0, _styles2.incorrect)('stroke')), correctness === 'missing' && _objectSpread(_objectSpread({}, (0, _styles2.missing)('stroke')), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"polygon.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","utils","_interopRequireWildcard","_styles2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledPolygon","styled","_ref","isDisabled","disabled","correctness","fill","alpha","graphingShapeFill","strokeWidth","stroke","color","defaults","BLACK","disabledSecondary","correct","incorrect","missing","StyledPolyline","_ref2","pointerEvents","getPointString","exports","points","scale","map","p","scaledPoint","x","y","concat","join","RawPolygon","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","className","graphProps","closed","rest","_objectWithoutProperties2","pointString","createElement","_extends2","React","Component","PropTypes","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","_default","gridDraggable","bounds","_ref3","domain","range","area","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { alpha, styled } from '@mui/material/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nimport * as utils from '../../utils';\nimport { correct, disabledSecondary, incorrect, missing, graphingShapeFill } from '../shared/styles';\n\nconst StyledPolygon = styled('polygon')(({ disabled: isDisabled, correctness }) => ({\n fill: alpha(graphingShapeFill(), 0.2),\n strokeWidth: 2,\n stroke: color.defaults.BLACK,\n ...(isDisabled && disabledSecondary('stroke')),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n stroke: 'inherit',\n }),\n}));\n\nconst StyledPolyline = styled('polyline')(({ disabled: isDisabled, correctness }) => ({\n fill: alpha(graphingShapeFill(), 0.0),\n strokeWidth: 2,\n stroke: color.defaults.BLACK,\n pointerEvents: 'none',\n ...(isDisabled && disabledSecondary('stroke')),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n stroke: 'inherit',\n }),\n}));\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map((p) => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y),\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n };\n\n static defaultProps = {\n points: [],\n };\n\n render() {\n const { points, className, disabled, correctness, graphProps, closed, ...rest } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n\n if (closed) {\n return (\n <StyledPolygon\n points={pointString}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n } else {\n return (\n <StyledPolyline\n points={pointString}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n }\n }\n}\n\nexport const Polygon = RawPolygon;\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map((p) => utils.point(p).add(utils.point(delta)));\n },\n})(Polygon);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"polygon.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_plot","_renderUi","utils","_interopRequireWildcard","_styles2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledPolygon","styled","_ref","isDisabled","disabled","correctness","fill","alpha","graphingShapeFill","strokeWidth","stroke","color","defaults","BLACK","disabledSecondary","correct","incorrect","missing","StyledPolyline","_ref2","pointerEvents","getPointString","exports","points","scale","map","p","scaledPoint","x","y","concat","join","RawPolygon","_React$Component","_classCallCheck2","_inherits2","_createClass2","key","value","render","_this$props","props","className","graphProps","closed","rest","_objectWithoutProperties2","pointString","createElement","_extends2","React","Component","PropTypes","string","bool","arrayOf","types","PointType","GraphPropsType","isRequired","Polygon","_default","gridDraggable","bounds","_ref3","domain","range","area","polygonToArea","anchorPoint","fromDelta","delta","point","add"],"sources":["../../../src/tools/polygon/polygon.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { alpha, styled } from '@mui/material/styles';\nimport { gridDraggable, types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nimport * as utils from '../../utils';\nimport { correct, disabledSecondary, incorrect, missing, graphingShapeFill } from '../shared/styles';\n\nconst StyledPolygon = styled('polygon')(({ disabled: isDisabled, correctness }) => ({\n fill: alpha(graphingShapeFill(), 0.2),\n strokeWidth: 3,\n stroke: color.defaults.BLACK,\n ...(isDisabled && disabledSecondary('stroke')),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n stroke: 'inherit',\n }),\n}));\n\nconst StyledPolyline = styled('polyline')(({ disabled: isDisabled, correctness }) => ({\n fill: alpha(graphingShapeFill(), 0.0),\n strokeWidth: 3,\n stroke: color.defaults.BLACK,\n pointerEvents: 'none',\n ...(isDisabled && disabledSecondary('stroke')),\n ...(correctness === 'correct' && correct('stroke')),\n ...(correctness === 'incorrect' && incorrect('stroke')),\n ...(correctness === 'missing' && {\n ...missing('stroke'),\n stroke: 'inherit',\n }),\n}));\n\nexport const getPointString = (points, scale) => {\n return (points || [])\n .map((p) => {\n const scaledPoint = {\n x: scale.x(p.x),\n y: scale.y(p.y),\n };\n return `${scaledPoint.x},${scaledPoint.y}`;\n })\n .join(' ');\n};\n\nexport class RawPolygon extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n points: PropTypes.arrayOf(types.PointType),\n graphProps: types.GraphPropsType.isRequired,\n closed: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n };\n\n static defaultProps = {\n points: [],\n };\n\n render() {\n const { points, className, disabled, correctness, graphProps, closed, ...rest } = this.props;\n const { scale } = graphProps;\n\n const pointString = getPointString(points, scale);\n\n if (closed) {\n return (\n <StyledPolygon\n points={pointString}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n } else {\n return (\n <StyledPolyline\n points={pointString}\n className={className}\n disabled={disabled}\n correctness={correctness}\n {...rest}\n />\n );\n }\n }\n}\n\nexport const Polygon = RawPolygon;\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { points } = props;\n const area = utils.polygonToArea(points);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { points } = props;\n return points[0];\n },\n fromDelta: (props, delta) => {\n const { points } = props;\n\n return points.map((p) => utils.point(p).add(utils.point(delta)));\n },\n})(Polygon);\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "4.0.5-next.3+0f77a8069",
6
+ "version": "4.0.6",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -22,11 +22,11 @@
22
22
  "@mapbox/point-geometry": "^1.1.0",
23
23
  "@mui/icons-material": "^7.3.4",
24
24
  "@mui/material": "^7.3.4",
25
- "@pie-lib/drag": "^4.0.2",
26
- "@pie-lib/editable-html-tip-tap": "^2.1.2-next.3+0f77a8069",
25
+ "@pie-lib/drag": "^4.0.3",
26
+ "@pie-lib/editable-html-tip-tap": "^2.1.3",
27
27
  "@pie-lib/graphing-utils": "^3.0.2",
28
- "@pie-lib/plot": "^4.0.4-next.3+0f77a8069",
29
- "@pie-lib/render-ui": "^6.1.0",
28
+ "@pie-lib/plot": "^4.0.5",
29
+ "@pie-lib/render-ui": "^6.1.1",
30
30
  "@pie-lib/translator": "^4.0.2",
31
31
  "@visx/axis": "^3.0.0",
32
32
  "@visx/clip-path": "^3.0.0",
@@ -54,6 +54,6 @@
54
54
  "peerDependencies": {
55
55
  "react": "^18.2.0"
56
56
  },
57
- "gitHead": "0f77a806995c7b7f717af1dc18d0f3f6a138d1db",
57
+ "gitHead": "381e012542b7849f83aa84b08e4b6664cedff245",
58
58
  "scripts": {}
59
59
  }
@@ -50,7 +50,15 @@ class Root extends React.Component {
50
50
  }
51
51
 
52
52
  if (!isEqual(prevProps.marks, marks)) {
53
- this.store.dispatch(changeMarks(marks));
53
+ // Don't dispatch marks that have correctness (evaluate mode marks) into the undo history.
54
+ // These marks are already handled in render() via the correctnessSet path and bypass the
55
+ // Redux store entirely. Dispatching them would pollute the undo history and cause the graph
56
+ // to show the correct answer when the user presses undo after returning to gather mode.
57
+ const hasCorrectness = marks && marks.find((m) => m.correctness);
58
+
59
+ if (!hasCorrectness) {
60
+ this.store.dispatch(changeMarks(marks));
61
+ }
54
62
  }
55
63
  }
56
64
 
@@ -9,7 +9,7 @@ import { correct, disabledSecondary, incorrect, missing, graphingShapeFill } fro
9
9
 
10
10
  const StyledPolygon = styled('polygon')(({ disabled: isDisabled, correctness }) => ({
11
11
  fill: alpha(graphingShapeFill(), 0.2),
12
- strokeWidth: 2,
12
+ strokeWidth: 3,
13
13
  stroke: color.defaults.BLACK,
14
14
  ...(isDisabled && disabledSecondary('stroke')),
15
15
  ...(correctness === 'correct' && correct('stroke')),
@@ -22,7 +22,7 @@ const StyledPolygon = styled('polygon')(({ disabled: isDisabled, correctness })
22
22
 
23
23
  const StyledPolyline = styled('polyline')(({ disabled: isDisabled, correctness }) => ({
24
24
  fill: alpha(graphingShapeFill(), 0.0),
25
- strokeWidth: 2,
25
+ strokeWidth: 3,
26
26
  stroke: color.defaults.BLACK,
27
27
  pointerEvents: 'none',
28
28
  ...(isDisabled && disabledSecondary('stroke')),