@pie-element/inline-dropdown 3.10.4 → 3.10.6-next.2

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.
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var _markupUtils = require("../markupUtils");
4
+
5
+ describe('markupUtils', function () {
6
+ describe('createElementFromHTML', function () {
7
+ it('should create dom element from string', function () {
8
+ var el = (0, _markupUtils.createElementFromHTML)("<div>Foo Bar</div>");
9
+ expect(el.outerHTML).toEqual('<div><div>Foo Bar</div></div>');
10
+ });
11
+ });
12
+ describe('removeUnwantedCharacters', function () {
13
+ it('should remove \\t and \\n characters', function () {
14
+ expect((0, _markupUtils.removeUnwantedCharacters)('<div>foo\t\nbar</div>')).toEqual('<div>foobar</div>');
15
+ });
16
+ it('should remove \\t and \\n characters', function () {
17
+ expect((0, _markupUtils.removeUnwantedCharacters)('<div>foo\\t\\nbar</div>')).toEqual('<div>foobar</div>');
18
+ });
19
+ it('should replace \\" with "', function () {
20
+ expect((0, _markupUtils.removeUnwantedCharacters)('<div>\"foo bar\"</div>')).toEqual('<div>"foo bar"</div>');
21
+ });
22
+ it('should replace \\\/ with /', function () {
23
+ expect((0, _markupUtils.removeUnwantedCharacters)('<div>foo\/bar</div>')).toEqual('<div>foo/bar</div>');
24
+ });
25
+ it('should not remove \\t character which has latex like \\times', function () {
26
+ expect((0, _markupUtils.removeUnwantedCharacters)('<div><span data-latex=\"\" data-raw=\"3\\times3\\div2\">3\\times3\\div2</span></div>')).toEqual("<div><span data-latex=\"\" data-raw=\"3\\times3\\div2\">3\\times3\\div2</span></div>");
27
+ });
28
+ });
29
+ describe('processMarkup', function () {
30
+ it('should get processed markup', function () {
31
+ var markup = ['<div>', '<span data-type="inline_dropdown" data-value="foobar" data-index="0"></span>', '<span data-type="inline_dropdown" data-value="barfoo" data-index="1"></span>', '</div>'].join('');
32
+ var processed = (0, _markupUtils.processMarkup)(markup);
33
+ expect(processed).toEqual(['<div>', '{{0}}', '{{1}}', '</div>'].join(''));
34
+ });
35
+ });
36
+ describe('createSlateMarkup', function () {
37
+ it('should create slate markup from the regular markup and choices', function () {
38
+ var markup = ['<div>', '{{0}}', '{{1}}', '</div>'].join('');
39
+ var choices = {
40
+ 0: [{
41
+ id: '0',
42
+ value: 'foobar',
43
+ label: 'foobar'
44
+ }, {
45
+ id: '1',
46
+ value: 'barfoo',
47
+ label: 'barfoo'
48
+ }, {
49
+ id: '2',
50
+ value: 'hufu',
51
+ label: 'hufu',
52
+ correct: true
53
+ }],
54
+ 1: [{
55
+ id: '0',
56
+ value: 'foobar',
57
+ label: 'foobar'
58
+ }, {
59
+ id: '1',
60
+ value: 'barfoo',
61
+ label: 'barfoo'
62
+ }, {
63
+ id: '2',
64
+ value: 'hufu',
65
+ label: 'hufu',
66
+ correct: true
67
+ }]
68
+ };
69
+ var slateMarkup = (0, _markupUtils.createSlateMarkup)(markup, choices);
70
+ expect(slateMarkup).toEqual(['<div>', '<span data-type="inline_dropdown" data-index="0" data-value="hufu"></span>', '<span data-type="inline_dropdown" data-index="1" data-value="hufu"></span>', '</div>'].join(''));
71
+ });
72
+ it('should handle choices with empty values', function () {
73
+ var markup = ['<div>', '{{0}}', '{{1}}', '</div>'].join('');
74
+ var choices = {
75
+ 0: [{
76
+ id: '0',
77
+ value: 'foobar',
78
+ label: 'foobar'
79
+ }, {
80
+ id: '1',
81
+ value: 'barfoo',
82
+ label: 'barfoo'
83
+ }, {
84
+ id: '2',
85
+ value: 'hufu',
86
+ label: 'hufu',
87
+ correct: true
88
+ }],
89
+ 1: [{
90
+ id: '0',
91
+ value: 'foobar',
92
+ label: 'foobar'
93
+ }, {
94
+ id: '1',
95
+ value: 'barfoo',
96
+ label: 'barfoo'
97
+ }, {
98
+ id: '2',
99
+ value: 'hufu',
100
+ label: 'hufu'
101
+ }]
102
+ };
103
+ var slateMarkup = (0, _markupUtils.createSlateMarkup)(markup, choices);
104
+ expect(slateMarkup).toEqual(['<div>', '<span data-type="inline_dropdown" data-index="0" data-value="hufu"></span>', '<span data-type="inline_dropdown" data-index="1" data-value=""></span>', '</div>'].join(''));
105
+ });
106
+ });
107
+ });
108
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFya3VwVXRpbHMudGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsImVsIiwiZXhwZWN0Iiwib3V0ZXJIVE1MIiwidG9FcXVhbCIsIm1hcmt1cCIsImpvaW4iLCJwcm9jZXNzZWQiLCJjaG9pY2VzIiwiaWQiLCJ2YWx1ZSIsImxhYmVsIiwiY29ycmVjdCIsInNsYXRlTWFya3VwIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQU9BQSxRQUFRLENBQUMsYUFBRCxFQUFnQixZQUFNO0FBRTVCQSxFQUFBQSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUV0Q0MsSUFBQUEsRUFBRSxDQUFDLHVDQUFELEVBQTBDLFlBQU07QUFDaEQsVUFBTUMsRUFBRSxHQUFHLDZEQUFYO0FBRUFDLE1BQUFBLE1BQU0sQ0FBQ0QsRUFBRSxDQUFDRSxTQUFKLENBQU4sQ0FBcUJDLE9BQXJCLENBQTZCLCtCQUE3QjtBQUNELEtBSkMsQ0FBRjtBQU1ELEdBUk8sQ0FBUjtBQVVBTCxFQUFBQSxRQUFRLENBQUMsMEJBQUQsRUFBNkIsWUFBTTtBQUV6Q0MsSUFBQUEsRUFBRSxDQUFDLHNDQUFELEVBQXlDLFlBQU07QUFDL0NFLE1BQUFBLE1BQU0sQ0FBQywyQ0FBeUIsdUJBQXpCLENBQUQsQ0FBTixDQUEwREUsT0FBMUQsQ0FBa0UsbUJBQWxFO0FBQ0QsS0FGQyxDQUFGO0FBSUFKLElBQUFBLEVBQUUsQ0FBQyxzQ0FBRCxFQUF5QyxZQUFNO0FBQy9DRSxNQUFBQSxNQUFNLENBQUMsMkNBQXlCLHlCQUF6QixDQUFELENBQU4sQ0FBNERFLE9BQTVELENBQW9FLG1CQUFwRTtBQUNELEtBRkMsQ0FBRjtBQUlBSixJQUFBQSxFQUFFLENBQUMsMkJBQUQsRUFBOEIsWUFBTTtBQUNwQ0UsTUFBQUEsTUFBTSxDQUFDLDJDQUF5Qix3QkFBekIsQ0FBRCxDQUFOLENBQTJERSxPQUEzRCxDQUFtRSxzQkFBbkU7QUFDRCxLQUZDLENBQUY7QUFJQUos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ZW1lbnRGcm9tSFRNTCxcbiAgY3JlYXRlU2xhdGVNYXJrdXAsXG4gIHByb2Nlc3NNYXJrdXAsXG4gIHJlbW92ZVVud2FudGVkQ2hhcmFjdGVyc1xufSBmcm9tICcuLi9tYXJrdXBVdGlscyc7XG5cbmRlc2NyaWJlKCdtYXJrdXBVdGlscycsICgpID0+IHtcblxuICBkZXNjcmliZSgnY3JlYXRlRWxlbWVudEZyb21IVE1MJywgKCkgPT4ge1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgZG9tIGVsZW1lbnQgZnJvbSBzdHJpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTChgPGRpdj5Gb28gQmFyPC9kaXY+YCk7XG5cbiAgICAgIGV4cGVjdChlbC5vdXRlckhUTUwpLnRvRXF1YWwoJzxkaXY+PGRpdj5Gb28gQmFyPC9kaXY+PC9kaXY+Jyk7XG4gICAgfSk7XG5cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbW92ZVVud2FudGVkQ2hhcmFjdGVycycsICgpID0+IHtcblxuICAgIGl0KCdzaG91bGQgcmVtb3ZlIFxcXFx0IGFuZCBcXFxcbiBjaGFyYWN0ZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlbW92ZVVud2FudGVkQ2hhcmFjdGVycygnPGRpdj5mb29cXHRcXG5iYXI8L2Rpdj4nKSkudG9FcXVhbCgnPGRpdj5mb29iYXI8L2Rpdj4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmVtb3ZlIFxcXFx0IGFuZCBcXFxcbiBjaGFyYWN0ZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlbW92ZVVud2FudGVkQ2hhcmFjdGVycygnPGRpdj5mb29cXFxcdFxcXFxuYmFyPC9kaXY+JykpLnRvRXF1YWwoJzxkaXY+Zm9vYmFyPC9kaXY+Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlcGxhY2UgXFxcXFwiIHdpdGggXCInLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVtb3ZlVW53YW50ZWRDaGFyYWN0ZXJzKCc8ZGl2PlxcXCJmb28gYmFyXFxcIjwvZGl2PicpKS50b0VxdWFsKCc8ZGl2PlwiZm9vIGJhclwiPC9kaXY+Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJlcGxhY2UgXFxcXFxcLyB3aXRoIC8nLCAoKSA9PiB7XG4gICAgICBleHBlY3QocmVtb3ZlVW53YW50ZWRDaGFyYWN0ZXJzKCc8ZGl2PmZvb1xcL2JhcjwvZGl2PicpKS50b0VxdWFsKCc8ZGl2PmZvby9iYXI8L2Rpdj4nKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbm90IHJlbW92ZSBcXFxcdCBjaGFyYWN0ZXIgd2hpY2ggaGFzIGxhdGV4IGxpa2UgXFxcXHRpbWVzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHJlbW92ZVVud2FudGVkQ2hhcmFjdGVycygnPGRpdj48c3BhbiBkYXRhLWxhdGV4PVxcXCJcXFwiIGRhdGEtcmF3PVxcXCIzXFxcXHRpbWVzM1xcXFxkaXYyXFxcIj4zXFxcXHRpbWVzM1xcXFxkaXYyPC9zcGFuPjwvZGl2PicpKVxuICAgICAgICAudG9FcXVhbChcIjxkaXY+PHNwYW4gZGF0YS1sYXRleD1cXFwiXFxcIiBkYXRhLXJhdz1cXFwiM1xcXFx0aW1lczNcXFxcZGl2MlxcXCI+M1xcXFx0aW1lczNcXFxcZGl2Mjwvc3Bhbj48L2Rpdj5cIik7XG4gICAgfSk7XG5cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Byb2Nlc3NNYXJrdXAnLCAoKSA9PiB7XG5cbiAgICBpdCgnc2hvdWxkIGdldCBwcm9jZXNzZWQgbWFya3VwJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3VwID0gW1xuICAgICAgICAnPGRpdj4nLFxuICAgICAgICAgICc8c3BhbiBkYXRhLXR5cGU9XCJpbmxpbmVfZHJvcGRvd25cIiBkYXRhLXZhbHVlPVwiZm9vYmFyXCIgZGF0YS1pbmRleD1cIjBcIj48L3NwYW4+JyxcbiAgICAgICAgICAnPHNwYW4gZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCIgZGF0YS12YWx1ZT1cImJhcmZvb1wiIGRhdGEtaW5kZXg9XCIxXCI+PC9zcGFuPicsXG4gICAgICAgICc8L2Rpdj4nXG4gICAgICBdLmpvaW4oJycpO1xuICAgICAgY29uc3QgcHJvY2Vzc2VkID0gcHJvY2Vzc01hcmt1cChtYXJrdXApO1xuXG4gICAgICBleHBlY3QocHJvY2Vzc2VkKS50b0VxdWFsKFtcbiAgICAgICAgJzxkaXY+JyxcbiAgICAgICAgJ3t7MH19JyxcbiAgICAgICAgJ3t7MX19JyxcbiAgICAgICAgJzwvZGl2PidcbiAgICAgIF0uam9pbignJykpO1xuICAgIH0pO1xuXG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjcmVhdGVTbGF0ZU1hcmt1cCcsICgpID0+IHtcblxuICAgIGl0KCdzaG91bGQgY3JlYXRlIHNsYXRlIG1hcmt1cCBmcm9tIHRoZSByZWd1bGFyIG1hcmt1cCBhbmQgY2hvaWNlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmt1cCA9IFtcbiAgICAgICAgJzxkaXY+JyxcbiAgICAgICAgICAne3swfX0nLFxuICAgICAgICAgICd7ezF9fScsXG4gICAgICAgICc8L2Rpdj4nXG4gICAgICBdLmpvaW4oJycpO1xuICAgICAgY29uc3QgY2hvaWNlcyA9IHtcbiAgICAgICAgMDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMCcsXG4gICAgICAgICAgICB2YWx1ZTogJ2Zvb2JhcicsXG4gICAgICAgICAgICBsYWJlbDogJ2Zvb2JhcidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgICB2YWx1ZTogJ2JhcmZvbycsXG4gICAgICAgICAgICBsYWJlbDogJ2JhcmZvbydcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnMicsXG4gICAgICAgICAgICB2YWx1ZTogJ2h1ZnUnLFxuICAgICAgICAgICAgbGFiZWw6ICdodWZ1JyxcbiAgICAgICAgICAgIGNvcnJlY3Q6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIDE6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzAnLFxuICAgICAgICAgICAgdmFsdWU6ICdmb29iYXInLFxuICAgICAgICAgICAgbGFiZWw6ICdmb29iYXInXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgdmFsdWU6ICdiYXJmb28nLFxuICAgICAgICAgICAgbGFiZWw6ICdiYXJmb28nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzInLFxuICAgICAgICAgICAgdmFsdWU6ICdodWZ1JyxcbiAgICAgICAgICAgIGxhYmVsOiAnaHVmdScsXG4gICAgICAgICAgICBjb3JyZWN0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2xhdGVNYXJrdXAgPSBjcmVhdGVTbGF0ZU1hcmt1cChtYXJrdXAsIGNob2ljZXMpO1xuXG4gICAgICBleHBlY3Qoc2xhdGVNYXJrdXApLnRvRXF1YWwoW1xuICAgICAgICAnPGRpdj4nLFxuICAgICAgICAnPHNwYW4gZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCIgZGF0YS1pbmRleD1cIjBcIiBkYXRhLXZhbHVlPVwiaHVmdVwiPjwvc3Bhbj4nLFxuICAgICAgICAnPHNwYW4gZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCIgZGF0YS1pbmRleD1cIjFcIiBkYXRhLXZhbHVlPVwiaHVmdVwiPjwvc3Bhbj4nLFxuICAgICAgICAnPC9kaXY+J1xuICAgICAgXS5qb2luKCcnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBjaG9pY2VzIHdpdGggZW1wdHkgdmFsdWVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3VwID0gW1xuICAgICAgICAnPGRpdj4nLFxuICAgICAgICAne3swfX0nLFxuICAgICAgICAne3sxfX0nLFxuICAgICAgICAnPC9kaXY+J1xuICAgICAgXS5qb2luKCcnKTtcbiAgICAgIGNvbnN0IGNob2ljZXMgPSB7XG4gICAgICAgIDA6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzAnLFxuICAgICAgICAgICAgdmFsdWU6ICdmb29iYXInLFxuICAgICAgICAgICAgbGFiZWw6ICdmb29iYXInXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgICAgdmFsdWU6ICdiYXJmb28nLFxuICAgICAgICAgICAgbGFiZWw6ICdiYXJmb28nXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJzInLFxuICAgICAgICAgICAgdmFsdWU6ICdodWZ1JyxcbiAgICAgICAgICAgIGxhYmVsOiAnaHVmdScsXG4gICAgICAgICAgICBjb3JyZWN0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICAxOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcwJyxcbiAgICAgICAgICAgIHZhbHVlOiAnZm9vYmFyJyxcbiAgICAgICAgICAgIGxhYmVsOiAnZm9vYmFyJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICAgIHZhbHVlOiAnYmFyZm9vJyxcbiAgICAgICAgICAgIGxhYmVsOiAnYmFyZm9vJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICcyJyxcbiAgICAgICAgICAgIHZhbHVlOiAnaHVmdScsXG4gICAgICAgICAgICBsYWJlbDogJ2h1ZnUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgICAgY29uc3Qgc2xhdGVNYXJrdXAgPSBjcmVhdGVTbGF0ZU1hcmt1cChtYXJrdXAsIGNob2ljZXMpO1xuXG4gICAgICBleHBlY3Qoc2xhdGVNYXJrdXApLnRvRXF1YWwoW1xuICAgICAgICAnPGRpdj4nLFxuICAgICAgICAnPHNwYW4gZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCIgZGF0YS1pbmRleD1cIjBcIiBkYXRhLXZhbHVlPVwiaHVmdVwiPjwvc3Bhbj4nLFxuICAgICAgICAnPHNwYW4gZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCIgZGF0YS1pbmRleD1cIjFcIiBkYXRhLXZhbHVlPVwiXCI+PC9zcGFuPicsXG4gICAgICAgICc8L2Rpdj4nXG4gICAgICBdLmpvaW4oJycpKTtcbiAgICB9KTtcblxuICB9KTtcblxufSk7XG4iXX0=
@@ -26,6 +26,11 @@ var _default = {
26
26
  settings: true,
27
27
  label: 'Prompt'
28
28
  },
