@pie-element/multiple-choice 13.4.0-beta.0 → 13.4.0
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/CHANGELOG.md +73 -11
- package/configure/CHANGELOG.md +59 -7
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/main.js +1 -1
- package/configure/lib/utils.js +1 -1
- package/configure/package.json +4 -4
- package/controller/CHANGELOG.md +18 -3
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/package.json +1 -1
- package/lib/choice-input.js +1 -1
- package/lib/choice.js +9 -2
- package/lib/choice.js.map +1 -1
- package/lib/feedback-tick.js +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/main.js +1 -1
- package/lib/multiple-choice.js +1 -1
- package/lib/print.js +1 -1
- package/lib/session-updater.js +1 -1
- package/lib/utils.js +1 -1
- package/module/configure.js +1 -1
- package/module/controller.js +12 -15
- package/module/element.js +1 -1
- package/module/index.html +1 -1
- package/module/manifest.json +3 -3
- package/module/print.html +1 -1
- package/module/print.js +1 -1
- package/package.json +4 -4
- package/configure/lib/__tests__/root.test.js +0 -279
- package/controller/lib/__tests__/index.test.js +0 -561
- package/controller/lib/__tests__/utils.test.js +0 -8
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/choice-input-test.js +0 -49
- package/lib/__tests__/choice-input.test.js +0 -49
- package/lib/__tests__/index-test.js +0 -206
- package/lib/__tests__/index.test.js +0 -221
- package/lib/__tests__/key-events-test.js +0 -95
- package/lib/__tests__/key-events.test.js +0 -107
- package/lib/__tests__/multiple-choice-test.js +0 -101
- package/lib/__tests__/multiple-choice.test.js +0 -256
- package/lib/__tests__/session-updater-test.js +0 -70
- package/lib/__tests__/session-updater.test.js +0 -70
package/lib/multiple-choice.js
CHANGED
|
@@ -396,4 +396,4 @@ MultipleChoice.defaultProps = {
|
|
|
396
396
|
}
|
|
397
397
|
};
|
|
398
398
|
var _default = exports.default = MultipleChoice;
|
|
399
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfY29ycmVjdEFuc3dlclRvZ2dsZSIsIl9jbGFzc25hbWVzIiwiX3N0eWxlcyIsIl9Cb3giLCJfcmVuZGVyVWkiLCJfdHJhbnNsYXRvciIsIl9jaG9pY2UiLCJfdXRpbHMiLCJ0cmFuc2xhdG9yIiwiVHJhbnNsYXRvciIsIk1haW5Db250YWluZXIiLCJzdHlsZWQiLCJCb3giLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicG9zaXRpb24iLCJib3JkZXIiLCJQYXJ0TGFiZWwiLCJ0aGVtZSIsImRpc3BsYXkiLCJmb250U2l6ZSIsIm1hcmdpbiIsImZvbnRXZWlnaHQiLCJwYWRkaW5nQm90dG9tIiwic3BhY2luZyIsIlRlYWNoZXJJbnN0cnVjdGlvbnMiLCJtYXJnaW5Cb3R0b20iLCJIb3Jpem9udGFsTGF5b3V0IiwiZmxleERpcmVjdGlvbiIsImZsZXhXcmFwIiwiR3JpZExheW91dCIsIlN0eWxlZEZpZWxkc2V0IiwicGFkZGluZyIsIm1pbldpZHRoIiwiU3JPbmx5IiwibGVmdCIsInRvcCIsIndpZHRoIiwiaGVpZ2h0Iiwib3ZlcmZsb3ciLCJFcnJvclRleHQiLCJ0eXBvZ3JhcGh5IiwicGFsZXR0ZSIsImVycm9yIiwibWFpbiIsInBhZGRpbmdUb3AiLCJNdWx0aXBsZUNob2ljZSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiZXZlbnQiLCJ2YWx1ZSIsImNoZWNrZWQiLCJ0YXJnZXQiLCJjaG9pY2VNb2RlIiwibWF4U2VsZWN0aW9ucyIsIm9uQ2hvaWNlQ2hhbmdlZCIsInNlc3Npb24iLCJyZWFjaGVkTWF4U2VsZWN0aW9ucyIsImxlbmd0aCIsInNldFN0YXRlIiwibWF4U2VsZWN0aW9uc0Vycm9yU3RhdGUiLCJzZWxlY3RlZCIsInNlbGVjdG9yIiwibW9kZSIsInNob3dDb3JyZWN0Iiwic3RhdGUiLCJvblNob3dDb3JyZWN0VG9nZ2xlIiwiY2hvaWNlIiwiaXNDb3JyZWN0IiwiY29ycmVjdCIsImlzQ2hlY2tlZCIsImlzU2VsZWN0ZWQiLCJ1bmRlZmluZWQiLCJvcHRpb25zIiwiYWx3YXlzU2hvd0NvcnJlY3QiLCJvblRvZ2dsZSIsImJpbmQiLCJncm91cE5hbWUiLCJNYXRoIiwicmFuZG9tIiwidG9TdHJpbmciLCJzbGljZSIsInNlc3Npb25WYWx1ZSIsImluZGV4T2YiLCJVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHRQcm9wcyIsImNvcnJlY3RSZXNwb25zZSIsImluZGV4VG9TeW1ib2wiLCJpbmRleCIsImtleU1vZGUiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJ0b1VwcGVyQ2FzZSIsImdldENoZWNrZWQiLCJpc1ByaW50TW9kZSIsImlzRXZhbHVhdGVNb2RlIiwicmVuZGVySGVhZGluZyIsImluY2x1ZGVTckhlYWRpbmciLCJiYXNlSGVhZGluZ0xldmVsIiwicGFydExhYmVsIiwic2hvdWxkUmVuZGVyU3JIZWFkaW5nIiwiY2xhbXBlZExldmVsIiwibWluIiwiSGVhZGluZ1RhZyIsIndpdGhDb21wb25lbnQiLCJsYWJlbCIsImNyZWF0ZUVsZW1lbnQiLCJyZW5kZXIiLCJkaXNhYmxlZCIsImNsYXNzTmFtZSIsImNob2ljZXMiLCJncmlkQ29sdW1ucyIsInByb21wdCIsInJlc3BvbnNlQ29ycmVjdCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJhbmltYXRpb25zRGlzYWJsZWQiLCJsYW5ndWFnZSIsImlzU2VsZWN0aW9uQnV0dG9uQmVsb3ciLCJtaW5TZWxlY3Rpb25zIiwiYXV0b3BsYXlBdWRpb0VuYWJsZWQiLCJjdXN0b21BdWRpb0J1dHRvbiIsInNob3dDb3JyZWN0QW5zd2VyVG9nZ2xlIiwiY29sdW1uc1N0eWxlIiwiZ3JpZFRlbXBsYXRlQ29sdW1ucyIsInNlbGVjdGlvbnMiLCJnZXRDb250ZW50SGVhZGluZ0xldmVsIiwib2Zmc2V0IiwiY29udGVudEhlYWRpbmdMZXZlbCIsInRyYW5zZm9ybVByb21wdCIsImh0bWwiLCJ0cmFuc2Zvcm1EYXRhSGVhZGluZ3MiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRGl2IiwiUHJldmlld1Byb21wdCIsInRhZ05hbWUiLCJkZWZhdWx0Q2xhc3NOYW1lIiwiZ2V0TXVsdGlwbGVDaG9pY2VNaW5TZWxlY3Rpb25FcnJvck1lc3NhZ2UiLCJ0IiwibG5nIiwiTGF5b3V0Q29tcG9uZW50IiwiY2hvaWNlc0xheW91dCIsImlkIiwiY2xhc3NOYW1lcyIsImFzIiwiQ29sbGFwc2libGUiLCJsYWJlbHMiLCJoaWRkZW4iLCJ2aXNpYmxlIiwicm9sZSIsInNob3ciLCJ0b2dnbGVkIiwic3R5bGUiLCJtYXAiLCJzZWxlY3RlZEFuc3dlckJhY2tncm91bmRDb2xvciIsInNlbGVjdGVkQW5zd2VyU3Ryb2tlQ29sb3IiLCJzZWxlY3RlZEFuc3dlclN0cm9rZVdpZHRoIiwiaG92ZXJBbnN3ZXJCYWNrZ3JvdW5kQ29sb3IiLCJob3ZlckFuc3dlclN0cm9rZUNvbG9yIiwiaG92ZXJBbnN3ZXJTdHJva2VXaWR0aCIsImtleSIsImNob2ljZXNMZW5ndGgiLCJoYW5kbGVDaGFuZ2UiLCJoaWRlVGljayIsImNvcnJlY3RuZXNzIiwiZ2V0Q29ycmVjdG5lc3MiLCJkaXNwbGF5S2V5IiwiZXhwb3J0cyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiYXJyYXkiLCJvYmplY3QiLCJib29sIiwiZnVuYyIsIm51bWJlciIsInBsYXlJbWFnZSIsInBhdXNlSW1hZ2UiLCJkZWZhdWx0UHJvcHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tdWx0aXBsZS1jaG9pY2UuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IEJveCBmcm9tICdAbXVpL21hdGVyaWFsL0JveCc7XG5pbXBvcnQgeyBjb2xvciwgQ29sbGFwc2libGUsIFByZXZpZXdQcm9tcHQsIHRyYW5zZm9ybURhdGFIZWFkaW5ncyB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICdAcGllLWxpYi90cmFuc2xhdG9yJztcblxuaW1wb3J0IENob2ljZSBmcm9tICcuL2Nob2ljZSc7XG5pbXBvcnQgeyByZWFjaGVkTWF4U2VsZWN0aW9ucyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IE1haW5Db250YWluZXIgPSBzdHlsZWQoQm94KSh7XG4gIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAnJiAqJzoge1xuICAgICctd2Via2l0LWZvbnQtc21vb3RoaW5nJzogJ2FudGlhbGlhc2VkJyxcbiAgfSxcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIC8vIHJlbW92ZSBib3JkZXIgZnJvbSBsZWdlbmQgdGFncyBpbnNpZGUgbWFpbiB0byBvdmVycmlkZSB0aGUgT1QgZGVmYXVsdCBzdHlsZXNcbiAgJyYgbGVnZW5kJzoge1xuICAgIGJvcmRlcjogJ25vbmUgIWltcG9ydGFudCcsXG4gIH0sXG59KTtcblxuY29uc3QgUGFydExhYmVsID0gc3R5bGVkKCdoMicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGRpc3BsYXk6ICdibG9jaycsXG4gIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gIG1hcmdpbjogJzAnLFxuICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgcGFkZGluZ0JvdHRvbTogdGhlbWUuc3BhY2luZygyKSxcbn0pKTtcblxuY29uc3QgVGVhY2hlckluc3RydWN0aW9ucyA9IHN0eWxlZChCb3gpKCh7IHRoZW1lIH0pID0+ICh7XG4gIG1hcmdpbkJvdHRvbTogdGhlbWUuc3BhY2luZygyKSxcbn0pKTtcblxuY29uc3QgSG9yaXpvbnRhbExheW91dCA9IHN0eWxlZChCb3gpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgZmxleFdyYXA6ICd3cmFwJyxcbn0pO1xuXG5jb25zdCBHcmlkTGF5b3V0ID0gc3R5bGVkKEJveCkoe1xuICBkaXNwbGF5OiAnZ3JpZCcsXG59KTtcblxuY29uc3QgU3R5bGVkRmllbGRzZXQgPSBzdHlsZWQoJ2ZpZWxkc2V0Jykoe1xuICBib3JkZXI6ICcwcHgnLFxuICBwYWRkaW5nOiAnMC4wMWVtIDAgMCAwJyxcbiAgbWFyZ2luOiAnMHB4JyxcbiAgbWluV2lkdGg6ICcwcHgnLFxufSk7XG5cbmNvbnN0IFNyT25seSA9IHN0eWxlZCgnaDMnKSh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICBsZWZ0OiAnLTEwMDAwcHgnLFxuICB0b3A6ICdhdXRvJyxcbiAgd2lkdGg6ICcxcHgnLFxuICBoZWlnaHQ6ICcxcHgnLFxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG59KTtcblxuY29uc3QgRXJyb3JUZXh0ID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSAtIDIsXG4gIGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4sXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmV4cG9ydCBjbGFzcyBNdWx0aXBsZUNob2ljZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGU6IFByb3BUeXBlcy5vbmVPZihbJ2dhdGhlcicsICd2aWV3JywgJ2V2YWx1YXRlJ10pLFxuICAgIGNob2ljZU1vZGU6IFByb3BUeXBlcy5vbmVPZihbJ3JhZGlvJywgJ2NoZWNrYm94J10pLFxuICAgIGtleU1vZGU6IFByb3BUeXBlcy5vbmVPZihbJ251bWJlcnMnLCAnbGV0dGVycycsICdub25lJ10pLFxuICAgIGNob2ljZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBwYXJ0TGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcHJvbXB0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2Vzc2lvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaG9pY2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZXNwb25zZUNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGNvcnJlY3RSZXNwb25zZTogUHJvcFR5cGVzLmFycmF5LFxuICAgIGNob2ljZXNMYXlvdXQ6IFByb3BUeXBlcy5vbmVPZihbJ3ZlcnRpY2FsJywgJ2dyaWQnLCAnaG9yaXpvbnRhbCddKSxcbiAgICBncmlkQ29sdW1uczogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBhbHdheXNTaG93Q29ycmVjdDogUHJvcFR5cGVzLmJvb2wsXG4gICAgYW5pbWF0aW9uc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzZWxlY3RlZEFuc3dlckJhY2tncm91bmRDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBzZWxlY3RlZEFuc3dlclN0cm9rZUNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNlbGVjdGVkQW5zd2VyU3Ryb2tlV2lkdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaG92ZXJBbnN3ZXJCYWNrZ3JvdW5kQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaG92ZXJBbnN3ZXJTdHJva2VDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBob3ZlckFuc3dlclN0cm9rZVdpZHRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG9uU2hvd0NvcnJlY3RUb2dnbGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzU2VsZWN0aW9uQnV0dG9uQmVsb3c6IFByb3BUeXBlcy5ib29sLFxuICAgIG1pblNlbGVjdGlvbnM6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgbWF4U2VsZWN0aW9uczogUHJvcFR5cGVzLm51bWJlcixcbiAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY3VzdG9tQXVkaW9CdXR0b246IHtcbiAgICAgIHBsYXlJbWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHBhdXNlSW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSxcbiAgICBvcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGJhc2VIZWFkaW5nTGV2ZWw6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgaW5jbHVkZVNySGVhZGluZzogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvd0NvcnJlY3Q6ICh0aGlzLnByb3BzLm9wdGlvbnMgJiYgdGhpcy5wcm9wcy5hbHdheXNTaG93Q29ycmVjdCkgfHwgZmFsc2UsXG4gICAgICBtYXhTZWxlY3Rpb25zRXJyb3JTdGF0ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMub25Ub2dnbGUgPSB0aGlzLm9uVG9nZ2xlLmJpbmQodGhpcyk7XG5cbiAgICAvLyBVbmlxdWUgcmFkaW8gYG5hbWVgIGF0dHJpYnV0ZSBwZXIgaW5zdGFuY2UsIHNvIHNlcGFyYXRlIE11bHRpcGxlQ2hvaWNlXG4gICAgLy8gaW5zdGFuY2VzIChlLmcuIFBhcnQgQSBhbmQgUGFydCBCIGluc2lkZSBFQlNSLCBvciB0d28gRUJTUnMgb24gdGhlIHNhbWVcbiAgICAvLyBwYWdlKSBhcmUgYWx3YXlzIHRyZWF0ZWQgYXMgaW5kZXBlbmRlbnQgcmFkaW8gZ3JvdXBzIGJ5IHRoZSBicm93c2VyLFxuICAgIC8vIHJlZ2FyZGxlc3Mgb2YgYW55IGxhYmVsLXJlbGF0ZWQgbW9kZWwgc2V0dGluZ3Mgb3IgYnVuZGxlIGRlZHVwbGljYXRpb24uXG4gICAgdGhpcy5ncm91cE5hbWUgPSBgbWMtZ3JvdXAtJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCAxMCl9YDtcbiAgfVxuXG4gIGlzU2VsZWN0ZWQodmFsdWUpIHtcbiAgICBjb25zdCBzZXNzaW9uVmFsdWUgPSB0aGlzLnByb3BzLnNlc3Npb24gJiYgdGhpcy5wcm9wcy5zZXNzaW9uLnZhbHVlO1xuXG4gICAgcmV0dXJuIHNlc3Npb25WYWx1ZSAmJiBzZXNzaW9uVmFsdWUuaW5kZXhPZiAmJiBzZXNzaW9uVmFsdWUuaW5kZXhPZih2YWx1ZSkgPj0gMDtcbiAgfVxuXG4gIC8vIGhhbmRsZUNoYW5nZSB3YXMgYWRkZWQgZm9yIGFjY2Vzc2liaWxpdHkuIFBsZWFzZSBzZWUgY29tbWVudHMgYW5kIHZpZGVvcyBmcm9tIFBELTI0NDEuXG4gIGhhbmRsZUNoYW5nZSA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIGNoZWNrZWQgfSA9IGV2ZW50LnRhcmdldDtcbiAgICBjb25zdCB7IGNob2ljZU1vZGUsIG1heFNlbGVjdGlvbnMsIG9uQ2hvaWNlQ2hhbmdlZCwgc2Vzc2lvbiB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjaG9pY2VNb2RlICE9PSAncmFkaW8nICYmIHNlc3Npb24udmFsdWUgJiYgcmVhY2hlZE1heFNlbGVjdGlvbnMoc2Vzc2lvbi52YWx1ZS5sZW5ndGgsIG1heFNlbGVjdGlvbnMpKSB7XG4gICAgICAvLyBzaG93L2hpZGUgbWF4IHNlbGVjdGlvbnMgZXJyb3Igd2hlbiB1c2VyIHNlbGVjdC9kZXNlbGVjdCBhbiBhbnN3ZXJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYXhTZWxlY3Rpb25zRXJyb3JTdGF0ZTogY2hlY2tlZCB9KTtcblxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgLy8gcHJldmVudCBzZWxlY3RpbmcgbW9yZSBhbnN3ZXJzXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNob2ljZUNoYW5nZWQoeyB2YWx1ZSwgc2VsZWN0ZWQ6IGNoZWNrZWQsIHNlbGVjdG9yOiAnTW91c2UnIH0pO1xuICB9O1xuXG4gIG9uVG9nZ2xlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnByb3BzLm1vZGUgPT09ICdldmFsdWF0ZScpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogIXRoaXMuc3RhdGUuc2hvd0NvcnJlY3QgfSwgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vblNob3dDb3JyZWN0VG9nZ2xlKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vblNob3dDb3JyZWN0VG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBpZiAoIW5leHRQcm9wcy5jb3JyZWN0UmVzcG9uc2UgJiYgdGhpcy5zdGF0ZS5zaG93Q29ycmVjdCAhPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogZmFsc2UgfSwgKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vblNob3dDb3JyZWN0VG9nZ2xlKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vblNob3dDb3JyZWN0VG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChuZXh0UHJvcHMub3B0aW9ucyAmJiBuZXh0UHJvcHMuYWx3YXlzU2hvd0NvcnJlY3QgJiYgdGhpcy5zdGF0ZS5zaG93Q29ycmVjdCAhPT0gdHJ1ZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25TaG93Q29ycmVjdFRvZ2dsZSkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25TaG93Q29ycmVjdFRvZ2dsZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpbmRleFRvU3ltYm9sKGluZGV4KSB7XG4gICAgaWYgKHRoaXMucHJvcHMua2V5TW9kZSA9PT0gJ251bWJlcnMnKSB7XG4gICAgICByZXR1cm4gYCR7aW5kZXggKyAxfWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMua2V5TW9kZSA9PT0gJ2xldHRlcnMnKSB7XG4gICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIGluZGV4KS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldENvcnJlY3RuZXNzID0gKGNob2ljZSA9IHt9KSA9PiB7XG4gICAgY29uc3QgaXNDb3JyZWN0ID0gY2hvaWNlLmNvcnJlY3Q7XG4gICAgY29uc3QgaXNDaGVja2VkID0gdGhpcy5pc1NlbGVjdGVkKGNob2ljZS52YWx1ZSk7XG5cbiAgICBpZiAodGhpcy5zdGF0ZS5zaG93Q29ycmVjdCkge1xuICAgICAgcmV0dXJuIGlzQ29ycmVjdCA/ICdjb3JyZWN0JyA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoaXNDb3JyZWN0KSB7XG4gICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgIC8vIEEgY29ycmVjdCBhbnN3ZXIgaXMgc2VsZWN0ZWQ6IG1hcmtlZCB3aXRoIGEgZ3JlZW4gY2hlY2ttYXJrXG4gICAgICAgIHJldHVybiAnY29ycmVjdCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBIGNvcnJlY3QgYW5zd2VyIGlzIE5PVCBzZWxlY3RlZDogbWFya2VkIHdpdGggYW4gb3JhbmdlIFhcbiAgICAgICAgcmV0dXJuICdpbmNvcnJlY3QnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgIC8vIEFuIGluY29ycmVjdCBhbnN3ZXIgaXMgc2VsZWN0ZWQ6IG1hcmtlZCB3aXRoIGFuIG9yYW5nZSBYXG4gICAgICAgIHJldHVybiAnaW5jb3JyZWN0JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFuIGluY29ycmVjdCBhbnN3ZXIgaXMgTk9UIHNlbGVjdGVkOiBub3QgbWFya2VkXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGdldENoZWNrZWQoY2hvaWNlKSB7XG4gICAgLy8gY2hlY2sgZm9yIHByaW50IGNvbnRleHQ6IG9wdGlvbnMgcHJvcCBpcyBwYXNzZWQgZnJvbSBwcmludC5qcyBhbmQgYWx3YXlzU2hvd0NvcnJlY3QgaXMgdHJ1ZVxuICAgIGNvbnN0IGlzUHJpbnRNb2RlID0gdGhpcy5wcm9wcy5vcHRpb25zICYmIHRoaXMucHJvcHMuYWx3YXlzU2hvd0NvcnJlY3Q7XG5cbiAgICBpZiAoaXNQcmludE1vZGUpIHtcbiAgICAgIHJldHVybiBjaG9pY2UuY29ycmVjdCB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBldmFsdWF0ZSBtb2RlIHdpdGggc2hvdyBjb3JyZWN0IHRvZ2dsZWRcbiAgICBjb25zdCBpc0V2YWx1YXRlTW9kZSA9IHRoaXMuc3RhdGUuc2hvd0NvcnJlY3QgJiYgdGhpcy5wcm9wcy5tb2RlID09PSAnZXZhbHVhdGUnO1xuXG4gICAgaWYgKGlzRXZhbHVhdGVNb2RlKSB7XG4gICAgICByZXR1cm4gY2hvaWNlLmNvcnJlY3QgfHwgZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gZGVmYXVsdCBiZWhhdmlvcjogc2hvdyB3aGF0IHRoZSB1c2VyIGhhcyBzZWxlY3RlZFxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWQoY2hvaWNlLnZhbHVlKTtcbiAgfVxuXG4gIC8vIHJlbmRlckhlYWRpbmcgZnVuY3Rpb24gd2FzIGFkZGVkIGZvciBhY2Nlc3NpYmlsaXR5LlxuICByZW5kZXJIZWFkaW5nKCkge1xuICAgIGNvbnN0IHsgbW9kZSwgY2hvaWNlTW9kZSwgaW5jbHVkZVNySGVhZGluZywgYmFzZUhlYWRpbmdMZXZlbCwgcGFydExhYmVsIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gV2hlbiBhIHBhcnQgbGFiZWwgaXMgcHJlc2VudCB0aGUgaXRlbSBpcyBhbiBFQlNSIHBhcnQg4oCUIHRoZSBTUiBoZWFkaW5nXG4gICAgLy8gaXMgcHJvdmlkZWQgYnkgdGhlIEVCU1IgZWxlbWVudCwgbm90IGhlcmUuXG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyU3JIZWFkaW5nID0gIXBhcnRMYWJlbCAmJiBpbmNsdWRlU3JIZWFkaW5nICE9PSBmYWxzZTtcblxuICAgIGlmICghc2hvdWxkUmVuZGVyU3JIZWFkaW5nIHx8IG1vZGUgIT09ICdnYXRoZXInKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjbGFtcGVkTGV2ZWwgPSBiYXNlSGVhZGluZ0xldmVsID8gTWF0aC5taW4oNiwgYmFzZUhlYWRpbmdMZXZlbCkgOiAyO1xuICAgIGNvbnN0IEhlYWRpbmdUYWcgPSBTck9ubHkud2l0aENvbXBvbmVudChgaCR7Y2xhbXBlZExldmVsfWApO1xuICAgIGNvbnN0IGxhYmVsID0gY2hvaWNlTW9kZSA9PT0gJ3JhZGlvJyA/ICdNdWx0aXBsZSBDaG9pY2UgUXVlc3Rpb24nIDogJ011bHRpcGxlIFNlbGVjdCBRdWVzdGlvbic7XG5cbiAgICByZXR1cm4gPEhlYWRpbmdUYWc+e2xhYmVsfTwvSGVhZGluZ1RhZz47XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY2hvaWNlcyA9IFtdLFxuICAgICAgY2hvaWNlTW9kZSxcbiAgICAgIGdyaWRDb2x1bW5zLFxuICAgICAgcGFydExhYmVsLFxuICAgICAgcHJvbXB0LFxuICAgICAgcmVzcG9uc2VDb3JyZWN0LFxuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyxcbiAgICAgIGFsd2F5c1Nob3dDb3JyZWN0LFxuICAgICAgYW5pbWF0aW9uc0Rpc2FibGVkLFxuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBpc1NlbGVjdGlvbkJ1dHRvbkJlbG93LFxuICAgICAgbWluU2VsZWN0aW9ucyxcbiAgICAgIG1heFNlbGVjdGlvbnMsXG4gICAgICBhdXRvcGxheUF1ZGlvRW5hYmxlZCxcbiAgICAgIHNlc3Npb24sXG4gICAgICBjdXN0b21BdWRpb0J1dHRvbixcbiAgICAgIG9wdGlvbnMsXG4gICAgICBiYXNlSGVhZGluZ0xldmVsLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2hvd0NvcnJlY3QsIG1heFNlbGVjdGlvbnNFcnJvclN0YXRlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGlzRXZhbHVhdGVNb2RlID0gbW9kZSA9PT0gJ2V2YWx1YXRlJztcbiAgICBjb25zdCBzaG93Q29ycmVjdEFuc3dlclRvZ2dsZSA9IGlzRXZhbHVhdGVNb2RlICYmICFyZXNwb25zZUNvcnJlY3Q7XG4gICAgY29uc3QgY29sdW1uc1N0eWxlID0gZ3JpZENvbHVtbnMgPiAxID8geyBncmlkVGVtcGxhdGVDb2x1bW5zOiBgcmVwZWF0KCR7Z3JpZENvbHVtbnN9LCAxZnIpYCB9IDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHNlbGVjdGlvbnMgPSAoc2Vzc2lvbi52YWx1ZSAmJiBzZXNzaW9uLnZhbHVlLmxlbmd0aCkgfHwgMDtcblxuICAgIC8vIEhlYWRpbmcgbGV2ZWxzIGFyZSBvcHRpb25hbCBhbmQgb25seSBhcHBsaWVkIHdoZW4gYmFzZUhlYWRpbmdMZXZlbCBpcyBwcm92aWRlZC5cbiAgICBjb25zdCBnZXRDb250ZW50SGVhZGluZ0xldmVsID0gKCkgPT4ge1xuICAgICAgaWYgKCFiYXNlSGVhZGluZ0xldmVsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgLy8gU1IgaGVhZGluZyAocmVuZGVyZWQgb3IgZXh0ZXJuYWwpIHNpdHMgYXQgYmFzZUhlYWRpbmdMZXZlbC5cbiAgICAgIC8vIENvbnRlbnQgaXMgYWx3YXlzIG9uZSBiZWxvdyB0aGF0OyBwYXJ0IGxhYmVsIChFQlNSKSBzaXRzIGJldHdlZW4gdGhlbS5cbiAgICAgIGxldCBvZmZzZXQgPSAxOyAvLyBjb250ZW50IGRlZmF1bHQ6IGJhc2VIZWFkaW5nTGV2ZWwgKyAxXG4gICAgICBpZiAocGFydExhYmVsKSBvZmZzZXQgKz0gMTsgLy8gcGFydCBsYWJlbCBhdCBiYXNlICsgMSwgY29udGVudCBwdXNoZWQgdG8gYmFzZSArIDJcbiAgICAgIHJldHVybiBNYXRoLm1pbig2LCBiYXNlSGVhZGluZ0xldmVsICsgb2Zmc2V0KTtcbiAgICB9O1xuICAgIGNvbnN0IGNvbnRlbnRIZWFkaW5nTGV2ZWwgPSBnZXRDb250ZW50SGVhZGluZ0xldmVsKCk7XG4gICAgY29uc3QgdHJhbnNmb3JtUHJvbXB0ID0gKGh0bWwpID0+IChodG1sICYmIGNvbnRlbnRIZWFkaW5nTGV2ZWwpID8gdHJhbnNmb3JtRGF0YUhlYWRpbmdzKGh0bWwsIGNvbnRlbnRIZWFkaW5nTGV2ZWwpIDogaHRtbDtcblxuICAgIGNvbnN0IHRlYWNoZXJJbnN0cnVjdGlvbnNEaXYgPSAoXG4gICAgICA8UHJldmlld1Byb21wdFxuICAgICAgICB0YWdOYW1lPVwiZGl2XCJcbiAgICAgICAgY2xhc3NOYW1lPVwicHJvbXB0XCJcbiAgICAgICAgZGVmYXVsdENsYXNzTmFtZT1cInRlYWNoZXItaW5zdHJ1Y3Rpb25zXCJcbiAgICAgICAgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfVxuICAgICAgLz5cbiAgICApO1xuXG4gICAgY29uc3QgZ2V0TXVsdGlwbGVDaG9pY2VNaW5TZWxlY3Rpb25FcnJvck1lc3NhZ2UgPSAoKSA9PiB7XG4gICAgICBpZiAobWluU2VsZWN0aW9ucyAmJiBtYXhTZWxlY3Rpb25zKSB7XG4gICAgICAgIHJldHVybiBtaW5TZWxlY3Rpb25zID09PSBtYXhTZWxlY3Rpb25zXG4gICAgICAgICAgPyB0cmFuc2xhdG9yLnQoJ3RyYW5zbGF0aW9uOm11bHRpcGxlQ2hvaWNlOm1pbm1heFNlbGVjdGlvbnNfZXF1YWwnLCB7IGxuZzogbGFuZ3VhZ2UsIG1pblNlbGVjdGlvbnMgfSlcbiAgICAgICAgICA6IHRyYW5zbGF0b3IudCgndHJhbnNsYXRpb246bXVsdGlwbGVDaG9pY2U6bWlubWF4U2VsZWN0aW9uc19yYW5nZScsIHtcbiAgICAgICAgICAgICAgbG5nOiBsYW5ndWFnZSxcbiAgICAgICAgICAgICAgbWluU2VsZWN0aW9ucyxcbiAgICAgICAgICAgICAgbWF4U2VsZWN0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAobWluU2VsZWN0aW9ucykge1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRvci50KCd0cmFuc2xhdGlvbjptdWx0aXBsZUNob2ljZTptaW5TZWxlY3Rpb25zJywgeyBsbmc6IGxhbmd1YWdlLCBtaW5TZWxlY3Rpb25zIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJyc7XG4gICAgfTtcblxuICAgIGNvbnN0IExheW91dENvbXBvbmVudCA9IHRoaXMucHJvcHMuY2hvaWNlc0xheW91dCA9PT0gJ2dyaWQnXG4gICAgICA/IEdyaWRMYXlvdXRcbiAgICAgIDogdGhpcy5wcm9wcy5jaG9pY2VzTGF5b3V0ID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgPyBIb3Jpem9udGFsTGF5b3V0XG4gICAgICAgIDogQm94O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNYWluQ29udGFpbmVyIGlkPXsnbWFpbi1jb250YWluZXInfSBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3NOYW1lLCAnbXVsdGlwbGUtY2hvaWNlJyl9PlxuICAgICAgICB7cGFydExhYmVsICYmIDxQYXJ0TGFiZWwgYXM9e2Jhc2VIZWFkaW5nTGV2ZWwgPyBgaCR7TWF0aC5taW4oNiwgYmFzZUhlYWRpbmdMZXZlbCArIDEpfWAgOiAnaDInfT57cGFydExhYmVsfTwvUGFydExhYmVsPn1cblxuICAgICAgICB7dGhpcy5yZW5kZXJIZWFkaW5nKCl9XG5cbiAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnMgJiYgKFxuICAgICAgICAgIDxUZWFjaGVySW5zdHJ1Y3Rpb25zPlxuICAgICAgICAgICAgeyFhbmltYXRpb25zRGlzYWJsZWQgPyAoXG4gICAgICAgICAgICAgIDxDb2xsYXBzaWJsZVxuICAgICAgICAgICAgICAgIGxhYmVscz17e1xuICAgICAgICAgICAgICAgICAgaGlkZGVuOiAnU2hvdyBUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiAnSGlkZSBUZWFjaGVyIEluc3RydWN0aW9ucycsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0ZWFjaGVySW5zdHJ1Y3Rpb25zRGl2fVxuICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgdGVhY2hlckluc3RydWN0aW9uc0RpdlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1RlYWNoZXJJbnN0cnVjdGlvbnM+XG4gICAgICAgICl9XG5cbiAgICAgICAgPFN0eWxlZEZpZWxkc2V0IHJvbGU9e2Nob2ljZU1vZGUgPT09ICdyYWRpbycgPyAncmFkaW9ncm91cCcgOiAnZ3JvdXAnfT5cbiAgICAgICAgICA8UHJldmlld1Byb21wdFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwicHJvbXB0XCJcbiAgICAgICAgICAgIGRlZmF1bHRDbGFzc05hbWU9XCJwcm9tcHRcIlxuICAgICAgICAgICAgcHJvbXB0PXt0cmFuc2Zvcm1Qcm9tcHQocHJvbXB0KX1cbiAgICAgICAgICAgIHRhZ05hbWU9eydsZWdlbmQnfVxuICAgICAgICAgICAgYXV0b3BsYXlBdWRpb0VuYWJsZWQ9e2F1dG9wbGF5QXVkaW9FbmFibGVkfVxuICAgICAgICAgICAgY3VzdG9tQXVkaW9CdXR0b249e2N1c3RvbUF1ZGlvQnV0dG9ufVxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICB7IShvcHRpb25zICYmIGFsd2F5c1Nob3dDb3JyZWN0KSAmJiAoXG4gICAgICAgICAgICA8Q29ycmVjdEFuc3dlclRvZ2dsZVxuICAgICAgICAgICAgICBzaG93PXtzaG93Q29ycmVjdEFuc3dlclRvZ2dsZX1cbiAgICAgICAgICAgICAgdG9nZ2xlZD17c2hvd0NvcnJlY3R9XG4gICAgICAgICAgICAgIG9uVG9nZ2xlPXt0aGlzLm9uVG9nZ2xlLmJpbmQodGhpcyl9XG4gICAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIDxMYXlvdXRDb21wb25lbnQgc3R5bGU9e2NvbHVtbnNTdHlsZX0+XG4gICAgICAgICAgICB7Y2hvaWNlcy5tYXAoKGNob2ljZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPENob2ljZVxuICAgICAgICAgICAgICAgIGNob2ljZXNMYXlvdXQ9e3RoaXMucHJvcHMuY2hvaWNlc0xheW91dH1cbiAgICAgICAgICAgICAgICBzZWxlY3RlZEFuc3dlckJhY2tncm91bmRDb2xvcj17dGhpcy5wcm9wcy5zZWxlY3RlZEFuc3dlckJhY2tncm91bmRDb2xvcn1cbiAgICAgICAgICAgICAgICBzZWxlY3RlZEFuc3dlclN0cm9rZUNvbG9yPXt0aGlzLnByb3BzLnNlbGVjdGVkQW5zd2VyU3Ryb2tlQ29sb3J9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRBbnN3ZXJTdHJva2VXaWR0aD17dGhpcy5wcm9wcy5zZWxlY3RlZEFuc3dlclN0cm9rZVdpZHRofVxuICAgICAgICAgICAgICAgIGhvdmVyQW5zd2VyQmFja2dyb3VuZENvbG9yPXt0aGlzLnByb3BzLmhvdmVyQW5zd2VyQmFja2dyb3VuZENvbG9yfVxuICAgICAgICAgICAgICAgIGhvdmVyQW5zd2VyU3Ryb2tlQ29sb3I9e3RoaXMucHJvcHMuaG92ZXJBbnN3ZXJTdHJva2VDb2xvcn1cbiAgICAgICAgICAgICAgICBob3ZlckFuc3dlclN0cm9rZVdpZHRoPXt0aGlzLnByb3BzLmhvdmVyQW5zd2VyU3Ryb2tlV2lkdGh9XG4gICAgICAgICAgICAgICAgZ3JpZENvbHVtbnM9e2dyaWRDb2x1bW5zfVxuICAgICAgICAgICAgICAgIGtleT17YGNob2ljZS0ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgY2hvaWNlPXtjaG9pY2V9XG4gICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgIGNob2ljZXNMZW5ndGg9e2Nob2ljZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgIHNob3dDb3JyZWN0PXtzaG93Q29ycmVjdH1cbiAgICAgICAgICAgICAgICBpc0V2YWx1YXRlTW9kZT17aXNFdmFsdWF0ZU1vZGV9XG4gICAgICAgICAgICAgICAgY2hvaWNlTW9kZT17Y2hvaWNlTW9kZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdGFnTmFtZT17dGhpcy5ncm91cE5hbWV9XG4gICAgICAgICAgICAgICAgb25DaG9pY2VDaGFuZ2VkPXt0aGlzLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICBoaWRlVGljaz17Y2hvaWNlLmhpZGVUaWNrfVxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuZ2V0Q2hlY2tlZChjaG9pY2UpfVxuICAgICAgICAgICAgICAgIGNvcnJlY3RuZXNzPXtpc0V2YWx1YXRlTW9kZSA/IHRoaXMuZ2V0Q29ycmVjdG5lc3MoY2hvaWNlKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5S2V5PXt0aGlzLmluZGV4VG9TeW1ib2woaW5kZXgpfVxuICAgICAgICAgICAgICAgIGlzU2VsZWN0aW9uQnV0dG9uQmVsb3c9e2lzU2VsZWN0aW9uQnV0dG9uQmVsb3d9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0xheW91dENvbXBvbmVudD5cbiAgICAgICAgPC9TdHlsZWRGaWVsZHNldD5cblxuICAgICAgICB7Y2hvaWNlTW9kZSA9PT0gJ2NoZWNrYm94JyAmJiBzZWxlY3Rpb25zIDwgbWluU2VsZWN0aW9ucyAmJiAoXG4gICAgICAgICAgPEVycm9yVGV4dD57Z2V0TXVsdGlwbGVDaG9pY2VNaW5TZWxlY3Rpb25FcnJvck1lc3NhZ2UoKX08L0Vycm9yVGV4dD5cbiAgICAgICAgKX1cbiAgICAgICAge2Nob2ljZU1vZGUgPT09ICdjaGVja2JveCcgJiYgbWF4U2VsZWN0aW9uc0Vycm9yU3RhdGUgJiYgKFxuICAgICAgICAgIDxFcnJvclRleHQ+XG4gICAgICAgICAgICB7dHJhbnNsYXRvci50KGB0cmFuc2xhdGlvbjptdWx0aXBsZUNob2ljZTptYXhTZWxlY3Rpb25zXyR7bWF4U2VsZWN0aW9ucyA9PT0gMSA/ICdvbmUnIDogJ290aGVyJ31gLCB7XG4gICAgICAgICAgICAgIGxuZzogbGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIG1heFNlbGVjdGlvbnMsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L0Vycm9yVGV4dD5cbiAgICAgICAgKX1cbiAgICAgIDwvTWFpbkNvbnRhaW5lcj5cbiAgICApO1xuICB9XG59XG5cbk11bHRpcGxlQ2hvaWNlLmRlZmF1bHRQcm9wcyA9IHtcbiAgc2Vzc2lvbjoge1xuICAgIHZhbHVlOiBbXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpcGxlQ2hvaWNlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLG9CQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxX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
|
|
399
|
+
//# sourceMappingURL=multiple-choice.js.map
|
package/lib/print.js
CHANGED
|
@@ -91,4 +91,4 @@ class MultipleChoicePrint extends HTMLElement {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
exports.default = MultipleChoicePrint;
|
|
94
|
-
//# sourceMappingURL=
|
|
94
|
+
//# sourceMappingURL=print.js.map
|
package/lib/session-updater.js
CHANGED
|
@@ -34,4 +34,4 @@ function updateSessionMetadata(session, metadata) {
|
|
|
34
34
|
session.waitTime = session.audioEndTime - session.audioStartTime;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=session-updater.js.map
|
package/lib/utils.js
CHANGED
|
@@ -11,4 +11,4 @@ const reachedMaxSelections = (count, maxSelections) => maxSelections != null &&
|
|
|
11
11
|
exports.reachedMaxSelections = reachedMaxSelections;
|
|
12
12
|
const exceedsMaxSelections = (count, maxSelections) => maxSelections != null && count > maxSelections;
|
|
13
13
|
exports.exceedsMaxSelections = exceedsMaxSelections;
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=utils.js.map
|
package/module/configure.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_dll_react as e,_dll_prop_types as t,_dll_mui__material_styles as n,_dll_pie_lib__render_ui as o,_dll_mui__material as i,_dll_mui__icons_material as r,_dll_debug as a,_dll_react_dom_client as s}from"../../../@pie-lib/shared-module@^5.1.1/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@^4.0.4/module/index.js";import{_dll_pie_lib__editable_html_tip_tap as c}from"../../../@pie-lib/editable-html-module@^7.1.1/module/index.js";var u={};Object.defineProperty(u,"__esModule",{value:!0});class d extends CustomEvent{constructor(e,t=!1){super(d.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}d.TYPE="model.updated";var h=u.ModelUpdatedEvent=d;class p extends CustomEvent{constructor(e,t){super(p.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}p.TYPE="delete.image";var g=u.DeleteImageEvent=p;class f extends CustomEvent{constructor(e){super(f.TYPE,{bubbles:!0,detail:e}),this.handler=e}}f.TYPE="insert.image";var b=u.InsertImageEvent=f;class m extends CustomEvent{constructor(e,t){super(m.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}m.TYPE="delete.sound";var _=u.DeleteSoundEvent=m;class y extends CustomEvent{constructor(e){super(y.TYPE,{bubbles:!0,detail:e}),this.handler=e}}y.TYPE="insert.sound";var C=u.InsertSoundEvent=y,v="object"==typeof global&&global&&global.Object===Object&&global,E="object"==typeof self&&self&&self.Object===Object&&self,j=v||E||Function("return this")(),A=j.Symbol,S=Object.prototype,x=S.hasOwnProperty,w=S.toString,O=A?A.toStringTag:void 0,P=Object.prototype.toString,I=A?A.toStringTag:void 0;function k(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":I&&I in Object(e)?function(e){var t=x.call(e,O),n=e[O];try{e[O]=void 0;var o=!0}catch(e){}var i=w.call(e);return o&&(t?e[O]=n:delete e[O]),i}(e):function(e){return P.call(e)}(e)}function M(e){return null!=e&&"object"==typeof e}var T=Array.isArray;function z(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function R(e){return e}function L(e){if(!z(e))return!1;var t=k(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var D,q=j["__core-js_shared__"],F=(D=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"",U=Function.prototype.toString,$=/^\[object .+?Constructor\]$/,B=Function.prototype,W=Object.prototype,Y=B.toString,H=W.hasOwnProperty,N=RegExp("^"+Y.call(H).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function G(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!z(e)||(t=e,F&&F in t))&&(L(e)?N:$).test(function(e){if(null!=e){try{return U.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}(n)?n:void 0}var V,J,K,Q=Object.create,X=function(){function e(){}return function(t){if(!z(t))return{};if(Q)return Q(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),Z=Date.now,ee=function(){try{var e=G(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),te=ee,ne=te?function(e,t){return te(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:R,oe=(V=ne,J=0,K=0,function(){var e=Z(),t=16-(e-K);if(K=e,t>0){if(++J>=800)return arguments[0]}else J=0;return V.apply(void 0,arguments)}),ie=/^(?:0|[1-9]\d*)$/;function re(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ie.test(e))&&e>-1&&e%1==0&&e<t}function ae(e,t,n){"__proto__"==t&&te?te(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function se(e,t){return e===t||e!=e&&t!=t}var le=Object.prototype.hasOwnProperty;function ce(e,t,n){var o=e[t];le.call(e,t)&&se(o,n)&&(void 0!==n||t in e)||ae(e,t,n)}var ue=Math.max;function de(e,t){return oe(function(e,t,n){return t=ue(void 0===t?e.length-1:t,0),function(){for(var o=arguments,i=-1,r=ue(o.length-t,0),a=Array(r);++i<r;)a[i]=o[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=o[i];return s[t]=n(a),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,s)}}(e,t,R),e+"")}function he(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function pe(e){return null!=e&&he(e.length)&&!L(e)}function ge(e,t,n){if(!z(n))return!1;var o=typeof t;return!!("number"==o?pe(n)&&re(t,n.length):"string"==o&&t in n)&&se(n[t],e)}var fe=Object.prototype;function be(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||fe)}function me(e){return M(e)&&"[object Arguments]"==k(e)}var _e=Object.prototype,ye=_e.hasOwnProperty,Ce=_e.propertyIsEnumerable,ve=me(function(){return arguments}())?me:function(e){return M(e)&&ye.call(e,"callee")&&!Ce.call(e,"callee")},Ee="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=Ee&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=je&&je.exports===Ee?j.Buffer:void 0,Se=(Ae?Ae.isBuffer:void 0)||function(){return!1},xe={};xe["[object Float32Array]"]=xe["[object Float64Array]"]=xe["[object Int8Array]"]=xe["[object Int16Array]"]=xe["[object Int32Array]"]=xe["[object Uint8Array]"]=xe["[object Uint8ClampedArray]"]=xe["[object Uint16Array]"]=xe["[object Uint32Array]"]=!0,xe["[object Arguments]"]=xe["[object Array]"]=xe["[object ArrayBuffer]"]=xe["[object Boolean]"]=xe["[object DataView]"]=xe["[object Date]"]=xe["[object Error]"]=xe["[object Function]"]=xe["[object Map]"]=xe["[object Number]"]=xe["[object Object]"]=xe["[object RegExp]"]=xe["[object Set]"]=xe["[object String]"]=xe["[object WeakMap]"]=!1;var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,Oe=we&&"object"==typeof module&&module&&!module.nodeType&&module,Pe=Oe&&Oe.exports===we&&v.process,Ie=function(){try{return Oe&&Oe.require&&Oe.require("util").types||Pe&&Pe.binding&&Pe.binding("util")}catch(e){}}(),ke=Ie&&Ie.isTypedArray,Me=ke?function(e){return function(t){return e(t)}}(ke):function(e){return M(e)&&he(e.length)&&!!xe[k(e)]},Te=Me,ze=Object.prototype.hasOwnProperty;var Re=Object.prototype.hasOwnProperty;function Le(e){return pe(e)?function(e,t){var n=T(e),o=!n&&ve(e),i=!n&&!o&&Se(e),r=!n&&!o&&!i&&Te(e),a=n||o||i||r,s=a?function(e,t){for(var n=-1,o=Array(e);++n<e;)o[n]=t(n);return o}(e.length,String):[],l=s.length;for(var c in e)!t&&!ze.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||r&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||re(c,l))||s.push(c);return s}(e,!0):function(e){if(!z(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=be(e),n=[];for(var o in e)("constructor"!=o||!t&&Re.call(e,o))&&n.push(o);return n}(e)}var De=G(Object,"create"),qe=Object.prototype.hasOwnProperty,Fe=Object.prototype.hasOwnProperty;function Ue(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function $e(e,t){for(var n=e.length;n--;)if(se(e[n][0],t))return n;return-1}Ue.prototype.clear=function(){this.__data__=De?De(null):{},this.size=0},Ue.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ue.prototype.get=function(e){var t=this.__data__;if(De){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return qe.call(t,e)?t[e]:void 0},Ue.prototype.has=function(e){var t=this.__data__;return De?void 0!==t[e]:Fe.call(t,e)},Ue.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=De&&void 0===t?"__lodash_hash_undefined__":t,this};var Be=Array.prototype.splice;function We(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}We.prototype.clear=function(){this.__data__=[],this.size=0},We.prototype.delete=function(e){var t=this.__data__,n=$e(t,e);return!(n<0||(n==t.length-1?t.pop():Be.call(t,n,1),--this.size,0))},We.prototype.get=function(e){var t=this.__data__,n=$e(t,e);return n<0?void 0:t[n][1]},We.prototype.has=function(e){return $e(this.__data__,e)>-1},We.prototype.set=function(e,t){var n=this.__data__,o=$e(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this};var Ye=G(j,"Map");function He(e,t){var n,o,i=e.__data__;return("string"==(o=typeof(n=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function Ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}Ne.prototype.clear=function(){this.size=0,this.__data__={hash:new Ue,map:new(Ye||We),string:new Ue}},Ne.prototype.delete=function(e){var t=He(this,e).delete(e);return this.size-=t?1:0,t},Ne.prototype.get=function(e){return He(this,e).get(e)},Ne.prototype.has=function(e){return He(this,e).has(e)},Ne.prototype.set=function(e,t){var n=He(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this};var Ge=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),Ve=Ge,Je=Function.prototype,Ke=Object.prototype,Qe=Je.toString,Xe=Ke.hasOwnProperty,Ze=Qe.call(Object);function et(e){var t=this.__data__=new We(e);this.size=t.size}et.prototype.clear=function(){this.__data__=new We,this.size=0},et.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},et.prototype.get=function(e){return this.__data__.get(e)},et.prototype.has=function(e){return this.__data__.has(e)},et.prototype.set=function(e,t){var n=this.__data__;if(n instanceof We){var o=n.__data__;if(!Ye||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ne(o)}return n.set(e,t),this.size=n.size,this};var tt="object"==typeof exports&&exports&&!exports.nodeType&&exports,nt=tt&&"object"==typeof module&&module&&!module.nodeType&&module,ot=nt&&nt.exports===tt?j.Buffer:void 0,it=(ot&&ot.allocUnsafe,j.Uint8Array);var rt=Object.prototype,at=rt.hasOwnProperty,st=de(function(e,t){e=Object(e);var n=-1,o=t.length,i=o>2?t[2]:void 0;for(i&&ge(t[0],t[1],i)&&(o=1);++n<o;)for(var r=t[n],a=Le(r),s=-1,l=a.length;++s<l;){var c=a[s],u=e[c];(void 0===u||se(u,rt[c])&&!at.call(e,c))&&(e[c]=r[c])}return e});function lt(e,t,n){(void 0!==n&&!se(e[t],n)||void 0===n&&!(t in e))&&ae(e,t,n)}function ct(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function ut(e,t,n,o,i,r,a){var s=ct(e,n),l=ct(t,n),c=a.get(l);if(c)lt(e,n,c);else{var u,d=r?r(s,l,n+"",e,t,a):void 0,h=void 0===d;if(h){var p=T(l),g=!p&&Se(l),f=!p&&!g&&Te(l);d=l,p||g||f?T(s)?d=s:M(u=s)&&pe(u)?d=function(e,t){var n=-1,o=e.length;for(t||(t=Array(o));++n<o;)t[n]=e[n];return t}(s):g?(h=!1,d=function(e){return e.slice()}(l)):f?(h=!1,d=function(e,t){var n,o,i=t?(o=new(n=e.buffer).constructor(n.byteLength),new it(o).set(new it(n)),o):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}(l,!0)):d=[]:function(e){if(!M(e)||"[object Object]"!=k(e))return!1;var t=Ve(e);if(null===t)return!0;var n=Xe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Qe.call(n)==Ze}(l)||ve(l)?(d=s,ve(s)?d=function(e){return function(e,t,n){var o=!n;n||(n={});for(var i=-1,r=t.length;++i<r;){var a=t[i],s=void 0;void 0===s&&(s=e[a]),o?ae(n,a,s):ce(n,a,s)}return n}(e,Le(e))}(s):z(s)&&!L(s)||(d=function(e){return"function"!=typeof e.constructor||be(e)?{}:X(Ve(e))}(l))):h=!1}h&&(a.set(l,d),i(d,l,o,r,a),a.delete(l)),lt(e,n,d)}}function dt(e,t,n,o,i){e!==t&&function(e,t,n){for(var o=-1,i=Object(e),r=n(e),a=r.length;a--;){var s=r[++o];if(!1===t(i[s],s,i))break}}(t,function(r,a){if(i||(i=new et),z(r))ut(e,t,a,n,dt,o,i);else{var s=o?o(ct(e,a),r,a+"",e,t,i):void 0;void 0===s&&(s=r),lt(e,a,s)}},Le)}var ht,pt=(ht=function(e,t,n){dt(e,t,n)},de(function(e,t){var n=-1,o=t.length,i=o>1?t[o-1]:void 0,r=o>2?t[2]:void 0;for(i=ht.length>3&&"function"==typeof i?(o--,i):void 0,r&&ge(t[0],t[1],r)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var a=t[n];a&&ht(e,a,n)}return e}));const gt=e,ft=t,{styled:bt}=n,{color:mt}=o,{Button:_t}=i,{Tooltip:yt}=i,{Typography:Ct}=i,{Box:vt}=i,{Info:Et}=r,jt=c,{AlertDialog:At}=l,{InputContainer:St}=l,{ChoiceConfiguration:xt}=l,{settings:wt}=l,{layout:Ot}=l,{choiceUtils:Pt}=l;function It(e){let t,n=e[0],o=1;for(;o<e.length;){const i=e[o],r=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=r(n)):"call"!==i&&"optionalCall"!==i||(n=r((...e)=>n.call(t,...e)),t=void 0)}return n}const{Panel:kt,toggle:Mt,radio:Tt,dropdown:zt}=wt,Rt=bt(St)(({theme:e})=>({width:"100%",paddingTop:e.spacing(2),marginBottom:e.spacing(2)})),Lt=bt(St)(({theme:e})=>({flex:1,marginTop:e.spacing(1.5),paddingTop:e.spacing(2),marginLeft:e.spacing(3.5)})),Dt=bt(St)(({theme:e})=>({display:"flex",flexDirection:"column",marginBottom:e.spacing(1),width:"100%"})),qt=bt(_t)(({theme:e})=>({marginTop:e.spacing(1),float:"right"})),Ft=bt(qt)({cursor:"not-allowed",pointerEvents:"all",backgroundColor:mt.disabled(),"&:hover":{backgroundColor:mt.disabled()},"&:focus":{backgroundColor:mt.disabled()}}),Ut=bt(vt)({display:"flex",alignItems:"center"}),$t=bt(Ct)(({theme:e})=>({fontSize:e.typography.fontSize+2,marginRight:e.spacing(1)})),Bt=bt(yt)(({theme:e})=>({"& .MuiTooltip-tooltip":{fontSize:e.typography.fontSize-2,whiteSpace:"pre",maxWidth:"500px"}})),Wt=bt("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)})),Yt=e=>{const{model:t,configuration:n,onPromptChanged:o,onChoiceChanged:i,onRemoveChoice:r,onAddChoice:a,imageSupport:s,uploadSoundSupport:l,onChangeModel:c,onConfigurationChanged:u,onTeacherInstructionsChanged:d}=e,{addChoiceButton:h={},contentDimensions:p={},feedback:g={},deleteChoice:f={},choiceMode:b={},choicePrefix:m={},partialScoring:_={},lockChoiceOrder:y={},teacherInstructions:C={},studentInstructions:v={},rationale:E={},scoringType:j={},sequentialChoiceLabels:A={},settingsPanelDisabled:S,choicesLayout:x,spellCheck:w={},gridColumns:O,maxImageWidth:P={},maxImageHeight:I={},prompt:k={},withRubric:M={},mathMlOptions:T={},language:z={},languageChoices:R={}}=n||{};let{maxAnswerChoices:L}=n||{};const{limitChoicesNumber:D,teacherInstructionsEnabled:q,rationaleEnabled:F,feedbackEnabled:U,promptEnabled:$,spellCheckEnabled:B,choices:W,errors:Y,toolbarEditorPosition:H,extraCSSRules:N}=t||{},{answerChoices:G,choices:V,correctResponse:J,prompt:K,rationale:Q,teacherInstructions:X}=Y||{},Z=It([W,"optionalAccess",e=>e.length])?Array.from({length:W.length},(e,t)=>`${t+1}`):[],{baseInputConfiguration:ee={}}=n,te={position:"top"===H?"top":"bottom"};D&&(L=9);const ne=(e={})=>({...ee,...e}),oe=(e=>{const{minAnswerChoices:t,maxAnswerChoices:n}=e;return`Validation requirements:\nThere should be at least ${t} `+(n?`and at most ${n} `:"")+"answer choices defined.\nEvery answer choice should be non-blank and unique.\nA correct answer must be defined."})(n),ie=P&&P.prompt,re=I&&I.prompt,ae=L&&It([W,"optionalAccess",e=>e.length])>=L?`Only ${L} allowed maximum`:"",se={choiceMode:b.settings&&Tt(b.label,["checkbox","radio"]),"sequentialChoiceLabels.enabled":A.settings&&Mt(A.label,!0),choicePrefix:m.settings&&Tt(m.label,["numbers","letters"]),partialScoring:_.settings&&Mt(_.label),lockChoiceOrder:y.settings&&Mt(y.label),feedbackEnabled:g.settings&&Mt(g.label),choicesLayout:x.settings&&zt(x.label,["vertical","grid","horizontal"]),gridColumns:x.settings&&"grid"===t.choicesLayout&&Z.length>0&&zt(O.label,Z),"language.enabled":z.settings&&Mt(z.label,!0),language:z.settings&&z.enabled&&zt(R.label,R.options)},le={teacherInstructionsEnabled:C.settings&&Mt(C.label),studentInstructionsEnabled:v.settings&&Mt(v.label),promptEnabled:k.settings&&Mt(k.label),rationaleEnabled:E.settings&&Mt(E.label),spellCheckEnabled:w.settings&&Mt(w.label),scoringType:j.settings&&Tt(j.label,["auto","rubric"]),rubricEnabled:It([M,"optionalAccess",e=>e.settings])&&Mt(It([M,"optionalAccess",e=>e.label]))};return gt.createElement(Ot.ConfigLayout,{dimensions:p,hideSettings:S,extraCSSRules:N,classes:{},settings:gt.createElement(kt,{model:t,onChangeModel:c,configuration:n,onChangeConfiguration:u,groups:{Settings:se,Properties:le}})},q&>.createElement(Rt,{label:C.label},gt.createElement(jt,{markup:t.teacherInstructions||"",onChange:d,imageSupport:s,nonEmpty:!1,disableUnderline:!0,error:X,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.teacherInstructions,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.teacherInstructions||ie,maxImageHeight:I&&I.teacherInstructions||re,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),X&>.createElement(Wt,null,X)),$&>.createElement(Rt,{label:k.label},gt.createElement(jt,{markup:t.prompt,onChange:o,imageSupport:s,nonEmpty:!1,disableUnderline:!0,error:K,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.prompt,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.prompt,maxImageHeight:I&&I.prompt,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),K&>.createElement(Wt,null,K)),gt.createElement(Ut,null,gt.createElement($t,{component:"div"},"Choices"),gt.createElement(Bt,{disableFocusListener:!0,disableTouchListener:!0,placement:"right",title:oe},gt.createElement(Et,{fontSize:"small",color:"primary"}))),W.map((e,o)=>gt.createElement(Dt,{key:`choice-${o}`},gt.createElement(xt,{key:o,index:o+1,useLetterOrdering:"letters"===t.choicePrefix,mode:t.choiceMode,data:e,defaultFeedback:{},imageSupport:s,disableImageAlignmentButtons:!0,onDelete:()=>r(o),onChange:e=>i(o,e),allowFeedBack:U,allowDelete:f.settings,noLabels:!0,pluginOpts:ne(It([n,"optionalAccess",e=>e.choices,"optionalAccess",e=>e.inputConfiguration])),toolbarOpts:te,spellCheck:B,error:It([V,"optionalAccess",t=>t[e.value]])||null,noCorrectAnswerError:J,maxImageWidth:P&&P.choices||ie,maxImageHeight:I&&I.choices||re,uploadSoundSupport:l,mathMlOptions:T}),F&>.createElement(Lt,{key:`rationale-${o}`,label:E.label},gt.createElement(jt,{markup:e.rationale||"",onChange:t=>i(o,{...e,rationale:t}),imageSupport:s,error:It([Q,"optionalAccess",t=>t[e.value]])||null,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.rationale,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.rationale||ie,maxImageHeight:I&&I.rationale||re,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),It([Q,"optionalAccess",t=>t[e.value]])&>.createElement(Wt,null,It([Q,"optionalAccess",t=>t[e.value]]))))),J&>.createElement(Wt,null,J),G&>.createElement(Wt,null,G),h.settings&>.createElement(Bt,{title:ae},L&&It([W,"optionalAccess",e=>e.length])>=L?gt.createElement(Ft,{variant:"contained",color:"primary",onClick:a,disabled:!0},h.label):gt.createElement(qt,{variant:"contained",color:"primary",onClick:a},h.label)))};class Ht extends gt.Component{constructor(...e){super(...e),Ht.prototype.__init.call(this),Ht.prototype.__init2.call(this),Ht.prototype.__init3.call(this),Ht.prototype.__init4.call(this),Ht.prototype.__init5.call(this),Ht.prototype.__init6.call(this),Ht.prototype.__init7.call(this)}static __initStatic(){this.propTypes={model:ft.object.isRequired,configuration:ft.object.isRequired,disableSidePanel:ft.bool,onModelChanged:ft.func.isRequired,onConfigurationChanged:ft.func.isRequired,imageSupport:ft.shape({add:ft.func.isRequired,delete:ft.func.isRequired})}}__init(){this.state={showWarning:!1}}__init2(){this.onRemoveChoice=e=>{const{model:t,configuration:n,onModelChanged:o}=this.props,{minAnswerChoices:i}=n||{};i&&t.choices.length===i?this.setState({showWarning:!0}):(t.choices.splice(e,1),o({choices:t.choices}))}}__init3(){this.onAddChoice=()=>{const{model:e,configuration:t,onModelChanged:n}=this.props;let{maxAnswerChoices:o}=t||{};const{limitChoicesNumber:i}=e||{};i&&(o=9),o&&e.choices.length>=o||(e.choices.push({label:"",value:Pt.firstAvailableIndex(e.choices.map(e=>e.value),0),feedback:{type:"none"}}),n({choices:e.choices}))}}__init4(){this.onChoiceChanged=(e,t)=>{const{model:n,onModelChanged:o}=this.props;t.correct&&"radio"===n.choiceMode&&(n.choices=n.choices.map(e=>pt({},e,{correct:!1}))),n.choices.splice(e,1,t),o({choices:n.choices})}}__init5(){this.onPromptChanged=e=>{this.props.onModelChanged({prompt:e})}}__init6(){this.onTeacherInstructionsChanged=e=>{this.props.onModelChanged({teacherInstructions:e})}}__init7(){this.onModelChanged=(e,t)=>{const{onModelChanged:n}=this.props;if("choiceMode"===t){if("radio"===e.choiceMode){let t=!1;e.choices=e.choices.map(e=>t?(e.correct=!1,e):(e.correct&&(t=!0),e))}n({choices:e.choices},!0)}else n(e)}}render(){const{configuration:{minAnswerChoices:e}={}}=this.props,{showWarning:t}=this.state;return gt.createElement(gt.Fragment,null,gt.createElement(At,{open:t,title:"Warning",text:`There can't be less than ${e||0} choices.`,onConfirm:()=>this.setState({showWarning:!1})}),gt.createElement(Yt,{...this.props,onChangeModel:this.onModelChanged,onRemoveChoice:this.onRemoveChoice,onChoiceChanged:this.onChoiceChanged,onAddChoice:this.onAddChoice,onPromptChanged:this.onPromptChanged,onTeacherInstructionsChanged:this.onTeacherInstructionsChanged}))}}Ht.__initStatic();var Nt={choiceMode:"checkbox",choicePrefix:"letters",choices:[],choicesLayout:"vertical",feedbackEnabled:!1,gridColumns:2,lockChoiceOrder:!0,partialScoring:!0,prompt:"",promptEnabled:!0,rationale:"",rationaleEnabled:!0,scoringType:"auto",studentInstructionsEnabled:!0,teacherInstructions:"",teacherInstructionsEnabled:!0,toolbarEditorPosition:"bottom",selectedAnswerBackgroundColor:"initial",keyboardEventsEnabled:!1},Gt={baseInputConfiguration:{h3:{disabled:!0},audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},choices:{inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},spellCheck:{label:"Spellcheck",settings:!1,enabled:!0},choicesLayout:{settings:!1,label:"Choices Layout"},gridColumns:{label:"Grid columns"},answerChoiceCount:0,addChoiceButton:{settings:!0,label:"Add a Choice"},choiceMode:{settings:!0,label:"Response Type"},choicePrefix:{settings:!0,label:"Choice Labels"},deleteChoice:{settings:!0},feedback:{settings:!0,label:"Feedback"},prompt:{settings:!0,label:"Prompt",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},lockChoiceOrder:{settings:!0,label:"Lock Choice Order"},partialScoring:{settings:!1,label:"Allow Partial Scoring"},rationale:{settings:!0,label:"Rationale",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!1}},required:!1},scoringType:{settings:!1,label:"Scoring Type"},studentInstructions:{settings:!1,label:"Student Instructions"},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},toolbarEditorPosition:{settings:!1,label:"Toolbar Editor Position"},minAnswerChoices:2,maxAnswerChoices:5,maxImageWidth:{teacherInstructions:300,prompt:300,rationale:636,choices:900},maxImageHeight:{teacherInstructions:300,prompt:300,rationale:300,choices:300},withRubric:{settings:!1,label:"Add Rubric"},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]}};const Vt=e,{createRoot:Jt}=s,Kt=a,{choiceUtils:Qt}=l;function Xt(e){let t,n=e[0],o=1;for(;o<e.length;){const i=e[o],r=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=r(n)):"call"!==i&&"optionalCall"!==i||(n=r((...e)=>n.call(t,...e)),t=void 0)}return n}const Zt=Kt("multiple-choice:configure"),en=(e,t=0)=>{if(!e||0===e.length){let e=[];for(let n=0;n<t;n++)e.push({value:`${n}`,label:"",feedback:{type:"none",value:""}});return e}return e},tn=(e,t)=>{const n=st(e,Gt);return{configuration:n,model:{...t,choices:en(t&&t.choices||[],n&&n.answerChoiceCount)}}};class nn extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>{const t=Qt.normalizeChoices({...Nt,...e,choices:en(e&&e.choices||[])});return t.choicesLayout=e.choicesLayout||!1===e.verticalMode&&"horizontal"||Nt.choicesLayout,t}}constructor(){super(),this._root=null,this._reactContainer=null,this._model=nn.createDefaultModel(),this._configuration=Gt,this.onModelChanged=this.onModelChanged.bind(this),this.onConfigurationChanged=this.onConfigurationChanged.bind(this)}set model(e){this._model=nn.createDefaultModel(e),this._render()}set configuration(e){const t=tn(e,this._model);this.onModelChanged(t.model);const n={...Gt,...t.configuration};this._configuration=n,Xt([n,"optionalAccess",e=>e.language,"optionalAccess",e=>e.enabled])?Xt([n,"optionalAccess",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(this._model.language=Xt([n,"optionalAccess",e=>e.languageChoices,"access",e=>e.options,"access",e=>e[0],"access",e=>e.value])):n.language.settings&&this._model.language?(this._configuration.language.enabled=!0,this._configuration.languageChoices.options&&this._configuration.languageChoices.options.length||(this._configuration.languageChoices.options=[]),this._configuration.languageChoices.options.find(e=>e.value===this._model.language)||this._configuration.languageChoices.options.push({value:this._model.language,label:this._model.language})):delete this._model.language,this._render()}set disableSidePanel(e){this._disableSidePanel=e,this._render()}dispatchModelUpdated(e){const t=!!e;this.dispatchEvent(new h(this._model,t))}onModelChanged(e,t){this._model={...this._model,...e},this._render(),this.dispatchModelUpdated(t)}onConfigurationChanged(e){this._configuration=tn(e,this._model).configuration,this._model&&this.onModelChanged(this._model),this._render()}insertImage(e){this.dispatchEvent(new b(e))}onDeleteImage(e,t){this.dispatchEvent(new g(e,t))}insertSound(e){this.dispatchEvent(new C(e))}onDeleteSound(e,t){this.dispatchEvent(new _(e,t))}_render(){Zt("_render - Starting render"),Zt("_render - Model:",this._model?"present":"missing"),Zt("_render - Configuration:",this._configuration?"present":"missing"),Zt("_render - Root exists:",!!this._root);try{let e=Vt.createElement(Ht,{model:this._model,configuration:this._configuration,onModelChanged:this.onModelChanged,onConfigurationChanged:this.onConfigurationChanged,disableSidePanel:this._disableSidePanel,imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});this._root||(Zt("_render - Creating React container"),this._reactContainer=document.createElement("div"),this._reactContainer.className="pie-configure-wrapper",this.appendChild(this._reactContainer),Zt("_render - Creating new React root"),this._root=Jt(this._reactContainer),Zt("_render - React root created successfully")),Zt("_render - Calling root.render()"),this._root.render(e),Zt("_render - Render completed successfully")}catch(e){throw console.error("❌ [multiple-choice-configure] Render error:",e),console.error("Error stack:",e.stack),e}}connectedCallback(){Zt("connectedCallback - Component connected to DOM"),Zt("connectedCallback - Model:",this._model?"present":"missing"),Zt("connectedCallback - Configuration:",this._configuration?"present":"missing")}disconnectedCallback(){Zt("disconnectedCallback - Component disconnected from DOM"),this._root&&(Zt("disconnectedCallback - Unmounting React root"),this._root.unmount(),this._root=null),this._reactContainer&&(this._reactContainer=null)}}nn.__initStatic();export{nn as default};
|
|
1
|
+
import{_dll_react as e,_dll_prop_types as t,_dll_mui__material_styles as n,_dll_pie_lib__render_ui as o,_dll_mui__material as i,_dll_mui__icons_material as r,_dll_debug as a,_dll_react_dom_client as s}from"../../../@pie-lib/shared-module@6.0.0/module/index.js";import{_dll_pie_lib__config_ui as l}from"../../../@pie-lib/config-module@5.0.0/module/index.js";import{_dll_pie_lib__editable_html_tip_tap as c}from"../../../@pie-lib/editable-html-module@8.0.0/module/index.js";var u={};Object.defineProperty(u,"__esModule",{value:!0});class d extends CustomEvent{constructor(e,t=!1){super(d.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}d.TYPE="model.updated";var h=u.ModelUpdatedEvent=d;class p extends CustomEvent{constructor(e,t){super(p.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}p.TYPE="delete.image";var g=u.DeleteImageEvent=p;class f extends CustomEvent{constructor(e){super(f.TYPE,{bubbles:!0,detail:e}),this.handler=e}}f.TYPE="insert.image";var b=u.InsertImageEvent=f;class m extends CustomEvent{constructor(e,t){super(m.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}m.TYPE="delete.sound";var _=u.DeleteSoundEvent=m;class y extends CustomEvent{constructor(e){super(y.TYPE,{bubbles:!0,detail:e}),this.handler=e}}y.TYPE="insert.sound";var C=u.InsertSoundEvent=y,v="object"==typeof global&&global&&global.Object===Object&&global,E="object"==typeof self&&self&&self.Object===Object&&self,j=v||E||Function("return this")(),A=j.Symbol,S=Object.prototype,x=S.hasOwnProperty,w=S.toString,O=A?A.toStringTag:void 0,P=Object.prototype.toString,I=A?A.toStringTag:void 0;function k(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":I&&I in Object(e)?function(e){var t=x.call(e,O),n=e[O];try{e[O]=void 0;var o=!0}catch(e){}var i=w.call(e);return o&&(t?e[O]=n:delete e[O]),i}(e):function(e){return P.call(e)}(e)}function M(e){return null!=e&&"object"==typeof e}var T=Array.isArray;function z(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function R(e){return e}function L(e){if(!z(e))return!1;var t=k(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var D,q=j["__core-js_shared__"],F=(D=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"",U=Function.prototype.toString,$=/^\[object .+?Constructor\]$/,B=Function.prototype,W=Object.prototype,Y=B.toString,H=W.hasOwnProperty,N=RegExp("^"+Y.call(H).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function G(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!z(e)||(t=e,F&&F in t))&&(L(e)?N:$).test(function(e){if(null!=e){try{return U.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}(n)?n:void 0}var V,J,K,Q=Object.create,X=function(){function e(){}return function(t){if(!z(t))return{};if(Q)return Q(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),Z=Date.now,ee=function(){try{var e=G(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),te=ee,ne=te?function(e,t){return te(e,"toString",{configurable:!0,enumerable:!1,value:(n=t,function(){return n}),writable:!0});var n}:R,oe=(V=ne,J=0,K=0,function(){var e=Z(),t=16-(e-K);if(K=e,t>0){if(++J>=800)return arguments[0]}else J=0;return V.apply(void 0,arguments)}),ie=/^(?:0|[1-9]\d*)$/;function re(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ie.test(e))&&e>-1&&e%1==0&&e<t}function ae(e,t,n){"__proto__"==t&&te?te(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function se(e,t){return e===t||e!=e&&t!=t}var le=Object.prototype.hasOwnProperty;function ce(e,t,n){var o=e[t];le.call(e,t)&&se(o,n)&&(void 0!==n||t in e)||ae(e,t,n)}var ue=Math.max;function de(e,t){return oe(function(e,t,n){return t=ue(void 0===t?e.length-1:t,0),function(){for(var o=arguments,i=-1,r=ue(o.length-t,0),a=Array(r);++i<r;)a[i]=o[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=o[i];return s[t]=n(a),function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,s)}}(e,t,R),e+"")}function he(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function pe(e){return null!=e&&he(e.length)&&!L(e)}function ge(e,t,n){if(!z(n))return!1;var o=typeof t;return!!("number"==o?pe(n)&&re(t,n.length):"string"==o&&t in n)&&se(n[t],e)}var fe=Object.prototype;function be(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||fe)}function me(e){return M(e)&&"[object Arguments]"==k(e)}var _e=Object.prototype,ye=_e.hasOwnProperty,Ce=_e.propertyIsEnumerable,ve=me(function(){return arguments}())?me:function(e){return M(e)&&ye.call(e,"callee")&&!Ce.call(e,"callee")},Ee="object"==typeof exports&&exports&&!exports.nodeType&&exports,je=Ee&&"object"==typeof module&&module&&!module.nodeType&&module,Ae=je&&je.exports===Ee?j.Buffer:void 0,Se=(Ae?Ae.isBuffer:void 0)||function(){return!1},xe={};xe["[object Float32Array]"]=xe["[object Float64Array]"]=xe["[object Int8Array]"]=xe["[object Int16Array]"]=xe["[object Int32Array]"]=xe["[object Uint8Array]"]=xe["[object Uint8ClampedArray]"]=xe["[object Uint16Array]"]=xe["[object Uint32Array]"]=!0,xe["[object Arguments]"]=xe["[object Array]"]=xe["[object ArrayBuffer]"]=xe["[object Boolean]"]=xe["[object DataView]"]=xe["[object Date]"]=xe["[object Error]"]=xe["[object Function]"]=xe["[object Map]"]=xe["[object Number]"]=xe["[object Object]"]=xe["[object RegExp]"]=xe["[object Set]"]=xe["[object String]"]=xe["[object WeakMap]"]=!1;var we="object"==typeof exports&&exports&&!exports.nodeType&&exports,Oe=we&&"object"==typeof module&&module&&!module.nodeType&&module,Pe=Oe&&Oe.exports===we&&v.process,Ie=function(){try{return Oe&&Oe.require&&Oe.require("util").types||Pe&&Pe.binding&&Pe.binding("util")}catch(e){}}(),ke=Ie&&Ie.isTypedArray,Me=ke?function(e){return function(t){return e(t)}}(ke):function(e){return M(e)&&he(e.length)&&!!xe[k(e)]},Te=Me,ze=Object.prototype.hasOwnProperty;var Re=Object.prototype.hasOwnProperty;function Le(e){return pe(e)?function(e,t){var n=T(e),o=!n&&ve(e),i=!n&&!o&&Se(e),r=!n&&!o&&!i&&Te(e),a=n||o||i||r,s=a?function(e,t){for(var n=-1,o=Array(e);++n<e;)o[n]=t(n);return o}(e.length,String):[],l=s.length;for(var c in e)!t&&!ze.call(e,c)||a&&("length"==c||i&&("offset"==c||"parent"==c)||r&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||re(c,l))||s.push(c);return s}(e,!0):function(e){if(!z(e))return function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}(e);var t=be(e),n=[];for(var o in e)("constructor"!=o||!t&&Re.call(e,o))&&n.push(o);return n}(e)}var De=G(Object,"create"),qe=Object.prototype.hasOwnProperty,Fe=Object.prototype.hasOwnProperty;function Ue(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}function $e(e,t){for(var n=e.length;n--;)if(se(e[n][0],t))return n;return-1}Ue.prototype.clear=function(){this.__data__=De?De(null):{},this.size=0},Ue.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Ue.prototype.get=function(e){var t=this.__data__;if(De){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return qe.call(t,e)?t[e]:void 0},Ue.prototype.has=function(e){var t=this.__data__;return De?void 0!==t[e]:Fe.call(t,e)},Ue.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=De&&void 0===t?"__lodash_hash_undefined__":t,this};var Be=Array.prototype.splice;function We(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}We.prototype.clear=function(){this.__data__=[],this.size=0},We.prototype.delete=function(e){var t=this.__data__,n=$e(t,e);return!(n<0||(n==t.length-1?t.pop():Be.call(t,n,1),--this.size,0))},We.prototype.get=function(e){var t=this.__data__,n=$e(t,e);return n<0?void 0:t[n][1]},We.prototype.has=function(e){return $e(this.__data__,e)>-1},We.prototype.set=function(e,t){var n=this.__data__,o=$e(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this};var Ye=G(j,"Map");function He(e,t){var n,o,i=e.__data__;return("string"==(o=typeof(n=t))||"number"==o||"symbol"==o||"boolean"==o?"__proto__"!==n:null===n)?i["string"==typeof t?"string":"hash"]:i.map}function Ne(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}Ne.prototype.clear=function(){this.size=0,this.__data__={hash:new Ue,map:new(Ye||We),string:new Ue}},Ne.prototype.delete=function(e){var t=He(this,e).delete(e);return this.size-=t?1:0,t},Ne.prototype.get=function(e){return He(this,e).get(e)},Ne.prototype.has=function(e){return He(this,e).has(e)},Ne.prototype.set=function(e,t){var n=He(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this};var Ge=function(e,t){return function(n){return e(t(n))}}(Object.getPrototypeOf,Object),Ve=Ge,Je=Function.prototype,Ke=Object.prototype,Qe=Je.toString,Xe=Ke.hasOwnProperty,Ze=Qe.call(Object);function et(e){var t=this.__data__=new We(e);this.size=t.size}et.prototype.clear=function(){this.__data__=new We,this.size=0},et.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},et.prototype.get=function(e){return this.__data__.get(e)},et.prototype.has=function(e){return this.__data__.has(e)},et.prototype.set=function(e,t){var n=this.__data__;if(n instanceof We){var o=n.__data__;if(!Ye||o.length<199)return o.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ne(o)}return n.set(e,t),this.size=n.size,this};var tt="object"==typeof exports&&exports&&!exports.nodeType&&exports,nt=tt&&"object"==typeof module&&module&&!module.nodeType&&module,ot=nt&&nt.exports===tt?j.Buffer:void 0,it=(ot&&ot.allocUnsafe,j.Uint8Array);var rt=Object.prototype,at=rt.hasOwnProperty,st=de(function(e,t){e=Object(e);var n=-1,o=t.length,i=o>2?t[2]:void 0;for(i&&ge(t[0],t[1],i)&&(o=1);++n<o;)for(var r=t[n],a=Le(r),s=-1,l=a.length;++s<l;){var c=a[s],u=e[c];(void 0===u||se(u,rt[c])&&!at.call(e,c))&&(e[c]=r[c])}return e});function lt(e,t,n){(void 0!==n&&!se(e[t],n)||void 0===n&&!(t in e))&&ae(e,t,n)}function ct(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function ut(e,t,n,o,i,r,a){var s=ct(e,n),l=ct(t,n),c=a.get(l);if(c)lt(e,n,c);else{var u,d=r?r(s,l,n+"",e,t,a):void 0,h=void 0===d;if(h){var p=T(l),g=!p&&Se(l),f=!p&&!g&&Te(l);d=l,p||g||f?T(s)?d=s:M(u=s)&&pe(u)?d=function(e,t){var n=-1,o=e.length;for(t||(t=Array(o));++n<o;)t[n]=e[n];return t}(s):g?(h=!1,d=function(e){return e.slice()}(l)):f?(h=!1,d=function(e,t){var n,o,i=t?(o=new(n=e.buffer).constructor(n.byteLength),new it(o).set(new it(n)),o):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}(l,!0)):d=[]:function(e){if(!M(e)||"[object Object]"!=k(e))return!1;var t=Ve(e);if(null===t)return!0;var n=Xe.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Qe.call(n)==Ze}(l)||ve(l)?(d=s,ve(s)?d=function(e){return function(e,t,n){var o=!n;n||(n={});for(var i=-1,r=t.length;++i<r;){var a=t[i],s=void 0;void 0===s&&(s=e[a]),o?ae(n,a,s):ce(n,a,s)}return n}(e,Le(e))}(s):z(s)&&!L(s)||(d=function(e){return"function"!=typeof e.constructor||be(e)?{}:X(Ve(e))}(l))):h=!1}h&&(a.set(l,d),i(d,l,o,r,a),a.delete(l)),lt(e,n,d)}}function dt(e,t,n,o,i){e!==t&&function(e,t,n){for(var o=-1,i=Object(e),r=n(e),a=r.length;a--;){var s=r[++o];if(!1===t(i[s],s,i))break}}(t,function(r,a){if(i||(i=new et),z(r))ut(e,t,a,n,dt,o,i);else{var s=o?o(ct(e,a),r,a+"",e,t,i):void 0;void 0===s&&(s=r),lt(e,a,s)}},Le)}var ht,pt=(ht=function(e,t,n){dt(e,t,n)},de(function(e,t){var n=-1,o=t.length,i=o>1?t[o-1]:void 0,r=o>2?t[2]:void 0;for(i=ht.length>3&&"function"==typeof i?(o--,i):void 0,r&&ge(t[0],t[1],r)&&(i=o<3?void 0:i,o=1),e=Object(e);++n<o;){var a=t[n];a&&ht(e,a,n)}return e}));const gt=e,ft=t,{styled:bt}=n,{color:mt}=o,{Button:_t}=i,{Tooltip:yt}=i,{Typography:Ct}=i,{Box:vt}=i,{Info:Et}=r,jt=c,{AlertDialog:At}=l,{InputContainer:St}=l,{ChoiceConfiguration:xt}=l,{settings:wt}=l,{layout:Ot}=l,{choiceUtils:Pt}=l;function It(e){let t,n=e[0],o=1;for(;o<e.length;){const i=e[o],r=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=r(n)):"call"!==i&&"optionalCall"!==i||(n=r((...e)=>n.call(t,...e)),t=void 0)}return n}const{Panel:kt,toggle:Mt,radio:Tt,dropdown:zt}=wt,Rt=bt(St)(({theme:e})=>({width:"100%",paddingTop:e.spacing(2),marginBottom:e.spacing(2)})),Lt=bt(St)(({theme:e})=>({flex:1,marginTop:e.spacing(1.5),paddingTop:e.spacing(2),marginLeft:e.spacing(3.5)})),Dt=bt(St)(({theme:e})=>({display:"flex",flexDirection:"column",marginBottom:e.spacing(1),width:"100%"})),qt=bt(_t)(({theme:e})=>({marginTop:e.spacing(1),float:"right"})),Ft=bt(qt)({cursor:"not-allowed",pointerEvents:"all",backgroundColor:mt.disabled(),"&:hover":{backgroundColor:mt.disabled()},"&:focus":{backgroundColor:mt.disabled()}}),Ut=bt(vt)({display:"flex",alignItems:"center"}),$t=bt(Ct)(({theme:e})=>({fontSize:e.typography.fontSize+2,marginRight:e.spacing(1)})),Bt=bt(yt)(({theme:e})=>({"& .MuiTooltip-tooltip":{fontSize:e.typography.fontSize-2,whiteSpace:"pre",maxWidth:"500px"}})),Wt=bt("div")(({theme:e})=>({fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing(1)})),Yt=e=>{const{model:t,configuration:n,onPromptChanged:o,onChoiceChanged:i,onRemoveChoice:r,onAddChoice:a,imageSupport:s,uploadSoundSupport:l,onChangeModel:c,onConfigurationChanged:u,onTeacherInstructionsChanged:d}=e,{addChoiceButton:h={},contentDimensions:p={},feedback:g={},deleteChoice:f={},choiceMode:b={},choicePrefix:m={},partialScoring:_={},lockChoiceOrder:y={},teacherInstructions:C={},studentInstructions:v={},rationale:E={},scoringType:j={},sequentialChoiceLabels:A={},settingsPanelDisabled:S,choicesLayout:x,spellCheck:w={},gridColumns:O,maxImageWidth:P={},maxImageHeight:I={},prompt:k={},withRubric:M={},mathMlOptions:T={},language:z={},languageChoices:R={}}=n||{};let{maxAnswerChoices:L}=n||{};const{limitChoicesNumber:D,teacherInstructionsEnabled:q,rationaleEnabled:F,feedbackEnabled:U,promptEnabled:$,spellCheckEnabled:B,choices:W,errors:Y,toolbarEditorPosition:H,extraCSSRules:N}=t||{},{answerChoices:G,choices:V,correctResponse:J,prompt:K,rationale:Q,teacherInstructions:X}=Y||{},Z=It([W,"optionalAccess",e=>e.length])?Array.from({length:W.length},(e,t)=>`${t+1}`):[],{baseInputConfiguration:ee={}}=n,te={position:"top"===H?"top":"bottom"};D&&(L=9);const ne=(e={})=>({...ee,...e}),oe=(e=>{const{minAnswerChoices:t,maxAnswerChoices:n}=e;return`Validation requirements:\nThere should be at least ${t} `+(n?`and at most ${n} `:"")+"answer choices defined.\nEvery answer choice should be non-blank and unique.\nA correct answer must be defined."})(n),ie=P&&P.prompt,re=I&&I.prompt,ae=L&&It([W,"optionalAccess",e=>e.length])>=L?`Only ${L} allowed maximum`:"",se={choiceMode:b.settings&&Tt(b.label,["checkbox","radio"]),"sequentialChoiceLabels.enabled":A.settings&&Mt(A.label,!0),choicePrefix:m.settings&&Tt(m.label,["numbers","letters"]),partialScoring:_.settings&&Mt(_.label),lockChoiceOrder:y.settings&&Mt(y.label),feedbackEnabled:g.settings&&Mt(g.label),choicesLayout:x.settings&&zt(x.label,["vertical","grid","horizontal"]),gridColumns:x.settings&&"grid"===t.choicesLayout&&Z.length>0&&zt(O.label,Z),"language.enabled":z.settings&&Mt(z.label,!0),language:z.settings&&z.enabled&&zt(R.label,R.options)},le={teacherInstructionsEnabled:C.settings&&Mt(C.label),studentInstructionsEnabled:v.settings&&Mt(v.label),promptEnabled:k.settings&&Mt(k.label),rationaleEnabled:E.settings&&Mt(E.label),spellCheckEnabled:w.settings&&Mt(w.label),scoringType:j.settings&&Tt(j.label,["auto","rubric"]),rubricEnabled:It([M,"optionalAccess",e=>e.settings])&&Mt(It([M,"optionalAccess",e=>e.label]))};return gt.createElement(Ot.ConfigLayout,{dimensions:p,hideSettings:S,extraCSSRules:N,classes:{},settings:gt.createElement(kt,{model:t,onChangeModel:c,configuration:n,onChangeConfiguration:u,groups:{Settings:se,Properties:le}})},q&>.createElement(Rt,{label:C.label},gt.createElement(jt,{markup:t.teacherInstructions||"",onChange:d,imageSupport:s,nonEmpty:!1,disableUnderline:!0,error:X,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.teacherInstructions,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.teacherInstructions||ie,maxImageHeight:I&&I.teacherInstructions||re,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),X&>.createElement(Wt,null,X)),$&>.createElement(Rt,{label:k.label},gt.createElement(jt,{markup:t.prompt,onChange:o,imageSupport:s,nonEmpty:!1,disableUnderline:!0,error:K,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.prompt,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.prompt,maxImageHeight:I&&I.prompt,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),K&>.createElement(Wt,null,K)),gt.createElement(Ut,null,gt.createElement($t,{component:"div"},"Choices"),gt.createElement(Bt,{disableFocusListener:!0,disableTouchListener:!0,placement:"right",title:oe},gt.createElement(Et,{fontSize:"small",color:"primary"}))),W.map((e,o)=>gt.createElement(Dt,{key:`choice-${o}`},gt.createElement(xt,{key:o,index:o+1,useLetterOrdering:"letters"===t.choicePrefix,mode:t.choiceMode,data:e,defaultFeedback:{},imageSupport:s,disableImageAlignmentButtons:!0,onDelete:()=>r(o),onChange:e=>i(o,e),allowFeedBack:U,allowDelete:f.settings,noLabels:!0,pluginOpts:ne(It([n,"optionalAccess",e=>e.choices,"optionalAccess",e=>e.inputConfiguration])),toolbarOpts:te,spellCheck:B,error:It([V,"optionalAccess",t=>t[e.value]])||null,noCorrectAnswerError:J,maxImageWidth:P&&P.choices||ie,maxImageHeight:I&&I.choices||re,uploadSoundSupport:l,mathMlOptions:T}),F&>.createElement(Lt,{key:`rationale-${o}`,label:E.label},gt.createElement(jt,{markup:e.rationale||"",onChange:t=>i(o,{...e,rationale:t}),imageSupport:s,error:It([Q,"optionalAccess",t=>t[e.value]])||null,toolbarOpts:te,pluginProps:ne(It([n,"optionalAccess",e=>e.rationale,"optionalAccess",e=>e.inputConfiguration])),spellCheck:B,maxImageWidth:P&&P.rationale||ie,maxImageHeight:I&&I.rationale||re,uploadSoundSupport:l,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),It([Q,"optionalAccess",t=>t[e.value]])&>.createElement(Wt,null,It([Q,"optionalAccess",t=>t[e.value]]))))),J&>.createElement(Wt,null,J),G&>.createElement(Wt,null,G),h.settings&>.createElement(Bt,{title:ae},L&&It([W,"optionalAccess",e=>e.length])>=L?gt.createElement(Ft,{variant:"contained",color:"primary",onClick:a,disabled:!0},h.label):gt.createElement(qt,{variant:"contained",color:"primary",onClick:a},h.label)))};class Ht extends gt.Component{constructor(...e){super(...e),Ht.prototype.__init.call(this),Ht.prototype.__init2.call(this),Ht.prototype.__init3.call(this),Ht.prototype.__init4.call(this),Ht.prototype.__init5.call(this),Ht.prototype.__init6.call(this),Ht.prototype.__init7.call(this)}static __initStatic(){this.propTypes={model:ft.object.isRequired,configuration:ft.object.isRequired,disableSidePanel:ft.bool,onModelChanged:ft.func.isRequired,onConfigurationChanged:ft.func.isRequired,imageSupport:ft.shape({add:ft.func.isRequired,delete:ft.func.isRequired})}}__init(){this.state={showWarning:!1}}__init2(){this.onRemoveChoice=e=>{const{model:t,configuration:n,onModelChanged:o}=this.props,{minAnswerChoices:i}=n||{};i&&t.choices.length===i?this.setState({showWarning:!0}):(t.choices.splice(e,1),o({choices:t.choices}))}}__init3(){this.onAddChoice=()=>{const{model:e,configuration:t,onModelChanged:n}=this.props;let{maxAnswerChoices:o}=t||{};const{limitChoicesNumber:i}=e||{};i&&(o=9),o&&e.choices.length>=o||(e.choices.push({label:"",value:Pt.firstAvailableIndex(e.choices.map(e=>e.value),0),feedback:{type:"none"}}),n({choices:e.choices}))}}__init4(){this.onChoiceChanged=(e,t)=>{const{model:n,onModelChanged:o}=this.props;t.correct&&"radio"===n.choiceMode&&(n.choices=n.choices.map(e=>pt({},e,{correct:!1}))),n.choices.splice(e,1,t),o({choices:n.choices})}}__init5(){this.onPromptChanged=e=>{this.props.onModelChanged({prompt:e})}}__init6(){this.onTeacherInstructionsChanged=e=>{this.props.onModelChanged({teacherInstructions:e})}}__init7(){this.onModelChanged=(e,t)=>{const{onModelChanged:n}=this.props;if("choiceMode"===t){if("radio"===e.choiceMode){let t=!1;e.choices=e.choices.map(e=>t?(e.correct=!1,e):(e.correct&&(t=!0),e))}n({choiceMode:e.choiceMode,choices:e.choices},!0)}else n(e)}}render(){const{configuration:{minAnswerChoices:e}={}}=this.props,{showWarning:t}=this.state;return gt.createElement(gt.Fragment,null,gt.createElement(At,{open:t,title:"Warning",text:`There can't be less than ${e||0} choices.`,onConfirm:()=>this.setState({showWarning:!1})}),gt.createElement(Yt,{...this.props,onChangeModel:this.onModelChanged,onRemoveChoice:this.onRemoveChoice,onChoiceChanged:this.onChoiceChanged,onAddChoice:this.onAddChoice,onPromptChanged:this.onPromptChanged,onTeacherInstructionsChanged:this.onTeacherInstructionsChanged}))}}Ht.__initStatic();var Nt={choiceMode:"checkbox",choicePrefix:"letters",choices:[],choicesLayout:"vertical",feedbackEnabled:!1,gridColumns:2,lockChoiceOrder:!0,partialScoring:!0,prompt:"",promptEnabled:!0,rationale:"",rationaleEnabled:!0,scoringType:"auto",studentInstructionsEnabled:!0,teacherInstructions:"",teacherInstructionsEnabled:!0,toolbarEditorPosition:"bottom",selectedAnswerBackgroundColor:"initial",keyboardEventsEnabled:!1},Gt={baseInputConfiguration:{h3:{disabled:!0},audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},choices:{inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}}},spellCheck:{label:"Spellcheck",settings:!1,enabled:!0},choicesLayout:{settings:!1,label:"Choices Layout"},gridColumns:{label:"Grid columns"},answerChoiceCount:0,addChoiceButton:{settings:!0,label:"Add a Choice"},choiceMode:{settings:!0,label:"Response Type"},choicePrefix:{settings:!0,label:"Choice Labels"},deleteChoice:{settings:!0},feedback:{settings:!0,label:"Feedback"},prompt:{settings:!0,label:"Prompt",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},lockChoiceOrder:{settings:!0,label:"Lock Choice Order"},partialScoring:{settings:!1,label:"Allow Partial Scoring"},rationale:{settings:!0,label:"Rationale",inputConfiguration:{audio:{disabled:!0},video:{disabled:!0},image:{disabled:!1}},required:!1},scoringType:{settings:!1,label:"Scoring Type"},studentInstructions:{settings:!1,label:"Student Instructions"},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},toolbarEditorPosition:{settings:!1,label:"Toolbar Editor Position"},minAnswerChoices:2,maxAnswerChoices:5,maxImageWidth:{teacherInstructions:300,prompt:300,rationale:636,choices:900},maxImageHeight:{teacherInstructions:300,prompt:300,rationale:300,choices:300},withRubric:{settings:!1,label:"Add Rubric"},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]}};const Vt=e,{createRoot:Jt}=s,Kt=a,{choiceUtils:Qt}=l;function Xt(e){let t,n=e[0],o=1;for(;o<e.length;){const i=e[o],r=e[o+1];if(o+=2,("optionalAccess"===i||"optionalCall"===i)&&null==n)return;"access"===i||"optionalAccess"===i?(t=n,n=r(n)):"call"!==i&&"optionalCall"!==i||(n=r((...e)=>n.call(t,...e)),t=void 0)}return n}const Zt=Kt("multiple-choice:configure"),en=(e,t=0)=>{if(!e||0===e.length){let e=[];for(let n=0;n<t;n++)e.push({value:`${n}`,label:"",feedback:{type:"none",value:""}});return e}return e},tn=(e,t)=>{const n=st(e,Gt);return{configuration:n,model:{...t,choices:en(t&&t.choices||[],n&&n.answerChoiceCount)}}};class nn extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>{const t=Qt.normalizeChoices({...Nt,...e,choices:en(e&&e.choices||[])});return t.choicesLayout=e.choicesLayout||!1===e.verticalMode&&"horizontal"||Nt.choicesLayout,t}}constructor(){super(),this._root=null,this._reactContainer=null,this._model=nn.createDefaultModel(),this._configuration=Gt,this.onModelChanged=this.onModelChanged.bind(this),this.onConfigurationChanged=this.onConfigurationChanged.bind(this)}set model(e){this._model=nn.createDefaultModel(e),this._render()}set configuration(e){const t=tn(e,this._model);this.onModelChanged(t.model);const n={...Gt,...t.configuration};this._configuration=n,Xt([n,"optionalAccess",e=>e.language,"optionalAccess",e=>e.enabled])?Xt([n,"optionalAccess",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(this._model.language=Xt([n,"optionalAccess",e=>e.languageChoices,"access",e=>e.options,"access",e=>e[0],"access",e=>e.value])):n.language.settings&&this._model.language?(this._configuration.language.enabled=!0,this._configuration.languageChoices.options&&this._configuration.languageChoices.options.length||(this._configuration.languageChoices.options=[]),this._configuration.languageChoices.options.find(e=>e.value===this._model.language)||this._configuration.languageChoices.options.push({value:this._model.language,label:this._model.language})):delete this._model.language,this._render()}set disableSidePanel(e){this._disableSidePanel=e,this._render()}dispatchModelUpdated(e){const t=!!e;this.dispatchEvent(new h(this._model,t))}onModelChanged(e,t){this._model={...this._model,...e},this._render(),this.dispatchModelUpdated(t)}onConfigurationChanged(e){this._configuration=tn(e,this._model).configuration,this._model&&this.onModelChanged(this._model),this._render()}insertImage(e){this.dispatchEvent(new b(e))}onDeleteImage(e,t){this.dispatchEvent(new g(e,t))}insertSound(e){this.dispatchEvent(new C(e))}onDeleteSound(e,t){this.dispatchEvent(new _(e,t))}_render(){Zt("_render - Starting render"),Zt("_render - Model:",this._model?"present":"missing"),Zt("_render - Configuration:",this._configuration?"present":"missing"),Zt("_render - Root exists:",!!this._root);try{let e=Vt.createElement(Ht,{model:this._model,configuration:this._configuration,onModelChanged:this.onModelChanged,onConfigurationChanged:this.onConfigurationChanged,disableSidePanel:this._disableSidePanel,imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});this._root||(Zt("_render - Creating React container"),this._reactContainer=document.createElement("div"),this._reactContainer.className="pie-configure-wrapper",this.appendChild(this._reactContainer),Zt("_render - Creating new React root"),this._root=Jt(this._reactContainer),Zt("_render - React root created successfully")),Zt("_render - Calling root.render()"),this._root.render(e),Zt("_render - Render completed successfully")}catch(e){throw console.error("❌ [multiple-choice-configure] Render error:",e),console.error("Error stack:",e.stack),e}}connectedCallback(){Zt("connectedCallback - Component connected to DOM"),Zt("connectedCallback - Model:",this._model?"present":"missing"),Zt("connectedCallback - Configuration:",this._configuration?"present":"missing"),this._render()}disconnectedCallback(){Zt("disconnectedCallback - Component disconnected from DOM"),this._root&&(Zt("disconnectedCallback - Unmounting React root"),this._root.unmount(),this._root=null),this._reactContainer&&(this._reactContainer=null)}}nn.__initStatic();export{nn as default};
|
package/module/controller.js
CHANGED
|
@@ -2722,6 +2722,10 @@ const getShuffledChoices = (choices, session, updateSession, choiceKey) =>
|
|
|
2722
2722
|
* - true - that means that the order of the choices will be ordinal (as is created in the configure item)
|
|
2723
2723
|
* - false - that means the getShuffledChoices above will be called and that in turn means that we either
|
|
2724
2724
|
* return the shuffled values on the session (if any exists) or we shuffle the choices
|
|
2725
|
+
*
|
|
2726
|
+
* Note: the role (student/instructor) is intentionally not considered here — instructor mode
|
|
2727
|
+
* will respect the same `lockChoiceOrder` value as students, instead of forcing the order to be locked.
|
|
2728
|
+
*
|
|
2725
2729
|
* @param model - model to check if we should lock order
|
|
2726
2730
|
* @param session - session to check if we should lock order
|
|
2727
2731
|
* @param env - env to check if we should lock order
|
|
@@ -2738,21 +2742,6 @@ const lockChoices = (model, session, env) => {
|
|
|
2738
2742
|
return true;
|
|
2739
2743
|
}
|
|
2740
2744
|
|
|
2741
|
-
const role = get(env, 'role', 'student');
|
|
2742
|
-
|
|
2743
|
-
if (role === 'instructor') {
|
|
2744
|
-
// TODO: .. in the future the instructor can toggle between ordinal and shuffled here, so keeping this code until then
|
|
2745
|
-
/*const alreadyShuffled = hasShuffledValues(session);
|
|
2746
|
-
|
|
2747
|
-
if (alreadyShuffled) {
|
|
2748
|
-
return false;
|
|
2749
|
-
}
|
|
2750
|
-
|
|
2751
|
-
return true;*/
|
|
2752
|
-
return true;
|
|
2753
|
-
}
|
|
2754
|
-
|
|
2755
|
-
// here it's a student, so don't lock and it will shuffle if needs be
|
|
2756
2745
|
return false;
|
|
2757
2746
|
};
|
|
2758
2747
|
|
|
@@ -2996,12 +2985,14 @@ const validate = (model = {}, config = {}) => {
|
|
|
2996
2985
|
});
|
|
2997
2986
|
|
|
2998
2987
|
let hasCorrectResponse = false;
|
|
2988
|
+
let correctCount = 0;
|
|
2999
2989
|
|
|
3000
2990
|
reversedChoices.forEach((choice, index) => {
|
|
3001
2991
|
const { correct, value, label, rationale } = choice;
|
|
3002
2992
|
|
|
3003
2993
|
if (correct) {
|
|
3004
2994
|
hasCorrectResponse = true;
|
|
2995
|
+
correctCount++;
|
|
3005
2996
|
}
|
|
3006
2997
|
|
|
3007
2998
|
if (!getContent(label)) {
|
|
@@ -3029,6 +3020,12 @@ const validate = (model = {}, config = {}) => {
|
|
|
3029
3020
|
|
|
3030
3021
|
if (!hasCorrectResponse) {
|
|
3031
3022
|
errors.correctResponse = 'No correct response defined.';
|
|
3023
|
+
} else {
|
|
3024
|
+
const { maxSelections, choiceMode } = model;
|
|
3025
|
+
|
|
3026
|
+
if (choiceMode !== 'radio' && maxSelections != null && correctCount > maxSelections) {
|
|
3027
|
+
errors.correctResponse = `The number of correct answers (${correctCount}) exceeds max selections (${maxSelections}). Students won't be able to select all correct answers.`;
|
|
3028
|
+
}
|
|
3032
3029
|
}
|
|
3033
3030
|
|
|
3034
3031
|
if (!isEmpty(choicesErrors)) {
|