@pie-element/number-line 5.11.2 → 5.11.3-next.1016

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +189 -0
  2. package/configure/CHANGELOG.md +142 -0
  3. package/configure/lib/arrows.js +3 -3
  4. package/configure/lib/arrows.js.map +1 -1
  5. package/configure/lib/card-bar.js +9 -2
  6. package/configure/lib/card-bar.js.map +1 -1
  7. package/configure/lib/defaults.js +7 -1
  8. package/configure/lib/defaults.js.map +1 -1
  9. package/configure/lib/domain.js +3 -3
  10. package/configure/lib/domain.js.map +1 -1
  11. package/configure/lib/index.js +40 -7
  12. package/configure/lib/index.js.map +1 -1
  13. package/configure/lib/main.js +90 -15
  14. package/configure/lib/main.js.map +1 -1
  15. package/configure/lib/number-text-field.js +4 -4
  16. package/configure/lib/number-text-field.js.map +1 -1
  17. package/configure/lib/point-config.js +3 -3
  18. package/configure/lib/point-config.js.map +1 -1
  19. package/configure/lib/size.js +2 -2
  20. package/configure/lib/size.js.map +1 -1
  21. package/configure/lib/ticks.js +8 -4
  22. package/configure/lib/ticks.js.map +1 -1
  23. package/configure/lib/utils.js +14 -0
  24. package/configure/lib/utils.js.map +1 -0
  25. package/configure/package.json +3 -3
  26. package/controller/CHANGELOG.md +32 -0
  27. package/controller/lib/defaults.js +0 -3
  28. package/controller/lib/defaults.js.map +1 -1
  29. package/controller/lib/index.js +89 -9
  30. package/controller/lib/index.js.map +1 -1
  31. package/controller/package.json +1 -1
  32. package/docs/config-schema.json +16 -0
  33. package/docs/config-schema.json.md +12 -0
  34. package/docs/demo/generate.js +2 -4
  35. package/docs/pie-schema.json +29 -1
  36. package/docs/pie-schema.json.md +23 -0
  37. package/lib/data-converter.js +1 -1
  38. package/lib/data-converter.js.map +1 -1
  39. package/lib/draggable/index.js +1 -1
  40. package/lib/index.js +16 -5
  41. package/lib/index.js.map +1 -1
  42. package/lib/number-line/colors.js +1 -1
  43. package/lib/number-line/feedback.js.map +1 -1
  44. package/lib/number-line/graph/elements/line.js +3 -3
  45. package/lib/number-line/graph/elements/line.js.map +1 -1
  46. package/lib/number-line/graph/elements/point.js +1 -1
  47. package/lib/number-line/graph/elements/point.js.map +1 -1
  48. package/lib/number-line/graph/elements/ray.js +12 -5
  49. package/lib/number-line/graph/elements/ray.js.map +1 -1
  50. package/lib/number-line/graph/index.js +6 -4
  51. package/lib/number-line/graph/index.js.map +1 -1
  52. package/lib/number-line/graph/stacks.js +1 -1
  53. package/lib/number-line/graph/stacks.js.map +1 -1
  54. package/lib/number-line/graph/tick-utils.js +11 -7
  55. package/lib/number-line/graph/tick-utils.js.map +1 -1
  56. package/lib/number-line/graph/ticks.js +58 -14
  57. package/lib/number-line/graph/ticks.js.map +1 -1
  58. package/lib/number-line/index.js +10 -9
  59. package/lib/number-line/index.js.map +1 -1
  60. package/lib/number-line/point-chooser/index.js +1 -1
  61. package/lib/number-line/point-chooser/index.js.map +1 -1
  62. package/lib/number-line/transitions/fade.js.map +1 -1
  63. package/package.json +5 -5
  64. package/module/configure.js +0 -1335
  65. package/module/controller.js +0 -22387
  66. package/module/demo.js +0 -134
  67. package/module/element.js +0 -10272
  68. package/module/index.html +0 -16
  69. package/module/manifest.json +0 -14
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.Main = exports.toPointType = void 0;
8
+ exports.toPointType = exports["default"] = exports.Main = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
@@ -53,17 +53,23 @@ var _styles = require("@material-ui/core/styles");
53
53
 
54
54
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
55
55
 
56
+ var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
57
+
58
+ var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
59
+
56
60
  var _ticks = _interopRequireDefault(require("./ticks"));
57
61
 
58
62
  var _defaults = require("./defaults");
59
63
 
64
+ var _utils = require("./utils");
65
+
60
66
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
61
67
 
62
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
68
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
63
69
 
64
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
70
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
65
71
 
66
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
72
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
67
73
 
68
74
  var trimModel = function trimModel(model) {
69
75
  return _objectSpread(_objectSpread({}, model), {}, {
@@ -117,6 +123,19 @@ var styles = function styles(theme) {
117
123
  section: {
118
124
  margin: 0,
119
125
  padding: 0
126
+ },
127
+ tooltip: {
128
+ fontSize: '12px',
129
+ whiteSpace: 'pre',
130
+ maxWidth: '500px'
131
+ },
132
+ inlineFlexContainer: {
133
+ display: 'inline-flex'
134
+ },
135
+ errorText: {
136
+ fontSize: '12px',
137
+ color: 'red',
138
+ padding: '5px 0'
120
139
  }
121
140
  };
122
141
  };
@@ -416,14 +435,40 @@ var Main = /*#__PURE__*/function (_React$Component) {
416
435
  model = _this$props12.model,
417
436
  _onChange = _this$props12.onChange,
418
437
  configuration = _this$props12.configuration;
419
- var graph = model.graph;
420
-
421
- var _ref4 = configuration || {},
422
- _ref4$prompt = _ref4.prompt,
423
- prompt = _ref4$prompt === void 0 ? {} : _ref4$prompt;
424
438
 
439
+ var _ref4 = model || {},
440
+ graph = _ref4.graph,
441
+ spellCheckEnabled = _ref4.spellCheckEnabled,
442
+ errors = _ref4.errors;
443
+
444
+ var _ref5 = configuration || {},
445
+ _ref5$prompt = _ref5.prompt,
446
+ prompt = _ref5$prompt === void 0 ? {} : _ref5$prompt,
447
+ _ref5$spellCheck = _ref5.spellCheck,
448
+ spellCheck = _ref5$spellCheck === void 0 ? {} : _ref5$spellCheck;
449
+
450
+ var _ref6 = errors || {},
451
+ widthError = _ref6.widthError,
452
+ domainError = _ref6.domainError,
453
+ maxError = _ref6.maxError,
454
+ pointsError = _ref6.pointsError,
455
+ correctResponseError = _ref6.correctResponseError;
456
+
457
+ var validationMessage = (0, _utils.generateValidationMessage)();
425
458
  var correctResponse = (0, _cloneDeep["default"])(model.correctResponse || []).map(toGraphFormat);
426
459
  var initialView = (0, _cloneDeep["default"])(graph.initialElements || []).map(toGraphFormat);
460
+ var toolbarOpts = {};
461
+
462
+ switch (model.toolbarEditorPosition) {
463
+ case 'top':
464
+ toolbarOpts.position = 'top';
465
+ break;
466
+
467
+ default:
468
+ toolbarOpts.position = 'bottom';
469
+ break;
470
+ }
471
+
427
472
  return /*#__PURE__*/_react["default"].createElement("div", {
428
473
  className: classes.root
429
474
  }, prompt.settings && /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
@@ -437,10 +482,33 @@ var Main = /*#__PURE__*/function (_React$Component) {
437
482
  });
438
483
  },
439
484
  nonEmpty: false,
440
- disableUnderline: true
485
+ disableUnderline: true,
486
+ toolbarOpts: toolbarOpts,
487
+ spellCheck: spellCheckEnabled
441
488
  })), /*#__PURE__*/_react["default"].createElement(_cardBar["default"], {
442
- header: "Attributes"
443
- }, "Set up the number line by entering the domain and number of tick marks to display. Labels on the number line can be edited or removed by clicking on the label."), /*#__PURE__*/_react["default"].createElement("div", {
489
+ header: "Attributes",
490
+ info: /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
491
+ classes: {
492
+ tooltip: classes.tooltip
493
+ },
494
+ disableFocusListener: true,
495
+ disableTouchListener: true,
496
+ placement: 'right',
497
+ title: validationMessage
498
+ }, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
499
+ fontSize: 'small',
500
+ color: 'primary',
501
+ style: {
502
+ marginLeft: '5px'
503
+ }
504
+ }))
505
+ }, "Set up the number line by entering the domain and number of tick marks to display. Labels on the number line can be edited or removed by clicking on the label."), widthError && /*#__PURE__*/_react["default"].createElement("div", {
506
+ className: classes.errorText
507
+ }, widthError), domainError && /*#__PURE__*/_react["default"].createElement("div", {
508
+ className: classes.errorText
509
+ }, domainError), maxError && /*#__PURE__*/_react["default"].createElement("div", {
510
+ className: classes.errorText
511
+ }, maxError), /*#__PURE__*/_react["default"].createElement("div", {
444
512
  className: classes.row
445
513
  }, /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
446
514
  label: 'Size'
@@ -473,7 +541,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
473
541
  label: 'Title'
474
542
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
475
543
  markup: graph.title || '',
476
- onChange: this.changeGraphTitle
544
+ onChange: this.changeGraphTitle,
545
+ toolbarOpts: toolbarOpts,
546
+ spellCheck: spellCheckEnabled
477
547
  })), /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
