@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/element.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;
@@ -11842,7 +11842,7 @@ function generateAdditionalKeys(keyData = []) {
11842
11842
  function isChildOfCurrentPieElement(child, parent) {
11843
11843
  let node = child;
11844
11844
  while (node !== null) {
11845
- if (node === parent) {
11845
+ if (parent && node === parent) {
11846
11846
  return true;
11847
11847
  }
11848
11848
  node = node.parentNode;
@@ -11874,6 +11874,19 @@ function prepareForStatic(model, state) {
11874
11874
  }).replace(NEWLINE_LATEX, '\\embed{newLine}[]');
11875
11875
  }
11876
11876
  }
11877
+ function parseAnswers(session, model) {
11878
+ const answers = {};
11879
+ if (model.config && model.config.expression) {
11880
+ let answerBlocks = 1;
11881
+ (model.config.expression || '').replace(REGEX, () => {
11882
+ answers[`r${answerBlocks}`] = {
11883
+ value: session && session.answers && session.answers[`r${answerBlocks}`] && session.answers[`r${answerBlocks}`].value || ''
11884
+ };
11885
+ answerBlocks += 1;
11886
+ });
11887
+ }
11888
+ return answers;
11889
+ }
11877
11890
  class Main extends React$1.Component {
11878
11891
  static __initStatic() {
11879
11892
  this.propTypes = {
@@ -11901,16 +11914,8 @@ class Main extends React$1.Component {
11901
11914
  Main.prototype.__init14.call(this);
11902
11915
  Main.prototype.__init15.call(this);
11903
11916
  Main.prototype.__init16.call(this);
11904
- const answers = {};
11905
- if (props.model.config && props.model.config.expression) {
11906
- let answerBlocks = 1;
11907
- (props.model.config.expression || '').replace(REGEX, () => {
11908
- answers[`r${answerBlocks}`] = {
11909
- value: props.session && props.session.answers && props.session.answers[`r${answerBlocks}`] && props.session.answers[`r${answerBlocks}`].value || ''
11910
- };
11911
- answerBlocks += 1;
11912
- });
11913
- }
11917
+ const {model, session} = props;
11918
+ const answers = parseAnswers(session, model);
11914
11919
  this.state = {
11915
11920
  session: {
11916
11921
  ...props.session,
@@ -11969,12 +11974,22 @@ class Main extends React$1.Component {
11969
11974
  }
11970
11975
  countResponseOccurrences(expression) {
11971
11976
  const pattern = /\{\{response\}\}/g;
11972
- const matches = _optionalChain([expression, 'optionalAccess', _5 => _5.match, 'call', _6 => _6(pattern)]);
11977
+ const matches = _optionalChain([expression, 'optionalAccess', _10 => _10.match, 'call', _11 => _11(pattern)]);
11973
11978
  return matches ? matches.length : 0;
11974
11979
  }
11975
11980
  UNSAFE_componentWillReceiveProps(nextProps) {
11976
11981
  const {config} = this.props.model;
11977
11982
  const {config: nextConfig = {}} = nextProps.model || ({});
11983
+ const {session} = this.props;
11984
+ const {session: nextSession = {}} = nextProps || ({});
11985
+ if (session && nextSession && !isEqual(session.answers, nextSession.answers)) {
11986
+ this.setState({
11987
+ session: {
11988
+ ...nextSession,
11989
+ answers: parseAnswers(nextSession, this.props.model)
11990
+ }
11991
+ });
11992
+ }
11978
11993
  if (config.note && config.language && config.language !== nextConfig.language && config.note === translator.t('mathInline.primaryCorrectWithAlternates', {
11979
11994
  lng: config.language
11980
11995
  })) {
@@ -12027,8 +12042,8 @@ class Main extends React$1.Component {
12027
12042
  }
12028
12043
  componentDidUpdate(prevProps, prevState) {
12029
12044
  this.handleAnswerBlockDomUpdate();
12030
- const prevResponseType = _optionalChain([prevProps, 'access', _7 => _7.model, 'optionalAccess', _8 => _8.config, 'optionalAccess', _9 => _9.responseType]);
12031
- const currentResponseType = _optionalChain([this, 'access', _10 => _10.props, 'access', _11 => _11.model, 'optionalAccess', _12 => _12.config, 'optionalAccess', _13 => _13.responseType]);
12045
+ const prevResponseType = _optionalChain([prevProps, 'access', _12 => _12.model, 'optionalAccess', _13 => _13.config, 'optionalAccess', _14 => _14.responseType]);
12046
+ const currentResponseType = _optionalChain([this, 'access', _15 => _15.props, 'access', _16 => _16.model, 'optionalAccess', _17 => _17.config, 'optionalAccess', _18 => _18.responseType]);
12032
12047
  if (prevResponseType !== currentResponseType) {
12033
12048
  this.updateAria();
12034
12049
  }
@@ -12074,10 +12089,8 @@ class Main extends React$1.Component {
12074
12089
  }
12075
12090
  __init4() {
12076
12091
  this.handleKeyDown = (event, id) => {
12077
- const {config} = this.props.model;
12078
- const myElement = document.getElementById(config.id);
12079
- const isTrigerredFromActualPieElement = isChildOfCurrentPieElement(event.target, myElement);
12080
- const isAnswerInputFocused = document.activeElement.getAttribute('aria-label') === 'Enter answer.';
12092
+ const isTrigerredFromActualPieElement = isChildOfCurrentPieElement(event.target, this.root);
12093
+ 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)]);
12081
12094
  const {key, type} = event;
12082
12095
  const isClickOrTouchEvent = type === 'click' || type === 'touchstart';
12083
12096
  if (isAnswerInputFocused && (key === 'ArrowDown' || isClickOrTouchEvent)) {
@@ -12250,7 +12263,7 @@ class Main extends React$1.Component {
12250
12263
  }
12251
12264
  function getDeepChildDataKeypad(element, depth = 0) {
12252
12265
  if (!element || depth >= 4) return null;
12253
- const child = _optionalChain([element, 'optionalAccess', _14 => _14.children, 'optionalAccess', _15 => _15[0]]);
12266
+ const child = _optionalChain([element, 'optionalAccess', _24 => _24.children, 'optionalAccess', _25 => _25[0]]);
12254
12267
  if (!child) return null;
12255
12268
  if (child.attributes && child.attributes['data-keypad']) {
12256
12269
  return child;
@@ -12259,7 +12272,7 @@ class Main extends React$1.Component {
12259
12272
  }
12260
12273
  const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);
12261
12274
  const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;
12262
- if (!relatedTarget || !currentTarget || !_optionalChain([childWithDataKeypad, 'optionalAccess', _16 => _16.attributes, 'access', _17 => _17['data-keypad']])) {
12275
+ if (!relatedTarget || !currentTarget || !_optionalChain([childWithDataKeypad, 'optionalAccess', _26 => _26.attributes, 'access', _27 => _27['data-keypad']])) {
12263
12276
  if (!isKeypadOpen) {
12264
12277
  this.setState({
12265
12278
  activeAnswerBlock: ''
@@ -12301,7 +12314,7 @@ class Main extends React$1.Component {
12301
12314
  __self: this,
12302
12315
  __source: {
12303
12316
  fileName: _jsxFileName,
12304
- lineNumber: 604
12317
+ lineNumber: 616
12305
12318
  }
12306
12319
  }, React$1.createElement(mq.Static, {
12307
12320
  className: classes.static,
@@ -12315,7 +12328,7 @@ class Main extends React$1.Component {
12315
12328
  __self: this,
12316
12329
  __source: {
12317
12330
  fileName: _jsxFileName,
12318
- lineNumber: 605
12331
+ lineNumber: 617
12319
12332
  }
12320
12333
  }));
12321
12334
  const midContent = React$1.createElement('div', {
@@ -12323,14 +12336,14 @@ class Main extends React$1.Component {
12323
12336
  __self: this,
12324
12337
  __source: {
12325
12338
  fileName: _jsxFileName,
12326
- lineNumber: 619
12339
+ lineNumber: 631
12327
12340
  }
12328
12341
  }, mode === 'gather' && React$1.createElement('h2', {
12329
12342
  className: classes.srOnly,
12330
12343
  __self: this,
12331
12344
  __source: {
12332
12345
  fileName: _jsxFileName,
12333
- lineNumber: 620
12346
+ lineNumber: 632
12334
12347
  }
12335
12348
  }, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
12336
12349
  className: classes.collapsible,
@@ -12341,7 +12354,7 @@ class Main extends React$1.Component {
12341
12354
  __self: this,
12342
12355
  __source: {
12343
12356
  fileName: _jsxFileName,
12344
- lineNumber: 626
12357
+ lineNumber: 638
12345
12358
  }
12346
12359
  }, React$1.createElement('div', {
12347
12360
  dangerouslySetInnerHTML: {
@@ -12350,7 +12363,7 @@ class Main extends React$1.Component {
12350
12363
  __self: this,
12351
12364
  __source: {
12352
12365
  fileName: _jsxFileName,
12353
- lineNumber: 630
12366
+ lineNumber: 642
12354
12367
  }
12355
12368
  })) : React$1.createElement('div', {
12356
12369
  dangerouslySetInnerHTML: {
@@ -12359,28 +12372,28 @@ class Main extends React$1.Component {
12359
12372
  __self: this,
12360
12373
  __source: {
12361
12374
  fileName: _jsxFileName,
12362
- lineNumber: 633
12375
+ lineNumber: 645
12363
12376
  }
12364
12377
  })), prompt && React$1.createElement('div', {
12365
12378
  className: classes.promptContainer,
12366
12379
  __self: this,
12367
12380
  __source: {
12368
12381
  fileName: _jsxFileName,
12369
- lineNumber: 637
12382
+ lineNumber: 649
12370
12383
  }
12371
12384
  }, React$1.createElement(PreviewPrompt, {
12372
12385
  prompt: prompt,
12373
12386
  __self: this,
12374
12387
  __source: {
12375
12388
  fileName: _jsxFileName,
12376
- lineNumber: 638
12389
+ lineNumber: 650
12377
12390
  }
12378
12391
  })), studentPrintMode ? printView : React$1.createElement(Readable, {
12379
12392
  false: true,
12380
12393
  __self: this,
12381
12394
  __source: {
12382
12395
  fileName: _jsxFileName,
12383
- lineNumber: 645
12396
+ lineNumber: 657
12384
12397
  }
12385
12398
  }, React$1.createElement('div', {
12386
12399
  className: classes.inputAndKeypadContainer,
@@ -12388,7 +12401,7 @@ class Main extends React$1.Component {
12388
12401
  __self: this,
12389
12402
  __source: {
12390
12403
  fileName: _jsxFileName,
12391
- lineNumber: 646
12404
+ lineNumber: 658
12392
12405
  }
12393
12406
  }, responseType === ResponseTypes.simple && React$1.createElement(SimpleQuestionBlock, {
12394
12407
  onSimpleResponseChange: this.onSimpleResponseChange,
@@ -12401,7 +12414,7 @@ class Main extends React$1.Component {
12401
12414
  __self: this,
12402
12415
  __source: {
12403
12416
  fileName: _jsxFileName,
12404
- lineNumber: 648
12417
+ lineNumber: 660
12405
12418
  }
12406
12419
  }), responseType === ResponseTypes.advanced && React$1.createElement('div', {
12407
12420
  ref: tooltipContainerRef,
@@ -12415,7 +12428,7 @@ class Main extends React$1.Component {
12415
12428
  __self: this,
12416
12429
  __source: {
12417
12430
  fileName: _jsxFileName,
12418
- lineNumber: 660
12431
+ lineNumber: 672
12419
12432
  }
12420
12433
  }, React$1.createElement(Tooltip, {
12421
12434
  ref: ref => this.setTooltipRef(ref),
@@ -12427,7 +12440,7 @@ class Main extends React$1.Component {
12427
12440
  popper: classes.keypadTooltipPopper
12428
12441
  },
12429
12442
  PopperProps: {
12430
- container: _optionalChain([tooltipContainerRef, 'optionalAccess', _18 => _18.current]) || undefined,
12443
+ container: _optionalChain([tooltipContainerRef, 'optionalAccess', _28 => _28.current]) || undefined,
12431
12444
  placement: 'bottom-start',
12432
12445
  modifiers: {
12433
12446
  preventOverflow: {
@@ -12449,7 +12462,7 @@ class Main extends React$1.Component {
12449
12462
  __self: this,
12450
12463
  __source: {
12451
12464
  fileName: _jsxFileName,
12452
- lineNumber: 695
12465
+ lineNumber: 707
12453
12466
  }
12454
12467
  }, React$1.createElement(HorizontalKeypad, {
12455
12468
  additionalKeys: additionalKeys,
@@ -12458,13 +12471,13 @@ class Main extends React$1.Component {
12458
12471
  __self: this,
12459
12472
  __source: {
12460
12473
  fileName: _jsxFileName,
12461
- lineNumber: 704
12474
+ lineNumber: 716
12462
12475
  }
12463
12476
  })) || null),
12464
12477
  __self: this,
12465
12478
  __source: {
12466
12479
  fileName: _jsxFileName,
12467
- lineNumber: 670
12480
+ lineNumber: 682
12468
12481
  }
12469
12482
  }, React$1.createElement(mq.Static, {
12470
12483
  className: classes.static,
@@ -12478,7 +12491,7 @@ class Main extends React$1.Component {
12478
12491
  __self: this,
12479
12492
  __source: {
12480
12493
  fileName: _jsxFileName,
12481
- lineNumber: 714
12494
+ lineNumber: 726
12482
12495
  }
12483
12496
  }))))), viewMode && displayNote && React$1.createElement('div', {
12484
12497
  className: classes.note,
@@ -12488,7 +12501,7 @@ class Main extends React$1.Component {
12488
12501
  __self: this,
12489
12502
  __source: {
12490
12503
  fileName: _jsxFileName,
12491
- lineNumber: 732
12504
+ lineNumber: 744
12492
12505
  }
12493
12506
  }), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
12494
12507
  labels: {
@@ -12498,7 +12511,7 @@ class Main extends React$1.Component {
12498
12511
  __self: this,
12499
12512
  __source: {
12500
12513
  fileName: _jsxFileName,
12501
- lineNumber: 739
12514
+ lineNumber: 751
12502
12515
  }
12503
12516
  }, React$1.createElement('div', {
12504
12517
  dangerouslySetInnerHTML: {
@@ -12507,7 +12520,7 @@ class Main extends React$1.Component {
12507
12520
  __self: this,
12508
12521
  __source: {
12509
12522
  fileName: _jsxFileName,
12510
- lineNumber: 740
12523
+ lineNumber: 752
12511
12524
  }
12512
12525
  })) : React$1.createElement('div', {
12513
12526
  dangerouslySetInnerHTML: {
@@ -12516,17 +12529,16 @@ class Main extends React$1.Component {
12516
12529
  __self: this,
12517
12530
  __source: {
12518
12531
  fileName: _jsxFileName,
12519
- lineNumber: 743
12532
+ lineNumber: 755
12520
12533
  }
12521
12534
  })));
12522
12535
  if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
12523
12536
  return React$1.createElement(UiLayout, {
12524
12537
  extraCSSRules: extraCSSRules,
12525
- id: id,
12526
12538
  __self: this,
12527
12539
  __source: {
12528
12540
  fileName: _jsxFileName,
12529
- lineNumber: 756
12541
+ lineNumber: 768
12530
12542
  }
12531
12543
  }, React$1.createElement(Tooltip, {
12532
12544
  interactive: true,
@@ -12539,14 +12551,14 @@ class Main extends React$1.Component {
12539
12551
  __self: this,
12540
12552
  __source: {
12541
12553
  fileName: _jsxFileName,
12542
- lineNumber: 765
12554
+ lineNumber: 777
12543
12555
  }
12544
12556
  }, React$1.createElement('div', {
12545
12557
  className: classes.main,
12546
12558
  __self: this,
12547
12559
  __source: {
12548
12560
  fileName: _jsxFileName,
12549
- lineNumber: 766
12561
+ lineNumber: 778
12550
12562
  }
12551
12563
  }, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
12552
12564
  language: language,
@@ -12557,7 +12569,7 @@ class Main extends React$1.Component {
12557
12569
  __self: this,
12558
12570
  __source: {
12559
12571
  fileName: _jsxFileName,
12560
- lineNumber: 768
12572
+ lineNumber: 780
12561
12573
  }
12562
12574
  })), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
12563
12575
  className: classes.collapsible,
@@ -12569,14 +12581,14 @@ class Main extends React$1.Component {
12569
12581
  __self: this,
12570
12582
  __source: {
12571
12583
  fileName: _jsxFileName,
12572
- lineNumber: 779
12584
+ lineNumber: 791
12573
12585
  }
12574
12586
  }, React$1.createElement(PreviewPrompt, {
12575
12587
  prompt: teacherInstructions,
12576
12588
  __self: this,
12577
12589
  __source: {
12578
12590
  fileName: _jsxFileName,
12579
- lineNumber: 787
12591
+ lineNumber: 799
12580
12592
  }
12581
12593
  })), displayNote && hasText(note) && React$1.createElement(Collapsible, {
12582
12594
  className: classes.collapsible,
@@ -12592,14 +12604,14 @@ class Main extends React$1.Component {
12592
12604
  __self: this,
12593
12605
  __source: {
12594
12606
  fileName: _jsxFileName,
12595
- lineNumber: 791
12607
+ lineNumber: 803
12596
12608
  }
12597
12609
  }, React$1.createElement(PreviewPrompt, {
12598
12610
  prompt: note,
12599
12611
  __self: this,
12600
12612
  __source: {
12601
12613
  fileName: _jsxFileName,
12602
- lineNumber: 799
12614
+ lineNumber: 811
12603
12615
  }
12604
12616
  })), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
12605
12617
  className: classes.collapsible,
@@ -12611,14 +12623,14 @@ class Main extends React$1.Component {
12611
12623
  __self: this,
12612
12624
  __source: {
12613
12625
  fileName: _jsxFileName,
12614
- lineNumber: 804
12626
+ lineNumber: 816
12615
12627
  }
12616
12628
  }, React$1.createElement(PreviewPrompt, {
12617
12629
  prompt: rationale,
12618
12630
  __self: this,
12619
12631
  __source: {
12620
12632
  fileName: _jsxFileName,
12621
- lineNumber: 812
12633
+ lineNumber: 824
12622
12634
  }
12623
12635
  })), feedback && React$1.createElement(Feedback, {
12624
12636
  correctness: correctness.correctness,
@@ -12626,13 +12638,13 @@ class Main extends React$1.Component {
12626
12638
  __self: this,
12627
12639
  __source: {
12628
12640
  fileName: _jsxFileName,
12629
- lineNumber: 816
12641
+ lineNumber: 828
12630
12642
  }
12631
12643
  })),
12632
12644
  __self: this,
12633
12645
  __source: {
12634
12646
  fileName: _jsxFileName,
12635
- lineNumber: 757
12647
+ lineNumber: 769
12636
12648
  }
12637
12649
  }, React$1.createElement('div', {
12638
12650
  className: classes.mainContainer,
@@ -12640,7 +12652,7 @@ class Main extends React$1.Component {
12640
12652
  __self: this,
12641
12653
  __source: {
12642
12654
  fileName: _jsxFileName,
12643
- lineNumber: 820
12655
+ lineNumber: 832
12644
12656
  }
12645
12657
  }, midContent)));
12646
12658
  }
@@ -12655,7 +12667,7 @@ class Main extends React$1.Component {
12655
12667
  __self: this,
12656
12668
  __source: {
12657
12669
  fileName: _jsxFileName,
12658
- lineNumber: 829
12670
+ lineNumber: 841
12659
12671
  }
12660
12672
  }, midContent);
12661
12673
  }
@@ -4,11 +4,11 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "3.3.5"
7
+ "version": "3.4.0"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
11
- "version": "5.10.5"
11
+ "version": "5.11.0"
12
12
  }
13
13
  ]
14
14
  }