@pie-element/multiple-choice 9.7.2-next.17 → 9.7.2-next.22

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.
@@ -8,7 +8,7 @@
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "2.6.1",
11
+ "@pie-lib/pie-toolbox": "2.7.0",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "prop-types": "^15.6.2",
@@ -8,7 +8,7 @@
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/pie-toolbox": "2.6.1",
11
+ "@pie-lib/pie-toolbox": "2.7.0",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  }
package/lib/index.js CHANGED
@@ -33,6 +33,8 @@ var _debounce = _interopRequireDefault(require("lodash/debounce"));
33
33
 
34
34
  var _debug = _interopRequireDefault(require("debug"));
35
35
 
36
+ var _piePlayerEvents = require("@pie-framework/pie-player-events");
37
+
36
38
  var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
37
39
 
38
40
  var _sessionUpdater = require("./session-updater");
@@ -50,7 +52,8 @@ var isComplete = function isComplete(session, model) {
50
52
 
51
53
  var _ref = model || {},
52
54
  choiceMode = _ref.choiceMode,
53
- minSelections = _ref.minSelections,
55
+ _ref$minSelections = _ref.minSelections,
56
+ minSelections = _ref$minSelections === void 0 ? 1 : _ref$minSelections,
54
57
  maxSelections = _ref.maxSelections;
55
58
 
56
59
  var selections = session.value.length || 0;
@@ -108,27 +111,10 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
108
111
  trailing: true
109
112
  });
110
113
  _this._dispatchResponseChanged = (0, _debounce["default"])(function () {
111
- var event = new CustomEvent('session-changed', {
112
- bubbles: true,
113
- composed: true,
114
- detail: {
115
- complete: isComplete(_this._session, _this._model),
116
- component: _this.tagName.toLowerCase()
117
- }
118
- });
119
-
120
- _this.dispatchEvent(event);
114
+ _this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(_this.tagName.toLowerCase(), isComplete(_this._session, _this._model)));
121
115
  });
122
116
  _this._dispatchModelSet = (0, _debounce["default"])(function () {
123
- _this.dispatchEvent(new CustomEvent('model-set', {
124
- bubbles: true,
125
- composed: true,
126
- detail: {
127
- complete: isComplete(_this._session, _this._model),
128
- component: _this.tagName.toLowerCase(),
129
- hasModel: _this._model !== undefined
130
- }
131
- }));
117
+ _this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(_this.tagName.toLowerCase(), isComplete(_this._session, _this._model), _this._model !== undefined));
132
118
  }, 50, {
133
119
  leading: false,
134
120
  trailing: true
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","choiceMode","minSelections","maxSelections","selections","length","MultipleChoice","_model","_session","_rerender","element","React","createElement","Main","onChoiceChanged","_onChange","bind","onShowCorrectToggle","setAttribute","setLangAttribute","ReactDOM","render","leading","trailing","_dispatchResponseChanged","event","CustomEvent","bubbles","composed","detail","complete","component","tagName","toLowerCase","dispatchEvent","_dispatchModelSet","hasModel","undefined","language","lang","slice","s","data","HTMLElement"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session, model) => {\n if (!session || !session.value) {\n return false;\n }\n\n const { choiceMode, minSelections, maxSelections } = model || {};\n const selections = session.value.length || 0;\n\n if (choiceMode === 'radio') {\n return !!selections;\n }\n\n if (selections < minSelections || selections > maxSelections) {\n return false;\n }\n\n return true;\n};\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\n onShowCorrectToggle: this.onShowCorrectToggle.bind(this),\n });\n\n //TODO: aria-label is set in the _rerender because we need to change it when the model.choiceMode is updated. Consider revisiting the placement of the aria-label setting in the _rerender\n this.setAttribute(\n 'aria-label',\n this._model.choiceMode === 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question',\n );\n this.setAttribute('role', 'region');\n this.setLangAttribute();\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n\n this._dispatchResponseChanged = debounce(() => {\n var event = new CustomEvent('session-changed', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n },\n });\n\n this.dispatchEvent(event);\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n hasModel: this._model !== undefined,\n },\n }),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n onShowCorrectToggle() {\n renderMath(this);\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","choiceMode","minSelections","maxSelections","selections","length","MultipleChoice","_model","_session","_rerender","element","React","createElement","Main","onChoiceChanged","_onChange","bind","onShowCorrectToggle","setAttribute","setLangAttribute","ReactDOM","render","leading","trailing","_dispatchResponseChanged","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","_dispatchModelSet","ModelSetEvent","undefined","language","lang","slice","s","data","HTMLElement"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session, model) => {\n if (!session || !session.value) {\n return false;\n }\n\n const { choiceMode, minSelections = 1, maxSelections } = model || {};\n const selections = session.value.length || 0;\n\n if (choiceMode === 'radio') {\n return !!selections;\n }\n\n if (selections < minSelections || selections > maxSelections) {\n return false;\n }\n\n return true;\n};\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\n onShowCorrectToggle: this.onShowCorrectToggle.bind(this),\n });\n\n //TODO: aria-label is set in the _rerender because we need to change it when the model.choiceMode is updated. Consider revisiting the placement of the aria-label setting in the _rerender\n this.setAttribute(\n 'aria-label',\n this._model.choiceMode === 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question',\n );\n this.setAttribute('role', 'region');\n this.setLangAttribute();\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n\n this._dispatchResponseChanged = debounce(() => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new ModelSetEvent(\n this.tagName.toLowerCase(),\n isComplete(this._session, this._model),\n this._model !== undefined,\n ),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n onShowCorrectToggle() {\n renderMath(this);\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"file":"index.js"}
@@ -1,5 +1,5 @@
1
1
  import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.0.1/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_editable_html, _dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@5.7.1/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_editable_html, _dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@5.7.2/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;
