@pie-element/multiple-choice 9.4.1-next.0 → 9.4.1-next.13

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,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.2.1/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.3.0/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.2.1/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) {
@@ -8212,6 +8212,143 @@ Checkbox$2.default = _default$3;
8212
8212
  var _Checkbox = _interopRequireDefault(Checkbox$2);
8213
8213
  })(Checkbox$3);
8214
8214
  var Checkbox = getDefaultExportFromCjs(Checkbox$3);
8215
+ var Radio$3 = {};
8216
+ var Radio$2 = {};
8217
+ var RadioButtonUnchecked$1 = {};
8218
+ const require$$1$2 = _dll_react;
8219
+ var _interopRequireDefault$3 = interopRequireDefault.exports;
8220
+ Object.defineProperty(RadioButtonUnchecked$1, "__esModule", {
8221
+ value: true
8222
+ });
8223
+ RadioButtonUnchecked$1.default = void 0;
8224
+ var _react$2 = _interopRequireDefault$3(require$$1$2);
8225
+ var _pure$1 = _interopRequireDefault$3(pure$1);
8226
+ var _SvgIcon$1 = _interopRequireDefault$3(SvgIcon$2);
8227
+ var _ref$2 = _react$2.default.createElement("path", {
8228
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
8229
+ });
8230
+ var RadioButtonUnchecked = function RadioButtonUnchecked(props) {
8231
+ return _react$2.default.createElement(_SvgIcon$1.default, props, _ref$2);
8232
+ };
8233
+ RadioButtonUnchecked = (0, _pure$1.default)(RadioButtonUnchecked);
8234
+ RadioButtonUnchecked.muiName = 'SvgIcon';
8235
+ var _default$2 = RadioButtonUnchecked;
8236
+ RadioButtonUnchecked$1.default = _default$2;
8237
+ var RadioButtonChecked$1 = {};
8238
+ const require$$1$1 = _dll_react;
8239
+ var _interopRequireDefault$2 = interopRequireDefault.exports;
8240
+ Object.defineProperty(RadioButtonChecked$1, "__esModule", {
8241
+ value: true
8242
+ });
8243
+ RadioButtonChecked$1.default = void 0;
8244
+ var _react$1 = _interopRequireDefault$2(require$$1$1);
8245
+ var _pure = _interopRequireDefault$2(pure$1);
8246
+ var _SvgIcon = _interopRequireDefault$2(SvgIcon$2);
8247
+ var _ref$1 = _react$1.default.createElement("path", {
8248
+ d: "M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
8249
+ });
8250
+ var RadioButtonChecked = function RadioButtonChecked(props) {
8251
+ return _react$1.default.createElement(_SvgIcon.default, props, _ref$1);
8252
+ };
8253
+ RadioButtonChecked = (0, _pure.default)(RadioButtonChecked);
8254
+ RadioButtonChecked.muiName = 'SvgIcon';
8255
+ var _default$1 = RadioButtonChecked;
8256
+ RadioButtonChecked$1.default = _default$1;
8257
+ const require$$3$1 = _dll_react;
8258
+ const require$$4 = _dll_prop_types;
8259
+ const require$$5 = _dll_classnames;
8260
+ var _interopRequireDefault$1 = interopRequireDefault.exports;
8261
+ Object.defineProperty(Radio$2, "__esModule", {
8262
+ value: true
8263
+ });
8264
+ Radio$2.default = Radio$2.styles = void 0;
8265
+ var _extends2 = _interopRequireDefault$1(_extends$1.exports);
8266
+ var _objectWithoutProperties2 = _interopRequireDefault$1(objectWithoutProperties.exports);
8267
+ var _react = _interopRequireDefault$1(require$$3$1);
8268
+ var _propTypes = _interopRequireDefault$1(require$$4);
8269
+ var _classnames = _interopRequireDefault$1(require$$5);
8270
+ var _SwitchBase = _interopRequireDefault$1(SwitchBase$1);
8271
+ var _RadioButtonUnchecked = _interopRequireDefault$1(RadioButtonUnchecked$1);
8272
+ var _RadioButtonChecked = _interopRequireDefault$1(RadioButtonChecked$1);
8273
+ var _helpers = helpers;
8274
+ var _withStyles = _interopRequireDefault$1(withStyles);
8275
+ var styles$2 = function styles(theme) {
8276
+ return {
8277
+ root: {
8278
+ color: theme.palette.text.secondary
8279
+ },
8280
+ checked: {},
8281
+ disabled: {},
8282
+ colorPrimary: {
8283
+ '&$checked': {
8284
+ color: theme.palette.primary.main
8285
+ },
8286
+ '&$disabled': {
8287
+ color: theme.palette.action.disabled
8288
+ }
8289
+ },
8290
+ colorSecondary: {
8291
+ '&$checked': {
8292
+ color: theme.palette.secondary.main
8293
+ },
8294
+ '&$disabled': {
8295
+ color: theme.palette.action.disabled
8296
+ }
8297
+ }
8298
+ };
8299
+ };
8300
+ Radio$2.styles = styles$2;
8301
+ var _ref = _react.default.createElement(_RadioButtonUnchecked.default, null);
8302
+ var _ref2 = _react.default.createElement(_RadioButtonChecked.default, null);
8303
+ function Radio$1(props) {
8304
+ var classes = props.classes, color = props.color, other = (0, _objectWithoutProperties2.default)(props, ["classes", "color"]);
8305
+ return _react.default.createElement(_SwitchBase.default, (0, _extends2.default)({
8306
+ type: "radio",
8307
+ icon: _ref,
8308
+ checkedIcon: _ref2,
8309
+ classes: {
8310
+ root: (0, _classnames.default)(classes.root, classes[("color").concat((0, _helpers.capitalize)(color))]),
8311
+ checked: classes.checked,
8312
+ disabled: classes.disabled
8313
+ }
8314
+ }, other));
8315
+ }
8316
+ Radio$1.propTypes = {
8317
+ checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),
8318
+ checkedIcon: _propTypes.default.node,
8319
+ classes: _propTypes.default.object.isRequired,
8320
+ color: _propTypes.default.oneOf(['primary', 'secondary', 'default']),
8321
+ disabled: _propTypes.default.bool,
8322
+ disableRipple: _propTypes.default.bool,
8323
+ icon: _propTypes.default.node,
8324
+ id: _propTypes.default.string,
8325
+ inputProps: _propTypes.default.object,
8326
+ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
8327
+ onChange: _propTypes.default.func,
8328
+ type: _propTypes.default.string,
8329
+ value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.bool])
8330
+ };
8331
+ Radio$1.defaultProps = {
8332
+ color: 'secondary'
8333
+ };
8334
+ var _default = (0, _withStyles.default)(styles$2, {
8335
+ name: 'MuiRadio'
8336
+ })(Radio$1);
8337
+ Radio$2.default = _default;
8338
+ (function (exports) {
8339
+ var _interopRequireDefault = interopRequireDefault.exports;
8340
+ Object.defineProperty(exports, "__esModule", {
8341
+ value: true
8342
+ });
8343
+ Object.defineProperty(exports, "default", {
8344
+ enumerable: true,
8345
+ get: function get() {
8346
+ return _Radio.default;
8347
+ }
8348
+ });
8349
+ var _Radio = _interopRequireDefault(Radio$2);
8350
+ })(Radio$3);
8351
+ var Radio = getDefaultExportFromCjs(Radio$3);
8215
8352
  var CSSTransition = {
8216
8353
  exports: {}
8217
8354
  };