29
+ spellCheck: {
30
+ label: 'Spellcheck',
31
+ settings: false,
32
+ enabled: true
33
+ },
29
34
  lockChoiceOrder: {
30
35
  settings: true,
31
36
  label: 'Lock Choice Order'
@@ -53,4 +58,4 @@ var _default = {
53
58
  }
54
59
  };
55
60
  exports["default"] = _default;
56
- //# sourceMappingURL=defaults.js.map
61
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJtb2RlbCIsImRpc2FibGVkIiwibW9kZSIsInByb21wdCIsInNodWZmbGUiLCJtYXJrdXAiLCJjaG9pY2VzIiwiYWx0ZXJuYXRlUmVzcG9uc2UiLCJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsImNob2ljZVJhdGlvbmFsZUVuYWJsZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCIsInN0dWRlbnRJbnN0cnVjdGlvbnNFbmFibGVkIiwidG9vbGJhckVkaXRvclBvc2l0aW9uIiwiZGlzcGxheVR5cGUiLCJjb25maWd1cmF0aW9uIiwic2V0dGluZ3MiLCJsYWJlbCIsInNwZWxsQ2hlY2siLCJlbmFibGVkIiwibG9ja0Nob2ljZU9yZGVyIiwicGFydGlhbFNjb3JpbmciLCJyYXRpb25hbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2hvaWNlUmF0aW9uYWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7ZUFBZTtBQUNiQSxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsUUFBUSxFQUFFLEtBREw7QUFFTEMsSUFBQUEsSUFBSSxFQUFFLFFBRkQ7QUFHTEMsSUFBQUEsTUFBTSxFQUFFLDRDQUhIO0FBSUxDLElBQUFBLE9BQU8sRUFBRSxJQUpKO0FBS0xDLElBQUFBLE1BQU0sRUFBRSxFQUxIO0FBTUxDLElBQUFBLE9BQU8sRUFBRSxFQU5KO0FBT0xDLElBQUFBLGlCQUFpQixFQUFFLEVBUGQ7QUFRTEMsSUFBQUEsYUFBYSxFQUFFLElBUlY7QUFTTEMsSUFBQUEsZ0JBQWdCLEVBQUUsSUFUYjtBQVVMQyxJQUFBQSxzQkFBc0IsRUFBRSxJQVZuQjtBQVdMQyxJQUFBQSwwQkFBMEIsRUFBRSxJQVh2QjtBQVlMQyxJQUFBQSwwQkFBMEIsRUFBRSxJQVp2QjtBQWFMQyxJQUFBQSxxQkFBcUIsRUFBRSxRQWJsQjtBQWNMQyxJQUFBQSxXQUFXLEVBQUU7QUFkUixHQURNO0FBaUJiQyxFQUFBQSxhQUFhLEVBQUU7QUFDYlosSUFBQUEsTUFBTSxFQUFFO0FBQ05hLE1BQUFBLFFBQVEsRUFBRSxJQURKO0FBRU5DLE1BQUFBLEtBQUssRUFBRTtBQUZELEtBREs7QUFLYkMsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZELE1BQUFBLEtBQUssRUFBRSxZQURHO0FBRVZELE1BQUFBLFFBQVEsRUFBQyxLQUZDO0FBR1ZHLE1BQUFBLE9BQU8sRUFBQztBQUhFLEtBTEM7QUFVYkMsSUFBQUEsZUFBZSxFQUFFO0FBQ2ZKLE1BQUFBLFFBQVEsRUFBRSxJQURLO0FBRWZDLE1BQUFBLEtBQUssRUFBRTtBQUZRLEtBVko7QUFjYkksSUFBQUEsY0FBYyxFQUFFO0FBQ2RMLE1BQUFBLFFBQVEsRUFBRSxLQURJO0FBRWRDLE1BQUFBLEtBQUssRUFBRTtBQUZPLEtBZEg7QUFrQmJLLElBQUFBLFNBQVMsRUFBRTtBQUNUTixNQUFBQSxRQUFRLEVBQUUsSUFERDtBQUVUQyxNQUFBQSxLQUFLLEVBQUU7QUFGRSxLQWxCRTtBQXNCYk0sSUFBQUEsbUJBQW1CLEVBQUU7QUFDbkJQLE1BQUFBLFFBQVEsRUFBRSxJQURTO0FBRW5CQyxNQUFBQSxLQUFLLEVBQUU7QUFGWSxLQXRCUjtBQTBCYk8sSUFBQUEsZUFBZSxFQUFFO0FBQ2ZSLE1BQUFBLFFBQVEsRUFBRSxJQURLO0FBRWZDLE1BQUFBLEtBQUssRUFBRTtBQUZRLEtBMUJKO0FBOEJiSixJQUFBQSxxQkFBcUIsRUFBQztBQUNwQkcsTUFBQUEsUUFBUSxFQUFFLEtBRFU7QUFFcEJDLE1BQUFBLEtBQUssRUFBRTtBQUZhO0FBOUJUO0FBakJGLEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIG1vZGVsOiB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIG1vZGU6ICdnYXRoZXInLFxuICAgIHByb21wdDogJ1VzZSB0aGUgZHJvcGRvd25zIHRvIGNvbXBsZXRlIHRoZSBzZW50ZW5jZScsXG4gICAgc2h1ZmZsZTogdHJ1ZSxcbiAgICBtYXJrdXA6ICcnLFxuICAgIGNob2ljZXM6IHt9LFxuICAgIGFsdGVybmF0ZVJlc3BvbnNlOiB7fSxcbiAgICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICAgIHJhdGlvbmFsZUVuYWJsZWQ6IHRydWUsXG4gICAgY2hvaWNlUmF0aW9uYWxlRW5hYmxlZDogdHJ1ZSxcbiAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgICB0b29sYmFyRWRpdG9yUG9zaXRpb246ICdib3R0b20nLFxuICAgIGRpc3BsYXlUeXBlOiAnYmxvY2snXG4gIH0sXG4gIGNvbmZpZ3VyYXRpb246IHtcbiAgICBwcm9tcHQ6IHtcbiAgICAgIHNldHRpbmdzOiB0cnVlLFxuICAgICAgbGFiZWw6ICdQcm9tcHQnXG4gICAgfSxcbiAgICBzcGVsbENoZWNrOiB7XG4gICAgICBsYWJlbDogJ1NwZWxsY2hlY2snLFxuICAgICAgc2V0dGluZ3M6ZmFsc2UsXG4gICAgICBlbmFibGVkOnRydWVcbiAgICB9LFxuICAgIGxvY2tDaG9pY2VPcmRlcjoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ0xvY2sgQ2hvaWNlIE9yZGVyJ1xuICAgIH0sXG4gICAgcGFydGlhbFNjb3Jpbmc6IHtcbiAgICAgIHNldHRpbmdzOiBmYWxzZSxcbiAgICAgIGxhYmVsOiAnQWxsb3cgUGFydGlhbCBTY29yaW5nJ1xuICAgIH0sXG4gICAgcmF0aW9uYWxlOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnUmF0aW9uYWxlJ1xuICAgIH0sXG4gICAgdGVhY2hlckluc3RydWN0aW9uczoge1xuICAgICAgc2V0dGluZ3M6IHRydWUsXG4gICAgICBsYWJlbDogJ1RlYWNoZXIgSW5zdHJ1Y3Rpb25zJ1xuICAgIH0sXG4gICAgY2hvaWNlUmF0aW9uYWxlOiB7XG4gICAgICBzZXR0aW5nczogdHJ1ZSxcbiAgICAgIGxhYmVsOiAnQ2hvaWNlIFJhdGlvbmFsZSdcbiAgICB9LFxuICAgIHRvb2xiYXJFZGl0b3JQb3NpdGlvbjp7XG4gICAgICBzZXR0aW5nczogZmFsc2UsXG4gICAgICBsYWJlbDogJ1Rvb2xiYXIgRWRpdG9yIFBvc2l0aW9uJ1xuICAgIH0sXG4gIH1cbn07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","choices","alternateResponse","promptEnabled","rationaleEnabled","choiceRationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","displayType","configuration","settings","label","lockChoiceOrder","partialScoring","rationale","teacherInstructions","choiceRationale"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,KADL;AAELC,IAAAA,IAAI,EAAE,QAFD;AAGLC,IAAAA,MAAM,EAAE,4CAHH;AAILC,IAAAA,OAAO,EAAE,IAJJ;AAKLC,IAAAA,MAAM,EAAE,EALH;AAMLC,IAAAA,OAAO,EAAE,EANJ;AAOLC,IAAAA,iBAAiB,EAAE,EAPd;AAQLC,IAAAA,aAAa,EAAE,IARV;AASLC,IAAAA,gBAAgB,EAAE,IATb;AAULC,IAAAA,sBAAsB,EAAE,IAVnB;AAWLC,IAAAA,0BAA0B,EAAE,IAXvB;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,qBAAqB,EAAE,QAblB;AAcLC,IAAAA,WAAW,EAAE;AAdR,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbZ,IAAAA,MAAM,EAAE;AACNa,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KADK;AAKbC,IAAAA,eAAe,EAAE;AACfF,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KALJ;AASbE,IAAAA,cAAc,EAAE;AACdH,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KATH;AAabG,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAbE;AAiBbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAjBR;AAqBbK,IAAAA,eAAe,EAAE;AACfN,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KArBJ;AAyBbJ,IAAAA,qBAAqB,EAAC;AACpBG,MAAAA,QAAQ,EAAE,KADU;AAEpBC,MAAAA,KAAK,EAAE;AAFa;AAzBT;AAjBF,C","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the dropdowns to complete the sentence',\n shuffle: true,\n markup: '',\n choices: {},\n alternateResponse: {},\n promptEnabled: true,\n rationaleEnabled: true,\n choiceRationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n displayType: 'block'\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n choiceRationale: {\n settings: true,\n label: 'Choice Rationale'\n },\n toolbarEditorPosition:{\n settings: false,\n label: 'Toolbar Editor Position'\n },\n }\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","choices","alternateResponse","promptEnabled","rationaleEnabled","choiceRationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","displayType","configuration","settings","label","spellCheck","enabled","lockChoiceOrder","partialScoring","rationale","teacherInstructions","choiceRationale"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE,KADL;AAELC,IAAAA,IAAI,EAAE,QAFD;AAGLC,IAAAA,MAAM,EAAE,4CAHH;AAILC,IAAAA,OAAO,EAAE,IAJJ;AAKLC,IAAAA,MAAM,EAAE,EALH;AAMLC,IAAAA,OAAO,EAAE,EANJ;AAOLC,IAAAA,iBAAiB,EAAE,EAPd;AAQLC,IAAAA,aAAa,EAAE,IARV;AASLC,IAAAA,gBAAgB,EAAE,IATb;AAULC,IAAAA,sBAAsB,EAAE,IAVnB;AAWLC,IAAAA,0BAA0B,EAAE,IAXvB;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,qBAAqB,EAAE,QAblB;AAcLC,IAAAA,WAAW,EAAE;AAdR,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbZ,IAAAA,MAAM,EAAE;AACNa,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KADK;AAKbC,IAAAA,UAAU,EAAE;AACVD,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVG,MAAAA,OAAO,EAAC;AAHE,KALC;AAUbC,IAAAA,eAAe,EAAE;AACfJ,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KAVJ;AAcbI,IAAAA,cAAc,EAAE;AACdL,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAdH;AAkBbK,IAAAA,SAAS,EAAE;AACTN,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAlBE;AAsBbM,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAtBR;AA0BbO,IAAAA,eAAe,EAAE;AACfR,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KA1BJ;AA8BbJ,IAAAA,qBAAqB,EAAC;AACpBG,MAAAA,QAAQ,EAAE,KADU;AAEpBC,MAAAA,KAAK,EAAE;AAFa;AA9BT;AAjBF,C","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the dropdowns to complete the sentence',\n shuffle: true,\n markup: '',\n choices: {},\n alternateResponse: {},\n promptEnabled: true,\n rationaleEnabled: true,\n choiceRationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n displayType: 'block'\n },\n configuration: {\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n choiceRationale: {\n settings: true,\n label: 'Choice Rationale'\n },\n toolbarEditorPosition:{\n settings: false,\n label: 'Toolbar Editor Position'\n },\n }\n};\n"],"file":"defaults.js"}
@@ -39,9 +39,9 @@ var _defaults2 = _interopRequireDefault(require("./defaults"));
39
39
 
