@pie-element/charting 10.1.0 → 10.2.0-mui-update.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","lowerCase","string","toLowerCase","checkLabelsEquality","givenAnswerLabel","correctAnswerLabel","setCorrectness","answers","partialScoring","map","answer","correctness","value","label","normalize","question","defaults","getScore","session","env","correctAnswer","data","initialData","scoringType","correctResponses","isPartialScoring","enabled","undefined","correctAnswers","defaultAnswers","filterCategories","result","maxScore","score","scoreForLabelAndValueEditable","corrAnswer","index","valueIsCorrect","labelIsCorrect","push","forEach","defaultAnswer","editable","interactive","length","parseFloat","toFixed","extraProps","correctResponseEnabled","categories","deletable","rest","model","Promise","resolve","normalizedQuestion","addCategoryEnabled","chartType","domain","graph","prompt","promptEnabled","range","rationale","title","rationaleEnabled","teacherInstructions","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","language","extraCSSRules","correctInfo","base","size","showToggle","disabled","mode","scoreObject","correctedAnswer","showKeyLegend","role","outcome","empty","correctResponse","createCorrectResponseSession","id","getInnerText","html","replaceAll","getContent","replace","validate","config","correctData","errors","correctAnswerErrors","categoryErrors","field","required","category","identicalAnswer","some","c","i","categoriesError","identicalError"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport defaults from './defaults';\n\nimport { partialScoring } from '@pie-lib/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst lowerCase = (string) => (string || '').toLowerCase();\n\nexport const checkLabelsEquality = (givenAnswerLabel, correctAnswerLabel) =>\n lowerCase(givenAnswerLabel) === lowerCase(correctAnswerLabel);\n\nexport const setCorrectness = (answers, partialScoring) =>\n answers\n ? answers.map((answer) => ({\n ...answer,\n correctness: {\n value: partialScoring ? 'incorrect' : 'correct',\n label: partialScoring ? 'incorrect' : 'correct',\n },\n }))\n : [];\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nexport const getScore = (question, session, env = {}) => {\n const { correctAnswer, data: initialData = [], scoringType } = question;\n let correctResponses = [];\n\n const isPartialScoring = partialScoring.enabled(\n { partialScoring: scoringType !== undefined ? scoringType === 'partial scoring' : scoringType },\n env,\n );\n\n const { data: correctAnswers = [] } = correctAnswer || {};\n const defaultAnswers = filterCategories(initialData);\n\n let answers = setCorrectness((session && session.answer) || defaultAnswers, isPartialScoring);\n\n let result = 0;\n\n if (isPartialScoring) {\n // if score type is \"partial scoring\"\n // maxScore is calculated based on the correct response\n // score is calculated based on the given response\n let maxScore = 0;\n let score = 0;\n\n const scoreForLabelAndValueEditable = (answer, corrAnswer) => {\n const { value, label, index } = answer;\n const valueIsCorrect = value === corrAnswer.value;\n const labelIsCorrect = checkLabelsEquality(label, corrAnswer.label);\n maxScore += 2;\n\n if (valueIsCorrect) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n\n if (labelIsCorrect) {\n score += 1;\n answer.correctness.label = 'correct';\n }\n\n if (valueIsCorrect && labelIsCorrect) {\n correctResponses.push({ label: label, index: index });\n }\n };\n\n // if given answer has more categories than the correct answers, the \"extra\" will be ignored\n correctAnswers.forEach((corrAnswer, index) => {\n const defaultAnswer = defaultAnswers[index];\n const answer = answers[index];\n\n // if there is a corresponding category at the same position in the given answer\n if (answer) {\n // if there is a corresponding category at the same position in the default answer\n if (defaultAnswer) {\n // if category's label (in default answer) was not editable\n // it means that this category values only one point (only the value can be changed)\n if (!defaultAnswer.editable && answer.interactive) {\n maxScore += 1;\n\n if (answer.value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n correctResponses.push({ label: answer.label, index: index });\n }\n answer.correctness.label = 'correct';\n\n // if category's label (in default answer) was editable\n // it means that this category values 2 points (both label and value can be changed)\n } else if (defaultAnswer.editable && answer.interactive) {\n scoreForLabelAndValueEditable(answer, corrAnswer);\n } else if (!answer.interactive) {\n answer.correctness.value = 'correct';\n answer.correctness.label = 'correct';\n correctResponses.push({ label: answer.label, index: index });\n }\n } else {\n // if there is not a corresponding category at the same position in the default answer\n scoreForLabelAndValueEditable(answer, corrAnswer);\n }\n } else {\n // if there is not a corresponding category at the same position in the given answer\n // it means that the given answer has less categories than the correct answer\n maxScore += 2;\n }\n });\n\n result = maxScore ? score / maxScore : 0;\n } else {\n // all-or-nothing scoring: overall score is 1 only if lengths and all values/labels match\n result = correctAnswers.length === answers.length ? 1 : 0;\n\n // regardless of overall result, mark each answer individually for user feedback\n answers = answers.map((answer, index) => {\n const correctAnswer = correctAnswers[index];\n const valueIsCorrect = correctAnswer ? answer.value === correctAnswer.value : false;\n const labelIsCorrect = correctAnswer ? lowerCase(answer.label) === lowerCase(correctAnswer.label) : false;\n\n if (!valueIsCorrect || !labelIsCorrect) {\n result = 0;\n }\n\n if (valueIsCorrect && labelIsCorrect) {\n correctResponses.push({ label: answer.label, index });\n }\n\n return {\n ...answer,\n correctness: {\n value: valueIsCorrect ? 'correct' : 'incorrect',\n label: labelIsCorrect ? 'correct' : 'incorrect',\n },\n };\n });\n }\n\n const score = {\n score: parseFloat(result.toFixed(2)),\n answers,\n };\n\n if (env.extraProps && env.extraProps.correctResponseEnabled) {\n score.correctResponses = correctResponses;\n }\n\n return score;\n};\n\n// eslint-disable-next-line no-unused-vars\nexport const filterCategories = (categories) => (categories ? categories.map(({ deletable, ...rest }) => rest) : []);\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n const {\n addCategoryEnabled,\n chartType,\n data,\n domain,\n graph,\n prompt,\n promptEnabled,\n range,\n rationale,\n title,\n rationaleEnabled,\n teacherInstructions,\n teacherInstructionsEnabled,\n correctAnswer,\n scoringType,\n studentNewCategoryDefaultLabel,\n language,\n extraCSSRules,\n } = normalizedQuestion;\n\n const correctInfo = { correctness: 'incorrect', score: '0%' };\n\n const base = {\n addCategoryEnabled,\n chartType,\n data: filterCategories(data),\n domain,\n graph,\n prompt: promptEnabled ? prompt : null,\n range,\n rationale,\n title,\n size: graph,\n showToggle: false,\n correctness: correctInfo,\n disabled: env.mode !== 'gather',\n scoringType,\n studentNewCategoryDefaultLabel,\n language,\n env,\n extraCSSRules,\n };\n\n const scoreObject = getScore(normalizedQuestion, session, env);\n const answers = filterCategories(scoreObject.answers);\n\n if (env.mode === 'view') {\n // eslint-disable-next-line no-unused-vars\n base.correctedAnswer = answers.map(({ correctness, ...rest }) => {\n return { ...rest, interactive: false };\n });\n\n base.addCategoryEnabled = false;\n }\n\n if (env.mode === 'evaluate') {\n base.correctedAnswer = answers;\n base.correctAnswer = correctAnswer;\n base.showToggle = !!correctAnswer?.data?.length && scoreObject.score !== 1;\n base.addCategoryEnabled = false;\n base.showKeyLegend = true;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n } else {\n base.rationale = null;\n base.teacherInstructions = null;\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(model, session, env) {\n return new Promise((resolve) => {\n const scoreObject = getScore(model, session, env);\n const result = {\n score: scoreObject.score,\n empty: !session || isEmpty(session),\n };\n if (env.extraProps && env.extraProps.correctResponseEnabled) {\n result.extraProps = { correctResponse: scoreObject.correctResponses };\n }\n resolve(result);\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { correctAnswer } = question;\n\n let answers = correctAnswer && correctAnswer.data;\n\n // for IBX preview mode\n if (env.mode === 'gather') {\n const { data } = question;\n\n answers = ((correctAnswer && correctAnswer.data) || []).map((answer, index) => {\n return {\n ...data[index],\n ...answer,\n };\n });\n }\n\n resolve({\n answer: answers,\n id: '1',\n });\n } else {\n return resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { correctAnswer, data } = model || {};\n const { data: correctData } = correctAnswer || {};\n const categories = correctData || [];\n\n const errors = {};\n const correctAnswerErrors = {};\n const categoryErrors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n categories.forEach((category, index) => {\n const { label } = category;\n\n if (!getInnerText(label)) {\n categoryErrors[index] = 'Content should not be empty. ';\n } else {\n const identicalAnswer = categories.some((c, i) => c.label === label && index !== i);\n\n if (identicalAnswer) {\n categoryErrors[index] = 'Category names should be unique. ';\n }\n }\n });\n\n if (categories.length < 1 || categories.length > 20) {\n correctAnswerErrors.categoriesError = 'The correct answer should include between 1 and 20 categories.';\n } else if (\n isEqual(\n data.map((category) => pick(category, 'value', 'label')),\n correctData.map((category) => pick(category, 'value', 'label')),\n )\n ) {\n correctAnswerErrors.identicalError = 'Correct answer should not be identical to the chart’s initial state';\n }\n\n if (!isEmpty(categoryErrors)) {\n errors.categoryErrors = categoryErrors;\n }\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_debug","_interopRequireDefault","require","_isEqual","_isEmpty","_pick","_defaults","_controllerUtils","log","debug","lowerCase","string","toLowerCase","checkLabelsEquality","givenAnswerLabel","correctAnswerLabel","exports","setCorrectness","answers","partialScoring","map","answer","correctness","value","label","normalize","question","defaults","getScore","session","env","correctAnswer","data","initialData","scoringType","correctResponses","isPartialScoring","enabled","undefined","correctAnswers","defaultAnswers","filterCategories","result","maxScore","score","scoreForLabelAndValueEditable","corrAnswer","index","valueIsCorrect","labelIsCorrect","push","forEach","defaultAnswer","editable","interactive","length","parseFloat","toFixed","extraProps","correctResponseEnabled","categories","deletable","rest","model","Promise","resolve","normalizedQuestion","addCategoryEnabled","chartType","domain","graph","prompt","promptEnabled","range","rationale","title","rationaleEnabled","teacherInstructions","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","language","extraCSSRules","correctInfo","base","size","showToggle","disabled","mode","scoreObject","correctedAnswer","showKeyLegend","role","outcome","empty","isEmpty","correctResponse","createCorrectResponseSession","id","getInnerText","html","replaceAll","getContent","replace","validate","config","correctData","errors","correctAnswerErrors","categoryErrors","field","required","category","identicalAnswer","some","c","i","categoriesError","isEqual","pick","identicalError"],"sources":["../src/index.js"],"sourcesContent":["import debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\nimport defaults from './defaults';\n\nimport { partialScoring } from '@pie-lib/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst lowerCase = (string) => (string || '').toLowerCase();\n\nexport const checkLabelsEquality = (givenAnswerLabel, correctAnswerLabel) =>\n lowerCase(givenAnswerLabel) === lowerCase(correctAnswerLabel);\n\nexport const setCorrectness = (answers, partialScoring) =>\n answers\n ? answers.map((answer) => ({\n ...answer,\n correctness: {\n value: partialScoring ? 'incorrect' : 'correct',\n label: partialScoring ? 'incorrect' : 'correct',\n },\n }))\n : [];\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nexport const getScore = (question, session, env = {}) => {\n const { correctAnswer, data: initialData = [], scoringType } = question;\n let correctResponses = [];\n\n const isPartialScoring = partialScoring.enabled(\n { partialScoring: scoringType !== undefined ? scoringType === 'partial scoring' : scoringType },\n env,\n );\n\n const { data: correctAnswers = [] } = correctAnswer || {};\n const defaultAnswers = filterCategories(initialData);\n\n let answers = setCorrectness((session && session.answer) || defaultAnswers, isPartialScoring);\n\n let result = 0;\n\n if (isPartialScoring) {\n // if score type is \"partial scoring\"\n // maxScore is calculated based on the correct response\n // score is calculated based on the given response\n let maxScore = 0;\n let score = 0;\n\n const scoreForLabelAndValueEditable = (answer, corrAnswer) => {\n const { value, label, index } = answer;\n const valueIsCorrect = value === corrAnswer.value;\n const labelIsCorrect = checkLabelsEquality(label, corrAnswer.label);\n maxScore += 2;\n\n if (valueIsCorrect) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n\n if (labelIsCorrect) {\n score += 1;\n answer.correctness.label = 'correct';\n }\n\n if (valueIsCorrect && labelIsCorrect) {\n correctResponses.push({ label: label, index: index });\n }\n };\n\n // if given answer has more categories than the correct answers, the \"extra\" will be ignored\n correctAnswers.forEach((corrAnswer, index) => {\n const defaultAnswer = defaultAnswers[index];\n const answer = answers[index];\n\n // if there is a corresponding category at the same position in the given answer\n if (answer) {\n // if there is a corresponding category at the same position in the default answer\n if (defaultAnswer) {\n // if category's label (in default answer) was not editable\n // it means that this category values only one point (only the value can be changed)\n if (!defaultAnswer.editable && answer.interactive) {\n maxScore += 1;\n\n if (answer.value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n correctResponses.push({ label: answer.label, index: index });\n }\n answer.correctness.label = 'correct';\n\n // if category's label (in default answer) was editable\n // it means that this category values 2 points (both label and value can be changed)\n } else if (defaultAnswer.editable && answer.interactive) {\n scoreForLabelAndValueEditable(answer, corrAnswer);\n } else if (!answer.interactive) {\n answer.correctness.value = 'correct';\n answer.correctness.label = 'correct';\n correctResponses.push({ label: answer.label, index: index });\n }\n } else {\n // if there is not a corresponding category at the same position in the default answer\n scoreForLabelAndValueEditable(answer, corrAnswer);\n }\n } else {\n // if there is not a corresponding category at the same position in the given answer\n // it means that the given answer has less categories than the correct answer\n maxScore += 2;\n }\n });\n\n result = maxScore ? score / maxScore : 0;\n } else {\n // all-or-nothing scoring: overall score is 1 only if lengths and all values/labels match\n result = correctAnswers.length === answers.length ? 1 : 0;\n\n // regardless of overall result, mark each answer individually for user feedback\n answers = answers.map((answer, index) => {\n const correctAnswer = correctAnswers[index];\n const valueIsCorrect = correctAnswer ? answer.value === correctAnswer.value : false;\n const labelIsCorrect = correctAnswer ? lowerCase(answer.label) === lowerCase(correctAnswer.label) : false;\n\n if (!valueIsCorrect || !labelIsCorrect) {\n result = 0;\n }\n\n if (valueIsCorrect && labelIsCorrect) {\n correctResponses.push({ label: answer.label, index });\n }\n\n return {\n ...answer,\n correctness: {\n value: valueIsCorrect ? 'correct' : 'incorrect',\n label: labelIsCorrect ? 'correct' : 'incorrect',\n },\n };\n });\n }\n\n const score = {\n score: parseFloat(result.toFixed(2)),\n answers,\n };\n\n if (env.extraProps && env.extraProps.correctResponseEnabled) {\n score.correctResponses = correctResponses;\n }\n\n return score;\n};\n\n// eslint-disable-next-line no-unused-vars\nexport const filterCategories = (categories) => (categories ? categories.map(({ deletable, ...rest }) => rest) : []);\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n const {\n addCategoryEnabled,\n chartType,\n data,\n domain,\n graph,\n prompt,\n promptEnabled,\n range,\n rationale,\n title,\n rationaleEnabled,\n teacherInstructions,\n teacherInstructionsEnabled,\n correctAnswer,\n scoringType,\n studentNewCategoryDefaultLabel,\n language,\n extraCSSRules,\n } = normalizedQuestion;\n\n const correctInfo = { correctness: 'incorrect', score: '0%' };\n\n const base = {\n addCategoryEnabled,\n chartType,\n data: filterCategories(data),\n domain,\n graph,\n prompt: promptEnabled ? prompt : null,\n range,\n rationale,\n title,\n size: graph,\n showToggle: false,\n correctness: correctInfo,\n disabled: env.mode !== 'gather',\n scoringType,\n studentNewCategoryDefaultLabel,\n language,\n env,\n extraCSSRules,\n };\n\n const scoreObject = getScore(normalizedQuestion, session, env);\n const answers = filterCategories(scoreObject.answers);\n\n if (env.mode === 'view') {\n // eslint-disable-next-line no-unused-vars\n base.correctedAnswer = answers.map(({ correctness, ...rest }) => {\n return { ...rest, interactive: false };\n });\n\n base.addCategoryEnabled = false;\n }\n\n if (env.mode === 'evaluate') {\n base.correctedAnswer = answers;\n base.correctAnswer = correctAnswer;\n base.showToggle = !!correctAnswer?.data?.length && scoreObject.score !== 1;\n base.addCategoryEnabled = false;\n base.showKeyLegend = true;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n } else {\n base.rationale = null;\n base.teacherInstructions = null;\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(model, session, env) {\n return new Promise((resolve) => {\n const scoreObject = getScore(model, session, env);\n const result = {\n score: scoreObject.score,\n empty: !session || isEmpty(session),\n };\n if (env.extraProps && env.extraProps.correctResponseEnabled) {\n result.extraProps = { correctResponse: scoreObject.correctResponses };\n }\n resolve(result);\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { correctAnswer } = question;\n\n let answers = correctAnswer && correctAnswer.data;\n\n // for IBX preview mode\n if (env.mode === 'gather') {\n const { data } = question;\n\n answers = ((correctAnswer && correctAnswer.data) || []).map((answer, index) => {\n return {\n ...data[index],\n ...answer,\n };\n });\n }\n\n resolve({\n answer: answers,\n id: '1',\n });\n } else {\n return resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { correctAnswer, data } = model || {};\n const { data: correctData } = correctAnswer || {};\n const categories = correctData || [];\n\n const errors = {};\n const correctAnswerErrors = {};\n const categoryErrors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n categories.forEach((category, index) => {\n const { label } = category;\n\n if (!getInnerText(label)) {\n categoryErrors[index] = 'Content should not be empty. ';\n } else {\n const identicalAnswer = categories.some((c, i) => c.label === label && index !== i);\n\n if (identicalAnswer) {\n categoryErrors[index] = 'Category names should be unique. ';\n }\n }\n });\n\n if (categories.length < 1 || categories.length > 20) {\n correctAnswerErrors.categoriesError = 'The correct answer should include between 1 and 20 categories.';\n } else if (\n isEqual(\n data.map((category) => pick(category, 'value', 'label')),\n correctData.map((category) => pick(category, 'value', 'label')),\n )\n ) {\n correctAnswerErrors.identicalError = 'Correct answer should not be identical to the chart’s initial state';\n }\n\n if (!isEmpty(categoryErrors)) {\n errors.categoryErrors = categoryErrors;\n }\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/charting-controller",
3
3
  "private": true,
4
- "version": "6.1.0",
4
+ "version": "6.2.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,7 +9,7 @@
9
9
  "test": "./node_modules/.bin/jest"
10
10
  },