@@ -8248,14 +8385,14 @@ var removeClass = function removeClass(element, className) {
8248
8385
  if (element.classList) element.classList.remove(className); else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className); else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
8249
8386
  };
8250
8387
  const require$$0$1 = _dll_prop_types;
8251
- const require$$3$1 = _dll_react;
8388
+ const require$$3 = _dll_react;
8252
8389
  (function (module, exports) {
8253
8390
  exports.__esModule = true;
8254
8391
  exports.default = void 0;
8255
8392
  var PropTypes = _interopRequireWildcard(require$$0$1);
8256
8393
  var _addClass = _interopRequireDefault(addClass.exports);
8257
8394
  var _removeClass = _interopRequireDefault(removeClass);
8258
- var _react = _interopRequireDefault(require$$3$1);
8395
+ var _react = _interopRequireDefault(require$$3);
8259
8396
  var _Transition = _interopRequireDefault(Transition$1);
8260
8397
  var _PropTypes = PropTypes$6;
8261
8398
  function _interopRequireDefault(obj) {
@@ -8433,13 +8570,13 @@ var ReplaceTransition = {
8433
8570
  exports: {}
8434
8571
  };
8435
8572
  const require$$0 = _dll_prop_types;
8436
- const require$$1$2 = _dll_react;
8573
+ const require$$1 = _dll_react;
8437
8574
  const require$$2 = _dll_react_dom;
8438
8575
  (function (module, exports) {
8439
8576
  exports.__esModule = true;
8440
8577
  exports.default = void 0;
8441
8578
  var _propTypes = _interopRequireDefault(require$$0);
8442
- var _react = _interopRequireDefault(require$$1$2);
8579
+ var _react = _interopRequireDefault(require$$1);
8443
8580
  var _reactDom = require$$2;
8444
8581
  var _TransitionGroup = _interopRequireDefault(TransitionGroup.exports);
8445
8582
  function _interopRequireDefault(obj) {
@@ -8553,11 +8690,11 @@ const require$$2 = _dll_react_dom;
8553
8690
  module.exports = exports["default"];
8554
8691
  })(ReplaceTransition, ReplaceTransition.exports);
8555
8692
  getDefaultExportFromCjs(ReplaceTransition.exports);
8556
- var _CSSTransition = _interopRequireDefault$3(CSSTransition.exports);
8557
- var _ReplaceTransition = _interopRequireDefault$3(ReplaceTransition.exports);
8558
- var _TransitionGroup = _interopRequireDefault$3(TransitionGroup.exports);
8559
- var _Transition = _interopRequireDefault$3(Transition$1);
8560
- function _interopRequireDefault$3(obj) {
8693
+ var _CSSTransition = _interopRequireDefault(CSSTransition.exports);
8694
+ var _ReplaceTransition = _interopRequireDefault(ReplaceTransition.exports);
8695
+ var _TransitionGroup = _interopRequireDefault(TransitionGroup.exports);
8696
+ var _Transition = _interopRequireDefault(Transition$1);
8697
+ function _interopRequireDefault(obj) {
8561
8698
  return obj && obj.__esModule ? obj : {
8562
8699
  default: obj
8563
8700
  };
@@ -8736,143 +8873,6 @@ FeedbackTick.__initStatic();
8736
8873
  var FeedbackTick$1 = styles$b.withStyles(stylesheet, {
8737
8874
  name: 'FeedbackTick'
8738
8875
  })(FeedbackTick);
8739
- var Radio$3 = {};
8740
- var Radio$2 = {};
8741
- var RadioButtonUnchecked$1 = {};
8742
- const require$$1$1 = _dll_react;
8743
- var _interopRequireDefault$2 = interopRequireDefault.exports;
8744
- Object.defineProperty(RadioButtonUnchecked$1, "__esModule", {
8745
- value: true
8746
- });
8747
- RadioButtonUnchecked$1.default = void 0;
8748
- var _react$2 = _interopRequireDefault$2(require$$1$1);
8749
- var _pure$1 = _interopRequireDefault$2(pure$1);
8750
- var _SvgIcon$1 = _interopRequireDefault$2(SvgIcon$2);
8751
- var _ref$2 = _react$2.default.createElement("path", {
8752
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
8753
- });
8754
- var RadioButtonUnchecked = function RadioButtonUnchecked(props) {
8755
- return _react$2.default.createElement(_SvgIcon$1.default, props, _ref$2);
8756
- };
8757
- RadioButtonUnchecked = (0, _pure$1.default)(RadioButtonUnchecked);
8758
- RadioButtonUnchecked.muiName = 'SvgIcon';
8759
- var _default$2 = RadioButtonUnchecked;
8760
- RadioButtonUnchecked$1.default = _default$2;
8761
- var RadioButtonChecked$1 = {};
8762
- const require$$1 = _dll_react;
8763
- var _interopRequireDefault$1 = interopRequireDefault.exports;
8764
- Object.defineProperty(RadioButtonChecked$1, "__esModule", {
8765
- value: true
8766
- });
8767
- RadioButtonChecked$1.default = void 0;
8768
- var _react$1 = _interopRequireDefault$1(require$$1);
8769
- var _pure = _interopRequireDefault$1(pure$1);
8770
- var _SvgIcon = _interopRequireDefault$1(SvgIcon$2);
8771
- var _ref$1 = _react$1.default.createElement("path", {
8772
- d: "M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
8773
- });
8774
- var RadioButtonChecked = function RadioButtonChecked(props) {
8775
- return _react$1.default.createElement(_SvgIcon.default, props, _ref$1);
8776
- };
8777
- RadioButtonChecked = (0, _pure.default)(RadioButtonChecked);
8778
- RadioButtonChecked.muiName = 'SvgIcon';
8779
- var _default$1 = RadioButtonChecked;
8780
- RadioButtonChecked$1.default = _default$1;
8781
- const require$$3 = _dll_react;
8782
- const require$$4 = _dll_prop_types;
8783
- const require$$5 = _dll_classnames;
8784
- var _interopRequireDefault = interopRequireDefault.exports;
8785
- Object.defineProperty(Radio$2, "__esModule", {
8786
- value: true
8787
- });
8788
- Radio$2.default = Radio$2.styles = void 0;
8789
- var _extends2 = _interopRequireDefault(_extends$1.exports);
8790
- var _objectWithoutProperties2 = _interopRequireDefault(objectWithoutProperties.exports);
8791
- var _react = _interopRequireDefault(require$$3);
8792
- var _propTypes = _interopRequireDefault(require$$4);
8793
- var _classnames = _interopRequireDefault(require$$5);
8794
- var _SwitchBase = _interopRequireDefault(SwitchBase$1);
8795
- var _RadioButtonUnchecked = _interopRequireDefault(RadioButtonUnchecked$1);
8796
- var _RadioButtonChecked = _interopRequireDefault(RadioButtonChecked$1);
8797
- var _helpers = helpers;
8798
- var _withStyles = _interopRequireDefault(withStyles);
8799
- var styles$2 = function styles(theme) {
8800
- return {
8801
- root: {
8802
- color: theme.palette.text.secondary
8803
- },
8804
- checked: {},
8805
- disabled: {},
8806
- colorPrimary: {
8807
- '&$checked': {
8808
- color: theme.palette.primary.main
8809
- },
8810
- '&$disabled': {
8811
- color: theme.palette.action.disabled
8812
- }
8813
- },
8814
- colorSecondary: {
8815
- '&$checked': {
8816
- color: theme.palette.secondary.main
8817
- },
8818
- '&$disabled': {
8819
- color: theme.palette.action.disabled
8820
- }
8821
- }
8822
- };
8823
- };
8824
- Radio$2.styles = styles$2;
8825
- var _ref = _react.default.createElement(_RadioButtonUnchecked.default, null);
8826
- var _ref2 = _react.default.createElement(_RadioButtonChecked.default, null);
8827
- function Radio$1(props) {
8828
- var classes = props.classes, color = props.color, other = (0, _objectWithoutProperties2.default)(props, ["classes", "color"]);
8829
- return _react.default.createElement(_SwitchBase.default, (0, _extends2.default)({
8830
- type: "radio",
8831
- icon: _ref,
8832
- checkedIcon: _ref2,
8833
- classes: {
8834
- root: (0, _classnames.default)(classes.root, classes[("color").concat((0, _helpers.capitalize)(color))]),
8835
- checked: classes.checked,
8836
- disabled: classes.disabled
8837
- }
8838
- }, other));
8839
- }
8840
- Radio$1.propTypes = {
8841
- checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),
8842
- checkedIcon: _propTypes.default.node,
8843
- classes: _propTypes.default.object.isRequired,
8844
- color: _propTypes.default.oneOf(['primary', 'secondary', 'default']),
8845
- disabled: _propTypes.default.bool,
8846
- disableRipple: _propTypes.default.bool,
8847
- icon: _propTypes.default.node,
8848
- id: _propTypes.default.string,
8849
- inputProps: _propTypes.default.object,
8850
- inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
8851
- onChange: _propTypes.default.func,
8852
- type: _propTypes.default.string,
8853
- value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.bool])
8854
- };
8855
- Radio$1.defaultProps = {
8856
- color: 'secondary'
8857
- };
8858
- var _default = (0, _withStyles.default)(styles$2, {
8859
- name: 'MuiRadio'
8860
- })(Radio$1);
8861
- Radio$2.default = _default;
8862
- (function (exports) {
8863
- var _interopRequireDefault = interopRequireDefault.exports;
8864
- Object.defineProperty(exports, "__esModule", {
8865
- value: true
8866
- });
8867
- Object.defineProperty(exports, "default", {
8868
- enumerable: true,
8869
- get: function get() {
8870
- return _Radio.default;
8871
- }
8872
- });
8873
- var _Radio = _interopRequireDefault(Radio$2);
8874
- })(Radio$3);
8875
- var Radio = getDefaultExportFromCjs(Radio$3);
8876
8876
  const React$4 = _dll_react;
8877
8877
  const PropTypes$3 = _dll_prop_types;
8878
8878
  const classNames$2 = _dll_classnames;
@@ -8903,6 +8903,24 @@ const styleSheet = theme => ({
8903
8903
  [`& .${CLASS_NAME}`]: {
8904
8904
  paddingRight: theme.spacing.unit
8905
8905
  }
8906
+ },
8907
+ belowLayout: {
8908
+ '& > label': {
8909
+ alignItems: 'flex-start'
8910
+ }
8911
+ },
8912
+ belowLayoutCenter: {
8913
+ justifyContent: 'center',
8914
+ '& > label': {
8915
+ alignItems: 'center'
8916
+ }
8917
+ },
8918
+ belowSelectionComponent: {
8919
+ display: 'flex',
8920
+ alignItems: 'center',
8921
+ '& > span': {
8922
+ paddingLeft: 0
8923
+ }
8906
8924
  }
8907
8925
  });
8908
8926
  const formStyleSheet = {
@@ -8928,7 +8946,7 @@ const StyledFormControlLabel = styles$b.withStyles(formStyleSheet, {
8928
8946
  __self: undefined,
8929
8947
  __source: {
8930
8948
  fileName: _jsxFileName$3,
8931
- lineNumber: 56
8949
+ lineNumber: 74
8932
8950
  }
8933
8951
  }));
8934
8952
  const colorStyle = (varName, fallback) => ({
@@ -8985,7 +9003,7 @@ const StyledCheckbox = styles$b.withStyles(inputStyles)(props => {
8985
9003
  __self: undefined,
8986
9004
  __source: {
8987
9005
  fileName: _jsxFileName$3,
8988
- lineNumber: 101
9006
+ lineNumber: 119
8989
9007
  }
8990
9008
  });
8991
9009
  });
@@ -9017,7 +9035,7 @@ const StyledRadio = styles$b.withStyles(inputStyles)(props => {
9017
9035
  __self: undefined,
9018
9036
  __source: {
9019
9037
  fileName: _jsxFileName$3,
9020
- lineNumber: 129
9038
+ lineNumber: 147
9021
9039
  }
9022
9040
  });
9023
9041
  });
