@pie-element/number-line 12.0.0-beta.0 → 12.0.0-beta.1

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,17 +3,6 @@
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
- ## [11.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@11.3.2...@pie-element/number-line@11.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [11.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@11.3.1...@pie-element/number-line@11.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -3,17 +3,6 @@
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
- ## [9.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-configure@9.3.2...@pie-element/number-line-configure@9.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [9.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-configure@9.3.1...@pie-element/number-line-configure@9.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -8,7 +8,7 @@ exports.toPointType = exports.default = exports.Main = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _configUi = require("@pie-lib/config-ui");
11
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
11
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
12
12
  var _numberLine = require("@pie-element/number-line");
13
13
  var _numberTextField = _interopRequireDefault(require("./number-text-field"));
14
14
  var _cardBar = _interopRequireDefault(require("./card-bar"));
@@ -601,7 +601,7 @@ class Main extends _react.default.Component {
601
601
  type: "body1"
602
602
  }, instruction.label), teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
603
603
  label: teacherInstructions.label
604
- }, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
604
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
605
605
  markup: model.teacherInstructions || '',
606
606
  onChange: teacherInstructions => onChange({
607
607
  teacherInstructions
@@ -622,7 +622,7 @@ class Main extends _react.default.Component {
622
622
  mathMlOptions: mathMlOptions
623
623
  }), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
624
624
  label: prompt.label
625
- }, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
625
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
626
626
  markup: model.prompt || '',