478
548
  label: 'Limits'
479
549
  }, /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
@@ -490,7 +560,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
490
560
  onClick: this.setDefaults
491
561
  }, "Reset to default values"), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("br", null), !graph.exhibitOnly && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_cardBar["default"], {
492
562
  header: "Correct Response"
493
- }, "Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line.", ' ', /*#__PURE__*/_react["default"].createElement("i", null, "Note: A maximum of 20 points, line segments or rays may be plotted.")), /*#__PURE__*/_react["default"].createElement(_numberLine.NumberLineComponent, {
563
+ }, "Select answer type and place it on the number line. Intersecting points, line segments and/or rays will appear above the number line.", ' ', /*#__PURE__*/_react["default"].createElement("i", null, "Note: A maximum of 20 points, line segments or rays may be plotted.")), pointsError && /*#__PURE__*/_react["default"].createElement("div", {
564
+ className: classes.errorText
565
+ }, pointsError), correctResponseError && /*#__PURE__*/_react["default"].createElement("div", {
566
+ className: classes.errorText
567
+ }, correctResponseError), /*#__PURE__*/_react["default"].createElement(_numberLine.NumberLineComponent, {
494
568
  onMoveElement: this.moveCorrectResponse,
495
569
  onDeleteElements: this.deleteCorrectResponse,
496
570
  onAddElement: this.addCorrectResponse,
@@ -529,7 +603,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
529
603
  return _onChange({
530
604
  feedback: feedback
531
605
  });
532
- }
606
+ },
607
+ toolbarOpts: toolbarOpts
533
608
  })));
534
609
  }