@@ -9040,7 +9058,8 @@ class ChoiceInput extends React$4.Component {
9040
9058
  hideTick: PropTypes$3.bool,
9041
9059
  isEvaluateMode: PropTypes$3.bool,
9042
9060
  choicesLayout: PropTypes$3.oneOf(['vertical', 'grid', 'horizontal']),
9043
- updateSession: PropTypes$3.func
9061
+ updateSession: PropTypes$3.func,
9062
+ isSelectionButtonBelow: PropTypes$3.bool
9044
9063
  };
9045
9064
  }
9046
9065
  static __initStatic2() {
@@ -9067,18 +9086,20 @@ class ChoiceInput extends React$4.Component {
9067
9086
  return 'choice-' + (Math.random() * 10000).toFixed();
9068
9087
  }
9069
9088
  render() {
9070
- const {choiceMode, disabled, displayKey, feedback, label, correctness, classes, className, rationale, accessibility, hideTick, isEvaluateMode, choicesLayout, value, checked} = this.props;
9089
+ const {choiceMode, disabled, displayKey, feedback, label, correctness, classes, className, rationale, accessibility, hideTick, isEvaluateMode, choicesLayout, value, checked, isSelectionButtonBelow} = this.props;
9071
9090
  const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;
9072
9091
  const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';
9073
9092
  const holderClassNames = classNames$2(classes.checkboxHolder, {
9074
- [classes.horizontalLayout]: choicesLayout === 'horizontal'
9093
+ [classes.horizontalLayout]: choicesLayout === 'horizontal',
9094
+ [classes.belowLayout]: isSelectionButtonBelow && choicesLayout !== 'grid',
9095
+ [classes.belowLayoutCenter]: isSelectionButtonBelow && choicesLayout === 'grid'
9075
9096
  });
9076
- const choicelabel = React$4.createElement(React$4.Fragment, null, displayKey ? React$4.createElement('span', {
9097
+ const choicelabel = React$4.createElement(React$4.Fragment, null, displayKey && !isSelectionButtonBelow ? React$4.createElement('span', {
9077
9098
  className: classes.row,
9078
9099
  __self: this,
9079
9100
  __source: {
9080
9101
  fileName: _jsxFileName$3,
9081
- lineNumber: 219
9102
+ lineNumber: 242
9082
9103
  }
9083
9104
  }, displayKey, ".", '\u00A0', React$4.createElement(PreviewPrompt$1, {
9084
9105
  className: "label",
@@ -9087,7 +9108,7 @@ class ChoiceInput extends React$4.Component {
9087
9108
  __self: this,
9088
9109
  __source: {
9089
9110
  fileName: _jsxFileName$3,
9090
- lineNumber: 221
9111
+ lineNumber: 244
9091
9112
  }
9092
9113
  })) : React$4.createElement(PreviewPrompt$1, {
9093
9114
  className: "label",
@@ -9096,7 +9117,7 @@ class ChoiceInput extends React$4.Component {
9096
9117
  __self: this,
9097
9118
  __source: {
9098
9119
  fileName: _jsxFileName$3,
9099
- lineNumber: 224
9120
+ lineNumber: 247
9100
9121
  }
9101
9122
  }));
9102
9123
  return React$4.createElement('div', {
@@ -9104,30 +9125,64 @@ class ChoiceInput extends React$4.Component {
9104
9125
  __self: this,
9105
9126
  __source: {
9106
9127
  fileName: _jsxFileName$3,
9107
- lineNumber: 230
9128
+ lineNumber: 253
9108
9129
  }
9109
9130
  }, React$4.createElement('div', {
9110
9131
  className: classes.row,
9111
9132
  __self: this,
9112
9133
  __source: {
9113
9134
  fileName: _jsxFileName$3,
9114
- lineNumber: 231
9135
+ lineNumber: 254
9115
9136
  }
9116
9137
  }, !hideTick && isEvaluateMode && React$4.createElement(FeedbackTick$1, {
9117
9138
  correctness: correctness,
9118
9139
  __self: this,
9119
9140
  __source: {
9120
9141
  fileName: _jsxFileName$3,
9121
- lineNumber: 232
9142
+ lineNumber: 255
9122
9143
  }
9123
9144
  }), React$4.createElement('div', {
9124
9145
  className: classNames$2(holderClassNames, 'checkbox-holder'),
9125
9146
  __self: this,
9126
9147
  __source: {
9127
9148
  fileName: _jsxFileName$3,
9128
- lineNumber: 233
9149
+ lineNumber: 256
9150
+ }
9151
+ }, isSelectionButtonBelow ? React$4.createElement(StyledFormControlLabel, {
9152
+ label: choicelabel,
9153
+ value: value,
9154
+ htmlFor: this.choiceId,
9155
+ labelPlacement: 'top',
9156
+ control: React$4.createElement('span', {
9157
+ className: classes.belowSelectionComponent,
9158
+ __self: this,
9159
+ __source: {
9160
+ fileName: _jsxFileName$3,
9161
+ lineNumber: 264
9162
+ }
9163
+ }, React$4.createElement(Tag, {
9164
+ accessibility: accessibility,
9165
+ disabled: disabled,
9166
+ checked: checked,
9167
+ correctness: correctness,
9168
+ value: value,
9169
+ id: this.choiceId,
9170
+ onChange: this.onToggleChoice,
9171
+ style: {
9172
+ padding: 0
9173
+ },
9174
+ __self: this,
9175
+ __source: {
9176
+ fileName: _jsxFileName$3,
9177
+ lineNumber: 265
9178
+ }
9179
+ }), displayKey, "."),
9180
+ __self: this,
9181
+ __source: {
9182
+ fileName: _jsxFileName$3,
9183
+ lineNumber: 258
9129
9184
  }
9130
- }, React$4.createElement(StyledFormControlLabel, {
9185
+ }) : React$4.createElement(StyledFormControlLabel, {
9131
9186
  label: choicelabel,
9132
9187
  value: value,
9133
9188
  htmlFor: this.choiceId,
@@ -9142,13 +9197,13 @@ class ChoiceInput extends React$4.Component {
9142
9197
  __self: this,
9143
9198
  __source: {
9144
9199
  fileName: _jsxFileName$3,
9145
- lineNumber: 239
9200
+ lineNumber: 285
9146
9201
  }
9147
9202
  }),
9148
9203
  __self: this,
9149
9204
  __source: {
9150
9205
  fileName: _jsxFileName$3,
9151
- lineNumber: 234
9206
+ lineNumber: 280
9152
9207
  }
9153
9208
  }))), rationale && React$4.createElement(PreviewPrompt$1, {
9154
9209
  className: "rationale",
@@ -9157,7 +9212,7 @@ class ChoiceInput extends React$4.Component {
9157
9212
  __self: this,
9158
9213
  __source: {
9159
9214
  fileName: _jsxFileName$3,
9160
- lineNumber: 252
9215
+ lineNumber: 297
9161
9216
  }
9162
9217
  }), React$4.createElement(Feedback, {
9163
9218
  feedback: feedback,
@@ -9165,7 +9220,7 @@ class ChoiceInput extends React$4.Component {
9165
9220
  __self: this,
9166
9221
  __source: {
9167
9222
  fileName: _jsxFileName$3,
9168
- lineNumber: 253
9223
+ lineNumber: 298
9169
9224
  }
9170
9225
  }));
9171
9226
  }
@@ -9196,7 +9251,7 @@ class Choice extends React$3.Component {
9196
9251
  };
9197
9252
  }
9198
9253
  render() {
9199
- const {choice, index, choicesLength, showCorrect, isEvaluateMode, choiceMode, disabled, checked, correctness, displayKey, classes, choicesLayout, gridColumns, updateSession} = this.props;
9254
+ const {choice, index, choicesLength, showCorrect, isEvaluateMode, choiceMode, disabled, checked, correctness, displayKey, classes, choicesLayout, gridColumns, updateSession, isSelectionButtonBelow} = this.props;
9200
9255
  const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');
9201
9256
  const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;
9202
9257
  const choiceProps = {
@@ -9212,7 +9267,8 @@ class Choice extends React$3.Component {
9212
9267
  gridColumns,
9213
9268
  updateSession,
9214
9269
  onChange: this.onChange,
9215
- isEvaluateMode
9270
+ isEvaluateMode,
9271
+ isSelectionButtonBelow
9216
9272
  };
9217
9273
  const names = classNames$1(classes.choice, {
9218
9274
  [classes.noBorder]: index === choicesLength - 1 || choicesLayout !== 'vertical',
@@ -9224,7 +9280,7 @@ class Choice extends React$3.Component {
9224
9280
  __self: this,
9225
9281
  __source: {
9226
9282
  fileName: _jsxFileName$2,
9227
- lineNumber: 63
9283
+ lineNumber: 66
9228
9284
  }
9229
9285
  }, React$3.createElement(ChoiceInput$1, {
9230
9286
  ...choiceProps,
@@ -9232,7 +9288,7 @@ class Choice extends React$3.Component {
9232
9288
  __self: this,
9233
9289
  __source: {
9234
9290
  fileName: _jsxFileName$2,
9235
- lineNumber: 64
9291
+ lineNumber: 67
9236
9292
  }
9237
9293
  }));
9238
9294
  }
@@ -9252,7 +9308,8 @@ Choice.propTypes = {
9252
9308
  correctness: PropTypes$2.string,
9253
9309
  displayKey: PropTypes$2.string,
9254
9310
  choicesLayout: PropTypes$2.oneOf(['vertical', 'grid', 'horizontal']),
9255
- gridColumns: PropTypes$2.string
9311
+ gridColumns: PropTypes$2.string,
9312
+ isSelectionButtonBelow: PropTypes$2.bool
9256
9313
  };
9257
9314
  var StyledChoice = styles$b.withStyles(theme => ({
9258
9315
  choice: {
@@ -9341,7 +9398,8 @@ class MultipleChoice extends React$2.Component {
9341
9398
  alwaysShowCorrect: PropTypes$1.bool,
9342
9399
  animationsDisabled: PropTypes$1.bool,
9343
9400
  language: PropTypes$1.string,
9344
- onShowCorrectToggle: PropTypes$1.func
9401
+ onShowCorrectToggle: PropTypes$1.func,
9402
+ isSelectionButtonBelow: PropTypes$1.bool
9345
9403
  };
9346
9404
  }
9347
9405
  constructor(props) {
@@ -9468,19 +9526,19 @@ class MultipleChoice extends React$2.Component {
9468
9526
  __self: this,
9469
9527
  __source: {
9470
9528
  fileName: _jsxFileName$1,
9471
- lineNumber: 208
9529
+ lineNumber: 210
9472
9530
  }
9473
9531
  }, "Multiple Choice Question") : React$2.createElement('h2', {
9474
9532
  className: classes.srOnly,
9475
9533
  __self: this,
9476
9534
  __source: {
9477
9535
  fileName: _jsxFileName$1,
9478
- lineNumber: 210
9536
+ lineNumber: 212
9479
9537
  }
9480
9538
  }, "Multiple Select Question");
9481
9539
  }
9482
9540
  render() {
9483
- const {mode, disabled, className, choices = [], choiceMode, gridColumns, partLabel, prompt, onChoiceChanged, responseCorrect, teacherInstructions, classes, alwaysShowCorrect, animationsDisabled, language} = this.props;
9541
+ const {mode, disabled, className, choices = [], choiceMode, gridColumns, partLabel, prompt, onChoiceChanged, responseCorrect, teacherInstructions, classes, alwaysShowCorrect, animationsDisabled, language, isSelectionButtonBelow} = this.props;
9484
9542
  const {showCorrect} = this.state;
9485
9543
  const isEvaluateMode = mode === 'evaluate';
9486
9544
  const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
@@ -9495,7 +9553,7 @@ class MultipleChoice extends React$2.Component {
9495
9553
  __self: this,
9496
9554
  __source: {
9497
9555
  fileName: _jsxFileName$1,
9498
- lineNumber: 238
9556
+ lineNumber: 241
9499
9557
  }
9500
9558
  });
9501
9559
  return React$2.createElement('div', {
@@ -9503,21 +9561,21 @@ class MultipleChoice extends React$2.Component {
9503
9561
  __self: this,
9504
9562
  __source: {
9505
9563
  fileName: _jsxFileName$1,
9506
- lineNumber: 247
9564
+ lineNumber: 250
9507
9565
  }
9508
9566
  }, partLabel && React$2.createElement('h3', {
9509
9567
  className: classes.partLabel,
9510
9568
  __self: this,
9511
9569
  __source: {
9512
9570
  fileName: _jsxFileName$1,
9513
- lineNumber: 248
9571
+ lineNumber: 251
9514
9572
  }
9515
9573
  }, partLabel), this.renderHeading(), teacherInstructions && React$2.createElement('div', {
9516
9574
  className: classes.teacherInstructions,
9517
9575
  __self: this,
9518
9576
  __source: {
9519
9577
  fileName: _jsxFileName$1,
9520
- lineNumber: 253
9578
+ lineNumber: 256
9521
9579
  }
9522
9580
  }, !animationsDisabled ? React$2.createElement(Collapsible, {
9523
9581
  labels: {
@@ -9527,14 +9585,14 @@ class MultipleChoice extends React$2.Component {
9527
9585
  __self: this,
9528
9586
  __source: {
9529
9587
  fileName: _jsxFileName$1,
9530
- lineNumber: 255
9588
+ lineNumber: 258
9531
9589
  }
9532
9590
  }, teacherInstructionsDiv) : teacherInstructionsDiv), React$2.createElement('fieldset', {
9533
9591
  className: classes.fieldset,
9534
9592
  __self: this,
9535
9593
  __source: {
9536
9594
  fileName: _jsxFileName$1,
9537
- lineNumber: 269
9595
+ lineNumber: 272
9538
9596
  }
9539
9597
  }, React$2.createElement(PreviewPrompt, {
9540
9598
  className: "prompt",
@@ -9544,7 +9602,7 @@ class MultipleChoice extends React$2.Component {
9544
9602
  __self: this,
9545
9603
  __source: {
9546
9604
  fileName: _jsxFileName$1,
9547
- lineNumber: 270
9605
+ lineNumber: 273
9548
9606
  }
9549
9607
  }), !alwaysShowCorrect && React$2.createElement(CorrectAnswerToggle, {
9550
9608
  show: showCorrectAnswerToggle,
@@ -9554,7 +9612,7 @@ class MultipleChoice extends React$2.Component {
9554
9612
  __self: this,
9555
9613
  __source: {
9556
9614
  fileName: _jsxFileName$1,
9557
- lineNumber: 273
9615
+ lineNumber: 276
9558
9616
  }
9559
9617
  }), React$2.createElement('div', {
9560
9618
  className: classNames({
@@ -9565,7 +9623,7 @@ class MultipleChoice extends React$2.Component {
9565
9623
  __self: this,
9566
9624
  __source: {
9567
9625
  fileName: _jsxFileName$1,
9568
- lineNumber: 281
9626
+ lineNumber: 284
9569
9627
  }
9570
9628
  }, choices.map((choice, index) => React$2.createElement(StyledChoice, {
9571
9629
  choicesLayout: this.props.choicesLayout,
@@ -9584,10 +9642,11 @@ class MultipleChoice extends React$2.Component {
9584
9642
  checked: this.getChecked(choice),
9585
9643
  correctness: isEvaluateMode ? this.getCorrectness(choice) : undefined,
9586
9644
  displayKey: this.indexToSymbol(index),
9645
+ isSelectionButtonBelow: isSelectionButtonBelow,
9587
9646
  __self: this,
9588
9647
  __source: {
9589
9648
  fileName: _jsxFileName$1,
9590
- lineNumber: 289
9649
+ lineNumber: 292
9591
9650
  }
9592
9651
  })))));
9593
9652
  }