@pie-element/number-line 8.7.2-next.7 → 8.7.2

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,17 @@
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
+ ## [8.7.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@8.7.1...@pie-element/number-line@8.7.2) (2024-04-18)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **number-line:** let prompt width expand to max of container and don't restrict based on width prop PD-3661 ([0dc5f77](https://github.com/pie-framework/pie-elements/commit/0dc5f77bceb44433ceaaed026a97dcf74544642e))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [8.7.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@8.7.0...@pie-element/number-line@8.7.1) (2024-04-01)
7
18
 
8
19
  **Note:** Version bump only for package @pie-element/number-line
@@ -350,17 +350,20 @@ var NumberLine = /*#__PURE__*/function (_React$Component) {
350
350
  };
351
351
 
352
352
  var adjustedWidth = graphProps.width - 20;
353
- var names = (0, _classnames["default"])(classes.numberLine, classes.mainContainer, classes[colorContrast]);
353
+ var containerNames = (0, _classnames["default"])(classes.mainContainer, classes[colorContrast]);
354
+ var numberLineContainerNames = (0, _classnames["default"])(classes.numberLine, classes.mainContainer, classes[colorContrast]);
354
355
  return /*#__PURE__*/_react["default"].createElement("div", {
355
- className: names,
356
- style: {
357
- width: width
358
- }
356
+ className: containerNames
359
357
  }, prompt && /*#__PURE__*/_react["default"].createElement("div", {
360
358
  className: classes.prompt
361
359
  }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
362
360
  prompt: prompt
363
- })), !disabled && /*#__PURE__*/_react["default"].createElement("div", {
361
+ })), /*#__PURE__*/_react["default"].createElement("div", {
362
+ className: numberLineContainerNames,
363
+ style: {
364
+ width: width
365
+ }
366
+ }, !disabled && /*#__PURE__*/_react["default"].createElement("div", {
364
367
  style: {
365
368
  width: adjustedWidth
366
369
  },
@@ -398,7 +401,7 @@ var NumberLine = /*#__PURE__*/function (_React$Component) {
398
401
  message: maxPointsMessage()
399
402
  }), feedback && !showCorrectAnswer && /*#__PURE__*/_react["default"].createElement(_feedback["default"], (0, _extends2["default"])({}, feedback, {
400
403
  width: adjustedWidth
401
- })));
404
+ }))));
402
405
  }
403
406
  }]);