40
40
  var _markupUtils = require("./markupUtils");
41
41
 
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
43
 
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
45
 
46
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
47
 
@@ -159,4 +159,4 @@ exports["default"] = InlineDropdown;
159
159
 
160
160
  });
161
161
  });
162
- //# sourceMappingURL=index.js.map
162
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJJbmxpbmVEcm9wZG93biIsIl9tb2RlbCIsInByZXBhcmVNb2RlbCIsIl9jb25maWd1cmF0aW9uIiwic2Vuc2libGVEZWZhdWx0cyIsImNvbmZpZ3VyYXRpb24iLCJvbk1vZGVsQ2hhbmdlZCIsImJpbmQiLCJvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkIiwicyIsIl9yZW5kZXIiLCJjIiwiX2Rpc2FibGVTaWRlUGFuZWwiLCJyZXNldCIsInJlc2V0VmFsdWUiLCJkaXNwYXRjaEV2ZW50IiwiTW9kZWxVcGRhdGVkRXZlbnQiLCJtIiwiZGlzcGF0Y2hNb2RlbFVwZGF0ZWQiLCJoYW5kbGVyIiwiSW5zZXJ0SW1hZ2VFdmVudCIsInNyYyIsImRvbmUiLCJEZWxldGVJbWFnZUV2ZW50IiwiZWxlbWVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJtb2RlbCIsImRpc2FibGVTaWRlUGFuZWwiLCJpbWFnZVN1cHBvcnQiLCJhZGQiLCJpbnNlcnRJbWFnZSIsIm9uRGVsZXRlSW1hZ2UiLCJSZWFjdERPTSIsInJlbmRlciIsIkhUTUxFbGVtZW50IiwiY3Vyck1vZGFsIiwic2xhdGVNYXJrdXAiLCJtYXJrdXAiLCJjaG9pY2VzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sMkJBQU4sQ0FBWjs7SUFFcUJDLGM7Ozs7O0FBaUJuQiw0QkFBYztBQUFBOztBQUFBO0FBQ1o7QUFDQSxVQUFLQyxNQUFMLEdBQWNELGNBQWMsQ0FBQ0UsWUFBZixFQUFkO0FBQ0EsVUFBS0MsY0FBTCxHQUFzQkMsc0JBQWlCQyxhQUF2QztBQUNBLFVBQUtDLGNBQUwsR0FBc0IsTUFBS0EsY0FBTCxDQUFvQkMsSUFBcEIsZ0RBQXRCO0FBQ0EsVUFBS0Ms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dCxcbiAgSW5zZXJ0SW1hZ2VFdmVudCxcbiAgTW9kZWxVcGRhdGVkRXZlbnRcbn0gZnJvbSAnQHBpZS1mcmFtZXdvcmsvcGllLWNvbmZpZ3VyZS1ldmVudHMnO1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICdsb2Rhc2gvZGVmYXVsdHMnO1xuXG5pbXBvcnQgc2Vuc2libGVEZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcbmltcG9ydCB7IHByb2Nlc3NNYXJrdXAsIGNyZWF0ZVNsYXRlTWFya3VwIH0gZnJvbSAnLi9tYXJrdXBVdGlscydcblxuY29uc3QgbG9nID0gZGVidWcoJ211bHRpcGxlLWNob2ljZTpjb25maWd1cmUnKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5saW5lRHJvcGRvd24gZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHN0YXRpYyBwcmVwYXJlTW9kZWwgPSAobW9kZWwgPSB7fSkgPT4ge1xuICAgIGNvbnN0IGN1cnJNb2RhbCA9IHtcbiAgICAgIC4uLnNlbnNpYmxlRGVmYXVsdHMubW9kZWwsXG4gICAgICAuLi5tb2RlbFxuICAgIH07XG4gICAgY29uc3Qgc2xhdGVNYXJrdXAgPSBtb2RlbC5zbGF0ZU1hcmt1cCB8fCBjcmVhdGVTbGF0ZU1hcmt1cChjdXJyTW9kYWwubWFya3VwLCBjdXJyTW9kYWwuY2hvaWNlcyk7XG4gICAgY29uc3QgbWFya3VwID0gcHJvY2Vzc01hcmt1cChzbGF0ZU1hcmt1cCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY3Vyck1vZGFsLFxuICAgICAgc2xhdGVNYXJrdXAsXG4gICAgICBtYXJrdXBcbiAgICAgIC8qLi4ucHJvY2Vzc2VkTWFya3VwLCovXG4gICAgfTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX21vZGVsID0gSW5saW5lRHJvcGRvd24ucHJlcGFyZU1vZGVsKCk7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IHNlbnNpYmxlRGVmYXVsdHMuY29uZmlndXJhdGlvbjtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2VkID0gdGhpcy5vbk1vZGVsQ2hhbmdlZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZCA9IHRoaXMub25Db25maWd1cmF0aW9uQ2hhbmdlZC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc2V0IG1vZGVsKHMpIHtcbiAgICB0aGlzLl9tb2RlbCA9IElubGluZURyb3Bkb3duLnByZXBhcmVNb2RlbChzKTtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIHNldCBjb25maWd1cmF0aW9uKGMpIHtcbiAgICB0aGlzLl9jb25maWd1cmF0aW9uID0gZGVmYXVsdHMoYywgc2Vuc2libGVEZWZhdWx0cy5jb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIHNldCBkaXNhYmxlU2lkZVBhbmVsKHMpIHtcbiAgICB0aGlzLl9kaXNhYmxlU2lkZVBhbmVsID0gcztcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIGRpc3BhdGNoTW9kZWxVcGRhdGVkKHJlc2V0KSB7XG4gICAgY29uc3QgcmVzZXRWYWx1ZSA9ICEhcmVzZXQ7XG5cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IE1vZGVsVXBkYXRlZEV2ZW50KHRoaXMuX21vZGVsLCByZXNldFZhbHVlKSk7XG4gIH1cblxuICBvbk1vZGVsQ2hhbmdlZChtLCByZXNldCkge1xuICAgIHRoaXMuX21vZGVsID0gSW5saW5lRHJvcGRvd24ucHJlcGFyZU1vZGVsKG0pO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICAgIHRoaXMuZGlzcGF0Y2hNb2RlbFVwZGF0ZWQocmVzZXQpO1xuICB9XG5cbiAgb25Db25maWd1cmF0aW9uQ2hhbmdlZChjKSB7XG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IGM7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICAvKiogQHBhcmFtIHtkb25lLCBwcm9ncmVzcywgZmlsZX0gaGFuZGxlciAqL1xuICBpbnNlcnRJbWFnZShoYW5kbGVyKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnNlcnRJbWFnZUV2ZW50KGhhbmRsZXIpKTtcbiAgfVxuXG4gIG9uRGVsZXRlSW1hZ2Uoc3JjLCBkb25lKSB7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBEZWxldGVJbWFnZUV2ZW50KHNyYywgZG9uZSkpO1xuICB9XG5cbiAgX3JlbmRlcigpIHtcbiAgICBsb2coJ19yZW5kZXInKTtcbiAgICBsZXQgZWxlbWVudCA9IFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWFpbiwge1xuICAgICAgbW9kZWw6IHRoaXMuX21vZGVsLFxuICAgICAgY29uZmlndXJhdGlvbjogdGhpcy5fY29uZmlndXJhdGlvbixcbiAgICAgIG9uTW9kZWxDaGFuZ2VkOiB0aGlzLm9uTW9kZWxDaGFuZ2VkLFxuICAgICAgb25Db25maWd1cmF0aW9uQ2hhbmdlZDogdGhpcy5vbkNvbmZpZ3VyYXRpb25DaGFuZ2VkLFxuICAgICAgZGlzYWJsZVNpZGVQYW5lbDogdGhpcy5fZGlzYWJsZVNpZGVQYW5lbCxcbiAgICAgIGltYWdlU3VwcG9ydDoge1xuICAgICAgICBhZGQ6IHRoaXMuaW5zZXJ0SW1hZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgZGVsZXRlOiB0aGlzLm9uRGVsZXRlSW1hZ2UuYmluZCh0aGlzKVxuICAgICAgfVxuICAgIH0pO1xuICAgIFJlYWN0RE9NLnJlbmRlcihlbGVtZW50LCB0aGlzKTtcbiAgfVxufVxuIl19
@@ -45,9 +45,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
45
 
