@pie-element/math-inline 7.11.1-next.0 → 7.11.1-next.33

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,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.1/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_editable_html} from "../../../@pie-lib/pie-toolbox-module@4.0.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) {
@@ -15641,7 +15641,7 @@ class GeneralConfigBlock extends React$2.Component {
15641
15641
  const {prompt, expression, equationEditor, promptEquationEditor = '8', responses, responseType, rationale, spellCheckEnabled, errors = {}} = model;
15642
15642
  const {baseInputConfiguration = {}, rationale: cRationale = {}, prompt: cPrompt = {}, ignoreOrder: cIgnoreOrder = {}, allowTrailingZeros: cAllowTrailingZeros = {}, maxResponseAreas, maxImageWidth = {}, maxImageHeight = {}, mathMlOptions = {}} = configuration || ({});
15643
15643
  const validationMessage = generateValidationMessage(configuration, model);
15644
- const {responsesErrors, responseAreasError} = errors;
15644
+ const {prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError} = errors;
15645
15645
  const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
15646
15646
  const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
15647
15647
  const classNames = {
@@ -15697,6 +15697,7 @@ class GeneralConfigBlock extends React$2.Component {
15697
15697
  onChange: this.onChange('prompt'),
15698
15698
  imageSupport: imageSupport,
15699
15699
  nonEmpty: false,
15700
+ error: promptError,
15700
15701
  toolbarOpts: toolbarOpts,
15701
15702
  pluginProps: getPluginProps(_optionalChain$2([cPrompt, 'optionalAccess', _ => _.inputConfiguration]), baseInputConfiguration),
15702
15703
  spellCheck: spellCheckEnabled,
@@ -15714,12 +15715,19 @@ class GeneralConfigBlock extends React$2.Component {
15714
15715
  fileName: _jsxFileName$1,
15715
15716
  lineNumber: 389
15716
15717
  }
15717
- })), responseType === ResponseTypes.advanced && React$2.createElement('div', {
15718
+ }), promptError && React$2.createElement('div', {
15719
+ className: classes.errorText,
15720
+ __self: this,
15721
+ __source: {
15722
+ fileName: _jsxFileName$1,
15723
+ lineNumber: 406
15724
+ }
15725
+ }, promptError)), responseType === ResponseTypes.advanced && React$2.createElement('div', {
15718
15726
  className: classes.advancedResponse,
15719
15727
  __self: this,
15720
15728
  __source: {
15721
15729
  fileName: _jsxFileName$1,
15722
- lineNumber: 409
15730
+ lineNumber: 411
15723
15731
  }
15724
15732
  }, React$2.createElement('div', {
15725
15733
  className: classes.flexContainer,
@@ -15729,14 +15737,14 @@ class GeneralConfigBlock extends React$2.Component {
15729
15737
  __self: this,
15730
15738
  __source: {
15731
15739
  fileName: _jsxFileName$1,
15732
- lineNumber: 410
15740
+ lineNumber: 412
15733
15741
  }
15734
15742
  }, React$2.createElement('div', {
15735
15743
  className: classes.title,
15736
15744
  __self: this,
15737
15745
  __source: {
15738
15746
  fileName: _jsxFileName$1,
15739
- lineNumber: 411
15747
+ lineNumber: 413
15740
15748
  }
15741
15749
  }, "Define Response"), validationTooltip), React$2.createElement(InputContainer$1, {
15742
15750
  key: "templateEditorType",
@@ -15745,7 +15753,7 @@ class GeneralConfigBlock extends React$2.Component {
15745
15753
  __self: this,
15746
15754
  __source: {
15747
15755
  fileName: _jsxFileName$1,
15748
- lineNumber: 415
15756
+ lineNumber: 417
15749
15757
  }
15750
15758
  }, React$2.createElement(Select, {
15751
15759
  className: classes.select,
@@ -15754,91 +15762,91 @@ class GeneralConfigBlock extends React$2.Component {
15754
15762
  __self: this,
15755
15763
  __source: {
15756
15764
  fileName: _jsxFileName$1,
15757
- lineNumber: 420
15765
+ lineNumber: 422
15758
15766
  }
15759
15767
  }, React$2.createElement(MenuItem, {
15760
15768
  value: "non-negative-integers",
15761
15769
  __self: this,
15762
15770
  __source: {
15763
15771
  fileName: _jsxFileName$1,
15764
- lineNumber: 425
15772
+ lineNumber: 427
15765
15773
  }
15766
15774
  }, "Numeric - Non-Negative Integers"), React$2.createElement(MenuItem, {
15767
15775
  value: "integers",
15768
15776
  __self: this,
15769
15777
  __source: {
15770
15778
  fileName: _jsxFileName$1,
15771
- lineNumber: 426
15779
+ lineNumber: 428
15772
15780
  }
15773
15781
  }, "Numeric - Integers"), React$2.createElement(MenuItem, {
15774
15782
  value: "decimals",
15775
15783
  __self: this,
15776
15784
  __source: {
15777
15785
  fileName: _jsxFileName$1,
15778
- lineNumber: 427
15786
+ lineNumber: 429
15779
15787
  }
15780
15788
  }, "Numeric - Decimals"), React$2.createElement(MenuItem, {
15781
15789
  value: "fractions",
15782
15790
  __self: this,
15783
15791
  __source: {
15784
15792
  fileName: _jsxFileName$1,
15785
- lineNumber: 428
15793
+ lineNumber: 430
15786
15794
  }
15787
15795
  }, "Numeric - Fractions"), React$2.createElement(MenuItem, {
15788
15796
  value: 1,
15789
15797
  __self: this,
15790
15798
  __source: {
15791
15799
  fileName: _jsxFileName$1,
15792
- lineNumber: 429
15800
+ lineNumber: 431
15793
15801
  }
15794
15802
  }, "Grade 1 - 2"), React$2.createElement(MenuItem, {
15795
15803
  value: 3,
15796
15804
  __self: this,
15797
15805
  __source: {
15798
15806
  fileName: _jsxFileName$1,
15799
- lineNumber: 430
15807
+ lineNumber: 432
15800
15808
  }
15801
15809
  }, "Grade 3 - 5"), React$2.createElement(MenuItem, {
15802
15810
  value: 6,
15803
15811
  __self: this,
15804
15812
  __source: {
15805
15813
  fileName: _jsxFileName$1,
15806
- lineNumber: 431
15814
+ lineNumber: 433
15807
15815
  }
15808
15816
  }, "Grade 6 - 7"), React$2.createElement(MenuItem, {
15809
15817
  value: 8,
15810
15818
  __self: this,
15811
15819
  __source: {
15812
15820
  fileName: _jsxFileName$1,
15813
- lineNumber: 432
15821
+ lineNumber: 434
15814
15822
  }
15815
15823
  }, "Grade 8 - HS"), React$2.createElement(MenuItem, {
15816
15824
  value: 'geometry',
15817
15825
  __self: this,
15818
15826
  __source: {
15819
15827
  fileName: _jsxFileName$1,
15820
- lineNumber: 433
15828
+ lineNumber: 435
15821
15829
  }
15822
15830
  }, "Geometry"), React$2.createElement(MenuItem, {
15823
15831
  value: 'advanced-algebra',
15824
15832
  __self: this,
15825
15833
  __source: {
15826
15834
  fileName: _jsxFileName$1,
15827
- lineNumber: 434
15835
+ lineNumber: 436
15828
15836
  }
15829
15837
  }, "Advanced Algebra"), React$2.createElement(MenuItem, {
15830
15838
  value: 'statistics',
15831
15839
  __self: this,
15832
15840
  __source: {
15833
15841
  fileName: _jsxFileName$1,
15834
- lineNumber: 435
15842
+ lineNumber: 437
15835
15843
  }
15836
15844
  }, "Statistics"), React$2.createElement(MenuItem, {
15837
15845
  value: 'item-authoring',
15838
15846
  __self: this,
15839
15847
  __source: {
15840
15848
  fileName: _jsxFileName$1,
15841
- lineNumber: 436
15849
+ lineNumber: 438
15842
15850
  }
15843
15851
  }, "Item Authoring"))), React$2.createElement('div', {
15844
15852
  className: classes.responseTemplate,
@@ -15846,14 +15854,14 @@ class GeneralConfigBlock extends React$2.Component {
15846
15854
  __self: this,
15847
15855
  __source: {
15848
15856
  fileName: _jsxFileName$1,
15849
- lineNumber: 440
15857
+ lineNumber: 442
15850
15858
  }
15851
15859
  }, React$2.createElement(InputLabel, {
15852
15860
  className: classes.templateTitle,
15853
15861
  __self: this,
15854
15862
  __source: {
15855
15863
  fileName: _jsxFileName$1,
15856
- lineNumber: 441
15864
+ lineNumber: 443
15857
15865
  }
15858
15866
  }, "RESPONSE TEMPLATE"), React$2.createElement(MathToolbar, {
15859
15867
  classNames: classNames,
@@ -15870,14 +15878,14 @@ class GeneralConfigBlock extends React$2.Component {
15870
15878
  __self: this,
15871
15879
  __source: {
15872
15880
  fileName: _jsxFileName$1,
15873
- lineNumber: 442
15881
+ lineNumber: 444
15874
15882
  }
15875
15883
  })), responseAreasError && React$2.createElement('div', {
15876
15884
  className: classes.errorText,
15877
15885
  __self: this,
15878
15886
  __source: {
15879
15887
  fileName: _jsxFileName$1,
15880
- lineNumber: 457
15888
+ lineNumber: 459
15881
15889
  }
15882
15890
  }, responseAreasError)), React$2.createElement('div', {
15883
15891
  className: classes.flexContainer,
@@ -15887,14 +15895,14 @@ class GeneralConfigBlock extends React$2.Component {
15887
15895
  __self: this,
15888
15896
  __source: {
15889
15897
  fileName: _jsxFileName$1,
15890
- lineNumber: 461
15898
+ lineNumber: 463
15891
15899
  }
15892
15900
  }, React$2.createElement('div', {
15893
15901
  className: classes.title,
15894
15902
  __self: this,
15895
15903
  __source: {
15896
15904
  fileName: _jsxFileName$1,
15897
- lineNumber: 462
15905
+ lineNumber: 464
15898
15906
  }
15899
15907
  }, "Define Correct Response"), responseType === ResponseTypes.simple ? validationTooltip : null), React$2.createElement(InputContainer$1, {
15900
15908
  label: "Equation Editor",
@@ -15902,7 +15910,7 @@ class GeneralConfigBlock extends React$2.Component {
15902
15910
  __self: this,
15903
15911
  __source: {
15904
15912
  fileName: _jsxFileName$1,
15905
- lineNumber: 466
15913
+ lineNumber: 468
15906
15914
  }
15907
15915
  }, React$2.createElement(Select, {
15908
15916
  className: classes.select,
@@ -15911,91 +15919,91 @@ class GeneralConfigBlock extends React$2.Component {
15911
15919
  __self: this,
15912
15920
  __source: {
15913
15921
  fileName: _jsxFileName$1,
15914
- lineNumber: 467
15922
+ lineNumber: 469
15915
15923
  }
15916
15924
  }, React$2.createElement(MenuItem, {
15917
15925
  value: "non-negative-integers",
15918
15926
  __self: this,
15919
15927
  __source: {
15920
15928
  fileName: _jsxFileName$1,
15921
- lineNumber: 468
15929
+ lineNumber: 470
15922
15930
  }
15923
15931
  }, "Numeric - Non-Negative Integers"), React$2.createElement(MenuItem, {
15924
15932
  value: "integers",
15925
15933
  __self: this,
15926
15934
  __source: {
15927
15935
  fileName: _jsxFileName$1,
15928
- lineNumber: 469
15936
+ lineNumber: 471
15929
15937
  }
15930
15938
  }, "Numeric - Integers"), React$2.createElement(MenuItem, {
15931
15939
  value: "decimals",
15932
15940
  __self: this,
15933
15941
  __source: {
15934
15942
  fileName: _jsxFileName$1,
15935
- lineNumber: 470
15943
+ lineNumber: 472
15936
15944
  }
15937
15945
  }, "Numeric - Decimals"), React$2.createElement(MenuItem, {
15938
15946
  value: "fractions",
15939
15947
  __self: this,
15940
15948
  __source: {
15941
15949
  fileName: _jsxFileName$1,
15942
- lineNumber: 471
15950
+ lineNumber: 473
15943
15951
  }
15944
15952
  }, "Numeric - Fractions"), React$2.createElement(MenuItem, {
15945
15953
  value: 1,
15946
15954
  __self: this,
15947
15955
  __source: {
15948
15956
  fileName: _jsxFileName$1,
15949
- lineNumber: 472
15957
+ lineNumber: 474
15950
15958
  }
15951
15959
  }, "Grade 1 - 2"), React$2.createElement(MenuItem, {
15952
15960
  value: 3,
15953
15961
  __self: this,
15954
15962
  __source: {
15955
15963
  fileName: _jsxFileName$1,
15956
- lineNumber: 473
15964
+ lineNumber: 475
15957
15965
  }
15958
15966
  }, "Grade 3 - 5"), React$2.createElement(MenuItem, {
15959
15967
  value: 6,
15960
15968
  __self: this,
15961
15969
  __source: {
15962
15970
  fileName: _jsxFileName$1,
15963
- lineNumber: 474
15971
+ lineNumber: 476
15964
15972
  }
15965
15973
  }, "Grade 6 - 7"), React$2.createElement(MenuItem, {
15966
15974
  value: 8,
15967
15975
  __self: this,
15968
15976
  __source: {
15969
15977
  fileName: _jsxFileName$1,
15970
- lineNumber: 475
15978
+ lineNumber: 477
15971
15979
  }
15972
15980
  }, "Grade 8 - HS"), React$2.createElement(MenuItem, {
15973
15981
  value: 'geometry',
15974
15982
  __self: this,
15975
15983
  __source: {
15976
15984
  fileName: _jsxFileName$1,
15977
- lineNumber: 476
15985
+ lineNumber: 478
15978
15986
  }
15979
15987
  }, "Geometry"), React$2.createElement(MenuItem, {
15980
15988
  value: 'advanced-algebra',
15981
15989
  __self: this,
15982
15990
  __source: {
15983
15991
  fileName: _jsxFileName$1,
15984
- lineNumber: 477
15992
+ lineNumber: 479
15985
15993
  }
15986
15994
  }, "Advanced Algebra"), React$2.createElement(MenuItem, {
15987
15995
  value: 'statistics',
15988
15996
  __self: this,
15989
15997
  __source: {
15990
15998
  fileName: _jsxFileName$1,
15991
- lineNumber: 478
15999
+ lineNumber: 480
15992
16000
  }
15993
16001
  }, "Statistics"), React$2.createElement(MenuItem, {
15994
16002
  value: 'item-authoring',
15995
16003
  __self: this,
15996
16004
  __source: {
15997
16005
  fileName: _jsxFileName$1,
15998
- lineNumber: 479
16006
+ lineNumber: 481
15999
16007
  }
16000
16008
  }, "Item Authoring"))), responsesToUse.map((response, idx) => React$2.createElement(Response$1, {
16001
16009
  key: response.id,
@@ -16010,7 +16018,7 @@ class GeneralConfigBlock extends React$2.Component {
16010
16018
  __self: this,
16011
16019
  __source: {
16012
16020
  fileName: _jsxFileName$1,
16013
- lineNumber: 484
16021
+ lineNumber: 486
16014
16022
  }
16015
16023
  })), rationaleEnabled && React$2.createElement(InputContainer$1, {
16016
16024
  label: cRationale.label,
@@ -16018,7 +16026,7 @@ class GeneralConfigBlock extends React$2.Component {
16018
16026
  __self: this,
16019
16027
  __source: {
16020
16028
  fileName: _jsxFileName$1,
16021
- lineNumber: 498
16029
+ lineNumber: 500
16022
16030
  }
16023
16031
  }, React$2.createElement(EditableHtml$1, {
16024
16032
  className: classes.prompt,
@@ -16026,6 +16034,7 @@ class GeneralConfigBlock extends React$2.Component {
16026
16034
  onChange: this.onChange('rationale'),
16027
16035
  imageSupport: imageSupport,
16028
16036
  nonEmpty: false,
16037
+ error: rationaleError,
16029
16038
  toolbarOpts: toolbarOpts,
16030
16039
  pluginProps: getPluginProps(_optionalChain$2([cRationale, 'optionalAccess', _2 => _2.inputConfiguration]), {
16031
16040
  ...baseInputConfiguration,
@@ -16046,9 +16055,16 @@ class GeneralConfigBlock extends React$2.Component {
16046
16055
  __self: this,
16047
16056
  __source: {
16048
16057
  fileName: _jsxFileName$1,
16049
- lineNumber: 499
16058
+ lineNumber: 501
16050
16059
  }
16051
- })));
16060
+ }), rationaleError && React$2.createElement('div', {
16061
+ className: classes.errorText,
16062
+ __self: this,
16063
+ __source: {
16064
+ fileName: _jsxFileName$1,
16065
+ lineNumber: 522
16066
+ }
16067
+ }, rationaleError)));
16052
16068
  }
16053
16069
  }
16054
16070
  GeneralConfigBlock.__initStatic();
@@ -16090,6 +16106,11 @@ const styles = theme => ({
16090
16106
  width: '100%',
16091
16107
  paddingTop: theme.spacing.unit * 2,
16092
16108
  marginBottom: theme.spacing.unit * 2
16109
+ },
16110
+ errorText: {
16111
+ fontSize: theme.typography.fontSize - 2,
16112
+ color: theme.palette.error.main,
16113
+ paddingTop: theme.spacing.unit
16093
16114
  }
16094
16115
  });
16095
16116
  class Configure extends React$1.Component {
@@ -16133,7 +16154,8 @@ class Configure extends React$1.Component {
16133
16154
  render() {
16134
16155
  const {classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport} = this.props;
16135
16156
  const {allowTrailingZeros = {}, baseInputConfiguration = {}, contentDimensions = {}, feedback = {}, ignoreOrder = {}, maxImageWidth = {}, maxImageHeight = {}, prompt = {}, rationale = {}, responseType = {}, scoringType = {}, settingsPanelDisabled, spellCheck = {}, studentInstructions = {}, teacherInstructions = {}, withRubric = {}, mathMlOptions = {}, language = {}, languageChoices = {}} = configuration || ({});
16136
- const {feedbackEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, teacherInstructionsEnabled, toolbarEditorPosition} = model || ({});
16157
+ const {errors = {}, feedbackEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, teacherInstructionsEnabled, toolbarEditorPosition} = model || ({});
16158
+ const {teacherInstructions: teacherInstructionsError} = errors;
16137
16159
  log$1('[render] model', model);
16138
16160
  const toolbarOpts = {
16139
16161
  position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
@@ -16172,13 +16194,13 @@ class Configure extends React$1.Component {
16172
16194
  __self: this,
16173
16195
  __source: {
16174
16196
  fileName: _jsxFileName,
16175
- lineNumber: 114
16197
+ lineNumber: 122
16176
16198
  }
16177
16199
  }),
16178
16200
  __self: this,
16179
16201
  __source: {
16180
16202
  fileName: _jsxFileName,
16181
- lineNumber: 110
16203
+ lineNumber: 118
16182
16204
  }
16183
16205
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
16184
16206
  label: teacherInstructions.label,
@@ -16186,7 +16208,7 @@ class Configure extends React$1.Component {
16186
16208
  __self: this,
16187
16209
  __source: {
16188
16210
  fileName: _jsxFileName,
16189
- lineNumber: 127
16211
+ lineNumber: 135
16190
16212
  }
16191
16213
  }, React$1.createElement(EditableHtml, {
16192
16214
  className: classes.prompt,
@@ -16194,6 +16216,7 @@ class Configure extends React$1.Component {
16194
16216
  onChange: this.changeTeacherInstructions,
16195
16217
  imageSupport: imageSupport,
16196
16218
  nonEmpty: false,
16219
+ error: teacherInstructionsError,
16197
16220
  toolbarOpts: toolbarOpts,
16198
16221
  pluginProps: getPluginProps(_optionalChain$1([teacherInstructions, 'optionalAccess', _3 => _3.inputConfiguration]), baseInputConfiguration),
16199
16222
  spellCheck: spellCheckEnabled,
@@ -16209,9 +16232,16 @@ class Configure extends React$1.Component {
16209
16232
  __self: this,
16210
16233
  __source: {
16211
16234
  fileName: _jsxFileName,
16212
- lineNumber: 128
16235
+ lineNumber: 136
16236
+ }
16237
+ }), teacherInstructionsError && React$1.createElement('div', {
16238
+ className: classes.errorText,
16239
+ __self: this,
16240
+ __source: {
16241
+ fileName: _jsxFileName,
16242
+ lineNumber: 152
16213
16243
  }
16214
- })), React$1.createElement(GeneralConfigBlock$1, {
16244
+ }, teacherInstructionsError)), React$1.createElement(GeneralConfigBlock$1, {
16215
16245
  imageSupport: imageSupport,
16216
16246
  uploadSoundSupport: uploadSoundSupport,
16217
16247
  model: model,
@@ -16224,7 +16254,7 @@ class Configure extends React$1.Component {
16224
16254
  __self: this,
16225
16255
  __source: {
16226
16256
  fileName: _jsxFileName,
16227
- lineNumber: 146
16257
+ lineNumber: 156
16228
16258
  }
16229
16259
  }), feedbackEnabled && React$1.createElement(FeedbackConfig, {
16230
16260
  feedback: model.feedback,
@@ -16233,7 +16263,7 @@ class Configure extends React$1.Component {
16233
16263
  __self: this,
16234
16264
  __source: {
16235
16265
  fileName: _jsxFileName,
16236
- lineNumber: 159
16266
+ lineNumber: 169
16237
16267
  }
16238
16268
  }));
16239
16269
  }
@@ -16372,7 +16402,8 @@ var defaults = {
16372
16402
  image: {
16373
16403
  disabled: false
16374
16404
  }
16375
- }
16405
+ },
16406
+ required: false
16376
16407
  },
16377
16408
  feedback: {
16378
16409
  settings: true,
@@ -16395,7 +16426,8 @@ var defaults = {
16395
16426
  image: {
16396
16427
  disabled: false
16397
16428
  }
16398
- }
16429
+ },
16430
+ required: false
16399
16431
  },
16400
16432
  settingsPanelDisabled: false,
16401
16433
  spellCheck: {
@@ -16424,7 +16456,8 @@ var defaults = {
16424
16456
  image: {
16425
16457
  disabled: false
16426
16458
  }
16427
- }
16459
+ },
16460
+ required: false
16428
16461
  },
16429
16462
  partialScoring: {
16430
16463
  settings: false,
@@ -4500,10 +4500,20 @@ const createCorrectResponseSession = (question, env) => {
4500
4500
  }
4501
4501
  };
4502
4502
 
4503
+ // remove all html tags except img and iframe
4504
+ const getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');
4505
+
4503
4506
  const validate = (model = {}, config = {}) => {
4504
4507
  const { expression = '', responses, responseType } = model;
4505
4508
  const { maxResponseAreas } = config;
4506
4509
  const responsesErrors = {};
4510
+ const errors = {};
4511
+
4512
+ ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {
4513
+ if (config[field]?.required && !getContent(model[field])) {
4514
+ errors[field] = 'This field is required.';
4515
+ }
4516
+ });
4507
4517
 
4508
4518
  (responses || []).forEach((response, index) => {
4509
4519
  const { answer } = response;
@@ -4533,8 +4543,6 @@ const validate = (model = {}, config = {}) => {
4533
4543
  }
4534
4544
  });
4535
4545
 
4536
- const errors = {};
4537
-
4538
4546
  if (responseType === 'Advanced Multi') {
4539
4547
  const nbOfResponseAreas = (expression.match(/\{\{response\}\}/g) || []).length;
4540
4548
 
package/module/element.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.1/module/index.js";
2
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@4.0.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) {
@@ -12605,7 +12605,8 @@ utils.getPluginProps = getPluginProps;
12605
12605
  image: {
12606
12606
  disabled: false
12607
12607
  }
12608
- }
12608
+ },
12609
+ required: false
12609
12610
  },
12610
12611
  feedback: {
12611
12612
  settings: true,
@@ -12628,7 +12629,8 @@ utils.getPluginProps = getPluginProps;
12628
12629
  image: {
12629
12630
  disabled: false
12630
12631
  }
12631
- }
12632
+ },
12633
+ required: false
12632
12634
  },
12633
12635
  settingsPanelDisabled: false,
12634
12636
  spellCheck: {
@@ -12657,7 +12659,8 @@ utils.getPluginProps = getPluginProps;
12657
12659
  image: {
12658
12660
  disabled: false
12659
12661
  }
12660
- }
12662
+ },
12663
+ required: false
12661
12664
  },
12662
12665
  partialScoring: {
12663
12666
  settings: false,
@@ -4,7 +4,7 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "1.5.0"
7
+ "version": "1.5.1"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
package/module/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.5.1/module/index.js";
2
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@4.0.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) {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "7.11.1-next.0+18816ef1d",
7
+ "version": "7.11.1-next.33+8fc82ab19",
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": "1.12.1",
17
+ "@pie-lib/pie-toolbox": "1.12.2",
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": "18816ef1de94386135b7da95e4e932fbd20cc75a",
27
+ "gitHead": "8fc82ab19baf45aecb40e4b364a7c307a9840130",
28
28
  "module": "src/index.js",
29
29
  "exports": {
30
30
  ".": "./src/index.js",