@pie-element/graphing 10.2.2-beta.5 → 10.2.2-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js DELETED
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "Component", {
8
- enumerable: true,
9
- get: function () {
10
- return _main.default;
11
- }
12
- });
13
- exports.default = void 0;
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _client = require("react-dom/client");
17
- var _piePlayerEvents = require("@pie-framework/pie-player-events");
18
- var _mathRendering = require("@pie-lib/math-rendering");
19
- var _main = _interopRequireDefault(require("./main"));
20
- class Graphing extends HTMLElement {
21
- constructor() {
22
- super();
23
- // The title and axis labels are injected synchronously via dangerouslySetInnerHTML,
24
- // but createRoot().render() commits asynchronously, so a queueMicrotask(renderMath)
25
- // would run before the LaTeX spans are in the DOM and leave raw LaTeX on first render.
26
- // Observing the DOM and typesetting after each commit keeps math in sync regardless of timing.
27
- (0, _defineProperty2.default)(this, "_scheduleMathRender", () => {
28
- if (this._mathRenderPending) return;
29
- this._mathRenderPending = true;
30
- requestAnimationFrame(() => {
31
- if (this._mathObserver) {
32
- this._mathObserver.disconnect();
33
- }
34
- (0, _mathRendering.renderMath)(this);
35
- this._mathRenderPending = false;
36
- setTimeout(() => {
37
- if (this._mathObserver) {
38
- this._mathObserver.observe(this, {
39
- childList: true,
40
- subtree: true
41
- });
42
- }
43
- }, 50);
44
- });
45
- });
46
- (0, _defineProperty2.default)(this, "isComplete", answer => Array.isArray(answer) && answer.length > 0);
47
- (0, _defineProperty2.default)(this, "changeAnswers", answer => {
48
- this._session.answer = answer;
49
- this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));
50
- this._render();
51
- });
52
- this._root = null;
53
- this._mathObserver = null;
54
- this._mathRenderPending = false;
55
- }
56
- _initMathObserver() {
57
- if (this._mathObserver) return;
58
- this._mathObserver = new MutationObserver(this._scheduleMathRender);
59
- this._mathObserver.observe(this, {
60
- childList: true,
61
- subtree: true
62
- });
63
- }
64
- _disconnectMathObserver() {
65
- if (this._mathObserver) {
66
- this._mathObserver.disconnect();
67
- this._mathObserver = null;
68
- }
69
- }
70
- set model(m) {
71
- this._model = m;
72
- this._render();
73
- }
74
- set session(s) {
75
- this._session = s;
76
- this._render();
77
- }
78
- get session() {
79
- return this._session;
80
- }
81
- connectedCallback() {
82
- this._initMathObserver();
83
- this._render();
84
- }
85
- _render() {
86
- if (!this._model || !this._session) {
87
- return;
88
- }
89
- this._initMathObserver();
90
- const el = /*#__PURE__*/_react.default.createElement(_main.default, {
91
- model: this._model,
92
- session: this._session,
93
- onAnswersChange: this.changeAnswers
94
- });
95
- if (!this._root) {
96
- this._root = (0, _client.createRoot)(this);
97
- }
98
- this._root.render(el);
99
- }
100
- disconnectedCallback() {
101
- this._disconnectMathObserver();
102
- if (this._root) {
103
- this._root.unmount();
104
- this._root = null;
105
- }
106
- }
107
- }
108
- exports.default = Graphing;
109
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_main","Graphing","HTMLElement","constructor","_defineProperty2","default","_mathRenderPending","requestAnimationFrame","_mathObserver","disconnect","renderMath","setTimeout","observe","childList","subtree","answer","Array","isArray","length","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","_root","_initMathObserver","MutationObserver","_scheduleMathRender","_disconnectMathObserver","model","m","_model","session","s","connectedCallback","el","React","createElement","Main","onAnswersChange","changeAnswers","createRoot","render","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport Main from './main';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n this._mathObserver = null;\n this._mathRenderPending = false;\n }\n\n // The title and axis labels are injected synchronously via dangerouslySetInnerHTML,\n // but createRoot().render() commits asynchronously, so a queueMicrotask(renderMath)\n // would run before the LaTeX spans are in the DOM and leave raw LaTeX on first render.\n // Observing the DOM and typesetting after each commit keeps math in sync regardless of timing.\n _scheduleMathRender = () => {\n if (this._mathRenderPending) return;\n this._mathRenderPending = true;\n\n requestAnimationFrame(() => {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n }\n renderMath(this);\n this._mathRenderPending = false;\n setTimeout(() => {\n if (this._mathObserver) {\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n }, 50);\n });\n };\n\n _initMathObserver() {\n if (this._mathObserver) return;\n this._mathObserver = new MutationObserver(this._scheduleMathRender);\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n\n _disconnectMathObserver() {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n this._mathObserver = null;\n }\n }\n\n set model(m) {\n this._model = m;\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._initMathObserver();\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 this._initMathObserver();\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n\n disconnectedCallback() {\n this._disconnectMathObserver();\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/main.js DELETED
@@ -1,161 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.Main = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _graphing = require("@pie-lib/graphing");
13
- var _renderUi = require("@pie-lib/render-ui");
14
- var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
15
- const MainContainer = (0, _styles.styled)(_renderUi.UiLayout)({
16
- color: _renderUi.color.text(),
17
- backgroundColor: _renderUi.color.background()
18
- });
19
- const TeacherInstructions = (0, _styles.styled)(_renderUi.Collapsible)(({
20
- theme
21
- }) => ({
22
- marginBottom: theme.spacing(2)
23
- }));
24
- const Graph = (0, _styles.styled)(_graphing.GraphContainer)(({
25
- theme
26
- }) => ({
27
- marginTop: theme.spacing(2),
28
- marginBottom: theme.spacing(2)
29
- }));
30
- class Main extends _react.default.Component {
31
- constructor(...args) {
32
- super(...args);
33
- (0, _defineProperty2.default)(this, "state", {
34
- showingCorrect: false
35
- });
36
- (0, _defineProperty2.default)(this, "toggleCorrect", showingCorrect => this.setState({
37
- showingCorrect
38
- }));
39
- }
40
- render() {
41
- const {
42
- model,
43
- onAnswersChange,
44
- session
45
- } = this.props;
46
- const {
47
- showingCorrect
48
- } = this.state;
49
- const {
50
- answer
51
- } = session || {};
52
- const {
53
- answersCorrected,
54
- arrows,
55
- backgroundMarks,
56
- coordinatesOnHover,
57
- correctResponse,
58
- defaultTool,
59
- disabled,
60
- domain,
61
- extraCSSRules,
62
- labels,
63
- labelsEnabled,
64
- prompt,
65
- range,
66
- rationale,
67
- showKeyLegend,
68
- showToggle,
69
- title,
70
- titleEnabled,
71
- teacherInstructions,
72
- toolbarTools,
73
- language
74
- } = model || {};
75
- const size = model?.size || model?.graph || {}; // need this for models that are not processed by controller
76
- const marks = answersCorrected || answer || [];
77
- const isLabelAvailable = toolbarTools?.includes('label') || false;
78
- const showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
79
- const showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
80
- return /*#__PURE__*/_react.default.createElement(MainContainer, {
81
- extraCSSRules: extraCSSRules
82
- }, showTeacherInstructions && /*#__PURE__*/_react.default.createElement(TeacherInstructions, {
83
- labels: {
84
- hidden: 'Show Teacher Instructions',
85
- visible: 'Hide Teacher Instructions'
86
- }
87
- }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
88
- prompt: teacherInstructions
89
- })), prompt && /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
90
- className: "prompt",
91
- prompt: prompt
92
- }), /*#__PURE__*/_react.default.createElement(_correctAnswerToggle.default, {
93
- show: showToggle,
94
- toggled: showingCorrect,
95
- onToggle: this.toggleCorrect,
96
- language: language
97
- }), showingCorrect && showToggle ? /*#__PURE__*/_react.default.createElement(Graph, {
98
- axesSettings: {
99
- includeArrows: arrows
100
- },
101
- backgroundMarks: backgroundMarks.filter(mark => !mark.building),
102
- coordinatesOnHover: coordinatesOnHover,
103
- disabled: true,
104
- disabledLabels: true,
105
- disabledTitle: true,
106
- domain: domain,
107
- labels: labels,
108
- marks: correctResponse.map(i => ({
109
- ...i,
110
- correctness: 'correct'
111
- })),
112
- onChangeMarks: onAnswersChange,
113
- range: range,
114
- showLabels: labelsEnabled,
115
- showTitle: titleEnabled,
116
- size: size,
117
- title: title,
118
- toolbarTools: toolbarTools,
119
- language: language
120
- }) : /*#__PURE__*/_react.default.createElement(Graph, {
121
- axesSettings: {
122
- includeArrows: arrows
123
- },
124
- backgroundMarks: backgroundMarks.filter(mark => !mark.building),
125
- coordinatesOnHover: coordinatesOnHover,
126
- defaultTool: defaultTool,
127
- disabled: disabled,
128
- disabledLabels: true,
129
- disabledTitle: true,
130
- domain: domain,
131
- labels: labels,
132
- marks: marks,
133
- onChangeMarks: onAnswersChange,
134
- range: range,
135
- showLabels: labelsEnabled,
136
- showTitle: titleEnabled,
137
- size: size,
138
- title: title,
139
- toolbarTools: toolbarTools,
140
- language: language,
141
- limitLabeling: true
142
- }), showKeyLegend && !showingCorrect && /*#__PURE__*/_react.default.createElement(_graphing.KeyLegend, {
143
- isLabelAvailable: isLabelAvailable
144
- }), showRationale && /*#__PURE__*/_react.default.createElement(_renderUi.Collapsible, {
145
- labels: {
146
- hidden: 'Show Rationale',
147
- visible: 'Hide Rationale'
148
- }
149
- }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
150
- prompt: rationale
151
- })));
152
- }
153
- }
154
- exports.Main = Main;
155
- (0, _defineProperty2.default)(Main, "propTypes", {
156
- model: _propTypes.default.object.isRequired,
157
- session: _propTypes.default.object.isRequired,
158
- onAnswersChange: _propTypes.default.func
159
- });
160
- var _default = exports.default = Main;
161
- //# sourceMappingURL=main.js.map
package/lib/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_graphing","_renderUi","_correctAnswerToggle","MainContainer","styled","UiLayout","color","text","backgroundColor","background","TeacherInstructions","Collapsible","theme","marginBottom","spacing","Graph","GraphContainer","marginTop","Main","React","Component","constructor","args","_defineProperty2","default","showingCorrect","setState","render","model","onAnswersChange","session","props","state","answer","answersCorrected","arrows","backgroundMarks","coordinatesOnHover","correctResponse","defaultTool","disabled","domain","extraCSSRules","labels","labelsEnabled","prompt","range","rationale","showKeyLegend","showToggle","title","titleEnabled","teacherInstructions","toolbarTools","language","size","graph","marks","isLabelAvailable","includes","showRationale","hasText","hasMedia","showTeacherInstructions","createElement","hidden","visible","PreviewPrompt","className","show","toggled","onToggle","toggleCorrect","axesSettings","includeArrows","filter","mark","building","disabledLabels","disabledTitle","map","i","correctness","onChangeMarks","showLabels","showTitle","limitLabeling","KeyLegend","exports","PropTypes","object","isRequired","func","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer, KeyLegend } from '@pie-lib/graphing';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nconst MainContainer = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst TeacherInstructions = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Graph = styled(GraphContainer)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n state = { showingCorrect: false };\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { model, onAnswersChange, session } = this.props;\n const { showingCorrect } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n showKeyLegend,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n toolbarTools,\n language,\n } = model || {};\n const size = model?.size || model?.graph || {}; // need this for models that are not processed by controller\n const marks = answersCorrected || answer || [];\n const isLabelAvailable = toolbarTools?.includes('label') || false;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n return (\n <MainContainer extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <TeacherInstructions\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks.filter((mark) => !mark.building)}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n toolbarTools={toolbarTools}\n language={language}\n />\n ) : (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks.filter((mark) => !mark.building)}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n toolbarTools={toolbarTools}\n language={language}\n limitLabeling={true}\n />\n )}\n {showKeyLegend && !showingCorrect && <KeyLegend isLabelAvailable={isLabelAvailable}></KeyLegend>}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
package/lib/utils.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.completeMark = void 0;
7
- const completePoint = point => point && Number.isFinite(point.x) && Number.isFinite(point.y);
8
- const completeFromTo = item => item && completeMark.point(item.from) && completeMark.point(item.to);
9
- const completeRootEdge = item => item && completeMark.point(item.edge) && completeMark.point(item.root);
10
- const completePoints = item => item && item.points && item.points.length && (item.points.filter(point => completePoint(point)) || []).length === item.points.length;
11
- const completeMark = exports.completeMark = {
12
- point: completePoint,
13
- line: completeFromTo,
14
- ray: completeFromTo,
15
- segment: completeFromTo,
16
- vector: completeFromTo,
17
- circle: completeRootEdge,
18
- parabola: completeRootEdge,
19
- absolute: completeRootEdge,
20
- exponential: completeRootEdge,
21
- sine: completeRootEdge,
22
- polygon: completePoints
23
- };
24
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["completePoint","point","Number","isFinite","x","y","completeFromTo","item","completeMark","from","to","completeRootEdge","edge","root","completePoints","points","length","filter","exports","line","ray","segment","vector","circle","parabola","absolute","exponential","sine","polygon"],"sources":["../src/utils.js"],"sourcesContent":["const completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\nconst completeRootEdge = (item) => item && completeMark.point(item.edge) && completeMark.point(item.root);\nconst completePoints = (item) =>\n item &&\n item.points &&\n item.points.length &&\n (item.points.filter((point) => completePoint(point)) || []).length === item.points.length;\n\nconst completeMark = {\n point: completePoint,\n line: completeFromTo,\n ray: completeFromTo,\n segment: completeFromTo,\n vector: completeFromTo,\n circle: completeRootEdge,\n parabola: completeRootEdge,\n absolute: completeRootEdge,\n exponential: completeRootEdge,\n sine: completeRootEdge,\n polygon: completePoints,\n};\n\nexport { completeMark };\n"],"mappings":";;;;;;AAAA,MAAMA,aAAa,GAAIC,KAAK,IAAKA,KAAK,IAAIC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAACG,CAAC,CAAC,IAAIF,MAAM,CAACC,QAAQ,CAACF,KAAK,CAACI,CAAC,CAAC;AAC9F,MAAMC,cAAc,GAAIC,IAAI,IAAKA,IAAI,IAAIC,YAAY,CAACP,KAAK,CAACM,IAAI,CAACE,IAAI,CAAC,IAAID,YAAY,CAACP,KAAK,CAACM,IAAI,CAACG,EAAE,CAAC;AACrG,MAAMC,gBAAgB,GAAIJ,IAAI,IAAKA,IAAI,IAAIC,YAAY,CAACP,KAAK,CAACM,IAAI,CAACK,IAAI,CAAC,IAAIJ,YAAY,CAACP,KAAK,CAACM,IAAI,CAACM,IAAI,CAAC;AACzG,MAAMC,cAAc,GAAIP,IAAI,IAC1BA,IAAI,IACJA,IAAI,CAACQ,MAAM,IACXR,IAAI,CAACQ,MAAM,CAACC,MAAM,IAClB,CAACT,IAAI,CAACQ,MAAM,CAACE,MAAM,CAAEhB,KAAK,IAAKD,aAAa,CAACC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAEe,MAAM,KAAKT,IAAI,CAACQ,MAAM,CAACC,MAAM;AAE3F,MAAMR,YAAY,GAAAU,OAAA,CAAAV,YAAA,GAAG;EACnBP,KAAK,EAAED,aAAa;EACpBmB,IAAI,EAAEb,cAAc;EACpBc,GAAG,EAAEd,cAAc;EACnBe,OAAO,EAAEf,cAAc;EACvBgB,MAAM,EAAEhB,cAAc;EACtBiB,MAAM,EAAEZ,gBAAgB;EACxBa,QAAQ,EAAEb,gBAAgB;EAC1Bc,QAAQ,EAAEd,gBAAgB;EAC1Be,WAAW,EAAEf,gBAAgB;EAC7BgB,IAAI,EAAEhB,gBAAgB;EACtBiB,OAAO,EAAEd;AACX,CAAC","ignoreList":[]}