11
11
  "dependencies": {
12
- "@pie-lib/controller-utils": "^0.18.0",
12
+ "@pie-lib/controller-utils": "0.34.0-mui-update.0",
13
13
  "debug": "^4.1.1",
14
14
  "lodash": "^4.17.15"
15
15
  },
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "-1062895000",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/charting",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var React = _interopRequireWildcard(require("react"));
4
+ var _main = require("../main");
5
+ var _build = require("enzyme/build");
6
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
7
+ jest.mock('lodash/uniq', () => {
8
+ return () => [];
9
+ });
10
+ describe('Main', () => {
11
+ const onAnswersChange = jest.fn();
12
+ const defaultProps = {
13
+ model: {
14
+ backgroundMarks: [],
15
+ correctMarks: []
16
+ },
17
+ onAnswersChange,
18
+ session: {}
19
+ };
20
+ describe('render', () => {
21
+ let w;
22
+ beforeEach(() => {
23
+ w = props => (0, _build.shallow)(/*#__PURE__*/React.createElement(_main.Main, props));
24
+ });
25
+ it('snapshot', () => {
26
+ expect(w(defaultProps)).toMatchSnapshot();
27
+ });
28
+ });
29
+ describe('logic', () => {
30
+ let w;
31
+ beforeEach(() => {
32
+ w = props => (0, _build.shallow)(/*#__PURE__*/React.createElement(_main.Main, props));
33
+ });
34
+ it('calls onAnswersChange', () => {
35
+ w(defaultProps).instance().changeData([]);
36
+ expect(onAnswersChange).toHaveBeenCalledWith([]);
37
+ });
38
+ });
39
+ });
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9tYWluIiwiX2J1aWxkIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiZGVmYXVsdCIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiamVzdCIsIm1vY2siLCJkZXNjcmliZSIsIm9uQW5zd2Vyc0NoYW5nZSIsImZuIiwiZGVmYXVsdFByb3BzIiwibW9kZWwiLCJiYWNrZ3JvdW5kTWFya3MiLCJjb3JyZWN0TWFya3MiLCJzZXNzaW9uIiwidyIsImJlZm9yZUVhY2giLCJwcm9wcyIsInNoYWxsb3ciLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwiaW5zdGFuY2UiLCJjaGFuZ2VEYXRhIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL21haW4udGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYWluIH0gZnJvbSAnLi4vbWFpbic7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lL2J1aWxkJztcblxuamVzdC5tb2NrKCdsb2Rhc2gvdW5pcScsICgpID0+IHtcbiAgcmV0dXJuICgpID0+IFtdO1xufSk7XG5cbmRlc2NyaWJlKCdNYWluJywgKCkgPT4ge1xuICBjb25zdCBvbkFuc3dlcnNDaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBtb2RlbDoge1xuICAgICAgYmFja2dyb3VuZE1hcmtzOiBbXSxcbiAgICAgIGNvcnJlY3RNYXJrczogW10sXG4gICAgfSxcbiAgICBvbkFuc3dlcnNDaGFuZ2UsXG4gICAgc2Vzc2lvbjoge30sXG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcicsICgpID0+IHtcbiAgICBsZXQgdztcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgdyA9IChwcm9wcykgPT4gc2hhbGxvdyg8TWFpbiB7Li4ucHJvcHN9IC8+KTtcbiAgICB9KTtcblxuICAgIGl0KCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3KGRlZmF1bHRQcm9wcykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgbGV0IHc7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIHcgPSAocHJvcHMpID0+IHNoYWxsb3coPE1haW4gey4uLnByb3BzfSAvPik7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25BbnN3ZXJzQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgdyhkZWZhdWx0UHJvcHMpLmluc3RhbmNlKCkuY2hhbmdlRGF0YShbXSk7XG4gICAgICBleHBlY3Qob25BbnN3ZXJzQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChbXSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQXVDLFNBQUFELHdCQUFBSSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBTix1QkFBQSxZQUFBQSxDQUFBSSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFB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
package/lib/index.js CHANGED
@@ -1,121 +1,74 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  Object.defineProperty(exports, "Component", {
9
8
  enumerable: true,
10
- get: function get() {
11
- return _main["default"];
9
+ get: function () {
10
+ return _main.default;
12
11
  }
13
12
  });
14
- exports["default"] = void 0;
15
-
16
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
21
-
22
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
29
-
13
+ exports.default = void 0;
30
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
31
-
32
15
  var _react = _interopRequireDefault(require("react"));
33
-
34
- var _reactDom = _interopRequireDefault(require("react-dom"));
35
-
16
+ var _client = require("react-dom/client");
36
17
  var _main = _interopRequireDefault(require("./main"));
37
-
38
18
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
39
-
40
19
  var _mathRendering = require("@pie-lib/math-rendering");
41
-
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var Graphing = /*#__PURE__*/function (_HTMLElement) {
47
- (0, _inherits2["default"])(Graphing, _HTMLElement);
48
-
49
- var _super = _createSuper(Graphing);
50
-
51
- function Graphing() {
52
- var _this;
53
-
54
- (0, _classCallCheck2["default"])(this, Graphing);
55
- _this = _super.call(this);
56
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isComplete", function (answer) {
57
- return Array.isArray(answer) && answer.length > 0;
58
- });
59
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeAnswers", function (answer) {
60
- _this._session.answer = answer;
61
-
62
- _this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(_this.tagName.toLowerCase(), _this.isComplete(_this._session.answer)));
63
-
64
- _this._render();
20
+ class Graphing extends HTMLElement {
21
+ constructor() {
22
+ super();
23
+ (0, _defineProperty2.default)(this, "isComplete", answer => Array.isArray(answer) && answer.length > 0);
24
+ (0, _defineProperty2.default)(this, "changeAnswers", answer => {
25
+ this._session.answer = answer;
26
+ this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));
27
+ this._render();
65
28
  });