package/module/element.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.0.1/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.7.1/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.7.2/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;
@@ -1381,8 +1381,8 @@ function createMuiTheme() {
1381
1381
  var _default$C = createMuiTheme;
1382
1382
  createMuiTheme$1.default = _default$C;
1383
1383
  var jssPreset$1 = {};
1384
+ var lib$8 = {};
1384
1385
  var lib$7 = {};
1385
- var lib$6 = {};
1386
1386
  var getDynamicStyles = {};
1387
1387
  (function (exports) {
1388
1388
  Object.defineProperty(exports, "__esModule", {
@@ -3631,8 +3631,8 @@ getDefaultExportFromCjs(Jss);
3631
3631
  return new _Jss2['default'](options);
3632
3632
  };
3633
3633
  exports['default'] = create();
3634
- })(lib$6);
3635
- getDefaultExportFromCjs(lib$6);
3634
+ })(lib$7);
3635
+ getDefaultExportFromCjs(lib$7);
3636
3636
  (function (exports) {
3637
3637
  Object.defineProperty(exports, "__esModule", {
3638
3638
  value: true
@@ -3665,7 +3665,7 @@ getDefaultExportFromCjs(lib$6);
3665
3665
  };
3666
3666
  })();
3667
3667
  exports['default'] = jssGlobal;
3668
- var _jss = lib$6;
3668
+ var _jss = lib$7;
3669
3669
  function _classCallCheck(instance, Constructor) {
3670
3670
  if (!(instance instanceof Constructor)) {
3671
3671
  throw new TypeError("Cannot call a class as a function");
@@ -3792,9 +3792,9 @@ getDefaultExportFromCjs(lib$6);
3792
3792
  onProcessRule: onProcessRule
3793
3793
  };
3794
3794
  }
3795
- })(lib$7);
3796
- getDefaultExportFromCjs(lib$7);
3797
- var lib$5 = {};
3795
+ })(lib$8);
3796
+ getDefaultExportFromCjs(lib$8);
3797
+ var lib$6 = {};
3798
3798
  var warning = function () {};
3799
3799
  {
3800
3800
  warning = function (condition, format, args) {
@@ -3824,7 +3824,7 @@ var warning = function () {};
3824
3824
  };
3825
3825
  }
3826
3826
  var browser = warning;
