@pie-element/math-inline 8.4.7-next.20 → 8.4.7-next.27

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/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.3.5/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.10.5/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.4.0/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.11.0/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -11579,7 +11579,7 @@ function generateAdditionalKeys(keyData = []) {
11579
11579
  function isChildOfCurrentPieElement(child, parent) {
11580
11580
  let node = child;
11581
11581
  while (node !== null) {
11582
- if (node === parent) {
11582
+ if (parent && node === parent) {
11583
11583
  return true;
11584
11584
  }
11585
11585
  node = node.parentNode;
@@ -11611,6 +11611,19 @@ function prepareForStatic(model, state) {
11611
11611
  }).replace(NEWLINE_LATEX, '\\embed{newLine}[]');
11612
11612
  }
11613
11613
  }
11614
+ function parseAnswers(session, model) {
11615
+ const answers = {};
11616
+ if (model.config && model.config.expression) {
11617
+ let answerBlocks = 1;
11618
+ (model.config.expression || '').replace(REGEX, () => {
11619
+ answers[`r${answerBlocks}`] = {
11620
+ value: session && session.answers && session.answers[`r${answerBlocks}`] && session.answers[`r${answerBlocks}`].value || ''
11621
+ };
11622
+ answerBlocks += 1;
11623
+ });
11624
+ }
11625
+ return answers;
11626
+ }
11614
11627
  class Main extends React$1.Component {
11615
11628
  static __initStatic() {
11616
11629
  this.propTypes = {
@@ -11638,16 +11651,8 @@ class Main extends React$1.Component {
11638
11651
  Main.prototype.__init14.call(this);
11639
11652
  Main.prototype.__init15.call(this);
11640
11653
  Main.prototype.__init16.call(this);
11641
- const answers = {};
11642
- if (props.model.config && props.model.config.expression) {
11643
- let answerBlocks = 1;
11644
- (props.model.config.expression || '').replace(REGEX, () => {
11645
- answers[`r${answerBlocks}`] = {
11646
- value: props.session && props.session.answers && props.session.answers[`r${answerBlocks}`] && props.session.answers[`r${answerBlocks}`].value || ''
11647
- };
11648
- answerBlocks += 1;
11649
- });
11650
- }
11654
+ const {model, session} = props;
11655
+ const answers = parseAnswers(session, model);
11651
11656
  this.state = {
11652
11657
  session: {
11653
11658
  ...props.session,
@@ -11706,12 +11711,22 @@ class Main extends React$1.Component {
11706
11711
  }
11707
11712
  countResponseOccurrences(expression) {
11708
11713
  const pattern = /\{\{response\}\}/g;
11709
- const matches = _optionalChain([expression, 'optionalAccess', _5 => _5.match, 'call', _6 => _6(pattern)]);
11714
+ const matches = _optionalChain([expression, 'optionalAccess', _10 => _10.match, 'call', _11 => _11(pattern)]);
11710
11715
  return matches ? matches.length : 0;
11711
11716
  }
11712
11717
  UNSAFE_componentWillReceiveProps(nextProps) {
11713
11718
  const {config} = this.props.model;
11714
11719
  const {config: nextConfig = {}} = nextProps.model || ({});
11720
+ const {session} = this.props;
11721
+ const {session: nextSession = {}} = nextProps || ({});
11722
+ if (session && nextSession && !isEqual(session.answers, nextSession.answers)) {
11723
+ this.setState({
11724
+ session: {
11725
+ ...nextSession,
11726
+ answers: parseAnswers(nextSession, this.props.model)
11727
+ }
11728
+ });
11729
+ }
11715
11730
  if (config.note && config.language && config.language !== nextConfig.language && config.note === translator.t('mathInline.primaryCorrectWithAlternates', {
11716
11731
  lng: config.language
11717
11732
  })) {
@@ -11764,8 +11779,8 @@ class Main extends React$1.Component {
11764
11779
  }
11765
11780
  componentDidUpdate(prevProps, prevState) {
11766
11781
  this.handleAnswerBlockDomUpdate();
11767
- const prevResponseType = _optionalChain([prevProps, 'access', _7 => _7.model, 'optionalAccess', _8 => _8.config, 'optionalAccess', _9 => _9.responseType]);
11768
- const currentResponseType = _optionalChain([this, 'access', _10 => _10.props, 'access', _11 => _11.model, 'optionalAccess', _12 => _12.config, 'optionalAccess', _13 => _13.responseType]);
11782
+ const prevResponseType = _optionalChain([prevProps, 'access', _12 => _12.model, 'optionalAccess', _13 => _13.config, 'optionalAccess', _14 => _14.responseType]);
11783
+ const currentResponseType = _optionalChain([this, 'access', _15 => _15.props, 'access', _16 => _16.model, 'optionalAccess', _17 => _17.config, 'optionalAccess', _18 => _18.responseType]);
11769
11784
  if (prevResponseType !== currentResponseType) {
11770
11785
  this.updateAria();
11771
11786
  }
@@ -11811,10 +11826,8 @@ class Main extends React$1.Component {
11811
11826
  }
11812
11827
  __init4() {
11813
11828
  this.handleKeyDown = (event, id) => {
11814
- const {config} = this.props.model;
11815
- const myElement = document.getElementById(config.id);
11816
- const isTrigerredFromActualPieElement = isChildOfCurrentPieElement(event.target, myElement);
11817
- const isAnswerInputFocused = document.activeElement.getAttribute('aria-label') === 'Enter answer.';
11829
+ const isTrigerredFromActualPieElement = isChildOfCurrentPieElement(event.target, this.root);
11830
+ const isAnswerInputFocused = this.mqStatic && _optionalChain([this, 'access', _19 => _19.mqStatic, 'access', _20 => _20.inputRef, 'optionalAccess', _21 => _21.current, 'access', _22 => _22.contains, 'call', _23 => _23(document.activeElement)]);
11818
11831
  const {key, type} = event;
11819
11832
  const isClickOrTouchEvent = type === 'click' || type === 'touchstart';
11820
11833
  if (isAnswerInputFocused && (key === 'ArrowDown' || isClickOrTouchEvent)) {
@@ -11987,7 +12000,7 @@ class Main extends React$1.Component {
11987
12000
  }
11988
12001
  function getDeepChildDataKeypad(element, depth = 0) {
11989
12002
  if (!element || depth >= 4) return null;
11990
- const child = _optionalChain([element, 'optionalAccess', _14 => _14.children, 'optionalAccess', _15 => _15[0]]);
12003
+ const child = _optionalChain([element, 'optionalAccess', _24 => _24.children, 'optionalAccess', _25 => _25[0]]);
11991
12004
  if (!child) return null;
11992
12005
  if (child.attributes && child.attributes['data-keypad']) {
11993
12006
  return child;
@@ -11996,7 +12009,7 @@ class Main extends React$1.Component {
11996
12009
  }
11997
12010
  const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);
11998
12011
  const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;
11999
- if (!relatedTarget || !currentTarget || !_optionalChain([childWithDataKeypad, 'optionalAccess', _16 => _16.attributes, 'access', _17 => _17['data-keypad']])) {
12012
+ if (!relatedTarget || !currentTarget || !_optionalChain([childWithDataKeypad, 'optionalAccess', _26 => _26.attributes, 'access', _27 => _27['data-keypad']])) {
12000
12013
  if (!isKeypadOpen) {
12001
12014
  this.setState({
12002
12015
  activeAnswerBlock: ''
@@ -12038,7 +12051,7 @@ class Main extends React$1.Component {
12038
12051
  __self: this,
12039
12052
  __source: {
12040
12053
  fileName: _jsxFileName,
12041
- lineNumber: 604
12054
+ lineNumber: 616
12042
12055
  }
12043
12056
  }, React$1.createElement(mq.Static, {
12044
12057
  className: classes.static,
@@ -12052,7 +12065,7 @@ class Main extends React$1.Component {
12052
12065
  __self: this,
12053
12066
  __source: {
12054
12067
  fileName: _jsxFileName,
12055
- lineNumber: 605
12068
+ lineNumber: 617
12056
12069
  }
12057
12070
  }));
12058
12071
  const midContent = React$1.createElement('div', {
@@ -12060,14 +12073,14 @@ class Main extends React$1.Component {
12060
12073
  __self: this,
12061
12074
  __source: {
12062
12075
  fileName: _jsxFileName,
12063
- lineNumber: 619
12076
+ lineNumber: 631
12064
12077
  }
12065
12078
  }, mode === 'gather' && React$1.createElement('h2', {
12066
12079
  className: classes.srOnly,
12067
12080
  __self: this,
12068
12081
  __source: {
12069
12082
  fileName: _jsxFileName,
12070
- lineNumber: 620
12083
+ lineNumber: 632
12071
12084
  }
12072
12085
  }, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
12073
12086
  className: classes.collapsible,
@@ -12078,7 +12091,7 @@ class Main extends React$1.Component {
12078
12091
  __self: this,
12079
12092
  __source: {
12080
12093
  fileName: _jsxFileName,
12081
- lineNumber: 626
12094
+ lineNumber: 638
12082
12095
  }
12083
12096
  }, React$1.createElement('div', {
12084
12097
  dangerouslySetInnerHTML: {
@@ -12087,7 +12100,7 @@ class Main extends React$1.Component {
12087
12100
  __self: this,
12088
12101
  __source: {
12089
12102
  fileName: _jsxFileName,
12090
- lineNumber: 630
12103
+ lineNumber: 642
12091
12104
  }
12092
12105
  })) : React$1.createElement('div', {
12093
12106
  dangerouslySetInnerHTML: {
@@ -12096,28 +12109,28 @@ class Main extends React$1.Component {
12096
12109
  __self: this,
12097
12110
  __source: {
12098
12111
  fileName: _jsxFileName,
12099
- lineNumber: 633
12112
+ lineNumber: 645
12100
12113
  }
12101
12114
  })), prompt && React$1.createElement('div', {
12102
12115
  className: classes.promptContainer,
12103
12116
  __self: this,
12104
12117
  __source: {
12105
12118
  fileName: _jsxFileName,
12106
- lineNumber: 637
12119
+ lineNumber: 649
12107
12120
  }
12108
12121
  }, React$1.createElement(PreviewPrompt, {
12109
12122
  prompt: prompt,
12110
12123
  __self: this,
12111
12124
  __source: {
12112
12125
  fileName: _jsxFileName,
12113
- lineNumber: 638
12126
+ lineNumber: 650
12114
12127
  }
12115
12128
  })), studentPrintMode ? printView : React$1.createElement(Readable, {
12116
12129
  false: true,
12117
12130
  __self: this,
12118
12131
  __source: {
12119
12132
  fileName: _jsxFileName,
12120
- lineNumber: 645
12133
+ lineNumber: 657
12121
12134
  }
12122
12135
  }, React$1.createElement('div', {
12123
12136
  className: classes.inputAndKeypadContainer,
@@ -12125,7 +12138,7 @@ class Main extends React$1.Component {
12125
12138
  __self: this,
12126
12139
  __source: {
12127
12140
  fileName: _jsxFileName,
12128
- lineNumber: 646
12141
+ lineNumber: 658
12129
12142
  }
12130
12143
  }, responseType === ResponseTypes.simple && React$1.createElement(SimpleQuestionBlock, {
12131
12144
  onSimpleResponseChange: this.onSimpleResponseChange,
@@ -12138,7 +12151,7 @@ class Main extends React$1.Component {
12138
12151
  __self: this,
12139
12152
  __source: {
12140
12153
  fileName: _jsxFileName,
12141
- lineNumber: 648
12154
+ lineNumber: 660
12142
12155
  }
12143
12156
  }), responseType === ResponseTypes.advanced && React$1.createElement('div', {
12144
12157
  ref: tooltipContainerRef,
@@ -12152,7 +12165,7 @@ class Main extends React$1.Component {
12152
12165
  __self: this,
12153
12166
  __source: {
12154
12167
  fileName: _jsxFileName,
12155
- lineNumber: 660
12168
+ lineNumber: 672
12156
12169
  }
12157
12170
  }, React$1.createElement(Tooltip, {
12158
12171
  ref: ref => this.setTooltipRef(ref),
@@ -12164,7 +12177,7 @@ class Main extends React$1.Component {
12164
12177
  popper: classes.keypadTooltipPopper
12165
12178
  },
12166
12179
  PopperProps: {
12167
- container: _optionalChain([tooltipContainerRef, 'optionalAccess', _18 => _18.current]) || undefined,
12180
+ container: _optionalChain([tooltipContainerRef, 'optionalAccess', _28 => _28.current]) || undefined,
12168
12181
  placement: 'bottom-start',
12169
12182
  modifiers: {
12170
12183
  preventOverflow: {
@@ -12186,7 +12199,7 @@ class Main extends React$1.Component {
12186
12199
  __self: this,
12187
12200
  __source: {
12188
12201
  fileName: _jsxFileName,
12189
- lineNumber: 695
12202
+ lineNumber: 707
12190
12203
  }
12191
12204
  }, React$1.createElement(HorizontalKeypad, {
12192
12205
  additionalKeys: additionalKeys,
@@ -12195,13 +12208,13 @@ class Main extends React$1.Component {
12195
12208
  __self: this,
12196
12209
  __source: {
12197
12210
  fileName: _jsxFileName,
12198
- lineNumber: 704
12211
+ lineNumber: 716
12199
12212
  }
12200
12213
  })) || null),
12201
12214
  __self: this,
12202
12215
  __source: {
12203
12216
  fileName: _jsxFileName,
12204
- lineNumber: 670
12217
+ lineNumber: 682
12205
12218
  }
12206
12219
  }, React$1.createElement(mq.Static, {
12207
12220
  className: classes.static,
@@ -12215,7 +12228,7 @@ class Main extends React$1.Component {
12215
12228
  __self: this,
12216
12229
  __source: {
12217
12230
  fileName: _jsxFileName,
12218
- lineNumber: 714
12231
+ lineNumber: 726
12219
12232
  }
12220
12233
  }))))), viewMode && displayNote && React$1.createElement('div', {
12221
12234
  className: classes.note,
@@ -12225,7 +12238,7 @@ class Main extends React$1.Component {
12225
12238
  __self: this,
12226
12239
  __source: {
12227
12240
  fileName: _jsxFileName,
12228
- lineNumber: 732
12241
+ lineNumber: 744
12229
12242
  }
12230
12243
  }), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
12231
12244
  labels: {
@@ -12235,7 +12248,7 @@ class Main extends React$1.Component {
12235
12248
  __self: this,
12236
12249
  __source: {
12237
12250
  fileName: _jsxFileName,
12238
- lineNumber: 739
12251
+ lineNumber: 751
12239
12252
  }
12240
12253
  }, React$1.createElement('div', {
12241
12254
  dangerouslySetInnerHTML: {
@@ -12244,7 +12257,7 @@ class Main extends React$1.Component {
12244
12257
  __self: this,
12245
12258
  __source: {
12246
12259
  fileName: _jsxFileName,
12247
- lineNumber: 740
12260
+ lineNumber: 752
12248
12261
  }
12249
12262
  })) : React$1.createElement('div', {
12250
12263
  dangerouslySetInnerHTML: {
@@ -12253,17 +12266,16 @@ class Main extends React$1.Component {
12253
12266
  __self: this,
12254
12267
  __source: {
12255
12268
  fileName: _jsxFileName,
12256
- lineNumber: 743
12269
+ lineNumber: 755
12257
12270
  }
12258
12271
  })));
12259
12272
  if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
12260
12273
  return React$1.createElement(UiLayout, {
12261
12274
  extraCSSRules: extraCSSRules,
12262
- id: id,
12263
12275
  __self: this,
12264
12276
  __source: {
12265
12277
  fileName: _jsxFileName,
12266
- lineNumber: 756
12278
+ lineNumber: 768
12267
12279
  }
12268
12280
  }, React$1.createElement(Tooltip, {
12269
12281
  interactive: true,
@@ -12276,14 +12288,14 @@ class Main extends React$1.Component {
12276
12288
  __self: this,
12277
12289
  __source: {
12278
12290
  fileName: _jsxFileName,
12279
- lineNumber: 765
12291
+ lineNumber: 777
12280
12292
  }
12281
12293
  }, React$1.createElement('div', {
12282
12294
  className: classes.main,
12283
12295
  __self: this,
12284
12296
  __source: {
12285
12297
  fileName: _jsxFileName,
12286
- lineNumber: 766
12298
+ lineNumber: 778
12287
12299
  }
12288
12300
  }, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
12289
12301
  language: language,
@@ -12294,7 +12306,7 @@ class Main extends React$1.Component {
12294
12306
  __self: this,
12295
12307
  __source: {
12296
12308
  fileName: _jsxFileName,
12297
- lineNumber: 768
12309
+ lineNumber: 780
12298
12310
  }
12299
12311
  })), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
12300
12312
  className: classes.collapsible,
@@ -12306,14 +12318,14 @@ class Main extends React$1.Component {
12306
12318
  __self: this,
12307
12319
  __source: {
12308
12320
  fileName: _jsxFileName,
12309
- lineNumber: 779
12321
+ lineNumber: 791
12310
12322
  }
12311
12323
  }, React$1.createElement(PreviewPrompt, {
12312
12324
  prompt: teacherInstructions,
12313
12325
  __self: this,
12314
12326
  __source: {
12315
12327
  fileName: _jsxFileName,
12316
- lineNumber: 787
12328
+ lineNumber: 799
12317
12329
  }
12318
12330
  })), displayNote && hasText(note) && React$1.createElement(Collapsible, {
12319
12331
  className: classes.collapsible,
@@ -12329,14 +12341,14 @@ class Main extends React$1.Component {
12329
12341
  __self: this,
12330
12342
  __source: {
12331
12343
  fileName: _jsxFileName,
12332
- lineNumber: 791
12344
+ lineNumber: 803
12333
12345
  }
12334
12346
  }, React$1.createElement(PreviewPrompt, {
12335
12347
  prompt: note,
12336
12348
  __self: this,
12337
12349
  __source: {
12338
12350
  fileName: _jsxFileName,
12339
- lineNumber: 799
12351
+ lineNumber: 811
12340
12352
  }
12341
12353
  })), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
12342
12354
  className: classes.collapsible,
@@ -12348,14 +12360,14 @@ class Main extends React$1.Component {
12348
12360
  __self: this,
12349
12361
  __source: {
12350
12362
  fileName: _jsxFileName,
12351
- lineNumber: 804
12363
+ lineNumber: 816
12352
12364
  }
12353
12365
  }, React$1.createElement(PreviewPrompt, {
12354
12366
  prompt: rationale,
12355
12367
  __self: this,
12356
12368
  __source: {
12357
12369
  fileName: _jsxFileName,
12358
- lineNumber: 812
12370
+ lineNumber: 824
12359
12371
  }
12360
12372
  })), feedback && React$1.createElement(Feedback, {
12361
12373
  correctness: correctness.correctness,
@@ -12363,13 +12375,13 @@ class Main extends React$1.Component {
12363
12375
  __self: this,
12364
12376
  __source: {
12365
12377
  fileName: _jsxFileName,
12366
- lineNumber: 816
12378
+ lineNumber: 828
12367
12379
  }
12368
12380
  })),
12369
12381
  __self: this,
12370
12382
  __source: {
12371
12383
  fileName: _jsxFileName,
12372
- lineNumber: 757
12384
+ lineNumber: 769
12373
12385
  }
12374
12386
  }, React$1.createElement('div', {
12375
12387
  className: classes.mainContainer,
@@ -12377,7 +12389,7 @@ class Main extends React$1.Component {
12377
12389
  __self: this,
12378
12390
  __source: {
12379
12391
  fileName: _jsxFileName,
12380
- lineNumber: 820
12392
+ lineNumber: 832
12381
12393
  }
12382
12394
  }, midContent)));
12383
12395
  }
@@ -12392,7 +12404,7 @@ class Main extends React$1.Component {
12392
12404
  __self: this,
12393
12405
  __source: {
12394
12406
  fileName: _jsxFileName,
12395
- lineNumber: 829
12407
+ lineNumber: 841
12396
12408
  }
12397
12409
  }, midContent);
12398
12410
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "8.4.7-next.20+7bbd8efd3",
7
+ "version": "8.4.7-next.27+622eab7fb",
8
8
  "main": "lib/index.js",
9
9
  "description": "",
10
10
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "@material-ui/core": "^3.9.2",
15
15
  "@pie-framework/mathquill": "^1.1.3",
16
16
  "@pie-framework/pie-player-events": "^0.1.0",
17
- "@pie-lib/pie-toolbox": "2.10.0",
17
+ "@pie-lib/pie-toolbox": "2.10.1",
18
18
  "classnames": "^2.2.5",
19
19
  "debug": "^4.1.1",
20
20
  "lodash": "^4.17.10",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "author": "",
26
26
  "license": "ISC",
27
- "gitHead": "7bbd8efd3949373ca6f7e92d8d21bf38f9fe5128",
27
+ "gitHead": "622eab7fb4903086040bebc83387e8628da1846e",
28
28
  "module": "src/index.js",
29
29
  "exports": {
30
30
  ".": "./src/index.js",