66
- return _this;
29
+ this._root = null;
67
30
  }
68
-
69
- (0, _createClass2["default"])(Graphing, [{
70
- key: "model",
71
- set: function set(m) {
72
- this._model = m;
73
-
74
- if (this._session && this.isComplete(this._session.answer)) {
75
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), true, !!this._model));
76
- } else {
77
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));
78
- }
79
-
80
- this._render();
31
+ set model(m) {
32
+ this._model = m;
33
+ if (this._session && this.isComplete(this._session.answer)) {
34
+ this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), true, !!this._model));
35
+ } else {
36
+ this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));
81
37
  }
82
- }, {
83
- key: "session",
84
- get: function get() {
85
- return this._session;
86
- },
87
- set: function set(s) {
88
- this._session = s;
89
-
90
- this._render();
38
+ this._render();
39
+ }
40
+ set session(s) {
41
+ this._session = s;
42
+ this._render();
43
+ }
44
+ get session() {
45
+ return this._session;
46
+ }
47
+ connectedCallback() {
48
+ this._render();
49
+ }
50
+ _render() {
51
+ if (!this._model || !this._session) {
52
+ return;
91
53
  }
92
- }, {
93
- key: "connectedCallback",
94
- value: function connectedCallback() {
95
- this._render();
54
+ const el = /*#__PURE__*/_react.default.createElement(_main.default, {
55
+ model: this._model,
56
+ categories: this._session.answer,
57
+ onAnswersChange: this.changeAnswers
58
+ });
59
+ if (!this._root) {
60
+ this._root = (0, _client.createRoot)(this);
96
61
  }
97
- }, {
98
- key: "_render",
99
- value: function _render() {
100
- var _this2 = this;
101
-
102
- if (!this._model || !this._session) {
103
- return;
104
- }
105
-
106
- var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
107
- model: this._model,
108
- categories: this._session.answer,
109
- onAnswersChange: this.changeAnswers
110
- });
111
-
112
- _reactDom["default"].render(el, this, function () {
113
- (0, _mathRendering.renderMath)(_this2);
114
- });
62
+ this._root.render(el);
63
+ queueMicrotask(() => {
64
+ (0, _mathRendering.renderMath)(this);
65
+ });
66
+ }
67
+ disconnectedCallback() {
68
+ if (this._root) {
69
+ this._root.unmount();
115
70
  }
116
- }]);
117
- return Graphing;
118
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
119
-
120
- exports["default"] = Graphing;
121
- //# sourceMappingURL=index.js.map
71
+ }
72
+ }
73
+ exports.default = Graphing;
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfbWFpbiIsIl9waWVQbGF5ZXJFdmVudHMiLCJfbWF0aFJlbmRlcmluZyIsIkdyYXBoaW5nIiwiSFRNTEVsZW1lbnQiLCJjb25zdHJ1Y3RvciIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiYW5zd2VyIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiX3Nlc3Npb24iLCJkaXNwYXRjaEV2ZW50IiwiU2Vzc2lvbkNoYW5nZWRFdmVudCIsInRhZ05hbWUiLCJ0b0xvd2VyQ2FzZSIsImlzQ29tcGxldGUiLCJfcmVuZGVyIiwiX3Jvb3QiLCJtb2RlbCIsIm0iLCJfbW9kZWwiLCJNb2RlbFNldEV2ZW50Iiwic2Vzc2lvbiIsInMiLCJjb25uZWN0ZWRDYWxsYmFjayIsImVsIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiTWFpbiIsImNhdGVnb3JpZXMiLCJvbkFuc3dlcnNDaGFuZ2UiLCJjaGFuZ2VBbnN3ZXJzIiwiY3JlYXRlUm9vdCIsInJlbmRlciIsInF1ZXVlTWljcm90YXNrIiwicmVuZGVyTWF0aCIsImRpc2Nvbm5lY3RlZENhbGxiYWNrIiwidW5tb3VudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCBNYWluIGZyb20gJy4vbWFpbic7XG5pbXBvcnQgeyBTZXNzaW9uQ2hhbmdlZEV2ZW50LCBNb2RlbFNldEV2ZW50IH0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLXBsYXllci1ldmVudHMnO1xuaW1wb3J0IHsgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuZXhwb3J0IHsgTWFpbiBhcyBDb21wb25lbnQgfTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR3JhcGhpbmcgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fcm9vdCA9IG51bGw7XG4gIH1cblxuICBzZXQgbW9kZWwobSkge1xuICAgIHRoaXMuX21vZGVsID0gbTtcblxuICAgIGlmICh0aGlzLl9zZXNzaW9uICYmIHRoaXMuaXNDb21wbGV0ZSh0aGlzLl9zZXNzaW9uLmFuc3dlcikpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgTW9kZWxTZXRFdmVudCh0aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSwgdHJ1ZSwgISF0aGlzLl9tb2RlbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IE1vZGVsU2V0RXZlbnQodGhpcy50YWdOYW1lLnRvTG93ZXJDYXNlKCksIGZhbHNlLCAhIXRoaXMuX21vZGVsKSk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBzZXQgc2Vzc2lvbihzKSB7XG4gICAgdGhpcy5fc2Vzc2lvbiA9IHM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBnZXQgc2Vzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbjtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgaXNDb21wbGV0ZSA9IChhbnN3ZXIpID0+IEFycmF5LmlzQXJyYXkoYW5zd2VyKSAmJiBhbnN3ZXIubGVuZ3RoID4gMDtcblxuICBjaGFuZ2VBbnN3ZXJzID0gKGFuc3dlcikgPT4ge1xuICAgIHRoaXMuX3Nlc3Npb24uYW5zd2VyID0gYW5zd2VyO1xuXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTZXNzaW9uQ2hhbmdlZEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCB0aGlzLmlzQ29tcGxldGUodGhpcy5fc2Vzc2lvbi5hbnN3ZXIpKSk7XG5cbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfTtcblxuICBfcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5fbW9kZWwgfHwgIXRoaXMuX3Nlc3Npb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFpbiwge1xuICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgY2F0ZWdvcmllczogdGhpcy5fc2Vzc2lvbi5hbnN3ZXIsXG4gICAgICBvbkFuc3dlcnNDaGFuZ2U6IHRoaXMuY2hhbmdlQW5zd2VycyxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5fcm9vdCkge1xuICAgICAgdGhpcy5fcm9vdCA9IGNyZWF0ZVJvb3QodGhpcyk7XG4gICAgfVxuICAgIHRoaXMuX3Jvb3QucmVuZGVyKGVsKTtcbiAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICByZW5kZXJNYXRoKHRoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgaWYgKHRoaXMuX3Jvb3QpIHtcbiAgICAgIHRoaXMuX3Jvb3QudW5tb3VudCgpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFJZSxNQUFNSyxRQUFRLFNBQVNDLFdBQVcsQ0FBQztFQUNoREMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osS0FBSyxDQUFDLENBQUM7SUFBQyxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLHNCQTZCSUMsTUFBTSxJQUFLQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsTUFBTSxDQUFD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
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","m","_model","ModelSetEvent","s","el","React","createElement","Main","model","categories","onAnswersChange","changeAnswers","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAIqBA,Q;;;;;AACnB,sBAAc;AAAA;;AAAA;AACZ;AADY,mGA6BD,UAACC,MAAD;AAAA,aAAYC,KAAK,CAACC,OAAN,CAAcF,MAAd,KAAyBA,MAAM,CAACG,MAAP,GAAgB,CAArD;AAAA,KA7BC;AAAA,sGA+BE,UAACH,MAAD,EAAY;AAC1B,YAAKI,QAAL,CAAcJ,MAAd,GAAuBA,MAAvB;;AAEA,YAAKK,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,MAAKC,UAAL,CAAgB,MAAKL,QAAL,CAAcJ,MAA9B,CAApD,CAAnB;;AAEA,YAAKU,OAAL;AACD,KArCa;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AAEA,UAAI,KAAKP,QAAL,IAAiB,KAAKK,UAAL,CAAgB,KAAKL,QAAL,CAAcJ,MAA9B,CAArB,EAA4D;AAC1D,aAAKK,aAAL,CAAmB,IAAIQ,8BAAJ,CAAkB,KAAKN,OAAL,CAAaC,WAAb,EAAlB,EAA8C,IAA9C,EAAoD,CAAC,CAAC,KAAKI,MAA3D,CAAnB;AACD,OAFD,MAEO;AACL,aAAKP,aAAL,CAAmB,IAAIQ,8BAAJ,CAAkB,KAAKN,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAA9C,EAAqD,CAAC,CAAC,KAAKI,MAA5D,CAAnB;AACD;;AAED,WAAKF,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKN,QAAZ;AACD,K;SAPD,aAAYU,CAAZ,EAAe;AACb,WAAKV,QAAL,GAAgBU,CAAhB;;AACA,WAAKJ,OAAL;AACD;;;WAMD,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAYD,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKE,MAAN,IAAgB,CAAC,KAAKR,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMW,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAKP,MADuB;AAEnCQ,QAAAA,UAAU,EAAE,KAAKhB,QAAL,CAAcJ,MAFS;AAGnCqB,QAAAA,eAAe,EAAE,KAAKC;AAHa,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDAtDmCU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n\n if (this._session && this.isComplete(this._session.answer)) {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), true, !!this._model));\n } else {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));\n }\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n changeAnswers = (answer) => {\n this._session.answer = answer;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n\n this._render();\n };\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n categories: this._session.answer,\n onAnswersChange: this.changeAnswers,\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_main","_piePlayerEvents","_mathRendering","Graphing","HTMLElement","constructor","_defineProperty2","default","answer","Array","isArray","length","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","_root","model","m","_model","ModelSetEvent","session","s","connectedCallback","el","React","createElement","Main","categories","onAnswersChange","changeAnswers","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Main from './main';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n if (this._session && this.isComplete(this._session.answer)) {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), true, !!this._model));\n } else {\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));\n }\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n changeAnswers = (answer) => {\n this._session.answer = answer;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n\n this._render();\n };\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n categories: this._session.answer,\n onAnswersChange: this.changeAnswers,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAIe,MAAMK,QAAQ,SAASC,WAAW,CAAC;EAChDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA,sBA6BIC,MAAM,IAAKC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,IAAIA,MAAM,CAACG,MAAM,GAAG,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,yBAElDC,MAAM,IAAK;MAC1B,IAAI,CAACI,QAAQ,CAACJ,MAAM,GAAGA,MAAM;MAE7B,IAAI,CAACK,aAAa,CAAC,IAAIC,oCAAmB,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,CAACC,UAAU,CAAC,IAAI,CAACL,QAAQ,CAACJ,MAAM,CAAC,CAAC,CAAC;MAE9G,IAAI,CAACU,OAAO,CAAC,CAAC;IAChB,CAAC;IApCC,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IAEf,IAAI,IAAI,CAACT,QAAQ,IAAI,IAAI,CAACK,UAAU,CAAC,IAAI,CAACL,QAAQ,CAACJ,MAAM,CAAC,EAAE;MAC1D,IAAI,CAACK,aAAa,CAAC,IAAIU,8BAAa,CAAC,IAAI,CAACR,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAACM,MAAM,CAAC,CAAC;IACxF,CAAC,MAAM;MACL,IAAI,CAACT,aAAa,CAAC,IAAIU,8BAAa,CAAC,IAAI,CAACR,OAAO,CAACC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAACM,MAAM,CAAC,CAAC;IACzF;IAEA,IAAI,CAACJ,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIM,OAAOA,CAACC,CAAC,EAAE;IACb,IAAI,CAACb,QAAQ,GAAGa,CAAC;IACjB,IAAI,CAACP,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIM,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACZ,QAAQ;EACtB;EAEAc,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACR,OAAO,CAAC,CAAC;EAChB;EAYAA,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAACI,MAAM,IAAI,CAAC,IAAI,CAACV,QAAQ,EAAE;MAClC;IACF;IAEA,MAAMe,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;MACnCV,KAAK,EAAE,IAAI,CAACE,MAAM;MAClBS,UAAU,EAAE,IAAI,CAACnB,QAAQ,CAACJ,MAAM;MAChCwB,eAAe,EAAE,IAAI,CAACC;IACxB,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAACd,KAAK,EAAE;MACf,IAAI,CAACA,KAAK,GAAG,IAAAe,kBAAU,EAAC,IAAI,CAAC;IAC/B;IACA,IAAI,CAACf,KAAK,CAACgB,MAAM,CAACR,EAAE,CAAC;IACrBS,cAAc,CAAC,MAAM;MACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;IAClB,CAAC,CAAC;EACJ;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACnB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACoB,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAACC,OAAA,CAAAjC,OAAA,GAAAJ,QAAA","ignoreList":[]}