3827
- Object.defineProperty(lib$5, "__esModule", {
3827
+ Object.defineProperty(lib$6, "__esModule", {
3828
3828
  value: true
3829
3829
  });
3830
3830
  var _extends = Object.assign || (function (target) {
@@ -3838,7 +3838,7 @@ var _extends = Object.assign || (function (target) {
3838
3838
  }
3839
3839
  return target;
3840
3840
  });
3841
- lib$5.default = jssNested;
3841
+ lib$6.default = jssNested;
3842
3842
  var _warning$6 = browser;
3843
3843
  var _warning2 = _interopRequireDefault$A(_warning$6);
3844
3844
  function _interopRequireDefault$A(obj) {
@@ -3916,7 +3916,7 @@ function jssNested() {
3916
3916
  onProcessStyle: onProcessStyle
3917
3917
  };
3918
3918
  }
3919
- var lib$4 = {};
3919
+ var lib$5 = {};
3920
3920
  var uppercasePattern = /[A-Z]/g;
3921
3921
  var msPattern = /^ms-/;
3922
3922
  var cache = {};
@@ -3978,9 +3978,9 @@ var require$$0$6 = getAugmentedNamespace(hyphenateStyleName$1);
3978
3978
  onChangeValue: onChangeValue
3979
3979
  };
3980
3980
  }
3981
- })(lib$4);
3982
- getDefaultExportFromCjs(lib$4);
3983
- var lib$3 = {};
3981
+ })(lib$5);
3982
+ getDefaultExportFromCjs(lib$5);
3983
+ var lib$4 = {};
3984
3984
  var defaultUnits = {};
3985
3985
  (function (exports) {
3986
3986
  Object.defineProperty(exports, "__esModule", {
@@ -4171,10 +4171,10 @@ getDefaultExportFromCjs(defaultUnits);
4171
4171
  onChangeValue: onChangeValue
4172
4172
  };
4173
4173
  }
4174
- })(lib$3);
4175
- getDefaultExportFromCjs(lib$3);
4174
+ })(lib$4);
4175
+ getDefaultExportFromCjs(lib$4);
4176
+ var lib$3 = {};
4176
4177
  var lib$2 = {};
4177
- var lib$1 = {};
4178
4178
  var prefix = {};
4179
4179
  (function (exports) {
4180
4180
  Object.defineProperty(exports, "__esModule", {
@@ -4334,14 +4334,14 @@ getDefaultExportFromCjs(supportedValue);
4334
4334
  exports.prefix = _prefix2['default'];
4335
4335
  exports.supportedProperty = _supportedProperty2['default'];
4336
4336
  exports.supportedValue = _supportedValue2['default'];
4337
- })(lib$1);
4338
- getDefaultExportFromCjs(lib$1);
4337
+ })(lib$2);
4338
+ getDefaultExportFromCjs(lib$2);
4339
4339
  (function (exports) {
4340
4340
  Object.defineProperty(exports, "__esModule", {
4341
4341
  value: true
4342
4342
  });
4343
4343
  exports['default'] = jssVendorPrefixer;
4344
- var _cssVendor = lib$1;
4344
+ var _cssVendor = lib$2;
4345
4345
  var vendor = _interopRequireWildcard(_cssVendor);
4346
4346
  function _interopRequireWildcard(obj) {
4347
4347
  if (obj && obj.__esModule) {
@@ -4389,9 +4389,9 @@ getDefaultExportFromCjs(lib$1);
4389
4389
  onChangeValue: onChangeValue
4390
4390
  };
4391
4391
  }
4392
- })(lib$2);
4393
- getDefaultExportFromCjs(lib$2);
4394
- var lib = {};
4392
+ })(lib$3);
4393
+ getDefaultExportFromCjs(lib$3);
4394
+ var lib$1 = {};
4395
4395
  (function (exports) {
4396
4396
  Object.defineProperty(exports, "__esModule", {
4397
4397
  value: true
@@ -4414,19 +4414,19 @@ var lib = {};
4414
4414
  onProcessStyle: onProcessStyle
4415
4415
  };
4416
4416
  }
4417
- })(lib);
4418
- getDefaultExportFromCjs(lib);
4417
+ })(lib$1);
4418
+ getDefaultExportFromCjs(lib$1);
4419
4419
  var _interopRequireDefault$z = interopRequireDefault.exports;
4420
4420
  Object.defineProperty(jssPreset$1, "__esModule", {
4421
4421
  value: true
4422
4422
  });
4423
4423
  jssPreset$1.default = void 0;