404
407
  return NumberLine;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/number-line/index.jsx"],"names":["translator","Translator","styles","mainContainer","color","text","backgroundColor","background","graphTitle","textAlign","pointerEvents","userSelect","numberLine","boxSizing","toggle","marginBottom","black_on_rose","white_on_black","prompt","verticalAlign","NumberLine","props","context","initialType","model","graph","toLowerCase","PointChooser","DEFAULT_TYPE","state","selectedElements","elementType","answers","answer","index","selected","indexOf","concat","filter","e","setState","t","x","hasMaxNoOfPoints","showMaxPointsWarning","setTimeout","ticks","domain","elementData","minor","contains","some","element","push","onAddElement","maxNumberOfPoints","length","nextProps","showCorrectAnswer","type","min","max","defaultValue","Math","onUndoElement","pop","onClearElements","classes","onDeleteElements","onMoveElement","minWidth","maxWidth","maxHeight","corrected","correct","incorrect","disabled","correctResponse","emptyAnswer","feedback","colorContrast","language","addElement","bind","elementsSelected","arrows","height","availableTypes","title","fraction","width","getSize","graphProps","getAnswerElements","map","out","includes","undefined","getCorrectAnswerElements","r","elements","maxPointsMessage","lng","count","deleteElements","v","d","getIcons","Object","keys","k","onShowCorrectAnswer","show","adjustedWidth","names","elementTypeSelected","clearAll","undo","toggleElement","deselectElements","__html","React","Component","PropTypes","func","isRequired","object","array"],"mappings":"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","sourcesContent":["import Feedback from './feedback';\nimport Graph from './graph';\nimport PropTypes from 'prop-types';\nimport PointChooser from './point-chooser';\nimport React from 'react';\nimport Toggle from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { buildElementModel } from './graph/elements/builder';\nimport classNames from 'classnames';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { color, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport injectSheet from 'react-jss';\nimport isArray from 'lodash/isArray';\nimport isNumber from 'lodash/isNumber';\nimport isEqual from 'lodash/isEqual';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nexport { Graph };\n\nconst styles = {\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n graphTitle: {\n textAlign: 'center',\n pointerEvents: 'none',\n userSelect: 'none',\n },\n numberLine: {\n boxSizing: 'unset',\n },\n toggle: {\n marginBottom: '16px',\n },\n black_on_rose: {\n backgroundColor: 'mistyrose',\n },\n white_on_black: {\n backgroundColor: 'black',\n '--correct-answer-toggle-label-color': 'white',\n '--tick-color': 'white',\n '--line-stroke': 'white',\n '--arrow-color': 'white',\n '--point-stroke': 'white',\n '--point-fill': 'black',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: '16px',\n },\n};\n\nexport class NumberLine extends React.Component {\n static propTypes = {\n onMoveElement: PropTypes.func.isRequired,\n onDeleteElements: PropTypes.func.isRequired,\n onAddElement: PropTypes.func.isRequired,\n onUndoElement: PropTypes.func.isRequired,\n onClearElements: PropTypes.func.isRequired,\n model: PropTypes.object.isRequired,\n answer: PropTypes.array,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props, context) {\n super(props, context);\n\n let initialType = props.model.graph ? props.model.graph.initialType : null;\n initialType = initialType ? initialType.toLowerCase() : PointChooser.DEFAULT_TYPE;\n\n this.state = {\n selectedElements: [],\n elementType: initialType,\n answers: props.answer,\n };\n }\n\n toggleElement(index) {\n let selected = [];\n if (this.state.selectedElements.indexOf(index) === -1) {\n selected = this.state.selectedElements.concat([index]);\n } else {\n selected = this.state.selectedElements.filter((e) => e !== index);\n }\n this.setState({ selectedElements: selected });\n }\n\n elementTypeSelected(t) {\n this.setState({ elementType: t });\n }\n\n addElement(x) {\n if (this.hasMaxNoOfPoints()) {\n this.setState({ showMaxPointsWarning: true });\n setTimeout(() => {\n this.setState({ showMaxPointsWarning: false });\n }, 2000);\n return;\n }\n\n const { ticks, domain } = this.props.model.graph;\n\n let elementData = buildElementModel(x, this.state.elementType, domain, ticks.minor);\n\n if (elementData) {\n const { answers } = this.state;\n\n const contains = answers.some((element) => {\n return isEqual(element, elementData);\n });\n\n if (!contains) {\n answers.push(elementData);\n this.setState({ answers });\n this.props.onAddElement(elementData);\n }\n }\n }\n\n hasMaxNoOfPoints() {\n let {\n answer,\n model: {\n graph: { maxNumberOfPoints },\n },\n } = this.props;\n\n return isNumber(maxNumberOfPoints) && maxNumberOfPoints > 0 && (answer || []).length >= maxNumberOfPoints;\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { answer } = nextProps;\n\n if (!isEqual(this.state.answers, answer)) {\n this.setState({ showCorrectAnswer: false, answers: answer });\n }\n }\n\n deselectElements() {\n this.setState({ selectedElements: [] });\n }\n\n getSize(type, min, max, defaultValue) {\n const {\n model: { graph },\n } = this.props;\n\n if (graph && graph[type]) {\n return Math.max(min, Math.min(max, graph[type]));\n } else {\n return defaultValue;\n }\n }\n\n undo() {\n const { answers } = this.state;\n const { onUndoElement } = this.props;\n\n answers.pop();\n this.setState({ answers });\n onUndoElement();\n }\n\n clearAll() {\n const { onClearElements } = this.props;\n\n this.setState({ answers: [] });\n onClearElements();\n }\n\n render() {\n let { model, classes, onDeleteElements, onMoveElement, minWidth = 400, maxWidth = 1600, maxHeight } = this.props;\n let { showCorrectAnswer, answers, selectedElements, showMaxPointsWarning, elementType } = this.state;\n let {\n corrected = { correct: [], incorrect: [] },\n disabled,\n graph,\n correctResponse,\n prompt,\n emptyAnswer,\n feedback,\n colorContrast,\n language,\n } = model;\n let addElement = this.addElement.bind(this);\n let elementsSelected = !disabled && selectedElements && selectedElements.length > 0;\n const { ticks, domain, arrows, maxNumberOfPoints, height = 100, availableTypes, title, fraction } = graph;\n const width = this.getSize('width', minWidth, maxWidth, 600);\n const graphProps = {\n disabled,\n domain,\n ticks,\n width,\n height: (height > maxHeight ? maxHeight : height) || 100,\n arrows,\n fraction,\n };\n\n let getAnswerElements = () => {\n return (answers || []).map((e, index) => {\n let out = cloneDeep(e);\n out.selected = selectedElements.indexOf(index) !== -1;\n out.correct = corrected.correct.includes(index)\n ? true\n : corrected.incorrect.includes(index)\n ? false\n : undefined;\n return out;\n });\n };\n\n let getCorrectAnswerElements = () => {\n return (correctResponse || []).map((r) => {\n r.correct = true;\n return r;\n });\n };\n\n let elements = showCorrectAnswer ? getCorrectAnswerElements() : getAnswerElements();\n\n let maxPointsMessage = () =>\n maxNumberOfPoints == 1\n ? translator.t('numberLine.addElementLimit_one', { lng: language, count: 1 })\n : translator.t('numberLine.addElementLimit_other', { lng: language, count: maxNumberOfPoints });\n\n let deleteElements = () => {\n onDeleteElements(selectedElements);\n\n answers = answers.filter((v, index) => {\n return !selectedElements.some((d) => d === index);\n });\n\n this.setState({ selectedElements: [], answers });\n };\n\n let getIcons = () => {\n if (availableTypes) {\n return Object.keys(availableTypes)\n .filter((k) => availableTypes[k])\n .map((k) => k.toLowerCase());\n }\n };\n\n let onShowCorrectAnswer = (show) => {\n this.setState({ showCorrectAnswer: show });\n };\n\n let adjustedWidth = graphProps.width - 20;\n\n const names = classNames(classes.numberLine, classes.mainContainer, classes[colorContrast]);\n\n return (\n <div className={names} style={{ width }}>\n {prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={prompt} />\n </div>\n )}\n\n {!disabled && (\n <div style={{ width: adjustedWidth }} className={classes.toggle}>\n <Toggle\n show={isArray(correctResponse) && correctResponse.length && !emptyAnswer}\n toggled={showCorrectAnswer}\n onToggle={onShowCorrectAnswer}\n initialValue={false}\n language={language}\n />\n </div>\n )}\n\n {!disabled && (\n <PointChooser\n elementType={elementType}\n showDeleteButton={elementsSelected}\n onDeleteClick={deleteElements}\n onElementType={this.elementTypeSelected.bind(this)}\n onClearElements={this.clearAll.bind(this)}\n onUndoElement={this.undo.bind(this)}\n icons={getIcons()}\n language={language}\n />\n )}\n\n <Graph\n {...graphProps}\n elements={elements}\n onAddElement={addElement}\n onMoveElement={onMoveElement}\n onToggleElement={this.toggleElement.bind(this)}\n onDeselectElements={this.deselectElements.bind(this)}\n debug={false}\n />\n {title && <div className={classes.graphTitle} dangerouslySetInnerHTML={{ __html: title }} />}\n\n {showMaxPointsWarning && <Feedback type=\"info\" width={adjustedWidth} message={maxPointsMessage()} />}\n {feedback && !showCorrectAnswer && <Feedback {...feedback} width={adjustedWidth} />}\n </div>\n );\n }\n}\n\nexport default injectSheet(styles)(NumberLine);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/number-line/index.jsx"],"names":["translator","Translator","styles","mainContainer","color","text","backgroundColor","background","graphTitle","textAlign","pointerEvents","userSelect","numberLine","boxSizing","toggle","marginBottom","black_on_rose","white_on_black","prompt","verticalAlign","NumberLine","props","context","initialType","model","graph","toLowerCase","PointChooser","DEFAULT_TYPE","state","selectedElements","elementType","answers","answer","index","selected","indexOf","concat","filter","e","setState","t","x","hasMaxNoOfPoints","showMaxPointsWarning","setTimeout","ticks","domain","elementData","minor","contains","some","element","push","onAddElement","maxNumberOfPoints","length","nextProps","showCorrectAnswer","type","min","max","defaultValue","Math","onUndoElement","pop","onClearElements","classes","onDeleteElements","onMoveElement","minWidth","maxWidth","maxHeight","corrected","correct","incorrect","disabled","correctResponse","emptyAnswer","feedback","colorContrast","language","addElement","bind","elementsSelected","arrows","height","availableTypes","title","fraction","width","getSize","graphProps","getAnswerElements","map","out","includes","undefined","getCorrectAnswerElements","r","elements","maxPointsMessage","lng","count","deleteElements","v","d","getIcons","Object","keys","k","onShowCorrectAnswer","show","adjustedWidth","containerNames","numberLineContainerNames","elementTypeSelected","clearAll","undo","toggleElement","deselectElements","__html","React","Component","PropTypes","func","isRequired","object","array"],"mappings":"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","sourcesContent":["import Feedback from './feedback';\nimport Graph from './graph';\nimport PropTypes from 'prop-types';\nimport PointChooser from './point-chooser';\nimport React from 'react';\nimport Toggle from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { buildElementModel } from './graph/elements/builder';\nimport classNames from 'classnames';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { color, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport injectSheet from 'react-jss';\nimport isArray from 'lodash/isArray';\nimport isNumber from 'lodash/isNumber';\nimport isEqual from 'lodash/isEqual';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nexport { Graph };\n\nconst styles = {\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n graphTitle: {\n textAlign: 'center',\n pointerEvents: 'none',\n userSelect: 'none',\n },\n numberLine: {\n boxSizing: 'unset',\n },\n toggle: {\n marginBottom: '16px',\n },\n black_on_rose: {\n backgroundColor: 'mistyrose',\n },\n white_on_black: {\n backgroundColor: 'black',\n '--correct-answer-toggle-label-color': 'white',\n '--tick-color': 'white',\n '--line-stroke': 'white',\n '--arrow-color': 'white',\n '--point-stroke': 'white',\n '--point-fill': 'black',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: '16px',\n },\n};\n\nexport class NumberLine extends React.Component {\n static propTypes = {\n onMoveElement: PropTypes.func.isRequired,\n onDeleteElements: PropTypes.func.isRequired,\n onAddElement: PropTypes.func.isRequired,\n onUndoElement: PropTypes.func.isRequired,\n onClearElements: PropTypes.func.isRequired,\n model: PropTypes.object.isRequired,\n answer: PropTypes.array,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props, context) {\n super(props, context);\n\n let initialType = props.model.graph ? props.model.graph.initialType : null;\n initialType = initialType ? initialType.toLowerCase() : PointChooser.DEFAULT_TYPE;\n\n this.state = {\n selectedElements: [],\n elementType: initialType,\n answers: props.answer,\n };\n }\n\n toggleElement(index) {\n let selected = [];\n if (this.state.selectedElements.indexOf(index) === -1) {\n selected = this.state.selectedElements.concat([index]);\n } else {\n selected = this.state.selectedElements.filter((e) => e !== index);\n }\n this.setState({ selectedElements: selected });\n }\n\n elementTypeSelected(t) {\n this.setState({ elementType: t });\n }\n\n addElement(x) {\n if (this.hasMaxNoOfPoints()) {\n this.setState({ showMaxPointsWarning: true });\n setTimeout(() => {\n this.setState({ showMaxPointsWarning: false });\n }, 2000);\n return;\n }\n\n const { ticks, domain } = this.props.model.graph;\n\n let elementData = buildElementModel(x, this.state.elementType, domain, ticks.minor);\n\n if (elementData) {\n const { answers } = this.state;\n\n const contains = answers.some((element) => {\n return isEqual(element, elementData);\n });\n\n if (!contains) {\n answers.push(elementData);\n this.setState({ answers });\n this.props.onAddElement(elementData);\n }\n }\n }\n\n hasMaxNoOfPoints() {\n let {\n answer,\n model: {\n graph: { maxNumberOfPoints },\n },\n } = this.props;\n\n return isNumber(maxNumberOfPoints) && maxNumberOfPoints > 0 && (answer || []).length >= maxNumberOfPoints;\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { answer } = nextProps;\n\n if (!isEqual(this.state.answers, answer)) {\n this.setState({ showCorrectAnswer: false, answers: answer });\n }\n }\n\n deselectElements() {\n this.setState({ selectedElements: [] });\n }\n\n getSize(type, min, max, defaultValue) {\n const {\n model: { graph },\n } = this.props;\n\n if (graph && graph[type]) {\n return Math.max(min, Math.min(max, graph[type]));\n } else {\n return defaultValue;\n }\n }\n\n undo() {\n const { answers } = this.state;\n const { onUndoElement } = this.props;\n\n answers.pop();\n this.setState({ answers });\n onUndoElement();\n }\n\n clearAll() {\n const { onClearElements } = this.props;\n\n this.setState({ answers: [] });\n onClearElements();\n }\n\n render() {\n let { model, classes, onDeleteElements, onMoveElement, minWidth = 400, maxWidth = 1600, maxHeight } = this.props;\n let { showCorrectAnswer, answers, selectedElements, showMaxPointsWarning, elementType } = this.state;\n let {\n corrected = { correct: [], incorrect: [] },\n disabled,\n graph,\n correctResponse,\n prompt,\n emptyAnswer,\n feedback,\n colorContrast,\n language,\n } = model;\n let addElement = this.addElement.bind(this);\n let elementsSelected = !disabled && selectedElements && selectedElements.length > 0;\n const { ticks, domain, arrows, maxNumberOfPoints, height = 100, availableTypes, title, fraction } = graph;\n const width = this.getSize('width', minWidth, maxWidth, 600);\n const graphProps = {\n disabled,\n domain,\n ticks,\n width,\n height: (height > maxHeight ? maxHeight : height) || 100,\n arrows,\n fraction,\n };\n\n let getAnswerElements = () => {\n return (answers || []).map((e, index) => {\n let out = cloneDeep(e);\n out.selected = selectedElements.indexOf(index) !== -1;\n out.correct = corrected.correct.includes(index)\n ? true\n : corrected.incorrect.includes(index)\n ? false\n : undefined;\n return out;\n });\n };\n\n let getCorrectAnswerElements = () => {\n return (correctResponse || []).map((r) => {\n r.correct = true;\n return r;\n });\n };\n\n let elements = showCorrectAnswer ? getCorrectAnswerElements() : getAnswerElements();\n\n let maxPointsMessage = () =>\n maxNumberOfPoints == 1\n ? translator.t('numberLine.addElementLimit_one', { lng: language, count: 1 })\n : translator.t('numberLine.addElementLimit_other', { lng: language, count: maxNumberOfPoints });\n\n let deleteElements = () => {\n onDeleteElements(selectedElements);\n\n answers = answers.filter((v, index) => {\n return !selectedElements.some((d) => d === index);\n });\n\n this.setState({ selectedElements: [], answers });\n };\n\n let getIcons = () => {\n if (availableTypes) {\n return Object.keys(availableTypes)\n .filter((k) => availableTypes[k])\n .map((k) => k.toLowerCase());\n }\n };\n\n let onShowCorrectAnswer = (show) => {\n this.setState({ showCorrectAnswer: show });\n };\n\n let adjustedWidth = graphProps.width - 20;\n\n const containerNames = classNames(classes.mainContainer, classes[colorContrast]);\n const numberLineContainerNames = classNames(classes.numberLine, classes.mainContainer, classes[colorContrast]);\n\n return (\n <div className={containerNames}>\n {prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={prompt}/>\n </div>\n )}\n\n <div className={numberLineContainerNames} style={{ width }}>\n {!disabled && (\n <div style={{ width: adjustedWidth }} className={classes.toggle}>\n <Toggle\n show={isArray(correctResponse) && correctResponse.length && !emptyAnswer}\n toggled={showCorrectAnswer}\n onToggle={onShowCorrectAnswer}\n initialValue={false}\n language={language}\n />\n </div>\n )}\n\n {!disabled && (\n <PointChooser\n elementType={elementType}\n showDeleteButton={elementsSelected}\n onDeleteClick={deleteElements}\n onElementType={this.elementTypeSelected.bind(this)}\n onClearElements={this.clearAll.bind(this)}\n onUndoElement={this.undo.bind(this)}\n icons={getIcons()}\n language={language}\n />\n )}\n\n <Graph\n {...graphProps}\n elements={elements}\n onAddElement={addElement}\n onMoveElement={onMoveElement}\n onToggleElement={this.toggleElement.bind(this)}\n onDeselectElements={this.deselectElements.bind(this)}\n debug={false}\n />\n {title && <div className={classes.graphTitle} dangerouslySetInnerHTML={{ __html: title }}/>}\n\n {showMaxPointsWarning && <Feedback type=\"info\" width={adjustedWidth} message={maxPointsMessage()}/>}\n {feedback && !showCorrectAnswer && <Feedback {...feedback} width={adjustedWidth}/>}\n </div>\n </div>\n );\n }\n}\n\nexport default injectSheet(styles)(NumberLine);\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/number-line",
3
- "version": "8.7.2-next.7+4853068d6",
3
+ "version": "8.7.2",
4
4
  "repository": "pie-framework/pie-elements",
5
5
  "description": "",
6
6
  "publishConfig": {
@@ -23,7 +23,7 @@
23
23
  },
24
24
  "author": "pie framework developers",
25
25
  "license": "ISC",
26
- "gitHead": "4853068d6d7e236c696288361b42ede1923a6fd5",
26
+ "gitHead": "e829aaf93a8743e1f52f024a706584691b1d9a19",
27
27
  "scripts": {
28
28
  "postpublish": "../../scripts/postpublish"
29
29
  },