535
610
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","row","display","flexWrap","paddingRight","hide","opacity","resetDefaults","margin","pointTypeChooser","promptHolder","paddingBottom","marginBottom","paddingTop","section","padding","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","o","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","addInitialView","classes","configuration","initialView","root","settings","label","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","availableTypesChange","moveInitialView","deleteInitialView","onAddElement","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import { InputCheckbox, FeedbackConfig, FormSection } from '@pie-lib/config-ui';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport {\n NumberLineComponent,\n dataConverter,\n tickUtils\n} from '@pie-element/number-line';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport React from 'react';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\n\nconst trimModel = model => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined\n});\n\nconst {\n lineIsSwitched,\n switchGraphLine,\n toGraphFormat,\n toSessionFormat\n} = dataConverter;\n\nconst styles = theme => ({\n maxNumberOfPoints: {\n width: '150px'\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2\n }\n },\n hide: {\n opacity: 0.5\n },\n resetDefaults: {\n margin: '20px 0'\n },\n pointTypeChooser: {\n margin: '20px 0'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n section: {\n margin: 0,\n padding: 0\n }\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 return response.pointType[0];\n } else {\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 classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n const { model: { graph: { availableTypes, maxNumberOfPoints }}} = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ height });\n };\n\n graphChange = o => {\n const { onChange } = this.props;\n const graph = { ...this.props.model.graph, ...o };\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n\n const height = maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100 : (50 + (maxNumberOfPoints || 20) * 25);\n\n return height;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n const { model : { graph: { availableTypes }}} = 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 changeTicks = ticks => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(\n model.graph.domain,\n ticks,\n model.correctResponse\n );\n const initialElements = tickUtils.snapElements(\n model.graph.domain,\n ticks,\n model.graph.initialElements\n );\n\n const graph = { ...this.props.model.graph, ticks, initialElements };\n onChange({ graph, correctResponse });\n };\n\n changeArrows = arrows => this.graphChange({ arrows });\n\n setDefaults = () => {\n const { graph: { availableTypes, maxNumberOfPoints }} = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n const { onChange, model } = this.props;\n el.position = position;\n const update = toSessionFormat(\n el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el\n );\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n onChange({ correctResponse });\n };\n\n moveInitialView = (index, el, position) => {\n const { model, onChange } = this.props;\n el.position = position;\n const update = toSessionFormat(\n el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el\n );\n const initialElements = [...this.props.model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n availableTypesChange = availableTypes => {\n const { model, onChange } = this.props;\n const { correctResponse, graph: { maxNumberOfPoints }} = 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) => {\n return !indices.some(d => d === index);\n });\n onChange({ correctResponse });\n };\n\n deleteInitialView = indices => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => {\n return !indices.some(d => d === index);\n });\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n addCorrectResponse = data => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n onChange({ correctResponse });\n };\n\n addInitialView = data => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n const correctResponse = [];\n onChange({ correctResponse });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const initialElements = [];\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n onChange({ graph });\n };\n\n onAddElement = this.addInitialView;\n\n render() {\n const { classes, model, onChange, configuration } = this.props;\n\n const { graph } = model;\n const { prompt = {} } = configuration || {};\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(\n toGraphFormat\n );\n\n const initialView = cloneDeep(graph.initialElements || []).map(\n toGraphFormat\n );\n\n return (\n <div className={classes.root}>\n\n {prompt.settings && (\n <FormSection label={prompt.label}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={prompt => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n />\n </FormSection>\n )}\n\n <CardBar header=\"Attributes\">\n Set up the number line by entering the domain and number of tick marks\n to display. Labels on the number line can be edited or removed by\n clicking on the label.\n </CardBar>\n\n <div className={classes.row}>\n <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain\n domain={graph.domain}\n onChange={domain => this.graphChange({ domain })}\n />\n </FormSection>\n </div>\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks\n ticks={graph.ticks}\n onChange={this.changeTicks}\n domain={graph.domain}\n />\n </FormSection>\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n <FormSection label={'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n />\n </FormSection>\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n </FormSection>\n <Button\n variant=\"outlined\"\n mini\n color=\"primary\"\n onClick={this.setDefaults}\n >\n Reset to default values\n </Button>\n <br />\n <br />\n\n {!graph.exhibitOnly && (\n <div>\n <CardBar header=\"Correct Response\">\n Select answer type and place it on the number line. Intersecting\n points, line segments and/or rays will appear above the number\n line.{' '}\n <i>\n Note: A maximum of 20 points, line segments or rays may be\n plotted.\n </i>\n </CardBar>\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n <CardBar header=\"Available Types\" mini>\n Click on the input options to be displayed to the students. All\n inputs will display by default.\n </CardBar>\n <div className={classes.pointTypeChooser}>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n />\n </div>\n </div>\n )}\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray.\n This is optional. <br />\n This number line may also be used to make an exhibit number line,\n which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.onAddElement}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <br />\n <FeedbackConfig\n feedback={model.feedback}\n onChange={feedback => onChange({ feedback })}\n />\n </React.Fragment>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["trimModel","model","feedback","undefined","prompt","graph","title","correctResponse","lineIsSwitched","dataConverter","switchGraphLine","toGraphFormat","toSessionFormat","styles","theme","maxNumberOfPoints","width","checkbox","marginTop","spacing","unit","row","display","flexWrap","paddingRight","hide","opacity","resetDefaults","margin","pointTypeChooser","promptHolder","paddingBottom","marginBottom","paddingTop","section","padding","tooltip","fontSize","whiteSpace","maxWidth","inlineFlexContainer","errorText","color","toPointType","response","rest","pointType","direction","leftPoint","rightPoint","type","toUpperCase","Main","props","o","onChange","height","graphChange","availableTypes","onlyPFAvailable","Object","entries","forEach","value","e","getAdjustedHeight","ticks","tickUtils","snapElements","domain","initialElements","arrows","defaultModel","event","exhibitOnly","index","el","position","update","Set","map","indices","filter","v","some","d","data","push","pop","addInitialView","classes","configuration","spellCheckEnabled","errors","spellCheck","widthError","domainError","maxError","pointsError","correctResponseError","validationMessage","initialView","toolbarOpts","toolbarEditorPosition","root","settings","label","marginLeft","changeSize","changeTicks","changeArrows","changeGraphTitle","changeMaxNoOfPoints","setDefaults","moveCorrectResponse","deleteCorrectResponse","addCorrectResponse","clearCorrectResponse","undoCorrectResponse","availableTypesChange","moveInitialView","deleteInitialView","onAddElement","clearInitialView","undoInitialView","exhibitChanged","React","Component","PropTypes","object","isRequired","func","name"],"mappings":"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","sourcesContent":["import { InputCheckbox, FeedbackConfig, FormSection } from '@pie-lib/config-ui';\nimport NumberTextField from './number-text-field';\nimport CardBar from './card-bar';\nimport {\n NumberLineComponent,\n dataConverter,\n tickUtils\n} from '@pie-element/number-line';\nimport Size from './size';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport Domain from './domain';\nimport Arrows from './arrows';\nimport PointConfig from './point-config';\nimport React from 'react';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport Ticks from './ticks';\nimport { model as defaultModel } from './defaults';\nimport { generateValidationMessage } from './utils';\n\nconst trimModel = model => ({\n ...model,\n feedback: undefined,\n prompt: undefined,\n graph: { ...model.graph, title: undefined },\n correctResponse: undefined\n});\n\nconst {\n lineIsSwitched,\n switchGraphLine,\n toGraphFormat,\n toSessionFormat\n} = dataConverter;\n\nconst styles = theme => ({\n maxNumberOfPoints: {\n width: '150px'\n },\n checkbox: {\n marginTop: theme.spacing.unit * 2\n },\n row: {\n display: 'flex',\n flexWrap: 'wrap',\n '& > *': {\n paddingRight: theme.spacing.unit * 2\n }\n },\n hide: {\n opacity: 0.5\n },\n resetDefaults: {\n margin: '20px 0'\n },\n pointTypeChooser: {\n margin: '20px 0'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n section: {\n margin: 0,\n padding: 0\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre',\n maxWidth: '500px'\n },\n inlineFlexContainer: {\n display: 'inline-flex',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n }\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 return response.pointType[0];\n } else {\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 classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n };\n\n constructor(props) {\n super(props);\n const { model: { graph: { availableTypes, maxNumberOfPoints }}} = props;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n\n this.graphChange({ height });\n }\n\n graphChange = o => {\n const { onChange } = this.props;\n const graph = { ...this.props.model.graph, ...o };\n onChange({ graph });\n };\n\n changeSize = ({ width, height }) => this.graphChange({ width, height });\n\n getAdjustedHeight = (availableTypes, maxNumberOfPoints) => {\n let onlyPFAvailable = true;\n\n Object.entries(availableTypes || {}).forEach(([type, value]) => {\n if (type !== 'PF' && value) {\n onlyPFAvailable = false;\n return;\n }\n });\n\n const height = maxNumberOfPoints && (maxNumberOfPoints === 1 || onlyPFAvailable)\n ? 100 : (50 + (maxNumberOfPoints || 20) * 25);\n\n return height;\n };\n\n changeMaxNoOfPoints = (e, maxNumberOfPoints) => {\n const { model : { graph: { availableTypes }}} = 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 changeTicks = ticks => {\n const { model, onChange } = this.props;\n const correctResponse = tickUtils.snapElements(\n model.graph.domain,\n ticks,\n model.correctResponse\n );\n const initialElements = tickUtils.snapElements(\n model.graph.domain,\n ticks,\n model.graph.initialElements\n );\n\n const graph = { ...this.props.model.graph, ticks, initialElements };\n onChange({ graph, correctResponse });\n };\n\n changeArrows = arrows => this.graphChange({ arrows });\n\n setDefaults = () => {\n const { graph: { availableTypes, maxNumberOfPoints }} = defaultModel;\n const height = this.getAdjustedHeight(availableTypes, maxNumberOfPoints);\n const graph = { ...cloneDeep(defaultModel.graph), height };\n\n this.props.onChange({ graph });\n };\n\n exhibitChanged = (event, value) => {\n const graph = { ...this.props.model.graph, exhibitOnly: value };\n this.props.onChange({ graph });\n };\n\n moveCorrectResponse = (index, el, position) => {\n const { onChange, model } = this.props;\n el.position = position;\n const update = toSessionFormat(\n el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el\n );\n const correctResponse = [...model.correctResponse];\n correctResponse[index] = update;\n onChange({ correctResponse });\n };\n\n moveInitialView = (index, el, position) => {\n const { model, onChange } = this.props;\n el.position = position;\n const update = toSessionFormat(\n el.type === 'line' && lineIsSwitched(el) ? switchGraphLine(el) : el\n );\n const initialElements = [...this.props.model.graph.initialElements];\n initialElements[index] = update;\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n availableTypesChange = availableTypes => {\n const { model, onChange } = this.props;\n const { correctResponse, graph: { maxNumberOfPoints }} = 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) => {\n return !indices.some(d => d === index);\n });\n onChange({ correctResponse });\n };\n\n deleteInitialView = indices => {\n const { model, onChange } = this.props;\n const initialElements = model.graph.initialElements.filter((v, index) => {\n return !indices.some(d => d === index);\n });\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n addCorrectResponse = data => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.push(toSessionFormat(data));\n onChange({ correctResponse });\n };\n\n addInitialView = data => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.push(toSessionFormat(data));\n onChange({ graph });\n };\n\n clearCorrectResponse = () => {\n const { onChange } = this.props;\n const correctResponse = [];\n onChange({ correctResponse });\n };\n\n clearInitialView = () => {\n const { model, onChange } = this.props;\n const initialElements = [];\n const graph = { ...model.graph, initialElements };\n onChange({ graph });\n };\n\n undoCorrectResponse = () => {\n const { model, onChange } = this.props;\n const correctResponse = [...model.correctResponse];\n correctResponse.pop();\n onChange({ correctResponse });\n };\n\n undoInitialView = () => {\n const { onChange, model } = this.props;\n const graph = { ...model.graph };\n graph.initialElements = graph.initialElements || [];\n graph.initialElements.pop();\n onChange({ graph });\n };\n\n onAddElement = this.addInitialView;\n\n render() {\n const { classes, model, onChange, configuration } = this.props;\n\n const { graph, spellCheckEnabled, errors } = model || {};\n const { prompt = {}, spellCheck = {} } = configuration || {};\n const { widthError, domainError, maxError, pointsError, correctResponseError } = errors || {};\n const validationMessage = generateValidationMessage();\n\n const correctResponse = cloneDeep(model.correctResponse || []).map(\n toGraphFormat\n );\n\n const initialView = cloneDeep(graph.initialElements || []).map(\n toGraphFormat\n );\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n return (\n <div className={classes.root}>\n\n {prompt.settings && (\n <FormSection label={prompt.label}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={prompt => onChange({ prompt })}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </FormSection>\n )}\n <CardBar\n header=\"Attributes\"\n info={<Tooltip\n classes={{tooltip: classes.tooltip}}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }}/>\n </Tooltip>}\n >\n Set up the number line by entering the domain and number of tick marks\n to display. Labels on the number line can be edited or removed by\n clicking on the label.\n </CardBar>\n\n {widthError && <div className={classes.errorText}>{widthError}</div>}\n {domainError && <div className={classes.errorText}>{domainError}</div>}\n {maxError && <div className={classes.errorText}>{maxError}</div>}\n\n <div className={classes.row}>\n <FormSection label={'Size'}>\n <Size size={graph} onChange={this.changeSize} />\n </FormSection>\n\n <FormSection label={'Domain'}>\n <Domain\n domain={graph.domain}\n onChange={domain => this.graphChange({ domain })}\n />\n </FormSection>\n </div>\n <div className={classes.row}>\n <FormSection label={'Ticks'}>\n <Ticks\n ticks={graph.ticks}\n onChange={this.changeTicks}\n domain={graph.domain}\n />\n </FormSection>\n <FormSection label={'Arrows'}>\n <Arrows arrows={graph.arrows} onChange={this.changeArrows} />\n </FormSection>\n </div>\n <FormSection label={'Title'}>\n <EditableHtml\n markup={graph.title || ''}\n onChange={this.changeGraphTitle}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </FormSection>\n <FormSection label={'Limits'}>\n <NumberTextField\n className={classes.maxNumberOfPoints}\n label=\"Max No of Elements\"\n min={1}\n max={20}\n value={graph.maxNumberOfPoints}\n onChange={this.changeMaxNoOfPoints}\n />\n </FormSection>\n <Button\n variant=\"outlined\"\n mini\n color=\"primary\"\n onClick={this.setDefaults}\n >\n Reset to default values\n </Button>\n <br />\n <br />\n\n {!graph.exhibitOnly && (\n <div>\n <CardBar header=\"Correct Response\">\n Select answer type and place it on the number line. Intersecting\n points, line segments and/or rays will appear above the number\n line.{' '}\n <i>\n Note: A maximum of 20 points, line segments or rays may be\n plotted.\n </i>\n </CardBar>\n\n {pointsError && <div className={classes.errorText}>{pointsError}</div>}\n {correctResponseError && <div className={classes.errorText}>{correctResponseError}</div>}\n\n <NumberLineComponent\n onMoveElement={this.moveCorrectResponse}\n onDeleteElements={this.deleteCorrectResponse}\n onAddElement={this.addCorrectResponse}\n onClearElements={this.clearCorrectResponse}\n onUndoElement={this.undoCorrectResponse}\n answer={correctResponse}\n //strip feedback for this model\n model={trimModel(model)}\n />\n <CardBar header=\"Available Types\" mini>\n Click on the input options to be displayed to the students. All\n inputs will display by default.\n </CardBar>\n <div className={classes.pointTypeChooser}>\n <PointConfig\n onSelectionChange={this.availableTypesChange}\n selection={graph.availableTypes}\n />\n </div>\n </div>\n )}\n <CardBar header=\"Initial view/Make Exhibit\">\n Use this number line to set a starting point, line segment or ray.\n This is optional. <br />\n This number line may also be used to make an exhibit number line,\n which can not be manipulated by a student.\n </CardBar>\n <NumberLineComponent\n onMoveElement={this.moveInitialView}\n onDeleteElements={this.deleteInitialView}\n onAddElement={this.onAddElement}\n onClearElements={this.clearInitialView}\n onUndoElement={this.undoInitialView}\n answer={initialView}\n model={trimModel(model)}\n />\n <InputCheckbox\n label=\"Make exhibit\"\n className={classes.checkbox}\n checked={graph.exhibitOnly}\n onChange={this.exhibitChanged}\n value={'exhibitOnly'}\n />\n\n {!graph.exhibitOnly && (\n <React.Fragment>\n <br />\n <FeedbackConfig\n feedback={model.feedback}\n onChange={feedback => onChange({ feedback })}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(styles, { name: 'Main' })(Main);\n"],"file":"main.js"}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.MiniField = exports.NumberTextField = void 0;
8
+ exports["default"] = exports.NumberTextField = exports.MiniField = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
@@ -31,13 +31,13 @@ var _styles = require("@material-ui/core/styles");
31
31
 
32
32
  var _classnames = _interopRequireDefault(require("classnames"));
33
33
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
35
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
37
 
38
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
41
 
42
42
  var NumberTextField = /*#__PURE__*/function (_React$Component) {
43
43
  (0, _inherits2["default"])(NumberTextField, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/number-text-field.jsx"],"names":["NumberTextField","classes","props","undefined","textField","className","React","Component","PropTypes","object","isRequired","styles","theme","marginLeft","spacing","unit","miniStyles","maxWidth","MiniField"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,e;;;;;;;;;;;;WAKX,kBAAS;AAAA,UACCC,OADD,GACa,KAAKC,KADlB,CACCD,OADD;;AAEP,UAAMC,KAAK,mCAAQ,KAAKA,KAAb;AAAoBD,QAAAA,OAAO,EAAEE;AAA7B,QAAX;;AACA,0BACE,gCAAC,yBAAD,gCACMD,KADN;AAEE,QAAA,SAAS,EAAE,4BAAGD,OAAO,CAACG,SAAX,EAAsBF,KAAK,CAACG,SAA5B,CAFb;AAGE,QAAA,OAAO,EAAC;AAHV,SADF;AAOD;;;EAfkCC,kBAAMC,S;;;iCAA9BP,e,eACQ;AACjBC,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC;AADT,C;;AAiBrB,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBR,IAAAA,SAAS,EAAE;AACTS,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AADjB;AADY,GAAL;AAAA,CAApB;;AAMA,IAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAO;AACxBZ,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE;AADD;AADa,GAAP;AAAA,CAAnB;;AAKO,IAAMC,SAAS,GAAG,wBAAWF,UAAX,EAAuBhB,eAAvB,CAAlB;;;eAEQ,wBAAWW,MAAX,EAAmBX,eAAnB,C","sourcesContent":["import { NumberTextField as NTF } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired\n };\n\n render() {\n const { classes } = this.props;\n const props = { ...this.props, classes: undefined };\n return (\n <NTF\n {...props}\n className={cn(classes.textField, props.className)}\n variant=\"outlined\"\n />\n );\n }\n}\n\nconst styles = theme => ({\n textField: {\n marginLeft: theme.spacing.unit\n }\n});\n\nconst miniStyles = () => ({\n textField: {\n maxWidth: '100px'\n }\n});\nexport const MiniField = withStyles(miniStyles)(NumberTextField);\n\nexport default withStyles(styles)(NumberTextField);\n"],"file":"number-text-field.js"}
1
+ {"version":3,"sources":["../src/number-text-field.jsx"],"names":["NumberTextField","classes","props","undefined","textField","className","React","Component","PropTypes","object","isRequired","styles","theme","marginLeft","spacing","unit","miniStyles","maxWidth","MiniField"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,e;;;;;;;;;;;;WAKX,kBAAS;AACP,UAAQC,OAAR,GAAoB,KAAKC,KAAzB,CAAQD,OAAR;;AACA,UAAMC,KAAK,mCAAQ,KAAKA,KAAb;AAAoBD,QAAAA,OAAO,EAAEE;AAA7B,QAAX;;AACA,0BACE,gCAAC,yBAAD,gCACMD,KADN;AAEE,QAAA,SAAS,EAAE,4BAAGD,OAAO,CAACG,SAAX,EAAsBF,KAAK,CAACG,SAA5B,CAFb;AAGE,QAAA,OAAO,EAAC;AAHV,SADF;AAOD;;;EAfkCC,kBAAMC,S;;;iCAA9BP,e,eACQ;AACjBC,EAAAA,OAAO,EAAEO,sBAAUC,MAAV,CAAiBC;AADT,C;;AAiBrB,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBR,IAAAA,SAAS,EAAE;AACTS,MAAAA,UAAU,EAAED,KAAK,CAACE,OAAN,CAAcC;AADjB;AADY,GAAL;AAAA,CAApB;;AAMA,IAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAO;AACxBZ,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE;AADD;AADa,GAAP;AAAA,CAAnB;;AAKO,IAAMC,SAAS,GAAG,wBAAWF,UAAX,EAAuBhB,eAAvB,CAAlB;;;eAEQ,wBAAWW,MAAX,EAAmBX,eAAnB,C","sourcesContent":["import { NumberTextField as NTF } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired\n };\n\n render() {\n const { classes } = this.props;\n const props = { ...this.props, classes: undefined };\n return (\n <NTF\n {...props}\n className={cn(classes.textField, props.className)}\n variant=\"outlined\"\n />\n );\n }\n}\n\nconst styles = theme => ({\n textField: {\n marginLeft: theme.spacing.unit\n }\n});\n\nconst miniStyles = () => ({\n textField: {\n maxWidth: '100px'\n }\n});\nexport const MiniField = withStyles(miniStyles)(NumberTextField);\n\nexport default withStyles(styles)(NumberTextField);\n"],"file":"number-text-field.js"}
@@ -31,13 +31,13 @@ var _styles = require("@material-ui/core/styles");
31
31
 
32
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
33
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
35
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
37
 
38
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
41
 
42
42
  var Point = _numberLine.pointChooser.Point;
43
43
  var styles = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/point-config.jsx"],"names":["Point","pointChooser","styles","displayToggles","paddingTop","PointConfig","props","state","selection","point","update","_stateUpdate","value","display","types","reduce","acc","setState","onSelectionChange","classes","icons","map","toLowerCase","toggle","bind","active","toggleAll","React","Component","PropTypes","func","object","name"],"mappings":"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","sourcesContent":["import Button from '@material-ui/core/Button';\nimport React from 'react';\nimport { pointChooser } from '@pie-element/number-line';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nconst { Point } = pointChooser;\n\nconst styles = {\n displayToggles: {\n paddingTop: '20px'\n }\n};\n\nclass PointConfig extends React.Component {\n static propTypes = {\n onSelectionChange: PropTypes.func,\n selection: PropTypes.object,\n classes: PropTypes.object\n };\n constructor(props) {\n super(props);\n this.state = {\n selection: props.selection\n };\n }\n\n toggle(point) {\n const update = { ...this.state.selection };\n update[point] = !update[point];\n this._stateUpdate(update);\n }\n\n toggleAll(value) {\n const display = [...PointConfig.types].reduce((acc, point) => {\n acc[point] = value;\n\n return acc;\n }, {});\n\n this._stateUpdate(display);\n }\n\n _stateUpdate(selection) {\n this.setState({ selection }, () => {\n this.props.onSelectionChange(this.state.selection);\n });\n }\n\n active(point) {\n return this.state.selection[point] === true; // ? 'active' : '';\n }\n\n render() {\n const { classes } = this.props;\n\n const icons = PointConfig.types.map(point => {\n return (\n <Point\n iconKey={point.toLowerCase()}\n key={point.toLowerCase()}\n onClick={this.toggle.bind(this, point)}\n active={this.active(point)}\n />\n );\n });\n\n return (\n <div>\n <div>{icons}</div>\n <div className={classes.displayToggles}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={this.toggleAll.bind(this, true)}\n >\n Display All\n </Button>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={this.toggleAll.bind(this, false)}\n >\n None\n </Button>\n </div>\n </div>\n );\n }\n}\n\nPointConfig.types = [\n 'PF',\n 'LFF',\n 'LEF',\n 'LFE',\n 'LEE',\n 'RFN',\n 'RFP',\n 'REN',\n 'REP'\n];\n\nexport default withStyles(styles, { name: 'PointConfig' })(PointConfig);\n"],"file":"point-config.js"}
1
+ {"version":3,"sources":["../src/point-config.jsx"],"names":["Point","pointChooser","styles","displayToggles","paddingTop","PointConfig","props","state","selection","point","update","_stateUpdate","value","display","types","reduce","acc","setState","onSelectionChange","classes","icons","map","toLowerCase","toggle","bind","active","toggleAll","React","Component","PropTypes","func","object","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AACA,IAAQA,KAAR,GAAkBC,wBAAlB,CAAQD,KAAR;AAEA,IAAME,MAAM,GAAG;AACbC,EAAAA,cAAc,EAAE;AACdC,IAAAA,UAAU,EAAE;AADE;AADH,CAAf;;IAMMC,W;;;;;AAMJ,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,SAAS,EAAEF,KAAK,CAACE;AADN,KAAb;AAFiB;AAKlB;;;;WAED,gBAAOC,KAAP,EAAc;AACZ,UAAMC,MAAM,qBAAQ,KAAKH,KAAL,CAAWC,SAAnB,CAAZ;;AACAE,MAAAA,MAAM,CAACD,KAAD,CAAN,GAAgB,CAACC,MAAM,CAACD,KAAD,CAAvB;;AACA,WAAKE,YAAL,CAAkBD,MAAlB;AACD;;;WAED,mBAAUE,KAAV,EAAiB;AACf,UAAMC,OAAO,GAAG,oCAAIR,WAAW,CAACS,KAAhB,EAAuBC,MAAvB,CAA8B,UAACC,GAAD,EAAMP,KAAN,EAAgB;AAC5DO,QAAAA,GAAG,CAACP,KAAD,CAAH,GAAaG,KAAb;AAEA,eAAOI,GAAP;AACD,OAJe,EAIb,EAJa,CAAhB;;AAMA,WAAKL,YAAL,CAAkBE,OAAlB;AACD;;;WAED,sBAAaL,SAAb,EAAwB;AAAA;;AACtB,WAAKS,QAAL,CAAc;AAAET,QAAAA,SAAS,EAATA;AAAF,OAAd,EAA6B,YAAM;AACjC,QAAA,MAAI,CAACF,KAAL,CAAWY,iBAAX,CAA6B,MAAI,CAACX,KAAL,CAAWC,SAAxC;AACD,OAFD;AAGD;;;WAED,gBAAOC,KAAP,EAAc;AACZ,aAAO,KAAKF,KAAL,CAAWC,SAAX,CAAqBC,KAArB,MAAgC,IAAvC,CADY,CACiC;AAC9C;;;WAED,kBAAS;AAAA;;AACP,UAAQU,OAAR,GAAoB,KAAKb,KAAzB,CAAQa,OAAR;AAEA,UAAMC,KAAK,GAAGf,WAAW,CAACS,KAAZ,CAAkBO,GAAlB,CAAsB,UAAAZ,KAAK,EAAI;AAC3C,4BACE,gCAAC,KAAD;AACE,UAAA,OAAO,EAAEA,KAAK,CAACa,WAAN,EADX;AAEE,UAAA,GAAG,EAAEb,KAAK,CAACa,WAAN,EAFP;AAGE,UAAA,OAAO,EAAE,MAAI,CAACC,MAAL,CAAYC,IAAZ,CAAiB,MAAjB,EAAuBf,KAAvB,CAHX;AAIE,UAAA,MAAM,EAAE,MAAI,CAACgB,MAAL,CAAYhB,KAAZ;AAJV,UADF;AAQD,OATa,CAAd;AAWA,0BACE,0DACE,6CAAMW,KAAN,CADF,eAEE;AAAK,QAAA,SAAS,EAAED,OAAO,CAAChB;AAAxB,sBACE,gCAAC,kBAAD;AACE,QAAA,OAAO,EAAC,UADV;AAEE,QAAA,IAAI,EAAC,OAFP;AAGE,QAAA,OAAO,EAAE,KAAKuB,SAAL,CAAeF,IAAf,CAAoB,IAApB,EAA0B,IAA1B;AAHX,uBADF,eAQE,gCAAC,kBAAD;AACE,QAAA,OAAO,EAAC,UADV;AAEE,QAAA,IAAI,EAAC,OAFP;AAGE,QAAA,OAAO,EAAE,KAAKE,SAAL,CAAeF,IAAf,CAAoB,IAApB,EAA0B,KAA1B;AAHX,gBARF,CAFF,CADF;AAqBD;;;EA1EuBG,kBAAMC,S;;iCAA1BvB,W,eACe;AACjBa,EAAAA,iBAAiB,EAAEW,sBAAUC,IADZ;AAEjBtB,EAAAA,SAAS,EAAEqB,sBAAUE,MAFJ;AAGjBZ,EAAAA,OAAO,EAAEU,sBAAUE;AAHF,C;AA4ErB1B,WAAW,CAACS,KAAZ,GAAoB,CAClB,IADkB,EAElB,KAFkB,EAGlB,KAHkB,EAIlB,KAJkB,EAKlB,KALkB,EAMlB,KANkB,EAOlB,KAPkB,EAQlB,KARkB,EASlB,KATkB,CAApB;;eAYe,wBAAWZ,MAAX,EAAmB;AAAE8B,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA4C3B,WAA5C,C","sourcesContent":["import Button from '@material-ui/core/Button';\nimport React from 'react';\nimport { pointChooser } from '@pie-element/number-line';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nconst { Point } = pointChooser;\n\nconst styles = {\n displayToggles: {\n paddingTop: '20px'\n }\n};\n\nclass PointConfig extends React.Component {\n static propTypes = {\n onSelectionChange: PropTypes.func,\n selection: PropTypes.object,\n classes: PropTypes.object\n };\n constructor(props) {\n super(props);\n this.state = {\n selection: props.selection\n };\n }\n\n toggle(point) {\n const update = { ...this.state.selection };\n update[point] = !update[point];\n this._stateUpdate(update);\n }\n\n toggleAll(value) {\n const display = [...PointConfig.types].reduce((acc, point) => {\n acc[point] = value;\n\n return acc;\n }, {});\n\n this._stateUpdate(display);\n }\n\n _stateUpdate(selection) {\n this.setState({ selection }, () => {\n this.props.onSelectionChange(this.state.selection);\n });\n }\n\n active(point) {\n return this.state.selection[point] === true; // ? 'active' : '';\n }\n\n render() {\n const { classes } = this.props;\n\n const icons = PointConfig.types.map(point => {\n return (\n <Point\n iconKey={point.toLowerCase()}\n key={point.toLowerCase()}\n onClick={this.toggle.bind(this, point)}\n active={this.active(point)}\n />\n );\n });\n\n return (\n <div>\n <div>{icons}</div>\n <div className={classes.displayToggles}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={this.toggleAll.bind(this, true)}\n >\n Display All\n </Button>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={this.toggleAll.bind(this, false)}\n >\n None\n </Button>\n </div>\n </div>\n );\n }\n}\n\nPointConfig.types = [\n 'PF',\n 'LFF',\n 'LEF',\n 'LFE',\n 'LEE',\n 'RFN',\n 'RFP',\n 'REN',\n 'REP'\n];\n\nexport default withStyles(styles, { name: 'PointConfig' })(PointConfig);\n"],"file":"point-config.js"}
@@ -17,9 +17,9 @@ var _styles = require("@material-ui/core/styles");
17
17
 
18
18
  var _numberTextField = require("./number-text-field");
19
19
 
20
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
21
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
23
 
24
24
  var Size = function Size(props) {
25
25
  var size = props.size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","size","onChange","changeWidth","e","width","propTypes","PropTypes","shape","number","height","func","isRequired","styles"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;AAAA,MACZC,IADY,GACOD,KADP,CACZC,IADY;AAAA,MACNC,QADM,GACOF,KADP,CACNE,QADM;;AAGpB,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIC,KAAJ;AAAA,WAAcH,QAAQ,iCAAMF,KAAK,CAACC,IAAZ;AAAkBI,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AAEA,sBAAO,gCAAC,0BAAD;AAAW,IAAA,KAAK,EAAC,OAAjB;AAAyB,IAAA,KAAK,EAAEJ,IAAI,CAACI,KAArC;AAA4C,IAAA,QAAQ,EAAEF;AAAtD,IAAP;AACD,CAND;;AAQAJ,IAAI,CAACO,SAAL,GAAiB;AACfL,EAAAA,IAAI,EAAEM,sBAAUC,KAAV,CAAgB;AACpBH,IAAAA,KAAK,EAAEE,sBAAUE,MADG;AAEpBC,IAAAA,MAAM,EAAEH,sBAAUE;AAFE,GAAhB,CADS;AAKfP,EAAAA,QAAQ,EAAEK,sBAAUI,IAAV,CAAeC;AALV,CAAjB;;AAQA,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO;AADa,GAAP;AAAA,CAAf;;eAGe,wBAAWA,MAAX,EAAmBd,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MiniField } from './number-text-field';\n\nconst Size = props => {\n const { size, onChange } = props;\n\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n\n return <MiniField label=\"Width\" value={size.width} onChange={changeWidth} />;\n};\n\nSize.propTypes = {\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n onChange: PropTypes.func.isRequired\n};\n\nconst styles = () => ({\n class: {}\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
1
+ {"version":3,"sources":["../src/size.jsx"],"names":["Size","props","size","onChange","changeWidth","e","width","propTypes","PropTypes","shape","number","height","func","isRequired","styles"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;AACpB,MAAQC,IAAR,GAA2BD,KAA3B,CAAQC,IAAR;AAAA,MAAcC,QAAd,GAA2BF,KAA3B,CAAcE,QAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIC,KAAJ;AAAA,WAAcH,QAAQ,iCAAMF,KAAK,CAACC,IAAZ;AAAkBI,MAAAA,KAAK,EAALA;AAAlB,OAAtB;AAAA,GAApB;;AAEA,sBAAO,gCAAC,0BAAD;AAAW,IAAA,KAAK,EAAC,OAAjB;AAAyB,IAAA,KAAK,EAAEJ,IAAI,CAACI,KAArC;AAA4C,IAAA,QAAQ,EAAEF;AAAtD,IAAP;AACD,CAND;;AAQAJ,IAAI,CAACO,SAAL,GAAiB;AACfL,EAAAA,IAAI,EAAEM,sBAAUC,KAAV,CAAgB;AACpBH,IAAAA,KAAK,EAAEE,sBAAUE,MADG;AAEpBC,IAAAA,MAAM,EAAEH,sBAAUE;AAFE,GAAhB,CADS;AAKfP,EAAAA,QAAQ,EAAEK,sBAAUI,IAAV,CAAeC;AALV,CAAjB;;AAQA,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpB,aAAO;AADa,GAAP;AAAA,CAAf;;eAGe,wBAAWA,MAAX,EAAmBd,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MiniField } from './number-text-field';\n\nconst Size = props => {\n const { size, onChange } = props;\n\n const changeWidth = (e, width) => onChange({ ...props.size, width });\n\n return <MiniField label=\"Width\" value={size.width} onChange={changeWidth} />;\n};\n\nSize.propTypes = {\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number\n }),\n onChange: PropTypes.func.isRequired\n};\n\nconst styles = () => ({\n class: {}\n});\nexport default withStyles(styles)(Size);\n"],"file":"size.js"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -23,9 +23,13 @@ var _numberLine = require("@pie-element/number-line");
23
23
 
24
24
  var math = _interopRequireWildcard(require("mathjs"));
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
31
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
33
 
30
34
  var Ticks = function Ticks(props) {
31
35
  var classes = props.classes,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ticks.jsx"],"names":["Ticks","props","classes","ticks","onChange","domain","changeMinor","e","minor","changeMajor","major","t","tickUtils","normalizeTicks","minorLimits","math","number","min","max","nl","propTypes","PropTypes","object","isRequired","func","shape","styles"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AACO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAAAC,KAAK,EAAI;AAAA,MACpBC,OADoB,GACiBD,KADjB,CACpBC,OADoB;AAAA,MACXC,KADW,GACiBF,KADjB,CACXE,KADW;AAAA,MACJC,QADI,GACiBH,KADjB,CACJG,QADI;AAAA,MACMC,MADN,GACiBJ,KADjB,CACMI,MADN;;AAG5B,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIC,KAAJ;AAAA,WAAcJ,QAAQ,iCAAMH,KAAK,CAACE,KAAZ;AAAmBK,MAAAA,KAAK,EAALA;AAAnB,OAAtB;AAAA,GAApB;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACF,CAAD,EAAIG,KAAJ;AAAA,WAAcN,QAAQ,iCAAMH,KAAK,CAACE,KAAZ;AAAmBO,MAAAA,KAAK,EAALA;AAAnB,OAAtB;AAAA,GAApB;;AAEA,MAAMC,CAAC,GAAGC,sBAAUC,cAAV,CAAyBR,MAAzB,EAAiCF,KAAjC,CAAV;;AAEA,MAAMW,WAAW,GAAGF,sBAAUE,WAAV,CAAsBT,MAAtB,CAApB;;AACA,sBACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,0BAAD;AACE,IAAA,KAAK,EAAC,WADR;AAEE,IAAA,KAAK,EAAEU,IAAI,CAACC,MAAL,CAAYL,CAAC,CAACH,KAAd,CAFT;AAGE,IAAA,GAAG,EAAEO,IAAI,CAACC,MAAL,CAAYF,WAAW,CAACG,GAAxB,CAHP;AAIE,IAAA,GAAG,EAAEF,IAAI,CAACC,MAAL,CAAYF,WAAW,CAACI,GAAxB,CAJP;AAKE,IAAA,SAAS,EAAEhB,OAAO,CAACiB,EALrB;AAME,IAAA,QAAQ,EAAEb;AANZ,IADF,eASE,gCAAC,0BAAD;AACE,IAAA,KAAK,EAAC,QADR;AAEE,IAAA,KAAK,EAAES,IAAI,CAACC,MAAL,CAAYL,CAAC,CAACD,KAAd,CAFT;AAGE,IAAA,SAAS,EAAER,OAAO,CAACiB,EAHrB;AAIE,IAAA,QAAQ,EAAEV;AAJZ,IATF,CADF;AAkBD,CA3BM;;;AA4BPT,KAAK,CAACoB,SAAN,GAAkB;AAChBlB,EAAAA,OAAO,EAAEmB,sBAAUC,MAAV,CAAiBC,UADV;AAEhBnB,EAAAA,QAAQ,EAAEiB,sBAAUG,IAFJ;AAGhBrB,EAAAA,KAAK,EAAEkB,sBAAUI,KAAV,CAAgB;AACrBf,IAAAA,KAAK,EAAEW,sBAAUL,MADI;AAErBR,IAAAA,KAAK,EAAEa,sBAAUL;AAFI,GAAhB,CAHS;AAOhBX,EAAAA,MAAM,EAAEgB,sBAAUI,KAAV,CAAgB;AAAER,IAAAA,GAAG,EAAEI,sBAAUL,MAAjB;AAAyBE,IAAAA,GAAG,EAAEG,sBAAUL;AAAxC,GAAhB;AAPQ,CAAlB;;AAUA,IAAMU,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO,EAAP;AAAA,CAAf;;eACe,wBAAWA,MAAX,EAAmB1B,KAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MiniField } from './number-text-field';\nimport { tickUtils } from '@pie-element/number-line';\nimport * as math from 'mathjs';\nexport const Ticks = props => {\n const { classes, ticks, onChange, domain } = props;\n\n const changeMinor = (e, minor) => onChange({ ...props.ticks, minor });\n const changeMajor = (e, major) => onChange({ ...props.ticks, major });\n\n const t = tickUtils.normalizeTicks(domain, ticks);\n\n const minorLimits = tickUtils.minorLimits(domain);\n return (\n <React.Fragment>\n <MiniField\n label=\"Frequency\"\n value={math.number(t.minor)}\n min={math.number(minorLimits.min)}\n max={math.number(minorLimits.max)}\n className={classes.nl}\n onChange={changeMinor}\n />\n <MiniField\n label=\"Labels\"\n value={math.number(t.major)}\n className={classes.nl}\n onChange={changeMajor}\n />\n </React.Fragment>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticks: PropTypes.shape({\n major: PropTypes.number,\n minor: PropTypes.number\n }),\n domain: PropTypes.shape({ min: PropTypes.number, max: PropTypes.number })\n};\n\nconst styles = () => ({});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
1
+ {"version":3,"sources":["../src/ticks.jsx"],"names":["Ticks","props","classes","ticks","onChange","domain","changeMinor","e","minor","changeMajor","major","t","tickUtils","normalizeTicks","minorLimits","math","number","min","max","nl","propTypes","PropTypes","object","isRequired","func","shape","styles"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AACO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAAAC,KAAK,EAAI;AAC5B,MAAQC,OAAR,GAA6CD,KAA7C,CAAQC,OAAR;AAAA,MAAiBC,KAAjB,GAA6CF,KAA7C,CAAiBE,KAAjB;AAAA,MAAwBC,QAAxB,GAA6CH,KAA7C,CAAwBG,QAAxB;AAAA,MAAkCC,MAAlC,GAA6CJ,KAA7C,CAAkCI,MAAlC;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAIC,KAAJ;AAAA,WAAcJ,QAAQ,iCAAMH,KAAK,CAACE,KAAZ;AAAmBK,MAAAA,KAAK,EAALA;AAAnB,OAAtB;AAAA,GAApB;;AACA,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACF,CAAD,EAAIG,KAAJ;AAAA,WAAcN,QAAQ,iCAAMH,KAAK,CAACE,KAAZ;AAAmBO,MAAAA,KAAK,EAALA;AAAnB,OAAtB;AAAA,GAApB;;AAEA,MAAMC,CAAC,GAAGC,sBAAUC,cAAV,CAAyBR,MAAzB,EAAiCF,KAAjC,CAAV;;AAEA,MAAMW,WAAW,GAAGF,sBAAUE,WAAV,CAAsBT,MAAtB,CAApB;;AACA,sBACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,0BAAD;AACE,IAAA,KAAK,EAAC,WADR;AAEE,IAAA,KAAK,EAAEU,IAAI,CAACC,MAAL,CAAYL,CAAC,CAACH,KAAd,CAFT;AAGE,IAAA,GAAG,EAAEO,IAAI,CAACC,MAAL,CAAYF,WAAW,CAACG,GAAxB,CAHP;AAIE,IAAA,GAAG,EAAEF,IAAI,CAACC,MAAL,CAAYF,WAAW,CAACI,GAAxB,CAJP;AAKE,IAAA,SAAS,EAAEhB,OAAO,CAACiB,EALrB;AAME,IAAA,QAAQ,EAAEb;AANZ,IADF,eASE,gCAAC,0BAAD;AACE,IAAA,KAAK,EAAC,QADR;AAEE,IAAA,KAAK,EAAES,IAAI,CAACC,MAAL,CAAYL,CAAC,CAACD,KAAd,CAFT;AAGE,IAAA,SAAS,EAAER,OAAO,CAACiB,EAHrB;AAIE,IAAA,QAAQ,EAAEV;AAJZ,IATF,CADF;AAkBD,CA3BM;;;AA4BPT,KAAK,CAACoB,SAAN,GAAkB;AAChBlB,EAAAA,OAAO,EAAEmB,sBAAUC,MAAV,CAAiBC,UADV;AAEhBnB,EAAAA,QAAQ,EAAEiB,sBAAUG,IAFJ;AAGhBrB,EAAAA,KAAK,EAAEkB,sBAAUI,KAAV,CAAgB;AACrBf,IAAAA,KAAK,EAAEW,sBAAUL,MADI;AAErBR,IAAAA,KAAK,EAAEa,sBAAUL;AAFI,GAAhB,CAHS;AAOhBX,EAAAA,MAAM,EAAEgB,sBAAUI,KAAV,CAAgB;AAAER,IAAAA,GAAG,EAAEI,sBAAUL,MAAjB;AAAyBE,IAAAA,GAAG,EAAEG,sBAAUL;AAAxC,GAAhB;AAPQ,CAAlB;;AAUA,IAAMU,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO,EAAP;AAAA,CAAf;;eACe,wBAAWA,MAAX,EAAmB1B,KAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { MiniField } from './number-text-field';\nimport { tickUtils } from '@pie-element/number-line';\nimport * as math from 'mathjs';\nexport const Ticks = props => {\n const { classes, ticks, onChange, domain } = props;\n\n const changeMinor = (e, minor) => onChange({ ...props.ticks, minor });\n const changeMajor = (e, major) => onChange({ ...props.ticks, major });\n\n const t = tickUtils.normalizeTicks(domain, ticks);\n\n const minorLimits = tickUtils.minorLimits(domain);\n return (\n <React.Fragment>\n <MiniField\n label=\"Frequency\"\n value={math.number(t.minor)}\n min={math.number(minorLimits.min)}\n max={math.number(minorLimits.max)}\n className={classes.nl}\n onChange={changeMinor}\n />\n <MiniField\n label=\"Labels\"\n value={math.number(t.major)}\n className={classes.nl}\n onChange={changeMajor}\n />\n </React.Fragment>\n );\n};\nTicks.propTypes = {\n classes: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n ticks: PropTypes.shape({\n major: PropTypes.number,\n minor: PropTypes.number\n }),\n domain: PropTypes.shape({ min: PropTypes.number, max: PropTypes.number })\n};\n\nconst styles = () => ({});\nexport default withStyles(styles)(Ticks);\n"],"file":"ticks.js"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateValidationMessage = void 0;
7
+
8
+ var generateValidationMessage = function generateValidationMessage() {
9
+ var baselineValidationMessage = '\nWidth should be a value between 200 and 800.' + '\nMin and max must both be in the range [-100000, 10000].' + '\nMax must be greater than min.' + '\nMax number of elements should be between 1 and 20.' + '\nThe correct answer should include at least one number line object.';
10
+ return 'Validation requirements:' + baselineValidationMessage;
11
+ };
12
+
13
+ exports.generateValidationMessage = generateValidationMessage;
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["generateValidationMessage","baselineValidationMessage"],"mappings":";;;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;AAC7C,MAAMC,yBAAyB,GAAG,mDAChC,2DADgC,GAEhC,iCAFgC,GAGhC,sDAHgC,GAIhC,sEAJF;AAMA,SAAO,6BAA6BA,yBAApC;AACD,CARM","sourcesContent":["export const generateValidationMessage = () => {\n const baselineValidationMessage = '\\nWidth should be a value between 200 and 800.' +\n '\\nMin and max must both be in the range [-100000, 10000].' +\n '\\nMax must be greater than min.' +\n '\\nMax number of elements should be between 1 and 20.' +\n '\\nThe correct answer should include at least one number line object.';\n\n return 'Validation requirements:' + baselineValidationMessage;\n};\n"],"file":"utils.js"}
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/number-line-configure",
3
3
  "private": true,
4
- "version": "4.8.2",
4
+ "version": "4.9.6",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@pie-framework/pie-configure-events": "^1.2.0",
10
- "@pie-lib/config-ui": "^10.9.2",
11
- "@pie-lib/editable-html": "^7.16.19",
10
+ "@pie-lib/config-ui": "^10.13.3",
11
+ "@pie-lib/editable-html": "^7.22.6",
12
12
  "react": "^16.8.1",
13
13
  "react-dom": "^16.8.1"
14
14
  }
@@ -3,6 +3,38 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.3.24](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@4.3.23...@pie-element/number-line-controller@4.3.24) (2022-02-04)
7
+
8
+ **Note:** Version bump only for package @pie-element/number-line-controller
9
+
10
+
11
+
12
+
13
+
14
+ ## [4.3.23](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@4.3.22...@pie-element/number-line-controller@4.3.23) (2022-01-10)
15
+
16
+ **Note:** Version bump only for package @pie-element/number-line-controller
17
+
18
+
19
+
20
+
21
+
22
+ ## [4.3.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@4.3.17...@pie-element/number-line-controller@4.3.19) (2021-11-11)
23
+
24
+ **Note:** Version bump only for package @pie-element/number-line-controller
25
+
26
+
27
+
28
+
29
+
30
+ ## [4.3.18](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@4.3.17...@pie-element/number-line-controller@4.3.18) (2021-11-11)
31
+
32
+ **Note:** Version bump only for package @pie-element/number-line-controller
33
+
34
+
35
+
36
+
37
+
6
38
  ## [4.3.17](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-controller@4.3.15...@pie-element/number-line-controller@4.3.17) (2021-08-05)
7
39
 
8
40
 
@@ -13,9 +13,6 @@ var _default = {
13
13
  domainPosition: -1
14
14
  }],
15
15
  maxNumberOfPoints: 20,
16
- tickFrequency: 6,
17
- showMinorTicks: true,
18
- snapPerTick: 1,
19
16
  tickLabelOverrides: [],
20
17
  initialType: 'PF',
21
18
  availableTypes: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["graph","domain","initialElements","type","pointType","domainPosition","maxNumberOfPoints","tickFrequency","showMinorTicks","snapPerTick","tickLabelOverrides","initialType","availableTypes","PF","PE","LFF","LEF","LFE","LEE","RFN","RFP","REN","REP","feedback","correct","incorrect","partial"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAF,EAAK,CAAL,CADH;AAELC,IAAAA,eAAe,EAAE,CACf;AACEC,MAAAA,IAAI,EAAE,OADR;AAEEC,MAAAA,SAAS,EAAE,OAFb;AAGEC,MAAAA,cAAc,EAAE,CAAC;AAHnB,KADe,CAFZ;AASLC,IAAAA,iBAAiB,EAAE,EATd;AAULC,IAAAA,aAAa,EAAE,CAVV;AAWLC,IAAAA,cAAc,EAAE,IAXX;AAYLC,IAAAA,WAAW,EAAE,CAZR;AAaLC,IAAAA,kBAAkB,EAAE,EAbf;AAcLC,IAAAA,WAAW,EAAE,IAdR;AAeLC,IAAAA,cAAc,EAAE;AACdC,MAAAA,EAAE,EAAE,IADU;AAEdC,MAAAA,EAAE,EAAE,IAFU;AAGdC,MAAAA,GAAG,EAAE,IAHS;AAIdC,MAAAA,GAAG,EAAE,IAJS;AAKdC,MAAAA,GAAG,EAAE,IALS;AAMdC,MAAAA,GAAG,EAAE,IANS;AAOdC,MAAAA,GAAG,EAAE,IAPS;AAQdC,MAAAA,GAAG,EAAE,IARS;AASdC,MAAAA,GAAG,EAAE,IATS;AAUdC,MAAAA,GAAG,EAAE;AAVS;AAfX,GADM;AA6BbC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,OAAO,EAAE;AACP,iBAAS,SADF;AAEPrB,MAAAA,IAAI,EAAE;AAFC,KADD;AAKRsB,IAAAA,SAAS,EAAE;AACT,iBAAS,WADA;AAETtB,MAAAA,IAAI,EAAE;AAFG,KALH;AASRuB,IAAAA,OAAO,EAAE;AACP,iBAAS,QADF;AAEPvB,MAAAA,IAAI,EAAE;AAFC;AATD;AA7BG,C","sourcesContent":["export default {\n graph: {\n domain: [-5, 5],\n initialElements: [\n {\n type: 'point',\n pointType: 'empty',\n domainPosition: -1\n }\n ],\n maxNumberOfPoints: 20,\n tickFrequency: 6,\n showMinorTicks: true,\n snapPerTick: 1,\n tickLabelOverrides: [],\n initialType: 'PF',\n availableTypes: {\n PF: true,\n PE: true,\n LFF: true,\n LEF: true,\n LFE: true,\n LEE: true,\n RFN: true,\n RFP: true,\n REN: true,\n REP: true\n }\n },\n feedback: {\n correct: {\n default: 'Correct',\n type: 'none'\n },\n incorrect: {\n default: 'Incorrect',\n type: 'none'\n },\n partial: {\n default: 'Nearly',\n type: 'none'\n }\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["graph","domain","initialElements","type","pointType","domainPosition","maxNumberOfPoints","tickLabelOverrides","initialType","availableTypes","PF","PE","LFF","LEF","LFE","LEE","RFN","RFP","REN","REP","feedback","correct","incorrect","partial"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAF,EAAK,CAAL,CADH;AAELC,IAAAA,eAAe,EAAE,CACf;AACEC,MAAAA,IAAI,EAAE,OADR;AAEEC,MAAAA,SAAS,EAAE,OAFb;AAGEC,MAAAA,cAAc,EAAE,CAAC;AAHnB,KADe,CAFZ;AASLC,IAAAA,iBAAiB,EAAE,EATd;AAULC,IAAAA,kBAAkB,EAAE,EAVf;AAWLC,IAAAA,WAAW,EAAE,IAXR;AAYLC,IAAAA,cAAc,EAAE;AACdC,MAAAA,EAAE,EAAE,IADU;AAEdC,MAAAA,EAAE,EAAE,IAFU;AAGdC,MAAAA,GAAG,EAAE,IAHS;AAIdC,MAAAA,GAAG,EAAE,IAJS;AAKdC,MAAAA,GAAG,EAAE,IALS;AAMdC,MAAAA,GAAG,EAAE,IANS;AAOdC,MAAAA,GAAG,EAAE,IAPS;AAQdC,MAAAA,GAAG,EAAE,IARS;AASdC,MAAAA,GAAG,EAAE,IATS;AAUdC,MAAAA,GAAG,EAAE;AAVS;AAZX,GADM;AA0BbC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,OAAO,EAAE;AACP,iBAAS,SADF;AAEPlB,MAAAA,IAAI,EAAE;AAFC,KADD;AAKRmB,IAAAA,SAAS,EAAE;AACT,iBAAS,WADA;AAETnB,MAAAA,IAAI,EAAE;AAFG,KALH;AASRoB,IAAAA,OAAO,EAAE;AACP,iBAAS,QADF;AAEPpB,MAAAA,IAAI,EAAE;AAFC;AATD;AA1BG,C","sourcesContent":["export default {\n graph: {\n domain: [-5, 5],\n initialElements: [\n {\n type: 'point',\n pointType: 'empty',\n domainPosition: -1\n }\n ],\n maxNumberOfPoints: 20,\n tickLabelOverrides: [],\n initialType: 'PF',\n availableTypes: {\n PF: true,\n PE: true,\n LFF: true,\n LEF: true,\n LFE: true,\n LEE: true,\n RFN: true,\n RFP: true,\n REN: true,\n REP: true\n }\n },\n feedback: {\n correct: {\n default: 'Correct',\n type: 'none'\n },\n incorrect: {\n default: 'Incorrect',\n type: 'none'\n },\n partial: {\n default: 'Nearly',\n type: 'none'\n }\n }\n};\n"],"file":"defaults.js"}