4424
- var _jssGlobal = _interopRequireDefault$z(lib$7);
4425
- var _jssNested = _interopRequireDefault$z(lib$5);
4426
- var _jssCamelCase = _interopRequireDefault$z(lib$4);
4427
- var _jssDefaultUnit = _interopRequireDefault$z(lib$3);
4428
- var _jssVendorPrefixer = _interopRequireDefault$z(lib$2);
4429
- var _jssPropsSort = _interopRequireDefault$z(lib);
4424
+ var _jssGlobal = _interopRequireDefault$z(lib$8);
4425
+ var _jssNested = _interopRequireDefault$z(lib$6);
4426
+ var _jssCamelCase = _interopRequireDefault$z(lib$5);
4427
+ var _jssDefaultUnit = _interopRequireDefault$z(lib$4);
4428
+ var _jssVendorPrefixer = _interopRequireDefault$z(lib$3);
4429
+ var _jssPropsSort = _interopRequireDefault$z(lib$1);
4430
4430
  function jssPreset() {
4431
4431
  return {
4432
4432
  plugins: [(0, _jssGlobal.default)(), (0, _jssNested.default)(), (0, _jssCamelCase.default)(), (0, _jssDefaultUnit.default)(), typeof window === 'undefined' ? null : (0, _jssVendorPrefixer.default)(), (0, _jssPropsSort.default)()]
@@ -5026,7 +5026,7 @@ var _propTypes$d = _interopRequireDefault$u(require$$10$4);
5026
5026
  var _warning$2 = _interopRequireDefault$u(warning_1);
5027
5027
  var _hoistNonReactStatics$2 = _interopRequireDefault$u(hoistNonReactStatics_cjs);
5028
5028
  var _utils$7 = require$$7$1;
5029
- var _jss = lib$6;
5029
+ var _jss = lib$7;
5030
5030
  var _reactJssContext = _interopRequireDefault$u(reactJssContext);
5031
5031
  var _jssPreset = _interopRequireDefault$u(jssPreset$1);
5032
5032
  var _mergeClasses = _interopRequireDefault$u(mergeClasses$1);
@@ -8414,7 +8414,7 @@ var en = {};
8414
8414
  },
8415
8415
  imageClozeAssociation: {
8416
8416
  reachedLimit_one: 'You’ve reached the limit of {{count}} response per area. To add another response, one must first be removed.',
8417
- reachedLimit_other: 'You’ve reached the limit of {{count}} responses per area. To add another response, one must first be removed.'
8417
+ reachedLimit_other: 'Full'
8418
8418
  },
8419
8419
  drawingResponse: {
8420
8420
  fillColor: 'Fill color',
@@ -8507,7 +8507,7 @@ var es = {};
8507
8507
  },
8508
8508
  imageClozeAssociation: {
8509
8509
  reachedLimit_one: 'Has alcanzado el límite de {{count}} respuesta por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.',
8510
- reachedLimit_other: 'Has alcanzado el límite de {{count}} respuestas por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.'
8510
+ reachedLimit_other: 'Lleno'
8511
8511
  },
8512
8512
  drawingResponse: {
8513
8513
  fillColor: 'Color de relleno',
@@ -13003,6 +13003,43 @@ const Root = props => React$1.createElement(styles$b.MuiThemeProvider, {
13003
13003
  lineNumber: 59
13004
13004
  }
13005
13005
  }));
13006
+ var lib = {};
13007
+ Object.defineProperty(lib, "__esModule", {
13008
+ value: true
13009
+ });
13010
+ class ModelSetEvent extends CustomEvent {
13011
+ constructor(component, complete, hasModel) {
13012
+ super(ModelSetEvent.TYPE, {
13013
+ bubbles: true,
13014
+ composed: true,
13015
+ detail: {
13016
+ complete,
13017
+ component,
13018
+ hasModel
13019
+ }
13020
+ });
13021
+ this.component = component;
13022
+ this.complete = complete;
13023
+ }
13024
+ }
13025
+ ModelSetEvent.TYPE = 'model-set';
13026
+ var ModelSetEvent_1 = lib.ModelSetEvent = ModelSetEvent;
13027
+ class SessionChangedEvent extends CustomEvent {
13028
+ constructor(component, complete) {
13029
+ super(SessionChangedEvent.TYPE, {
13030
+ bubbles: true,
13031
+ composed: true,
13032
+ detail: {
13033
+ complete,
13034
+ component
13035
+ }
13036
+ });
13037
+ this.component = component;
13038
+ this.complete = complete;
13039
+ }
13040
+ }
13041
+ SessionChangedEvent.TYPE = 'session-changed';
13042
+ var SessionChangedEvent_1 = lib.SessionChangedEvent = SessionChangedEvent;
13006
13043
  const {concat: concat} = _dll_lodash;