627
627
  onChange: prompt => onChange({
628
628
  prompt
@@ -697,7 +697,7 @@ class Main extends _react.default.Component {
697
697
  model: trimModel(initialModel)
698
698
  }), titleEnabled && /*#__PURE__*/_react.default.createElement(StyledFormSection, {
699
699
  label: title?.label || 'Title'
700
- }, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
700
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
701
701
  markup: graph.title || '',
702
702
  onChange: this.changeGraphTitle,
703
703
  toolbarOpts: toolbarOpts,
@@ -779,7 +779,7 @@ class Main extends _react.default.Component {
779
779
  onCloseText: 'Cancel'
780
780
  }), rationaleEnabled && /*#__PURE__*/_react.default.createElement(StyledInputContainer, {
781
781
  label: rationale.label || 'Rationale'
782
- }, /*#__PURE__*/_react.default.createElement(_editableHtml.default, {
782
+ }, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
783
783
  markup: model.rationale || '',
784
784
  onChange: rationale => onChange({
785
785
  rationale
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_configUi","_editableHtml","_numberLine","_numberTextField","_cardBar","_size","_propTypes","_domain","_arrows","_pointConfig","_cloneDeep","_styles","_Typography","_Info","_Tooltip","_ticks","_defaults","_utils","math","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","trimModel","model","feedback","undefined","prompt","teacherInstructions","graph","title","disabled","correctResponse","lineIsSwitched","switchGraphLine","toGraphFormat","toSessionFormat","dataConverter","Panel","toggle","settings","minorLimits","minorValues","majorValues","StyledNumberTextField","styled","NumberTextField","width","Row","theme","display","flexWrap","paddingRight","spacing","PointTypeChooser","margin","StyledInputContainer","InputContainer","paddingTop","marginBottom","StyledFormSection","FormSection","ErrorText","fontSize","typography","color","palette","error","main","FlexRow","alignItems","gap","FlexRowFormSection","Description","Typography","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","exports","Main","React","Component","constructor","props","_defineProperty2","obj","onChange","respIndex","forEach","correctResp","key","domainPosition","domain","min","max","size","push","length","setState","correctAnswerDialog","open","text","indices","reloadTicksData","height","graphChange","availableTypes","maxNumberOfPoints","onlyPFAvailable","entries","value","Math","floor","dialog","getAdjustedHeight","object","ticks","tickUtils","snapElements","initialElements","updatedGraph","updateMajorValue","tickIntervalType","minor","getMinorLimits","number","ceil","integerTick","decimal","fraction","fractionTick","decimalTick","generateMinorValues","minValue","maxValue","d","generateMajorValuesForMinor","indexOf","major","currIndex","arrows","defaultModel","cloneDeep","index","el","position","update","Set","map","filter","v","some","data","pop","state","componentDidMount","configuration","titleEnabled","showTitle","enabled","render","onConfigurationChanged","uploadSoundSupport","imageSupport","baseInputConfiguration","contentDimensions","instruction","rationale","spellCheck","mathMlOptions","numberLineDimensions","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled","errors","extraCSSRules","spellCheckEnabled","toolbarEditorPosition","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","correctResponseError","domainError","maxError","pointsError","promptError","rationaleError","teacherInstructionsError","widthError","validationMessage","generateValidationMessage","initialModel","toolbarOpts","panelProperties","label","getPluginProps","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Properties","component","markup","nonEmpty","disableUnderline","pluginProps","inputConfiguration","languageCharactersProps","language","header","info","disableFocusListener","disableTouchListener","placement","slotProps","tooltip","sx","whiteSpace","maxWidth","style","marginLeft","changeTicks","widthEnabled","step","changeSize","changeArrows","NumberLineComponent","onMoveElement","onDeleteElements","onAddElement","onClearElements","onUndoElement","minWidth","maxHeight","changeGraphTitle","activePlugins","exhibitOnly","Fragment","mini","onSelectionChange","availableTypesChange","selection","hideButtons","onlyIntegersAllowed","changeMaxNoOfPoints","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","answer","AlertDialog","onConfirm","onClose","onConfirmText","onCloseText","PropTypes","isRequired","func","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport { FormSection, InputContainer, AlertDialog, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\nimport * as math from 'mathjs';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n teacherInstructions: undefined,\n graph: { ...model.graph, title: undefined, disabled: true },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\nconst { Panel, toggle } = settings;\n\nlet minorLimits = {};\nlet minorValues = {};\nlet majorValues = {};\n\nconst StyledNumberTextField = styled(NumberTextField)({\n width: '150px',\n});\n\n\n\nconst Row = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst PointTypeChooser = styled('div')(({ theme }) => ({\n margin: `${theme.spacing(2.5)}px 0`,\n}));\n\nconst StyledInputContainer = styled(InputContainer)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n width: '100%',\n}));\n\nconst StyledFormSection = styled(FormSection)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst FlexRow = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n});\n\nconst FlexRowFormSection = styled(FormSection)({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n});\n\nconst Description = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n this.state = {\n dialog: {\n open: false,\n text: '',\n },\n correctAnswerDialog: {\n open: false,\n text: '',\n },\n };\n this.graphChange({ height });\n }\n\n componentDidMount() {\n const { configuration, model, onChange } = this.props;\n const { title } = configuration || {};\n const { titleEnabled: showTitle } = model || {};\n\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n\n onChange && onChange({ ...model, titleEnabled });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n let graph = { ...model.graph, ...obj };\n let respIndex = [];\n model.correctResponse.forEach((correctResp, key) => {\n if (\n correctResp.domainPosition < graph.domain.min ||\n correctResp.domainPosition > graph.domain.max ||\n (correctResp.size &&\n (correctResp.domainPosition + correctResp.size < graph.domain.min ||\n correctResp.domainPosition + correctResp.size > graph.domain.max))\n ) {\n respIndex.push(key);\n }\n });\n if (respIndex.length > 0) {\n this.setState({\n correctAnswerDialog: {\n open: true,\n text:\n 'This\\n' +\n 'change would make it impossible for students to plot one or more elements in the current\\n' +\n 'correct answer. If you proceed, all such elements will be removed from the correct\\n' +\n 'answer.',\n indices: respIndex,\n graph: model.graph,\n },\n });\n }\n //reload ticks value whenever domain and width is changed\n graph = this.reloadTicksData(graph);\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n maxNumberOfPoints = Math.floor(maxNumberOfPoints);\n if (this.props.model.correctResponse.length > maxNumberOfPoints) {\n this.setState({\n dialog: {\n open: true,\n text: 'To use this value, you must first remove one or more elements from the correct answers.',\n },\n });\n return;\n }\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n /*\n * Gets triggered whenever ticks related data is changed by user.\n * */\n changeTicks = (object) => {\n const { model, onChange } = this.props;\n let { ticks } = object;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = model.graph.initialElements\n ? tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements)\n : [];\n let updatedGraph = this.updateMajorValue({ ...model.graph, ticks });\n const graph = { ...updatedGraph, initialElements };\n onChange({ graph, correctResponse });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n reloadTicksData = (graph) => {\n const { domain, ticks, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n minorLimits = tickUtils.getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n minorValues = tickUtils.generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n minorValues = tickUtils.generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return this.updateMajorValue({ ...graph, ticks });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n majorValues = tickUtils.generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n render() {\n const { model, onChange, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } = this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n instruction = {},\n teacherInstructions = {},\n title = {},\n prompt = {},\n rationale = {},\n spellCheck = {},\n mathMlOptions = {},\n numberLineDimensions = {},\n maxMaxElements = 20,\n hidePointConfigButtons = false,\n availableTools = ['PF'],\n settingsPanelDisabled = false,\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n spellCheckEnabled,\n toolbarEditorPosition,\n teacherInstructionsEnabled,\n titleEnabled,\n promptEnabled,\n rationaleEnabled,\n } = model || {};\n\n let { graph } = model;\n graph = this.reloadTicksData(graph);\n\n const { dialog, correctAnswerDialog } = this.state;\n const {\n correctResponseError,\n domainError,\n maxError,\n pointsError,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n widthError,\n } = errors || {};\n const validationMessage = generateValidationMessage();\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialModel = cloneDeep(model);\n initialModel['disabled'] = true;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n titleEnabled: title.settings && toggle(title.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onChange}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <Description component=\"div\" type=\"body1\">\n {instruction.label}\n </Description>\n\n {teacherInstructionsEnabled && (\n <StyledInputContainer label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={(teacherInstructions) => onChange({ teacherInstructions })}\n nonEmpty={false}\n disableUnderline\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n {promptEnabled && (\n <StyledInputContainer label={prompt.label}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n <CardBar\n header=\"Set Up Number Line\"\n info={\n <Tooltip\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n slotProps={{\n tooltip: {\n sx: (theme) => ({\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n }),\n },\n }}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <Row>\n <Domain domain={graph.domain} errors={errors} onChange={(domain) => this.graphChange({ domain })} />\n </Row>\n\n {maxError && <ErrorText>{maxError}</ErrorText>}\n {domainError && <ErrorText>{domainError}</ErrorText>}\n\n <div>\n <FormSection>\n <Ticks\n ticks={graph.ticks}\n minorLimits={minorLimits}\n minorValues={minorValues}\n majorValues={majorValues}\n onChange={this.changeTicks}\n />\n </FormSection>\n </div>\n\n <FlexRow>\n {model.widthEnabled && (\n <Size\n size={graph}\n min={numberLineDimensions.min}\n max={numberLineDimensions.max}\n step={numberLineDimensions.step}\n onChange={this.changeSize}\n />\n )}\n <div></div>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FlexRow>\n\n {widthError && <ErrorText>{widthError}</ErrorText>}\n\n <NumberLineComponent\n onMoveElement={() => {}}\n onDeleteElements={() => {}}\n onAddElement={() => {}}\n onClearElements={() => {}}\n onUndoElement={() => {}}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n maxHeight={70}\n model={trimModel(initialModel)}\n />\n\n {titleEnabled && (\n <StyledFormSection label={title?.label || 'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n activePlugins={[\n 'bold',\n 'html',\n 'italic',\n 'underline',\n 'strikethrough',\n 'image',\n 'math',\n 'languageCharacters',\n 'responseArea',\n ]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledFormSection>\n )}\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Define Tool Set and Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n\n <CardBar header=\"Available Tools\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <PointTypeChooser>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n availableTools={availableTools}\n hideButtons={hidePointConfigButtons}\n />\n </PointTypeChooser>\n\n <FlexRowFormSection>\n <label>Max No of Elements</label>\n <StyledNumberTextField\n min={1}\n max={maxMaxElements}\n onlyIntegersAllowed={true}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <ErrorText>{pointsError}</ErrorText>}\n </FlexRowFormSection>\n\n <label>Correct Answer</label>\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <ErrorText>{correctResponseError}</ErrorText>}\n </React.Fragment>\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n <AlertDialog\n open={correctAnswerDialog.open}\n title=\"Warning\"\n text={correctAnswerDialog.text}\n onConfirm={() => {\n let indices = this.state.correctAnswerDialog.indices;\n if (indices && indices.length > 0) {\n this.deleteCorrectResponse(indices);\n }\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onClose={() => {\n const graph = this.state.correctAnswerDialog.graph;\n onChange({ graph });\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n {rationaleEnabled && (\n <StyledInputContainer label={rationale.label || 'Rationale'}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={(rationale) => onChange({ rationale })}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </StyledInputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_configUi","_editableHtmlTipTap","_numberLine","_numberTextField","_cardBar","_size","_propTypes","_domain","_arrows","_pointConfig","_cloneDeep","_styles","_Typography","_Info","_Tooltip","_ticks","_defaults","_utils","math","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","trimModel","model","feedback","undefined","prompt","teacherInstructions","graph","title","disabled","correctResponse","lineIsSwitched","switchGraphLine","toGraphFormat","toSessionFormat","dataConverter","Panel","toggle","settings","minorLimits","minorValues","majorValues","StyledNumberTextField","styled","NumberTextField","width","Row","theme","display","flexWrap","paddingRight","spacing","PointTypeChooser","margin","StyledInputContainer","InputContainer","paddingTop","marginBottom","StyledFormSection","FormSection","ErrorText","fontSize","typography","color","palette","error","main","FlexRow","alignItems","gap","FlexRowFormSection","Description","Typography","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","exports","Main","React","Component","constructor","props","_defineProperty2","obj","onChange","respIndex","forEach","correctResp","key","domainPosition","domain","min","max","size","push","length","setState","correctAnswerDialog","open","text","indices","reloadTicksData","height","graphChange","availableTypes","maxNumberOfPoints","onlyPFAvailable","entries","value","Math","floor","dialog","getAdjustedHeight","object","ticks","tickUtils","snapElements","initialElements","updatedGraph","updateMajorValue","tickIntervalType","minor","getMinorLimits","number","ceil","integerTick","decimal","fraction","fractionTick","decimalTick","generateMinorValues","minValue","maxValue","d","generateMajorValuesForMinor","indexOf","major","currIndex","arrows","defaultModel","cloneDeep","index","el","position","update","Set","map","filter","v","some","data","pop","state","componentDidMount","configuration","titleEnabled","showTitle","enabled","render","onConfigurationChanged","uploadSoundSupport","imageSupport","baseInputConfiguration","contentDimensions","instruction","rationale","spellCheck","mathMlOptions","numberLineDimensions","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled","errors","extraCSSRules","spellCheckEnabled","toolbarEditorPosition","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","correctResponseError","domainError","maxError","pointsError","promptError","rationaleError","teacherInstructionsError","widthError","validationMessage","generateValidationMessage","initialModel","toolbarOpts","panelProperties","label","getPluginProps","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Properties","component","markup","nonEmpty","disableUnderline","pluginProps","inputConfiguration","languageCharactersProps","language","header","info","disableFocusListener","disableTouchListener","placement","slotProps","tooltip","sx","whiteSpace","maxWidth","style","marginLeft","changeTicks","widthEnabled","step","changeSize","changeArrows","NumberLineComponent","onMoveElement","onDeleteElements","onAddElement","onClearElements","onUndoElement","minWidth","maxHeight","changeGraphTitle","activePlugins","exhibitOnly","Fragment","mini","onSelectionChange","availableTypesChange","selection","hideButtons","onlyIntegersAllowed","changeMaxNoOfPoints","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","answer","AlertDialog","onConfirm","onClose","onConfirmText","onCloseText","PropTypes","isRequired","func","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport { FormSection, InputContainer, AlertDialog, settings, layout } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { NumberLineComponent, dataConverter, tickUtils } from '@pie-element/number-line';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport Info from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\nimport * as math from 'mathjs';\n\nconst trimModel = (model) => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n teacherInstructions: undefined,\n graph: { ...model.graph, title: undefined, disabled: true },\n correctResponse: undefined,\n});\n\nconst { lineIsSwitched, switchGraphLine, toGraphFormat, toSessionFormat } = dataConverter;\nconst { Panel, toggle } = settings;\n\nlet minorLimits = {};\nlet minorValues = {};\nlet majorValues = {};\n\nconst StyledNumberTextField = styled(NumberTextField)({\n width: '150px',\n});\n\n\n\nconst Row = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst PointTypeChooser = styled('div')(({ theme }) => ({\n margin: `${theme.spacing(2.5)}px 0`,\n}));\n\nconst StyledInputContainer = styled(InputContainer)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n width: '100%',\n}));\n\nconst StyledFormSection = styled(FormSection)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst FlexRow = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n});\n\nconst FlexRowFormSection = styled(FormSection)({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n});\n\nconst Description = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nexport const toPointType = (response) => {\n function rest(response) {\n if (response.pointType) {\n if (response.direction) {\n return `${response.pointType[0]}${response.direction[0]}`;\n }\n\n return response.pointType[0];\n }\n\n return `${response.leftPoint[0]}${response.rightPoint[0]}`;\n }\n\n return `${response.type[0]}${rest(response)}`.toUpperCase();\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n const {\n model: {\n graph: { availableTypes, maxNumberOfPoints },\n },\n } = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n this.state = {\n dialog: {\n open: false,\n text: '',\n },\n correctAnswerDialog: {\n open: false,\n text: '',\n },\n };\n this.graphChange({ height });\n }\n\n componentDidMount() {\n const { configuration, model, onChange } = this.props;\n const { title } = configuration || {};\n const { titleEnabled: showTitle } = model || {};\n\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n\n onChange && onChange({ ...model, titleEnabled });\n }\n\n graphChange = (obj) => {\n const { model, onChange } = this.props;\n let graph = { ...model.graph, ...obj };\n let respIndex = [];\n model.correctResponse.forEach((correctResp, key) => {\n if (\n correctResp.domainPosition < graph.domain.min ||\n correctResp.domainPosition > graph.domain.max ||\n (correctResp.size &&\n (correctResp.domainPosition + correctResp.size < graph.domain.min ||\n correctResp.domainPosition + correctResp.size > graph.domain.max))\n ) {\n respIndex.push(key);\n }\n });\n if (respIndex.length > 0) {\n this.setState({\n correctAnswerDialog: {\n open: true,\n text:\n 'This\\n' +\n 'change would make it impossible for students to plot one or more elements in the current\\n' +\n 'correct answer. If you proceed, all such elements will be removed from the correct\\n' +\n 'answer.',\n indices: respIndex,\n graph: model.graph,\n },\n });\n }\n //reload ticks value whenever domain and width is changed\n graph = this.reloadTicksData(graph);\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n return maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100\n : 50 + (maxNumberOfPoints || 20) * 25;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n maxNumberOfPoints = Math.floor(maxNumberOfPoints);\n if (this.props.model.correctResponse.length > maxNumberOfPoints) {\n this.setState({\n dialog: {\n open: true,\n text: 'To use this value, you must first remove one or more elements from the correct answers.',\n },\n });\n return;\n }\n const {\n model: {\n graph: { availableTypes },\n },\n } = this.props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ maxNumberOfPoints, height });\n };\n\n changeGraphTitle = (title) => this.graphChange({ title });\n\n /*\n * Gets triggered whenever ticks related data is changed by user.\n * */\n changeTicks = (object) => {\n const { model, onChange } = this.props;\n let { ticks } = object;\n const correctResponse = tickUtils.snapElements(model.graph.domain, ticks, model.correctResponse);\n const initialElements = model.graph.initialElements\n ? tickUtils.snapElements(model.graph.domain, ticks, model.graph.initialElements)\n : [];\n let updatedGraph = this.updateMajorValue({ ...model.graph, ticks });\n const graph = { ...updatedGraph, initialElements };\n onChange({ graph, correctResponse });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n reloadTicksData = (graph) => {\n const { domain, ticks, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n minorLimits = tickUtils.getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n minorValues = tickUtils.generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n minorValues = tickUtils.generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return this.updateMajorValue({ ...graph, ticks });\n };\n\n /*\n * This function is duplicated in controller/index.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n majorValues = tickUtils.generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n };\n\n changeArrows = (arrows) => this.graphChange({ arrows });\n\n setDefaults = () => {\n const {\n graph: { availableTypes, maxNumberOfPoints },\n } = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n el.position = position;\n\n const { onChange, model } = this.props;\n const update = toSessionFormat(el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el);\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n\n onChange({ correctResponse });\n };\n\n availableTypesChange = (availableTypes) => {\n const { model, onChange } = this.props;\n const {\n correctResponse,\n graph: { maxNumberOfPoints },\n } = model;\n\n new Set(correctResponse.map(toPointType)).forEach((pointType) => {\n availableTypes[pointType] = true;\n });\n\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...model.graph, availableTypes, height };\n\n onChange({ graph });\n };\n\n deleteCorrectResponse = (indices) => {\n const { model, onChange } = this.props;\n const correctResponse = model.correctResponse.filter((v, index) => !indices.some((d) => d === index));\n\n onChange({ correctResponse });\n };\n\n addCorrectResponse = (data) => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n\n onChange({ correctResponse });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n\n onChange({ correctResponse: [] });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n render() {\n const { model, onChange, configuration, onConfigurationChanged, uploadSoundSupport, imageSupport } = this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n instruction = {},\n teacherInstructions = {},\n title = {},\n prompt = {},\n rationale = {},\n spellCheck = {},\n mathMlOptions = {},\n numberLineDimensions = {},\n maxMaxElements = 20,\n hidePointConfigButtons = false,\n availableTools = ['PF'],\n settingsPanelDisabled = false,\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n spellCheckEnabled,\n toolbarEditorPosition,\n teacherInstructionsEnabled,\n titleEnabled,\n promptEnabled,\n rationaleEnabled,\n } = model || {};\n\n let { graph } = model;\n graph = this.reloadTicksData(graph);\n\n const { dialog, correctAnswerDialog } = this.state;\n const {\n correctResponseError,\n domainError,\n maxError,\n pointsError,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n widthError,\n } = errors || {};\n const validationMessage = generateValidationMessage();\n const correctResponse = cloneDeep(model.correctResponse || []).map(toGraphFormat);\n const initialModel = cloneDeep(model);\n initialModel['disabled'] = true;\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n titleEnabled: title.settings && toggle(title.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onChange}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n <Description component=\"div\" type=\"body1\">\n {instruction.label}\n </Description>\n\n {teacherInstructionsEnabled && (\n <StyledInputContainer label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={(teacherInstructions) => onChange({ teacherInstructions })}\n nonEmpty={false}\n disableUnderline\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n {promptEnabled && (\n <StyledInputContainer label={prompt.label}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={(prompt) => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </StyledInputContainer>\n )}\n\n <CardBar\n header=\"Set Up Number Line\"\n info={\n <Tooltip\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n slotProps={{\n tooltip: {\n sx: (theme) => ({\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n }),\n },\n }}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px' }} />\n </Tooltip>\n }\n >\n Set up the number line by entering the domain and number of tick marks to display. Labels on the number line\n can be edited or removed by clicking on the label.\n </CardBar>\n\n <Row>\n <Domain domain={graph.domain} errors={errors} onChange={(domain) => this.graphChange({ domain })} />\n </Row>\n\n {maxError && <ErrorText>{maxError}</ErrorText>}\n {domainError && <ErrorText>{domainError}</ErrorText>}\n\n <div>\n <FormSection>\n <Ticks\n ticks={graph.ticks}\n minorLimits={minorLimits}\n minorValues={minorValues}\n majorValues={majorValues}\n onChange={this.changeTicks}\n />\n </FormSection>\n </div>\n\n <FlexRow>\n {model.widthEnabled && (\n <Size\n size={graph}\n min={numberLineDimensions.min}\n max={numberLineDimensions.max}\n step={numberLineDimensions.step}\n onChange={this.changeSize}\n />\n )}\n <div></div>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FlexRow>\n\n {widthError && <ErrorText>{widthError}</ErrorText>}\n\n <NumberLineComponent\n onMoveElement={() => {}}\n onDeleteElements={() => {}}\n onAddElement={() => {}}\n onClearElements={() => {}}\n onUndoElement={() => {}}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n maxHeight={70}\n model={trimModel(initialModel)}\n />\n\n {titleEnabled && (\n <StyledFormSection label={title?.label || 'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n activePlugins={[\n 'bold',\n 'html',\n 'italic',\n 'underline',\n 'strikethrough',\n 'image',\n 'math',\n 'languageCharacters',\n 'responseArea',\n ]}\n pluginProps={getPluginProps(title?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </StyledFormSection>\n )}\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <CardBar header=\"Define Tool Set and Correct Response\">\n Select answer type and place it on the number line. Intersecting points, line segments and/or rays will\n appear above the number line. <i>Note: A maximum of 20 points, line segments or rays may be plotted.</i>\n </CardBar>\n\n <CardBar header=\"Available Tools\" mini>\n Click on the input options to be displayed to the students. All inputs will display by default.\n </CardBar>\n\n <PointTypeChooser>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n availableTools={availableTools}\n hideButtons={hidePointConfigButtons}\n />\n </PointTypeChooser>\n\n <FlexRowFormSection>\n <label>Max No of Elements</label>\n <StyledNumberTextField\n min={1}\n max={maxMaxElements}\n onlyIntegersAllowed={true}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n {pointsError && <ErrorText>{pointsError}</ErrorText>}\n </FlexRowFormSection>\n\n <label>Correct Answer</label>\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n minWidth={numberLineDimensions.min}\n maxWidth={numberLineDimensions.max}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n {correctResponseError && <ErrorText>{correctResponseError}</ErrorText>}\n </React.Fragment>\n )}\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n <AlertDialog\n open={correctAnswerDialog.open}\n title=\"Warning\"\n text={correctAnswerDialog.text}\n onConfirm={() => {\n let indices = this.state.correctAnswerDialog.indices;\n if (indices && indices.length > 0) {\n this.deleteCorrectResponse(indices);\n }\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onClose={() => {\n const graph = this.state.correctAnswerDialog.graph;\n onChange({ graph });\n this.setState({ correctAnswerDialog: { open: false } });\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n {rationaleEnabled && (\n <StyledInputContainer label={rationale.label || 'Rationale'}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={(rationale) => onChange({ rationale })}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </StyledInputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/number-line-configure",
3
3
  "private": true,
4
- "version": "10.0.0-beta.0",
4
+ "version": "10.0.0-beta.1",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
@@ -10,9 +10,9 @@
10
10
  "@mui/icons-material": "^7.3.4",
11
11
  "@mui/material": "^7.3.4",
12
12
  "@pie-framework/pie-configure-events": "^1.3.0",
13
- "@pie-lib/config-ui": "11.30.4-next.0",
14
- "@pie-lib/editable-html": "11.21.4-next.0",
15
- "@pie-lib/render-ui": "4.35.4-next.0",
13
+ "@pie-lib/config-ui": "12.1.0-next.5",
14
+ "@pie-lib/editable-html-tip-tap": "1.1.0-next.5",
15
+ "@pie-lib/render-ui": "5.1.0-next.5",
16
16
  "lodash": "^4.17.15",
17
17
  "react": "18.2.0",
18
18
  "react-dom": "18.2.0"
@@ -3,17 +3,6 @@
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
- ## [7.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@7.3.2...@pie-element/number-line-controller@7.3.3) (2025-11-27)
7
-
8
-
9
- ### Bug Fixes
10
-
11
- * bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
12
-
13
-
14
-
15
-
16
-
17
6
  ## [7.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@7.3.1...@pie-element/number-line-controller@7.3.2) (2025-10-22)
18
7
 
19
8
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/number-line-controller",
3
3
  "private": true,
4
- "version": "8.0.0-beta.0",
4
+ "version": "8.0.0-beta.1",
5
5
  "description": "Controller logic for @pie-ui/number-line",
6
6
  "keywords": [
7
7
  "pie",
@@ -14,8 +14,8 @@
14
14
  "access": "public"
15
15
  },
16
16
  "dependencies": {
17
- "@pie-lib/controller-utils": "0.22.4-next.0",
18
- "@pie-lib/feedback": "0.24.3-next.0",
17
+ "@pie-lib/controller-utils": "1.1.0-next.4",
18
+ "@pie-lib/feedback": "1.1.0-next.4",
19
19
  "lodash": "^4.17.15",
20
20
  "mathjs": "^7.5.1"
21
21
  },
@@ -68,10 +68,10 @@ class NumberLineGraph extends _react.default.Component {
68
68
  }
69
69
 
70
70
  /**
71
- * Note: we use d3 click + mouse to give us domain values directly.
71
+ * Note: we use d3 click + pointer to give us domain values directly.
72
72
  * Saves us having to calculate them ourselves from a MouseEvent.
73
73
  */
74
- onRectClick(rect) {
74
+ onRectClick(event) {
75
75
  const {
76
76
  elements,
77
77
  disabled
@@ -83,14 +83,14 @@ class NumberLineGraph extends _react.default.Component {
83
83
  if (anyElementSelected) {
84
84
  this.props.onDeselectElements();
85
85
  } else {
86
- var coords = (0, _d3Selection.mouse)(rect._groups[0][0]);
86
+ const coords = (0, _d3Selection.pointer)(event, this.rect);
87
87
  const x = this.xScaleFn().invert(coords[0]);
88
88
  this.addElement(x);
89
89
  }
90
90
  }
91
91
  componentDidMount() {
92
92
  const rect = (0, _d3Selection.select)(this.rect);
93
- rect.on('click', this.onRectClick.bind(this, rect));
93
+ rect.on('click', this.onRectClick.bind(this));
94
94
  }
95
95
  addElement(x) {
96
96
  const snapFn = this.snapValueFn();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_d3Scale","_d3Selection","_renderUi","_core","_point","_line","_ray","_line2","_arrow","_ticks","_tickUtils","_stacks","_reactTransitionGroup","_propTypes","_transitions","getXScale","min","max","width","padding","undefined","Error","scaleLinear","domain","range","Debug","props","default","createElement","x","y","JSON","stringify","NumberLineGraph","React","Component","constructor","state","xScaleFn","toString","length","snapValueFn","ticks","snapTo","bind","minor","getChildContext","xScale","snapValue","onRectClick","rect","elements","disabled","anyElementSelected","some","e","selected","onDeselectElements","coords","mouse","_groups","invert","addElement","componentDidMount","select","on","snapFn","v","onAddElement","render","height","onToggleElement","onMoveElement","fraction","arrows","left","right","lineY","stacks","Stacks","map","el","index","stackIndex","add","commonProps","key","interval","correct","toggleElement","moveElement","type","empty","leftPoint","rightPoint","_extends2","onMoveLine","onToggleSelect","position","bounds","pointType","onClick","onMove","direction","DndContext","style","display","ref","fill","color","primary","fillOpacity","TransitionGroup","component","c","Fade","exports","_defineProperty2","PropTypes","func","isRequired","shape","number","major","bool","debug","array","_default"],"sources":["../../../src/number-line/graph/index.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { select, mouse } from 'd3-selection';\nimport { color } from '@pie-lib/render-ui';\nimport { DndContext } from '@dnd-kit/core';\nimport Point from './elements/point';\nimport Line from './elements/line';\nimport Ray from './elements/ray';\nimport BaseLine from './line';\nimport Arrow from './arrow';\nimport Ticks from './ticks';\nimport { snapTo } from './tick-utils';\nimport Stacks from './stacks';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport { Fade } from '../transitions';\n\nconst getXScale = (min, max, width, padding) => {\n if (min === undefined || max === undefined || width === undefined) {\n throw new Error('missing min/max/width');\n }\n\n return scaleLinear()\n .domain([min, max])\n .range([padding, width - padding]);\n};\n\nconst Debug = (props) => (\n <g>\n <text x=\"00\" y=\"20\">\n {JSON.stringify(props)}\n </text>\n </g>\n);\n\nexport class NumberLineGraph extends React.Component {\n static childContextTypes = {\n xScale: PropTypes.func.isRequired,\n snapValue: PropTypes.func.isRequired,\n };\n\n static propTypes = {\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n }).isRequired,\n ticks: PropTypes.shape({ minor: PropTypes.number, major: PropTypes.number }).isRequired,\n fraction: PropTypes.bool,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n onToggleElement: PropTypes.func.isRequired,\n onMoveElement: PropTypes.func.isRequired,\n onAddElement: PropTypes.func.isRequired,\n debug: PropTypes.bool,\n elements: PropTypes.array,\n disabled: PropTypes.bool,\n onDeselectElements: PropTypes.func,\n arrows: PropTypes.shape({ left: PropTypes.bool, right: PropTypes.bool }),\n };\n\n static defaultProps = {\n debug: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n xScaleFn() {\n const { domain, width } = this.props;\n const { max, min } = domain || {};\n\n let padding = 20;\n\n if (max) {\n padding = max.toString().length * 4 + 15;\n }\n\n return getXScale(min, max, width, padding);\n }\n\n snapValueFn() {\n const { domain, ticks } = this.props;\n return snapTo.bind(null, domain.min, domain.max, ticks.minor);\n }\n\n getChildContext() {\n return {\n xScale: this.xScaleFn(),\n snapValue: this.snapValueFn(),\n };\n }\n\n /**\n * Note: we use d3 click + mouse to give us domain values directly.\n * Saves us having to calculate them ourselves from a MouseEvent.\n */\n onRectClick(rect) {\n const { elements, disabled } = this.props;\n\n if (disabled) {\n return;\n }\n\n const anyElementSelected = elements.some((e) => e.selected);\n\n if (anyElementSelected) {\n this.props.onDeselectElements();\n } else {\n var coords = mouse(rect._groups[0][0]);\n const x = this.xScaleFn().invert(coords[0]);\n this.addElement(x);\n }\n }\n\n componentDidMount() {\n const rect = select(this.rect);\n rect.on('click', this.onRectClick.bind(this, rect));\n }\n\n addElement(x) {\n const snapFn = this.snapValueFn();\n const v = snapFn(x);\n this.props.onAddElement(v);\n }\n\n render() {\n const { domain, width, ticks, height, onToggleElement, onMoveElement, disabled, fraction } = this.props;\n let { arrows } = this.props;\n\n arrows = arrows || { left: true, right: true };\n const { min, max } = domain;\n\n if (domain.max <= domain.min) {\n return (\n <div>\n {domain.max} is less than or equal to {domain.min}\n </div>\n );\n } else {\n const lineY = height - 30;\n\n const stacks = new Stacks(domain);\n\n const elements = this.props.elements.map((el, index) => {\n const stackIndex = stacks.add(el);\n\n if (stackIndex === -1) {\n throw new Error('stack index is -1, cant add element');\n }\n\n const y = lineY - stackIndex * 25;\n\n const commonProps = {\n key: index,\n y,\n selected: el.selected && !disabled,\n interval: ticks.minor,\n disabled,\n correct: el.correct,\n };\n\n const toggleElement = onToggleElement.bind(null, index, el);\n const moveElement = onMoveElement.bind(null, index, el);\n\n if (el.type === 'line') {\n const empty = {\n left: el.leftPoint === 'empty',\n right: el.rightPoint === 'empty',\n };\n\n return (\n <Line\n {...commonProps}\n domain={{ min: min, max: max }}\n onMoveLine={moveElement}\n onToggleSelect={toggleElement}\n position={el.position}\n empty={empty}\n key={index}\n />\n );\n } else if (el.type === 'point') {\n const bounds = {\n left: min - el.position,\n right: max - el.position,\n };\n\n return (\n <Point\n {...commonProps}\n empty={el.pointType === 'empty'}\n position={el.position}\n bounds={bounds}\n onClick={toggleElement}\n onMove={moveElement}\n key={index}\n />\n );\n } else if (el.type === 'ray') {\n return (\n <Ray\n {...commonProps}\n domain={{ min: min, max: max }}\n direction={el.direction}\n position={el.position}\n onMove={moveElement}\n onToggleSelect={toggleElement}\n width={width}\n empty={el.pointType === 'empty'}\n key={index}\n />\n );\n }\n });\n\n return (\n <DndContext>\n <div style={{ display: 'inline-block' }}>\n <svg width={width} height={fraction ? height + 20 : height}>\n {false && <Debug domain={domain} ticks={ticks} />}\n <BaseLine y={lineY} width={width} />\n {arrows.left && <Arrow y={lineY} />}\n {arrows.right && <Arrow x={width} y={lineY} direction=\"right\" />}\n <Ticks y={lineY} domain={domain} width={width} ticks={ticks} fraction={fraction} />\n <rect\n ref={(rect) => (this.rect = rect)}\n //need to have a fill for it to be clickable\n fill={color.primary()}\n fillOpacity=\"0.0\"\n width={width}\n height={height}\n />\n <TransitionGroup component=\"g\">\n {elements.map((c, index) => (\n <Fade key={index}>{c}</Fade>\n ))}\n </TransitionGroup>\n </svg>\n </div>\n </DndContext>\n );\n }\n }\n}\n\nexport default NumberLineGraph;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_d3Scale","_d3Selection","_renderUi","_core","_point","_line","_ray","_line2","_arrow","_ticks","_tickUtils","_stacks","_reactTransitionGroup","_propTypes","_transitions","getXScale","min","max","width","padding","undefined","Error","scaleLinear","domain","range","Debug","props","default","createElement","x","y","JSON","stringify","NumberLineGraph","React","Component","constructor","state","xScaleFn","toString","length","snapValueFn","ticks","snapTo","bind","minor","getChildContext","xScale","snapValue","onRectClick","event","elements","disabled","anyElementSelected","some","e","selected","onDeselectElements","coords","pointer","rect","invert","addElement","componentDidMount","select","on","snapFn","v","onAddElement","render","height","onToggleElement","onMoveElement","fraction","arrows","left","right","lineY","stacks","Stacks","map","el","index","stackIndex","add","commonProps","key","interval","correct","toggleElement","moveElement","type","empty","leftPoint","rightPoint","_extends2","onMoveLine","onToggleSelect","position","bounds","pointType","onClick","onMove","direction","DndContext","style","display","ref","fill","color","primary","fillOpacity","TransitionGroup","component","c","Fade","exports","_defineProperty2","PropTypes","func","isRequired","shape","number","major","bool","debug","array","_default"],"sources":["../../../src/number-line/graph/index.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { select, pointer } from 'd3-selection';\nimport { color } from '@pie-lib/render-ui';\nimport { DndContext } from '@dnd-kit/core';\nimport Point from './elements/point';\nimport Line from './elements/line';\nimport Ray from './elements/ray';\nimport BaseLine from './line';\nimport Arrow from './arrow';\nimport Ticks from './ticks';\nimport { snapTo } from './tick-utils';\nimport Stacks from './stacks';\nimport { TransitionGroup } from 'react-transition-group';\nimport PropTypes from 'prop-types';\nimport { Fade } from '../transitions';\n\nconst getXScale = (min, max, width, padding) => {\n if (min === undefined || max === undefined || width === undefined) {\n throw new Error('missing min/max/width');\n }\n\n return scaleLinear()\n .domain([min, max])\n .range([padding, width - padding]);\n};\n\nconst Debug = (props) => (\n <g>\n <text x=\"00\" y=\"20\">\n {JSON.stringify(props)}\n </text>\n </g>\n);\n\nexport class NumberLineGraph extends React.Component {\n static childContextTypes = {\n xScale: PropTypes.func.isRequired,\n snapValue: PropTypes.func.isRequired,\n };\n\n static propTypes = {\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n }).isRequired,\n ticks: PropTypes.shape({ minor: PropTypes.number, major: PropTypes.number }).isRequired,\n fraction: PropTypes.bool,\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n onToggleElement: PropTypes.func.isRequired,\n onMoveElement: PropTypes.func.isRequired,\n onAddElement: PropTypes.func.isRequired,\n debug: PropTypes.bool,\n elements: PropTypes.array,\n disabled: PropTypes.bool,\n onDeselectElements: PropTypes.func,\n arrows: PropTypes.shape({ left: PropTypes.bool, right: PropTypes.bool }),\n };\n\n static defaultProps = {\n debug: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n xScaleFn() {\n const { domain, width } = this.props;\n const { max, min } = domain || {};\n\n let padding = 20;\n\n if (max) {\n padding = max.toString().length * 4 + 15;\n }\n\n return getXScale(min, max, width, padding);\n }\n\n snapValueFn() {\n const { domain, ticks } = this.props;\n return snapTo.bind(null, domain.min, domain.max, ticks.minor);\n }\n\n getChildContext() {\n return {\n xScale: this.xScaleFn(),\n snapValue: this.snapValueFn(),\n };\n }\n\n /**\n * Note: we use d3 click + pointer to give us domain values directly.\n * Saves us having to calculate them ourselves from a MouseEvent.\n */\n onRectClick(event) {\n const { elements, disabled } = this.props;\n\n if (disabled) {\n return;\n }\n\n const anyElementSelected = elements.some((e) => e.selected);\n\n if (anyElementSelected) {\n this.props.onDeselectElements();\n } else {\n const coords = pointer(event, this.rect);\n const x = this.xScaleFn().invert(coords[0]);\n this.addElement(x);\n }\n }\n\n componentDidMount() {\n const rect = select(this.rect);\n rect.on('click', this.onRectClick.bind(this));\n }\n\n addElement(x) {\n const snapFn = this.snapValueFn();\n const v = snapFn(x);\n this.props.onAddElement(v);\n }\n\n render() {\n const { domain, width, ticks, height, onToggleElement, onMoveElement, disabled, fraction } = this.props;\n let { arrows } = this.props;\n\n arrows = arrows || { left: true, right: true };\n const { min, max } = domain;\n\n if (domain.max <= domain.min) {\n return (\n <div>\n {domain.max} is less than or equal to {domain.min}\n </div>\n );\n } else {\n const lineY = height - 30;\n\n const stacks = new Stacks(domain);\n\n const elements = this.props.elements.map((el, index) => {\n const stackIndex = stacks.add(el);\n\n if (stackIndex === -1) {\n throw new Error('stack index is -1, cant add element');\n }\n\n const y = lineY - stackIndex * 25;\n\n const commonProps = {\n key: index,\n y,\n selected: el.selected && !disabled,\n interval: ticks.minor,\n disabled,\n correct: el.correct,\n };\n\n const toggleElement = onToggleElement.bind(null, index, el);\n const moveElement = onMoveElement.bind(null, index, el);\n\n if (el.type === 'line') {\n const empty = {\n left: el.leftPoint === 'empty',\n right: el.rightPoint === 'empty',\n };\n\n return (\n <Line\n {...commonProps}\n domain={{ min: min, max: max }}\n onMoveLine={moveElement}\n onToggleSelect={toggleElement}\n position={el.position}\n empty={empty}\n key={index}\n />\n );\n } else if (el.type === 'point') {\n const bounds = {\n left: min - el.position,\n right: max - el.position,\n };\n\n return (\n <Point\n {...commonProps}\n empty={el.pointType === 'empty'}\n position={el.position}\n bounds={bounds}\n onClick={toggleElement}\n onMove={moveElement}\n key={index}\n />\n );\n } else if (el.type === 'ray') {\n return (\n <Ray\n {...commonProps}\n domain={{ min: min, max: max }}\n direction={el.direction}\n position={el.position}\n onMove={moveElement}\n onToggleSelect={toggleElement}\n width={width}\n empty={el.pointType === 'empty'}\n key={index}\n />\n );\n }\n });\n\n return (\n <DndContext>\n <div style={{ display: 'inline-block' }}>\n <svg width={width} height={fraction ? height + 20 : height}>\n {false && <Debug domain={domain} ticks={ticks} />}\n <BaseLine y={lineY} width={width} />\n {arrows.left && <Arrow y={lineY} />}\n {arrows.right && <Arrow x={width} y={lineY} direction=\"right\" />}\n <Ticks y={lineY} domain={domain} width={width} ticks={ticks} fraction={fraction} />\n <rect\n ref={(rect) => (this.rect = rect)}\n //need to have a fill for it to be clickable\n fill={color.primary()}\n fillOpacity=\"0.0\"\n width={width}\n height={height}\n />\n <TransitionGroup component=\"g\">\n {elements.map((c, index) => (\n <Fade key={index}>{c}</Fade>\n ))}\n </TransitionGroup>\n </svg>\n </div>\n </DndContext>\n );\n }\n }\n}\n\nexport default NumberLineGraph;\n"],"mappings":"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","ignoreList":[]}
@@ -59,9 +59,9 @@ const FadeTransition = props => {
59
59
  appearActive: `${classPrefix}-appear-active`
60
60
  },
61
61
  timeout: duration
62
- }), /*#__PURE__*/_react.default.cloneElement(child, {
62
+ }), /*#__PURE__*/_react.default.createElement("g", {
63
63
  ref: nodeRef
64
- }));
64
+ }, child));
65
65
  };