46
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
47
 
48
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
48
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
49
 
50
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
50
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
51
51
 
52
52
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
53
 
@@ -312,7 +312,8 @@ var RespAreaToolbar = /*#__PURE__*/function (_React$Component2) {
312
312
 
313
313
  var _this$props2 = this.props,
314
314
  classes = _this$props2.classes,
315
- choices = _this$props2.choices;
315
+ choices = _this$props2.choices,
316
+ spellCheck = _this$props2.spellCheck;
316
317
  var _this$state = this.state,
317
318
  respAreaMarkup = _this$state.respAreaMarkup,
318
319
  toolbarStyle = _this$state.toolbarStyle;
@@ -361,7 +362,8 @@ var RespAreaToolbar = /*#__PURE__*/function (_React$Component2) {
361
362
  placeholder: "Add Choice",
362
363
  activePlugins: filteredDefaultPlugins,
363
364
  pluginProps: labelPlugins,
364
- onBlur: this.onBlur
365
+ onBlur: this.onBlur,
366
+ spellCheck: spellCheck
365
367
  }), /*#__PURE__*/_react["default"].createElement("i", {
366
368
  style: {
367
369
  cursor: 'pointer',
@@ -439,4 +441,4 @@ var StyledRespAreaToolbar = (0, _styles.withStyles)({
439
441
  })(RespAreaToolbar);
440
442
  var _default = StyledRespAreaToolbar;
441
443
  exports["default"] = _default;
442
- //# sourceMappingURL=inline-dropdown-toolbar.js.map
444
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24tdG9vbGJhci5qc3giXSwibmFtZXMiOlsiTWVudUl0ZW1Db21wIiwiZSIsIm9uUmVtb3ZlQ2hvaWNlIiwicHJvcHMiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImNsYXNzZXMiLCJjb3JyZWN0Iiwib25DbGljayIsInZhbHVlIiwid3JhcHBlciIsInZhbHVlSG9sZGVyIiwiX19odG1sIiwicmVtb3ZlSWNvbiIsIm9uUmVtb3ZlQ2xpY2siLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsInN0cmluZyIsIk1lbnVJdGVtIiwiYmFja2dyb3VuZCIsImJvcmRlckJvdHRvbSIsImJveFNpemluZyIsImRpc3BsYXkiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwicGFkZGluZyIsInBvc2l0aW9uIiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJ0cmFuc2Zvcm0iLCJ0b3AiLCJyaWdodCIsInpJbmRleCIsIndvcmRCcmVhayIsImZpbmRTbGF0ZU5vZGUiLCJrZXkiLCJ3aW5kb3ciLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjcmVhdGVFbGVtZW50RnJvbUhUTUwiLCJodG1sU3RyaW5nIiwiZGl2IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInRyaW0iLCJSZXNwQXJlYVRvb2xiYXIiLCJyZXNwQXJlYU1hcmt1cCIsInNldFN0YXRlIiwiZWRpdG9yUmVmIiwiZmluaXNoRWRpdGluZyIsInZhbCIsIm5vZGUiLCJvbkFkZENob2ljZSIsIm9ubHlUZXh0IiwidGV4dENvbnRlbnQiLCJkYXRhIiwiZ2V0IiwibmV3VmFsdWUiLCJpbmRleCIsIm9uVG9vbGJhckRvbmUiLCJvblNlbGVjdENob2ljZSIsInVwZGF0ZSIsInRvSlNPTiIsImNoYW5nZSIsInNldE5vZGVCeUtleSIsIm5leHRUZXh0IiwiZ2V0TmV4dFRleHQiLCJtb3ZlRm9jdXNUbyIsIm1vdmVBbmNob3JUbyIsImV2ZW50IiwiY2xpY2tlZEluc2lkZSIsImNob2ljZXMiLCJvbkNoZWNrIiwiY29ycmVjdFJlc3BvbnNlIiwiZmluZCIsImNob2ljZSIsImxlbmd0aCIsInJlbW92ZU5vZGVCeUtleSIsInNsYXRlRWRpdG9yUmVmIiwicm9vdFJlZiIsInNsYXRlRWRpdG9yIiwiaW5wdXRSZWYiLCJlbGVtZW50IiwiZm9jdXMiLCJkb21Ob2RlIiwiZG9tTm9kZVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJlZGl0b3IiLCJjbG9zZXN0IiwiZWRpdG9yUmVjdCIsImxlZnQiLCJ0b29sYmFyU3R5bGUiLCJoZWlnaHQiLCJ3aWR0aCIsIlJlYWN0RE9NIiwiZmluZERPTU5vZGUiLCJzcGVsbENoZWNrIiwic3RhdGUiLCJmaWx0ZXJlZERlZmF1bHRQbHVnaW5zIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicCIsImxhYmVsUGx1Z2lucyIsImF1ZGlvIiwiZGlzYWJsZWQiLCJ2aWRlbyIsImJhY2tncm91bmRDb2xvciIsIm9uQ2xpY2tJbnNpZGUiLCJpdGVtQnVpbGRlciIsInJlZiIsInJlc3BBcmVhIiwiYWx3YXlzVmlzaWJsZSIsInNob3dEb25lIiwiZG9uZU9uIiwib25LZXlEb3duIiwib25SZXNwQXJlYUNoYW5nZSIsIm9uRG9uZSIsIm9uQmx1ciIsImZvY3VzSW5wdXQiLCJjaG9pY2VzSG9sZGVyIiwibWFwIiwibGFiZWwiLCJhcnJheSIsInNoYXBlIiwiU3R5bGVkUmVzcEFyZWFUb29sYmFyIiwibWluSGVpZ2h0IiwiZmxleERpcmVjdGlvbiIsImJvcmRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztJQUdNQSxZOzs7Ozs7Ozs7Ozs7Ozs7c0dBU1ksVUFBQUMsQ0FBQyxFQUFJO0FBQ25CLFVBQVFDLGNBQVIsR0FB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QU9qQjhDLEVBQUFBLGNBQWMsRUFBRWhELHNCQUFVSSxJQUFWLENBQWVGLFVBUGQ7QUFRakI2QyxFQUFBQSxhQUFhLEVBQUUvQyxzQkFBVUksSUFBVixDQUFlRixVQVJiO0FBU2pCVixFQUFBQSxLQUFLLEVBQUVRLHNCQUFVK0csS0FBVixDQUFnQjtBQUNyQjVELElBQUFBLE1BQU0sRUFBRW5ELHNCQUFVSSxJQUFWLENBQWVGLFVBREY7QUFFckJ1QixJQUFBQSxRQUFRLEVBQUV6QixzQkFBVStHLEtBQVYsQ0FBZ0I7QUFDeEJ6RCxNQUFBQSxXQUFXLEVBQUV0RCxzQkFBVUksSUFBVixDQUFlRjtBQURKLEtBQWhCO0FBRlcsR0FBaEI7QUFUVSxDO0FBK05yQixJQUFNOEcscUJBQXFCLEdBQUcsd0JBQVc7QUFDdkNkLEVBQUFBLFFBQVEsRUFBRTtBQUNSSixJQUFBQSxlQUFlLEVBQUUsTUFEVDtBQUVSLG9DQUFnQztBQUM5Qm1CLE1BQUFBLFNBQVMsRUFBRTtBQURtQjtBQUZ4QixHQUQ2QjtBQU92Q04sRUFBQUEsYUFBYSxFQUFFO0FBQ2JqRyxJQUFBQSxPQUFPLEVBQUUsTUFESTtBQUVid0csSUFBQUEsYUFBYSxFQUFFLFFBRkY7QUFHYiwwQkFBc0I7QUFDcEJDLE1BQUFBLE1BQU0sRUFBRTtBQURZO0FBSFQsR0FQd0I7QUFjdkNuQixFQUFBQSxXQUFXLEVBQUU7QUFDWG5GLElBQUFBLE9BQU8sRUFBRSxLQURFO0FBRVhDLElBQUFBLFFBQVEsRUFBRTtBQUZDO0FBZDBCLENBQVgsRUFrQjNCbUIsZUFsQjJCLENBQTlCO2VBb0JlK0UscUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgREVGQVVMVF9QTFVHSU5TIH0gZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5cbmNsYXNzIE1lbnVJdGVtQ29tcCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblJlbW92ZUNob2ljZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH07XG5cbiAgb25SZW1vdmVDbGljayA9IGUgPT4ge1xuICAgIGNvbnN0IHsgb25SZW1vdmVDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIG9uUmVtb3ZlQ2hvaWNlKCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY29ycmVjdCwgb25DbGljaywgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzbmFtZXMoY2xhc3Nlcy53cmFwcGVyLCB7IFtjbGFzc2VzLmNvcnJlY3RdOiBjb3JyZWN0IH0pfSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy52YWx1ZUhvbGRlcn1cbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiB2YWx1ZVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxpIGNsYXNzTmFtZT17Y2xhc3Nlcy5yZW1vdmVJY29ufSBvbkNsaWNrPXt0aGlzLm9uUmVtb3ZlQ2xpY2t9PlxuICAgICAgICAgIHhcbiAgICAgICAgPC9pPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBNZW51SXRlbSA9IHdpdGhTdHlsZXMoe1xuICB3cmFwcGVyOiB7XG4gICAgYmFja2dyb3VuZDogJyNmZmYnLFxuICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCBibGFjaycsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICBsaW5lSGVpZ2h0OiAnMzBweCcsXG4gICAgcGFkZGluZzogJzEwcHggMjVweCAxMHB4IDEwcHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH0sXG4gIGNvcnJlY3Q6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI0M0RENGQSdcbiAgfSxcbiAgcmVtb3ZlSWNvbjoge1xuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIGZvbnRTaXplOiAnMjBweCcsXG4gICAgZm9udFN0eWxlOiAnbm9ybWFsJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgLTUwJSknLFxuICAgIHRvcDogJzUwJScsXG4gICAgcmlnaHQ6ICc1cHgnLFxuICAgIHpJbmRleDogM1xuICB9LFxuICB2YWx1ZUhvbGRlcjoge1xuICAgIHdvcmRCcmVhazogJ2JyZWFrLWFsbCdcbiAgfVxufSkoTWVudUl0ZW1Db21wKTtcblxuY29uc3QgZmluZFNsYXRlTm9kZSA9IGtleSA9PiB7XG4gIHJldHVybiB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2RhdGEta2V5PVwiJyArIGtleSArICdcIl0nKTtcbn07XG5cbmNvbnN0IGNyZWF0ZUVsZW1lbnRGcm9tSFRNTCA9IGh0bWxTdHJpbmcgPT4ge1xuICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICBkaXYuaW5uZXJIVE1MID0gKGh0bWxTdHJpbmcgfHwgJycpLnRyaW0oKTtcblxuICByZXR1cm4gZGl2O1xufTtcblxuZXhwb3J0IGNsYXNzIFJlc3BBcmVhVG9vbGJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBub2RlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uRG9uZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5LFxuICAgIG9uQWRkQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVtb3ZlQ2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q2hvaWNlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVG9vbGJhckRvbmU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBjaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBkb2N1bWVudDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZ2V0TmV4dFRleHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbiAgICAgIH0pXG4gICAgfSlcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICByZXNwQXJlYU1hcmt1cDogJydcbiAgfTtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCB7IG5vZGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBkb21Ob2RlID0gZmluZFNsYXRlTm9kZShub2RlLmtleSk7XG5cbiAgICBpZiAoZG9tTm9kZSkge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIGNvbnN0IGRvbU5vZGVSZWN0ID0gZG9tTm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGVkaXRvciA9IGRvbU5vZGUuY2xvc2VzdCgnW2RhdGEtc2xhdGUtZWRpdG9yXScpO1xuICAgICAgY29uc3QgZWRpdG9yUmVjdCA9IGVkaXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHRvcCA9IGRvbU5vZGVSZWN0LnRvcCAtIGVkaXRvclJlY3QudG9wO1xuICAgICAgY29uc3QgbGVmdCA9IGRvbU5vZGVSZWN0LmxlZnQgLSBlZGl0b3JSZWN0LmxlZnQ7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB0b29sYmFyU3R5bGU6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICB0b3A6IGAke3RvcCArIGRvbU5vZGVSZWN0LmhlaWdodCArIDYwfXB4YCxcbiAgICAgICAgICBsZWZ0OiBgJHtsZWZ0ICsgMjV9cHhgLFxuICAgICAgICAgIHdpZHRoOiBkb21Ob2RlUmVjdC53aWR0aFxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zdCBkb21Ob2RlID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcyk7XG5cbiAgICByZW5kZXJNYXRoKGRvbU5vZGUpO1xuICB9XG5cbiAgb25SZXNwQXJlYUNoYW5nZSA9IHJlc3BBcmVhTWFya3VwID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgcmVzcEFyZWFNYXJrdXAgfSk7XG4gIH07XG5cbiAgb25BZGRDaG9pY2UgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yUmVmKSB7XG4gICAgICB0aGlzLmVkaXRvclJlZi5maW5pc2hFZGl0aW5nKCk7XG4gICAgfVxuICB9O1xuXG4gIG9uRG9uZSA9ICh2YWwpID0+IHtcbiAgICBjb25zdCB7IG5vZGUsIG9uQWRkQ2hvaWNlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG9ubHlUZXh0ID0gY3JlYXRlRWxlbWVudEZyb21IVE1MKHZhbCkudGV4dENvbnRlbnQudHJpbSgpO1xuXG4gICAgaWYgKCFpc0VtcHR5KG9ubHlUZXh0KSkge1xuICAgICAgb25BZGRDaG9pY2Uobm9kZS5kYXRhLmdldCgnaW5kZXgnKSwgdmFsKTtcbiAgICB9XG4gIH07XG5cbiAgb25TZWxlY3RDaG9pY2UgPSAobmV3VmFsdWUsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSwgb25TZWxlY3RDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdXBkYXRlID0geyAuLi5ub2RlLmRhdGEudG9KU09OKCksIHZhbHVlOiBuZXdWYWx1ZSB9O1xuICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSk7XG5cbiAgICBjb25zdCBuZXh0VGV4dCA9IHZhbHVlLmRvY3VtZW50LmdldE5leHRUZXh0KG5vZGUua2V5KTtcblxuICAgIGNoYW5nZS5tb3ZlRm9jdXNUbyhuZXh0VGV4dC5rZXksIDApLm1vdmVBbmNob3JUbyhuZXh0VGV4dC5rZXksIDApO1xuXG4gICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGZhbHNlKTtcblxuICAgIG9uU2VsZWN0Q2hvaWNlKGluZGV4KTtcbiAgfTtcblxuICBvblJlbW92ZUNob2ljZSA9ICh2YWwsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBub2RlLCB2YWx1ZSwgb25Ub29sYmFyRG9uZSwgb25SZW1vdmVDaG9pY2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaXNFcXVhbCh2YWwsIG5vZGUuZGF0YS5nZXQoJ3ZhbHVlJykpKSB7XG4gICAgICBjb25zdCB1cGRhdGUgPSB7IC4uLm5vZGUuZGF0YS50b0pTT04oKSwgdmFsdWU6IG51bGwgfTtcbiAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpLnNldE5vZGVCeUtleShub2RlLmtleSwgeyBkYXRhOiB1cGRhdGUgfSk7XG5cbiAgICAgIG9uVG9vbGJhckRvbmUoY2hhbmdlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgb25SZW1vdmVDaG9pY2UoaW5kZXgpO1xuICB9O1xuXG4gIG9uS2V5RG93biA9IGV2ZW50ID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLm9uQWRkQ2hvaWNlKCk7XG4gICAgICAvLyBDYW5jZWxsaW5nIGV2ZW50XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIG9uQmx1ciA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5jbGlja2VkSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrZWRJbnNpZGUgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IG5vZGUsIGNob2ljZXMsIG9uQ2hlY2ssIG9uVG9vbGJhckRvbmUsIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNvcnJlY3RSZXNwb25zZSA9IChjaG9pY2VzIHx8IFtdKS5maW5kKGNob2ljZSA9PiBjaG9pY2UuY29ycmVjdCk7XG5cbiAgICB0aGlzLm9uQWRkQ2hvaWNlKCk7XG4gICAgaWYgKCFjaG9pY2VzIHx8IChjaG9pY2VzICYmIGNob2ljZXMubGVuZ3RoIDwgMikgfHwgIWNvcnJlY3RSZXNwb25zZSkge1xuICAgICAgb25DaGVjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIGNoYW5nZS5yZW1vdmVOb2RlQnlLZXkobm9kZS5nZXQoJ2tleScpKTtcbiAgICAgICAgb25Ub29sYmFyRG9uZShjaGFuZ2UsIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBvbkNsaWNrSW5zaWRlID0gKCkgPT4ge1xuICAgIHRoaXMuY2xpY2tlZEluc2lkZSA9IHRydWU7XG4gIH07XG5cbiAgZm9jdXNJbnB1dCA9ICgpID0+IHtcbiAgICAvLyB3ZSBuZWVkIHRvIGZvY3VzIHRoZSBpbnB1dCBzbyB0aGF0IG1hdGggaXMgc2F2ZWQgZXZlbiB3aXRob3V0IHByZXNzaW5nIHRoZSBncmVlbiBjaGVja21hcmtcbiAgICBjb25zdCBzbGF0ZUVkaXRvclJlZiA9IHRoaXMuZWRpdG9yUmVmICYmIHRoaXMuZWRpdG9yUmVmLnJvb3RSZWYgJiYgdGhpcy5lZGl0b3JSZWYucm9vdFJlZi5zbGF0ZUVkaXRvcjtcbiAgICBjb25zdCBpbnB1dFJlZiA9IHNsYXRlRWRpdG9yUmVmICYmIHNsYXRlRWRpdG9yUmVmLmVkaXRvclJlZiAmJiBzbGF0ZUVkaXRvclJlZi5lZGl0b3JSZWYuZWxlbWVudDtcblxuICAgIGlmIChpbnB1dFJlZikge1xuICAgICAgaW5wdXRSZWYuZm9jdXMoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY2hvaWNlcywgc3BlbGxDaGVjayB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHJlc3BBcmVhTWFya3VwLCB0b29sYmFyU3R5bGUgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBmaWx0ZXJlZERlZmF1bHRQbHVnaW5zID0gKERFRkFVTFRfUExVR0lOUyB8fCBbXSkuZmlsdGVyKHAgPT4gcCAhPT0gJ3RhYmxlJyAmJiBwICE9PSAnYnVsbGV0ZWQtbGlzdCcgJiYgcCAhPT0gJ251bWJlcmVkLWxpc3QnKTtcbiAgICBjb25zdCBsYWJlbFBsdWdpbnMgPSB7XG4gICAgICBhdWRpbzogeyBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgICAgdmlkZW86IHsgZGlzYWJsZWQ6IHRydWUgfVxuICAgIH07XG5cbiAgICBpZiAoIXRvb2xiYXJTdHlsZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi50b29sYmFyU3R5bGUsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0UwRTFFNidcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZURvd249e3RoaXMub25DbGlja0luc2lkZX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaXRlbUJ1aWxkZXJ9PlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIHJlZj17cmVmID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yUmVmID0gcmVmO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXV0b0ZvY3VzPXt0cnVlfVxuICAgICAgICAgICAgYXV0b1NhdmVcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5yZXNwQXJlYX1cbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICAgICAgYWx3YXlzVmlzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIHNob3dEb25lOiBmYWxzZSxcbiAgICAgICAgICAgICAgZG9uZU9uOiAnYmx1cidcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBtYXJrdXA9e3Jlc3BBcmVhTWFya3VwfVxuICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLm9uS2V5RG93bn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uUmVzcEFyZWFDaGFuZ2V9XG4gICAgICAgICAgICBvbkRvbmU9e3RoaXMub25Eb25lfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgQ2hvaWNlXCJcbiAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2ZpbHRlcmVkRGVmYXVsdFBsdWdpbnN9XG4gICAgICAgICAgICBwbHVnaW5Qcm9wcz17bGFiZWxQbHVnaW5zfVxuICAgICAgICAgICAgb25CbHVyPXt0aGlzLm9uQmx1cn1cbiAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8aVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjBweCcsXG4gICAgICAgICAgICAgIGZvbnRTdHlsZTogJ25vcm1hbCcsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICB0b3A6ICc1MCUnLFxuICAgICAgICAgICAgICByaWdodDogJzE1cHgnLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoMCwgLTUwJSknXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiB0aGlzLmZvY3VzSW5wdXQoKX1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRoaXMub25BZGRDaG9pY2UoKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICArXG4gICAgICAgICAgPC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2Nob2ljZXMgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNob2ljZXNIb2xkZXJ9PlxuICAgICAgICAgICAge2Nob2ljZXMubWFwKCh7IGxhYmVsLCBjb3JyZWN0IH0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5vblNlbGVjdENob2ljZShsYWJlbCwgaW5kZXgpfVxuICAgICAgICAgICAgICAgIG9uUmVtb3ZlQ2hvaWNlPXsoKSA9PiB0aGlzLm9uUmVtb3ZlQ2hvaWNlKGxhYmVsLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2xhYmVsfVxuICAgICAgICAgICAgICAgIGNvcnJlY3Q9e2NvcnJlY3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkUmVzcEFyZWFUb29sYmFyID0gd2l0aFN0eWxlcyh7XG4gIHJlc3BBcmVhOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicsXG4gICAgJyYgW2RhdGEtc2xhdGUtZWRpdG9yPVwidHJ1ZVwiXSc6IHtcbiAgICAgIG1pbkhlaWdodDogJ2luaXRpYWwgIWltcG9ydGFudCdcbiAgICB9XG4gIH0sXG4gIGNob2ljZXNIb2xkZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgJyYgPiBkaXY6bGFzdC1jaGlsZCc6IHtcbiAgICAgIGJvcmRlcjogJ25vbmUnXG4gICAgfVxuICB9LFxuICBpdGVtQnVpbGRlcjoge1xuICAgIHBhZGRpbmc6ICc4cHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH1cbn0pKFJlc3BBcmVhVG9vbGJhcik7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZFJlc3BBcmVhVG9vbGJhcjtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/inline-dropdown-toolbar.jsx"],"names":["MenuItemComp","e","onRemoveChoice","props","preventDefault","stopPropagation","classes","correct","onClick","value","wrapper","valueHolder","__html","removeIcon","onRemoveClick","React","Component","PropTypes","object","isRequired","bool","func","string","MenuItem","background","borderBottom","boxSizing","display","cursor","lineHeight","padding","position","fontSize","fontStyle","transform","top","right","zIndex","wordBreak","findSlateNode","key","window","document","querySelector","createElementFromHTML","htmlString","div","createElement","innerHTML","trim","RespAreaToolbar","respAreaMarkup","setState","editorRef","finishEditing","val","node","onAddChoice","onlyText","textContent","data","get","newValue","index","onToolbarDone","onSelectChoice","update","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","event","clickedInside","choices","onCheck","correctResponse","find","choice","length","removeNodeByKey","slateEditorRef","rootRef","slateEditor","inputRef","element","focus","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","left","toolbarStyle","height","width","ReactDOM","findDOMNode","state","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","audio","disabled","video","backgroundColor","onClickInside","itemBuilder","ref","respArea","alwaysVisible","showDone","doneOn","onKeyDown","onRespAreaChange","onDone","onBlur","focusInput","choicesHolder","map","label","array","shape","StyledRespAreaToolbar","minHeight","flexDirection","border"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\nimport { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nclass MenuItemComp extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired\n };\n\n onRemoveClick = e => {\n const { onRemoveChoice } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n\n onRemoveChoice();\n };\n\n render() {\n const { classes, correct, onClick, value } = this.props;\n\n return (\n <div className={classnames(classes.wrapper, { [classes.correct]: correct })} onClick={onClick}>\n <div\n className={classes.valueHolder}\n dangerouslySetInnerHTML={{\n __html: value\n }}\n />\n <i className={classes.removeIcon} onClick={this.onRemoveClick}>\n x\n </i>\n </div>\n );\n }\n}\n\nconst MenuItem = withStyles({\n wrapper: {\n background: '#fff',\n borderBottom: '1px solid black',\n boxSizing: 'border-box',\n display: 'block',\n cursor: 'pointer',\n lineHeight: '30px',\n padding: '10px 25px 10px 10px',\n position: 'relative'\n },\n correct: {\n background: '#C4DCFA'\n },\n removeIcon: {\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n transform: 'translate(0, -50%)',\n top: '50%',\n right: '5px',\n zIndex: 3\n },\n valueHolder: {\n wordBreak: 'break-all'\n }\n})(MenuItemComp);\n\nconst findSlateNode = key => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class RespAreaToolbar extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n choices: PropTypes.array,\n onAddChoice: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n onSelectChoice: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired\n })\n })\n };\n\n state = {\n respAreaMarkup: ''\n };\n\n componentDidMount() {\n const { node } = this.props;\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 60}px`,\n left: `${left + 25}px`,\n width: domNodeRect.width\n }\n });\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onRespAreaChange = respAreaMarkup => {\n this.setState({ respAreaMarkup });\n };\n\n onAddChoice = () => {\n if (this.editorRef) {\n this.editorRef.finishEditing();\n }\n };\n\n onDone = (val) => {\n const { node, onAddChoice } = this.props;\n const onlyText = createElementFromHTML(val).textContent.trim();\n\n if (!isEmpty(onlyText)) {\n onAddChoice(node.data.get('index'), val);\n }\n };\n\n onSelectChoice = (newValue, index) => {\n const { node, value, onToolbarDone, onSelectChoice } = this.props;\n const update = { ...node.data.toJSON(), value: newValue };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n\n onToolbarDone(change, false);\n\n onSelectChoice(index);\n };\n\n onRemoveChoice = (val, index) => {\n const { node, value, onToolbarDone, onRemoveChoice } = this.props;\n\n if (isEqual(val, node.data.get('value'))) {\n const update = { ...node.data.toJSON(), value: null };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n onToolbarDone(change, false);\n }\n\n onRemoveChoice(index);\n };\n\n onKeyDown = event => {\n if (event.key === 'Enter') {\n this.onAddChoice();\n // Cancelling event\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n return;\n }\n\n const { node, choices, onCheck, onToolbarDone, value } = this.props;\n const correctResponse = (choices || []).find(choice => choice.correct);\n\n this.onAddChoice();\n if (!choices || (choices && choices.length < 2) || !correctResponse) {\n onCheck(() => {\n const change = value.change();\n\n change.removeNodeByKey(node.get('key'));\n onToolbarDone(change, false);\n });\n }\n };\n\n onClickInside = () => {\n this.clickedInside = true;\n };\n\n focusInput = () => {\n // we need to focus the input so that math is saved even without pressing the green checkmark\n const slateEditorRef = this.editorRef && this.editorRef.rootRef && this.editorRef.rootRef.slateEditor;\n const inputRef = slateEditorRef && slateEditorRef.editorRef && slateEditorRef.editorRef.element;\n\n if (inputRef) {\n inputRef.focus();\n }\n };\n\n render() {\n const { classes, choices } = this.props;\n const { respAreaMarkup, toolbarStyle } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n if (!toolbarStyle) {\n return null;\n }\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6'\n }}\n onMouseDown={this.onClickInside}\n >\n <div className={classes.itemBuilder}>\n <EditableHtml\n ref={ref => {\n if (ref) {\n this.editorRef = ref;\n }\n }}\n autoFocus={true}\n autoSave\n className={classes.respArea}\n toolbarOpts={{\n position: 'top',\n alwaysVisible: false,\n showDone: false,\n doneOn: 'blur'\n }}\n markup={respAreaMarkup}\n onKeyDown={this.onKeyDown}\n onChange={this.onRespAreaChange}\n onDone={this.onDone}\n placeholder=\"Add Choice\"\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n onBlur={this.onBlur}\n />\n <i\n style={{\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n top: '50%',\n right: '15px',\n transform: 'translate(0, -50%)'\n }}\n contentEditable={false}\n onMouseDown={() => this.focusInput()}\n onClick={() => this.onAddChoice()}\n >\n +\n </i>\n </div>\n {choices && (\n <div className={classes.choicesHolder}>\n {choices.map(({ label, correct }, index) => (\n <MenuItem\n key={index}\n onClick={() => this.onSelectChoice(label, index)}\n onRemoveChoice={() => this.onRemoveChoice(label, index)}\n value={label}\n correct={correct}\n />\n ))}\n </div>\n )}\n </div>\n );\n }\n}\n\nconst StyledRespAreaToolbar = withStyles({\n respArea: {\n backgroundColor: '#fff',\n '& [data-slate-editor=\"true\"]': {\n minHeight: 'initial !important'\n }\n },\n choicesHolder: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:last-child': {\n border: 'none'\n }\n },\n itemBuilder: {\n padding: '8px',\n position: 'relative'\n }\n})(RespAreaToolbar);\n\nexport default StyledRespAreaToolbar;\n"],"file":"inline-dropdown-toolbar.js"}
1
+ {"version":3,"sources":["../src/inline-dropdown-toolbar.jsx"],"names":["MenuItemComp","e","onRemoveChoice","props","preventDefault","stopPropagation","classes","correct","onClick","value","wrapper","valueHolder","__html","removeIcon","onRemoveClick","React","Component","PropTypes","object","isRequired","bool","func","string","MenuItem","background","borderBottom","boxSizing","display","cursor","lineHeight","padding","position","fontSize","fontStyle","transform","top","right","zIndex","wordBreak","findSlateNode","key","window","document","querySelector","createElementFromHTML","htmlString","div","createElement","innerHTML","trim","RespAreaToolbar","respAreaMarkup","setState","editorRef","finishEditing","val","node","onAddChoice","onlyText","textContent","data","get","newValue","index","onToolbarDone","onSelectChoice","update","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","event","clickedInside","choices","onCheck","correctResponse","find","choice","length","removeNodeByKey","slateEditorRef","rootRef","slateEditor","inputRef","element","focus","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","left","toolbarStyle","height","width","ReactDOM","findDOMNode","spellCheck","state","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","labelPlugins","audio","disabled","video","backgroundColor","onClickInside","itemBuilder","ref","respArea","alwaysVisible","showDone","doneOn","onKeyDown","onRespAreaChange","onDone","onBlur","focusInput","choicesHolder","map","label","array","shape","StyledRespAreaToolbar","minHeight","flexDirection","border"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport classnames from 'classnames';\nimport { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nclass MenuItemComp extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correct: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired\n };\n\n onRemoveClick = e => {\n const { onRemoveChoice } = this.props;\n\n e.preventDefault();\n e.stopPropagation();\n\n onRemoveChoice();\n };\n\n render() {\n const { classes, correct, onClick, value } = this.props;\n\n return (\n <div className={classnames(classes.wrapper, { [classes.correct]: correct })} onClick={onClick}>\n <div\n className={classes.valueHolder}\n dangerouslySetInnerHTML={{\n __html: value\n }}\n />\n <i className={classes.removeIcon} onClick={this.onRemoveClick}>\n x\n </i>\n </div>\n );\n }\n}\n\nconst MenuItem = withStyles({\n wrapper: {\n background: '#fff',\n borderBottom: '1px solid black',\n boxSizing: 'border-box',\n display: 'block',\n cursor: 'pointer',\n lineHeight: '30px',\n padding: '10px 25px 10px 10px',\n position: 'relative'\n },\n correct: {\n background: '#C4DCFA'\n },\n removeIcon: {\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n transform: 'translate(0, -50%)',\n top: '50%',\n right: '5px',\n zIndex: 3\n },\n valueHolder: {\n wordBreak: 'break-all'\n }\n})(MenuItemComp);\n\nconst findSlateNode = key => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nconst createElementFromHTML = htmlString => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class RespAreaToolbar extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n choices: PropTypes.array,\n onAddChoice: PropTypes.func.isRequired,\n onRemoveChoice: PropTypes.func.isRequired,\n onSelectChoice: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired\n })\n })\n };\n\n state = {\n respAreaMarkup: ''\n };\n\n componentDidMount() {\n const { node } = this.props;\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 60}px`,\n left: `${left + 25}px`,\n width: domNodeRect.width\n }\n });\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onRespAreaChange = respAreaMarkup => {\n this.setState({ respAreaMarkup });\n };\n\n onAddChoice = () => {\n if (this.editorRef) {\n this.editorRef.finishEditing();\n }\n };\n\n onDone = (val) => {\n const { node, onAddChoice } = this.props;\n const onlyText = createElementFromHTML(val).textContent.trim();\n\n if (!isEmpty(onlyText)) {\n onAddChoice(node.data.get('index'), val);\n }\n };\n\n onSelectChoice = (newValue, index) => {\n const { node, value, onToolbarDone, onSelectChoice } = this.props;\n const update = { ...node.data.toJSON(), value: newValue };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n\n onToolbarDone(change, false);\n\n onSelectChoice(index);\n };\n\n onRemoveChoice = (val, index) => {\n const { node, value, onToolbarDone, onRemoveChoice } = this.props;\n\n if (isEqual(val, node.data.get('value'))) {\n const update = { ...node.data.toJSON(), value: null };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n onToolbarDone(change, false);\n }\n\n onRemoveChoice(index);\n };\n\n onKeyDown = event => {\n if (event.key === 'Enter') {\n this.onAddChoice();\n // Cancelling event\n return false;\n }\n };\n\n onBlur = () => {\n if (this.clickedInside) {\n this.clickedInside = false;\n return;\n }\n\n const { node, choices, onCheck, onToolbarDone, value } = this.props;\n const correctResponse = (choices || []).find(choice => choice.correct);\n\n this.onAddChoice();\n if (!choices || (choices && choices.length < 2) || !correctResponse) {\n onCheck(() => {\n const change = value.change();\n\n change.removeNodeByKey(node.get('key'));\n onToolbarDone(change, false);\n });\n }\n };\n\n onClickInside = () => {\n this.clickedInside = true;\n };\n\n focusInput = () => {\n // we need to focus the input so that math is saved even without pressing the green checkmark\n const slateEditorRef = this.editorRef && this.editorRef.rootRef && this.editorRef.rootRef.slateEditor;\n const inputRef = slateEditorRef && slateEditorRef.editorRef && slateEditorRef.editorRef.element;\n\n if (inputRef) {\n inputRef.focus();\n }\n };\n\n render() {\n const { classes, choices, spellCheck } = this.props;\n const { respAreaMarkup, toolbarStyle } = this.state;\n\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(p => p !== 'table' && p !== 'bulleted-list' && p !== 'numbered-list');\n const labelPlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n if (!toolbarStyle) {\n return null;\n }\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6'\n }}\n onMouseDown={this.onClickInside}\n >\n <div className={classes.itemBuilder}>\n <EditableHtml\n ref={ref => {\n if (ref) {\n this.editorRef = ref;\n }\n }}\n autoFocus={true}\n autoSave\n className={classes.respArea}\n toolbarOpts={{\n position: 'top',\n alwaysVisible: false,\n showDone: false,\n doneOn: 'blur'\n }}\n markup={respAreaMarkup}\n onKeyDown={this.onKeyDown}\n onChange={this.onRespAreaChange}\n onDone={this.onDone}\n placeholder=\"Add Choice\"\n activePlugins={filteredDefaultPlugins}\n pluginProps={labelPlugins}\n onBlur={this.onBlur}\n spellCheck={spellCheck}\n />\n <i\n style={{\n cursor: 'pointer',\n fontSize: '20px',\n fontStyle: 'normal',\n position: 'absolute',\n top: '50%',\n right: '15px',\n transform: 'translate(0, -50%)'\n }}\n contentEditable={false}\n onMouseDown={() => this.focusInput()}\n onClick={() => this.onAddChoice()}\n >\n +\n </i>\n </div>\n {choices && (\n <div className={classes.choicesHolder}>\n {choices.map(({ label, correct }, index) => (\n <MenuItem\n key={index}\n onClick={() => this.onSelectChoice(label, index)}\n onRemoveChoice={() => this.onRemoveChoice(label, index)}\n value={label}\n correct={correct}\n />\n ))}\n </div>\n )}\n </div>\n );\n }\n}\n\nconst StyledRespAreaToolbar = withStyles({\n respArea: {\n backgroundColor: '#fff',\n '& [data-slate-editor=\"true\"]': {\n minHeight: 'initial !important'\n }\n },\n choicesHolder: {\n display: 'flex',\n flexDirection: 'column',\n '& > div:last-child': {\n border: 'none'\n }\n },\n itemBuilder: {\n padding: '8px',\n position: 'relative'\n }\n})(RespAreaToolbar);\n\nexport default StyledRespAreaToolbar;\n"],"file":"inline-dropdown-toolbar.js"}