13007
13044
  const {uniq: uniq} = _dll_lodash;
13008
13045
  const {without: without} = _dll_lodash;
@@ -13033,7 +13070,7 @@ const isComplete = (session, model) => {
13033
13070
  if (!session || !session.value) {
13034
13071
  return false;
13035
13072
  }
13036
- const {choiceMode, minSelections, maxSelections} = model || ({});
13073
+ const {choiceMode, minSelections = 1, maxSelections} = model || ({});
13037
13074
  const selections = session.value.length || 0;
13038
13075
  if (choiceMode === 'radio') {
13039
13076
  return !!selections;
@@ -13071,26 +13108,10 @@ class MultipleChoice extends HTMLElement {
13071
13108
  trailing: true
13072
13109
  });
13073
13110
  this._dispatchResponseChanged = debounce(() => {
13074
- var event = new CustomEvent('session-changed', {
13075
- bubbles: true,
13076
- composed: true,
13077
- detail: {
13078
- complete: isComplete(this._session, this._model),
13079
- component: this.tagName.toLowerCase()
13080
- }
13081
- });
13082
- this.dispatchEvent(event);
13111
+ this.dispatchEvent(new SessionChangedEvent_1(this.tagName.toLowerCase(), isComplete(this._session, this._model)));
13083
13112
  });
13084
13113
  this._dispatchModelSet = debounce(() => {
13085
- this.dispatchEvent(new CustomEvent('model-set', {
13086
- bubbles: true,
13087
- composed: true,
13088
- detail: {
13089
- complete: isComplete(this._session, this._model),
13090
- component: this.tagName.toLowerCase(),
13091
- hasModel: this._model !== undefined
13092
- }
13093
- }));
13114
+ this.dispatchEvent(new ModelSetEvent_1(this.tagName.toLowerCase(), isComplete(this._session, this._model), this._model !== undefined));
13094
13115
  }, 50, {
13095
13116
  leading: false,
13096
13117
  trailing: true
@@ -8,7 +8,7 @@
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
11
- "version": "5.7.1"
11
+ "version": "5.7.2"
12
12
  }
13
13
  ]
14
14
  }
package/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_lib__pie_toolbox_math_rendering, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.0.1/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.7.1/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.7.2/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;
@@ -8414,7 +8414,7 @@ var en = {};
8414
8414
  },
8415
8415
  imageClozeAssociation: {
8416
8416
  reachedLimit_one: 'You’ve reached the limit of {{count}} response per area. To add another response, one must first be removed.',
8417
- reachedLimit_other: 'You’ve reached the limit of {{count}} responses per area. To add another response, one must first be removed.'
8417
+ reachedLimit_other: 'Full'
8418
8418
  },
8419
8419
  drawingResponse: {
8420
8420
  fillColor: 'Fill color',
@@ -8507,7 +8507,7 @@ var es = {};
8507
8507
  },
8508
8508
  imageClozeAssociation: {
8509
8509
  reachedLimit_one: 'Has alcanzado el límite de {{count}} respuesta por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.',
8510
- reachedLimit_other: 'Has alcanzado el límite de {{count}} respuestas por área. Para agregar otra respuesta, primero se debe eliminar una respuesta.'
8510
+ reachedLimit_other: 'Lleno'
8511
8511
  },
8512
8512
  drawingResponse: {
8513
8513
  fillColor: 'Color de relleno',
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "9.7.2-next.17+71214d737",
4
+ "version": "9.7.2-next.22+6517bb532",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
- "@pie-lib/pie-toolbox": "2.6.1",
10
+ "@pie-framework/pie-player-events": "^0.1.0",
11
+ "@pie-lib/pie-toolbox": "2.7.0",
11
12
  "classnames": "^2.2.5",
12
13
  "debug": "^4.1.1",
13
14
  "enzyme-to-json": "^3.3.3",
@@ -18,7 +19,7 @@
18
19
  "react-test-renderer": "^16.3.2",
19
20
  "react-transition-group": "^2.3.1"
20
21
  },
21
- "gitHead": "71214d737ced7021645aaed70553dbe107bb97f3",
22
+ "gitHead": "6517bb532d2b416fdf57525a3d50c62c83fdc543",
22
23
  "scripts": {
23
24
  "postpublish": "../../scripts/postpublish"
24
25
  },