66
66
  FadeTransition.propTypes = {
67
67
  // CSSTransition props
@@ -1 +1 @@
1
- {"version":3,"file":"fade.js","names":["_react","_interopRequireWildcard","require","_reactTransitionGroup","_propTypes","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","duration","classPrefix","fadeStyles","FadeTransition","props","nodeRef","useRef","child","React","Children","only","children","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","CSSTransition","_extends2","appear","classNames","enter","enterActive","exit","exitActive","appearActive","timeout","cloneElement","ref","propTypes","PropTypes","node","in","bool","mountOnEnter","unmountOnExit","oneOfType","number","shape","addEndListener","func","onEnter","onEntering","onEntered","onExit","onExiting","onExited","_default","exports"],"sources":["../../../src/number-line/transitions/fade.jsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst duration = 200;\nconst classPrefix = 'fade-transition';\n\nconst fadeStyles = `\n .${classPrefix}-appear {\n opacity: 0;\n }\n .${classPrefix}-appear-active {\n opacity: 1;\n transition: opacity ${duration}ms ease-in;\n }\n .${classPrefix}-enter {\n opacity: 0;\n }\n .${classPrefix}-enter-active {\n opacity: 1;\n transition: opacity ${duration}ms ease-in;\n }\n .${classPrefix}-exit {\n opacity: 1;\n }\n .${classPrefix}-exit-active {\n opacity: 0;\n transition: opacity ${duration}ms ease-in;\n }\n`;\n\nconst FadeTransition = (props) => {\n const nodeRef = useRef(null);\n const child = React.Children.only(props.children);\n\n useEffect(() => {\n // Inject styles if not already present\n if (!document.getElementById(`${classPrefix}-styles`)) {\n const style = document.createElement('style');\n style.id = `${classPrefix}-styles`;\n style.textContent = fadeStyles;\n document.head.appendChild(style);\n }\n }, []);\n\n return (\n <CSSTransition\n {...props}\n nodeRef={nodeRef}\n appear={true}\n classNames={{\n enter: `${classPrefix}-enter`,\n enterActive: `${classPrefix}-enter-active`,\n exit: `${classPrefix}-exit`,\n exitActive: `${classPrefix}-exit-active`,\n appear: `${classPrefix}-appear`,\n appearActive: `${classPrefix}-appear-active`,\n }}\n timeout={duration}\n >\n {React.cloneElement(child, { ref: nodeRef })}\n </CSSTransition>\n );\n};\n\nFadeTransition.propTypes = {\n // CSSTransition props\n children: PropTypes.node,\n in: PropTypes.bool,\n mountOnEnter: PropTypes.bool,\n unmountOnExit: PropTypes.bool,\n appear: PropTypes.bool,\n enter: PropTypes.bool,\n exit: PropTypes.bool,\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number,\n })]),\n addEndListener: PropTypes.func,\n onEnter: PropTypes.func,\n onEntering: PropTypes.func,\n onEntered: PropTypes.func,\n onExit: PropTypes.func,\n onExiting: PropTypes.func,\n onExited: PropTypes.func,\n};\n\nexport default FadeTransition;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fade.js","names":["_react","_interopRequireWildcard","require","_reactTransitionGroup","_propTypes","_interopRequireDefault","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","duration","classPrefix","fadeStyles","FadeTransition","props","nodeRef","useRef","child","React","Children","only","children","useEffect","document","getElementById","style","createElement","id","textContent","head","appendChild","CSSTransition","_extends2","appear","classNames","enter","enterActive","exit","exitActive","appearActive","timeout","ref","propTypes","PropTypes","node","in","bool","mountOnEnter","unmountOnExit","oneOfType","number","shape","addEndListener","func","onEnter","onEntering","onEntered","onExit","onExiting","onExited","_default","exports"],"sources":["../../../src/number-line/transitions/fade.jsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport PropTypes from 'prop-types';\n\nconst duration = 200;\nconst classPrefix = 'fade-transition';\n\nconst fadeStyles = `\n .${classPrefix}-appear {\n opacity: 0;\n }\n .${classPrefix}-appear-active {\n opacity: 1;\n transition: opacity ${duration}ms ease-in;\n }\n .${classPrefix}-enter {\n opacity: 0;\n }\n .${classPrefix}-enter-active {\n opacity: 1;\n transition: opacity ${duration}ms ease-in;\n }\n .${classPrefix}-exit {\n opacity: 1;\n }\n .${classPrefix}-exit-active {\n opacity: 0;\n transition: opacity ${duration}ms ease-in;\n }\n`;\n\nconst FadeTransition = (props) => {\n const nodeRef = useRef(null);\n const child = React.Children.only(props.children);\n\n useEffect(() => {\n // Inject styles if not already present\n if (!document.getElementById(`${classPrefix}-styles`)) {\n const style = document.createElement('style');\n style.id = `${classPrefix}-styles`;\n style.textContent = fadeStyles;\n document.head.appendChild(style);\n }\n }, []);\n\n return (\n <CSSTransition\n {...props}\n nodeRef={nodeRef}\n appear={true}\n classNames={{\n enter: `${classPrefix}-enter`,\n enterActive: `${classPrefix}-enter-active`,\n exit: `${classPrefix}-exit`,\n exitActive: `${classPrefix}-exit-active`,\n appear: `${classPrefix}-appear`,\n appearActive: `${classPrefix}-appear-active`,\n }}\n timeout={duration}\n >\n <g ref={nodeRef}>\n {child}\n </g>\n </CSSTransition>\n );\n};\n\nFadeTransition.propTypes = {\n // CSSTransition props\n children: PropTypes.node,\n in: PropTypes.bool,\n mountOnEnter: PropTypes.bool,\n unmountOnExit: PropTypes.bool,\n appear: PropTypes.bool,\n enter: PropTypes.bool,\n exit: PropTypes.bool,\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n enter: PropTypes.number,\n exit: PropTypes.number,\n })]),\n addEndListener: PropTypes.func,\n onEnter: PropTypes.func,\n onEntering: PropTypes.func,\n onEntered: PropTypes.func,\n onExit: PropTypes.func,\n onExiting: PropTypes.func,\n onExited: PropTypes.func,\n};\n\nexport default FadeTransition;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "@pie-element/number-line",
3
- "version": "12.0.0-beta.0",
3
+ "version": "12.0.0-beta.1",
4
4
  "repository": "pie-framework/pie-elements",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "dependencies": {
10
- "@dnd-kit/core": "6.1.0",
10
+ "@dnd-kit/core": "6.3.1",
11
11
  "@emotion/react": "^11.14.0",
12
12
  "@emotion/style": "^0.8.0",
13
13
  "@mui/icons-material": "^7.3.4",
14
14
  "@mui/material": "^7.3.4",
15
- "@pie-lib/correct-answer-toggle": "2.25.4-next.0",
16
- "@pie-lib/icons": "2.24.3-next.0",
17
- "@pie-lib/math-rendering": "3.22.3-next.0",
18
- "@pie-lib/render-ui": "4.35.4-next.0",
19
- "@pie-lib/translator": "2.23.3-next.0",
15
+ "@pie-lib/correct-answer-toggle": "3.1.0-next.5",
16
+ "@pie-lib/icons": "3.1.0-next.4",
17
+ "@pie-lib/math-rendering": "4.1.0-next.4",
18
+ "@pie-lib/render-ui": "5.1.0-next.5",
19
+ "@pie-lib/translator": "3.1.0-next.4",
20
20
  "classnames": "^2.2.5",
21
- "d3-scale": "^3.2.1",
22
- "d3-selection": "^1.4.1",
21
+ "d3-scale": "^4.0.2",
22
+ "d3-selection": "^3.0.0",
23
23
  "lodash": "^4.17.10",
24
24
  "mathjs": "^7.5.1",
25
25
  "prop-types": "^15.6.1",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "author": "pie framework developers",
32
32
  "license": "ISC",
33
- "gitHead": "7879a67078db250e4b7e8fdc869638024600411d",
33
+ "gitHead": "b67101f1d8bf37c61231a7050a3bc3b799b7d35b",
34
34
  "scripts": {
35
35
  "postpublish": "../../scripts/postpublish"
36
36
  },