@pie-lib/text-select 1.14.0-beta.0 → 1.14.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.json +1 -632
- package/CHANGELOG.md +122 -30
- package/package.json +6 -6
- package/src/index.js +1 -2
- package/src/legend.js +55 -37
- package/src/token-select/__tests__/__snapshots__/token.test.jsx.snap +2 -6
- package/src/token-select/token.jsx +96 -61
- package/src/tokenizer/controls.jsx +7 -7
- package/lib/__tests__/text-select.test.js +0 -56
- package/lib/__tests__/utils.test.js +0 -23
- package/lib/index.js +0 -76
- package/lib/legend.js +0 -99
- package/lib/text-select.js +0 -138
- package/lib/token-select/__tests__/index.test.js +0 -268
- package/lib/token-select/__tests__/token.test.js +0 -35
- package/lib/token-select/index.js +0 -250
- package/lib/token-select/token.js +0 -230
- package/lib/tokenizer/__tests__/builder.test.js +0 -399
- package/lib/tokenizer/__tests__/controls.test.js +0 -34
- package/lib/tokenizer/__tests__/index.test.js +0 -210
- package/lib/tokenizer/__tests__/selection-utils.test.js +0 -27
- package/lib/tokenizer/__tests__/token-text.test.js +0 -154
- package/lib/tokenizer/builder.js +0 -311
- package/lib/tokenizer/controls.js +0 -137
- package/lib/tokenizer/index.js +0 -205
- package/lib/tokenizer/selection-utils.js +0 -65
- package/lib/tokenizer/token-text.js +0 -209
- package/lib/utils.js +0 -67
package/lib/tokenizer/builder.js
DELETED
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.words = exports.sort = exports.sentences = exports.paragraphs = exports.normalize = exports.intersection = exports.handleSentence = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _compact = _interopRequireDefault(require("lodash/compact"));
|
|
15
|
-
|
|
16
|
-
var _parseEnglish = _interopRequireDefault(require("@pie-framework/parse-english"));
|
|
17
|
-
|
|
18
|
-
var _clone = _interopRequireDefault(require("lodash/clone"));
|
|
19
|
-
|
|
20
|
-
var g = function g(str, node) {
|
|
21
|
-
if (node.children) {
|
|
22
|
-
return node.children.reduce(g, str);
|
|
23
|
-
} else if (node.value) {
|
|
24
|
-
return str + node.value;
|
|
25
|
-
} else {
|
|
26
|
-
return str;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
var getParagraph = function getParagraph(p) {
|
|
31
|
-
return g('', p);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var getSentence = function getSentence(s) {
|
|
35
|
-
return g('', s);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
var getWord = function getWord(w) {
|
|
39
|
-
return g('', w);
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
var paragraphs = function paragraphs(text) {
|
|
43
|
-
var tree = new _parseEnglish["default"]().parse(text);
|
|
44
|
-
var out = tree.children.reduce(function (acc, child) {
|
|
45
|
-
if (child.type === 'ParagraphNode') {
|
|
46
|
-
var paragraph = {
|
|
47
|
-
text: getParagraph(child),
|
|
48
|
-
start: child.position.start.offset,
|
|
49
|
-
end: child.position.end.offset
|
|
50
|
-
};
|
|
51
|
-
return acc.concat([paragraph]);
|
|
52
|
-
} else {
|
|
53
|
-
return acc;
|
|
54
|
-
}
|
|
55
|
-
}, []);
|
|
56
|
-
return out;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
exports.paragraphs = paragraphs;
|
|
60
|
-
|
|
61
|
-
var handleSentence = function handleSentence(child, acc) {
|
|
62
|
-
var sentenceChilds = []; // we parse the children of the sentence
|
|
63
|
-
|
|
64
|
-
var newAcc = child.children.reduce(function (acc, child) {
|
|
65
|
-
// if we find a whitespace node that's \n, we end the sentence
|
|
66
|
-
if (child.type === 'WhiteSpaceNode' && child.value === '\n') {
|
|
67
|
-
if (sentenceChilds.length) {
|
|
68
|
-
var firstWord = sentenceChilds[0]; // we create a sentence starting from the first word until the new line
|
|
69
|
-
|
|
70
|
-
var sentence = {
|
|
71
|
-
text: sentenceChilds.map(function (d) {
|
|
72
|
-
return getSentence(d);
|
|
73
|
-
}).join(''),
|
|
74
|
-
start: firstWord.position.start.offset,
|
|
75
|
-
end: child.position.start.offset
|
|
76
|
-
}; // we remove all the elements from the array
|
|
77
|
-
|
|
78
|
-
sentenceChilds.splice(0, sentenceChilds.length);
|
|
79
|
-
return acc.concat([sentence]);
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
// otherwise we add it to the array that contains the child forming a sentence
|
|
83
|
-
sentenceChilds.push(child);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return acc;
|
|
87
|
-
}, acc); // we treat the case when no \n character is found at the end
|
|
88
|
-
// so we create a sentence from the last words or white spaces found
|
|
89
|
-
|
|
90
|
-
if (sentenceChilds.length) {
|
|
91
|
-
var firstWord = sentenceChilds[0];
|
|
92
|
-
var lastWord = sentenceChilds[sentenceChilds.length - 1];
|
|
93
|
-
var sentence = {
|
|
94
|
-
text: sentenceChilds.map(function (d) {
|
|
95
|
-
return getSentence(d);
|
|
96
|
-
}).join(''),
|
|
97
|
-
start: firstWord.position.start.offset,
|
|
98
|
-
end: lastWord.position.end.offset
|
|
99
|
-
};
|
|
100
|
-
newAcc = newAcc.concat([sentence]);
|
|
101
|
-
sentenceChilds.splice(0, sentenceChilds.length);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return newAcc;
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
exports.handleSentence = handleSentence;
|
|
108
|
-
|
|
109
|
-
var sentences = function sentences(text) {
|
|
110
|
-
var tree = new _parseEnglish["default"]().parse(text);
|
|
111
|
-
var out = tree.children.reduce(function (acc, child) {
|
|
112
|
-
if (child.type === 'ParagraphNode') {
|
|
113
|
-
return child.children.reduce(function (acc, child) {
|
|
114
|
-
if (child.type === 'SentenceNode') {
|
|
115
|
-
var newAcc = handleSentence(child, acc);
|
|
116
|
-
return newAcc || acc;
|
|
117
|
-
} else {
|
|
118
|
-
return acc;
|
|
119
|
-
}
|
|
120
|
-
}, acc);
|
|
121
|
-
} else {
|
|
122
|
-
return acc;
|
|
123
|
-
}
|
|
124
|
-
}, []);
|
|
125
|
-
return out;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
exports.sentences = sentences;
|
|
129
|
-
|
|
130
|
-
var words = function words(text) {
|
|
131
|
-
var tree = new _parseEnglish["default"]().parse(text);
|
|
132
|
-
var out = tree.children.reduce(function (acc, child) {
|
|
133
|
-
if (child.type === 'ParagraphNode') {
|
|
134
|
-
return child.children.reduce(function (acc, child) {
|
|
135
|
-
if (child.type === 'SentenceNode') {
|
|
136
|
-
return child.children.reduce(function (acc, child) {
|
|
137
|
-
if (child.type === 'WordNode') {
|
|
138
|
-
var node = {
|
|
139
|
-
text: getWord(child),
|
|
140
|
-
start: child.position.start.offset,
|
|
141
|
-
end: child.position.end.offset
|
|
142
|
-
};
|
|
143
|
-
return acc.concat([node]);
|
|
144
|
-
} else {
|
|
145
|
-
return acc;
|
|
146
|
-
}
|
|
147
|
-
}, acc);
|
|
148
|
-
} else {
|
|
149
|
-
return acc;
|
|
150
|
-
}
|
|
151
|
-
}, acc);
|
|
152
|
-
} else {
|
|
153
|
-
return acc;
|
|
154
|
-
}
|
|
155
|
-
}, []);
|
|
156
|
-
return out;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
exports.words = words;
|
|
160
|
-
|
|
161
|
-
var Intersection = /*#__PURE__*/function () {
|
|
162
|
-
function Intersection(results) {
|
|
163
|
-
(0, _classCallCheck2["default"])(this, Intersection);
|
|
164
|
-
this.results = results;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
(0, _createClass2["default"])(Intersection, [{
|
|
168
|
-
key: "hasOverlap",
|
|
169
|
-
get: function get() {
|
|
170
|
-
return this.results.filter(function (r) {
|
|
171
|
-
return r.type === 'overlap';
|
|
172
|
-
}).length > 0;
|
|
173
|
-
}
|
|
174
|
-
}, {
|
|
175
|
-
key: "surroundedTokens",
|
|
176
|
-
get: function get() {
|
|
177
|
-
return this.results.filter(function (r) {
|
|
178
|
-
return r.type === 'within-selection';
|
|
179
|
-
}).map(function (t) {
|
|
180
|
-
return t.token;
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
}]);
|
|
184
|
-
return Intersection;
|
|
185
|
-
}();
|
|
186
|
-
/**
|
|
187
|
-
* get intersection info for the selection in relation to tokens.
|
|
188
|
-
* @param {{start: number, end: number}} selection
|
|
189
|
-
* @param {{start: number, end: number}[]} tokens
|
|
190
|
-
* @return {tokens: [], type: 'overlap|no-overlap|contains'}
|
|
191
|
-
*/
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
var intersection = function intersection(selection, tokens) {
|
|
195
|
-
var start = selection.start,
|
|
196
|
-
end = selection.end;
|
|
197
|
-
|
|
198
|
-
var startsWithin = function startsWithin(t) {
|
|
199
|
-
return start >= t.start && start < t.end;
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
var endsWithin = function endsWithin(t) {
|
|
203
|
-
return end > t.start && end <= t.end;
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
var mapped = tokens.map(function (t) {
|
|
207
|
-
if (start === t.start && end === t.end) {
|
|
208
|
-
return {
|
|
209
|
-
token: t,
|
|
210
|
-
type: 'exact-fit'
|
|
211
|
-
};
|
|
212
|
-
} else if (start <= t.start && end >= t.end) {
|
|
213
|
-
return {
|
|
214
|
-
token: t,
|
|
215
|
-
type: 'within-selection'
|
|
216
|
-
};
|
|
217
|
-
} else if (startsWithin(t) || endsWithin(t)) {
|
|
218
|
-
return {
|
|
219
|
-
token: t,
|
|
220
|
-
type: 'overlap'
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
return new Intersection((0, _compact["default"])(mapped));
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
exports.intersection = intersection;
|
|
228
|
-
|
|
229
|
-
var sort = function sort(tokens) {
|
|
230
|
-
if (!Array.isArray(tokens)) {
|
|
231
|
-
return tokens;
|
|
232
|
-
} else {
|
|
233
|
-
var out = (0, _clone["default"])(tokens);
|
|
234
|
-
out.sort(function (a, b) {
|
|
235
|
-
var s = a.start < b.start ? -1 : a.start > b.start ? 1 : 0;
|
|
236
|
-
var e = a.end < b.end ? -1 : a.end > b.end ? 1 : 0;
|
|
237
|
-
|
|
238
|
-
if (s === -1 && e !== -1) {
|
|
239
|
-
throw new Error("sort does not support intersecting tokens. a: ".concat(a.start, "-").concat(a.end, ", b: ").concat(b.start, "-").concat(b.end));
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
return s;
|
|
243
|
-
});
|
|
244
|
-
return out;
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
exports.sort = sort;
|
|
249
|
-
|
|
250
|
-
var normalize = function normalize(textToNormalize, tokens) {
|
|
251
|
-
// making sure text provided is a string
|
|
252
|
-
var text = textToNormalize || '';
|
|
253
|
-
|
|
254
|
-
if (!Array.isArray(tokens) || tokens.length === 0) {
|
|
255
|
-
return [{
|
|
256
|
-
text: text,
|
|
257
|
-
start: 0,
|
|
258
|
-
end: text.length
|
|
259
|
-
}];
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
var out = sort(tokens).reduce(function (acc, t, index, outer) {
|
|
263
|
-
var tokens = [];
|
|
264
|
-
var lastIndex = acc.lastIndex;
|
|
265
|
-
|
|
266
|
-
if (t.start === lastIndex) {
|
|
267
|
-
tokens = [{
|
|
268
|
-
text: text.substring(lastIndex, t.end),
|
|
269
|
-
start: lastIndex,
|
|
270
|
-
end: t.end,
|
|
271
|
-
predefined: true,
|
|
272
|
-
correct: t.correct,
|
|
273
|
-
isMissing: t.isMissing
|
|
274
|
-
}];
|
|
275
|
-
} else if (lastIndex < t.start) {
|
|
276
|
-
tokens = [{
|
|
277
|
-
text: text.substring(lastIndex, t.start),
|
|
278
|
-
start: lastIndex,
|
|
279
|
-
end: t.start
|
|
280
|
-
}, {
|
|
281
|
-
text: text.substring(t.start, t.end),
|
|
282
|
-
start: t.start,
|
|
283
|
-
end: t.end,
|
|
284
|
-
predefined: true,
|
|
285
|
-
correct: t.correct,
|
|
286
|
-
isMissing: t.isMissing
|
|
287
|
-
}];
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
if (index === outer.length - 1 && t.end < text.length) {
|
|
291
|
-
var last = {
|
|
292
|
-
text: text.substring(t.end),
|
|
293
|
-
start: t.end,
|
|
294
|
-
end: text.length
|
|
295
|
-
};
|
|
296
|
-
tokens.push(last);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
return {
|
|
300
|
-
lastIndex: tokens.length ? tokens[tokens.length - 1].end : lastIndex,
|
|
301
|
-
result: acc.result.concat(tokens)
|
|
302
|
-
};
|
|
303
|
-
}, {
|
|
304
|
-
result: [],
|
|
305
|
-
lastIndex: 0
|
|
306
|
-
});
|
|
307
|
-
return out.result;
|
|
308
|
-
};
|
|
309
|
-
|
|
310
|
-
exports.normalize = normalize;
|
|
311
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvYnVpbGRlci5qcyJdLCJuYW1lcyI6WyJnIiwic3RyIiwibm9kZSIsImNoaWxkcmVuIiwicmVkdWNlIiwidmFsdWUiLCJnZXRQYXJhZ3JhcGgiLCJwIiwiZ2V0U2VudGVuY2UiLCJzIiwiZ2V0V29yZCIsInciLCJwYXJhZ3JhcGhzIiwidGV4dCIsInRyZWUiLCJFbmdsaXNoIiwicGFyc2UiLCJvdXQiLCJhY2MiLCJjaGlsZCIsInR5cGUiLCJwYXJhZ3JhcGgiLCJzdGFydCIsInBvc2l0aW9uIiwib2Zmc2V0IiwiZW5kIiwiY29uY2F0IiwiaGFuZGxlU2VudGVuY2UiLCJzZW50ZW5jZUNoaWxkcyIsIm5ld0FjYyIsImxlbmd0aCIsImZpcnN0V29yZCIsInNlbnRlbmNlIiwibWFwIiwiZCIsImpvaW4iLCJzcGxpY2UiLCJwdXNoIiwibGFzdFdvcmQiLCJzZW50ZW5jZXMiLCJ3b3JkcyIsIkludGVyc2VjdGlvbiIsInJlc3VsdHMiLCJmaWx0ZXIiLCJyIiwidCIsInRva2VuIiwiaW50ZXJzZWN0aW9uIiwic2VsZWN0aW9uIiwidG9rZW5zIiwic3RhcnRzV2l0aGluIiwiZW5kc1dpdGhpbiIsIm1hcHBlZCIsInNvcnQiLCJBcnJheSIsImlzQXJyYXkiLCJhIiwiYiIsImUiLCJFcnJvciIsIm5vcm1hbGl6ZSIsInRleHRUb05vcm1hbGl6ZSIsImluZGV4Iiwib3V0ZXIiLCJsYXN0SW5kZXgiLCJzdWJzdHJpbmciLCJwcmVkZWZpbmVkIiwiY29ycmVjdCIsImlzTWlzc2luZyIsImxhc3QiLCJyZXN1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxDQUFDLEdBQUcsU0FBSkEsQ0FBSSxDQUFDQyxHQUFELEVBQU1DLElBQU4sRUFBZTtBQUN2QixNQUFJQSxJQUFJLENBQUNDLFFBQVQsRUFBbUI7QUFDakIsV0FBT0QsSUFBSSxDQUFDQyxRQUFMLENBQWNDLE1BQWQsQ0FBcUJK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SEMsT0FBYjtBQUtBbUIsTUFBQUEsTUFBTSxDQUFDWixJQUFQLENBQVlnQyxJQUFaO0FBQ0Q7O0FBRUQsV0FBTztBQUNMTCxNQUFBQSxTQUFTLEVBQUVmLE1BQU0sQ0FBQ25CLE1BQVAsR0FBZ0JtQixNQUFNLENBQUNBLE1BQU0sQ0FBQ25CLE1BQVAsR0FBZ0IsQ0FBakIsQ0FBTixDQUEwQkwsR0FBMUMsR0FBZ0R1QyxTQUR0RDtBQUVMTSxNQUFBQSxNQUFNLEVBQUVwRCxHQUFHLENBQUNvRCxNQUFKLENBQVc1QyxNQUFYLENBQWtCdUIsTUFBbEI7QUFGSCxLQUFQO0FBSUQsR0EvQ1MsRUFnRFY7QUFBRXFCLElBQUFBLE1BQU0sRUFBRSxFQUFWO0FBQWNOLElBQUFBLFNBQVMsRUFBRTtBQUF6QixHQWhEVSxDQUFaO0FBbURBLFNBQU8vQyxHQUFHLENBQUNxRCxNQUFYO0FBQ0QsQ0FsRU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29tcGFjdCBmcm9tICdsb2Rhc2gvY29tcGFjdCc7XG5pbXBvcnQgRW5nbGlzaCBmcm9tICdAcGllLWZyYW1ld29yay9wYXJzZS1lbmdsaXNoJztcbmltcG9ydCBjbG9uZSBmcm9tICdsb2Rhc2gvY2xvbmUnO1xuXG5jb25zdCBnID0gKHN0ciwgbm9kZSkgPT4ge1xuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIHJldHVybiBub2RlLmNoaWxkcmVuLnJlZHVjZShnLCBzdHIpO1xuICB9IGVsc2UgaWYgKG5vZGUudmFsdWUpIHtcbiAgICByZXR1cm4gc3RyICsgbm9kZS52YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG59O1xuXG5jb25zdCBnZXRQYXJhZ3JhcGggPSAocCkgPT4gZygnJywgcCk7XG5cbmNvbnN0IGdldFNlbnRlbmNlID0gKHMpID0+IGcoJycsIHMpO1xuXG5jb25zdCBnZXRXb3JkID0gKHcpID0+IGcoJycsIHcpO1xuXG5leHBvcnQgY29uc3QgcGFyYWdyYXBocyA9ICh0ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWUgPSBuZXcgRW5nbGlzaCgpLnBhcnNlKHRleHQpO1xuXG4gIGNvbnN0IG91dCA9IHRyZWUuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdQYXJhZ3JhcGhOb2RlJykge1xuICAgICAgY29uc3QgcGFyYWdyYXBoID0ge1xuICAgICAgICB0ZXh0OiBnZXRQYXJhZ3JhcGgoY2hpbGQpLFxuICAgICAgICBzdGFydDogY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0LFxuICAgICAgICBlbmQ6IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gYWNjLmNvbmNhdChbcGFyYWdyYXBoXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW50ZW5jZSA9IChjaGlsZCwgYWNjKSA9PiB7XG4gIGNvbnN0IHNlbnRlbmNlQ2hpbGRzID0gW107XG4gIC8vIHdlIHBhcnNlIHRoZSBjaGlsZHJlbiBvZiB0aGUgc2VudGVuY2VcbiAgbGV0IG5ld0FjYyA9IGNoaWxkLmNoaWxkcmVuLnJlZHVjZShmdW5jdGlvbihhY2MsIGNoaWxkKSB7XG4gICAgLy8gaWYgd2UgZmluZCBhIHdoaXRlc3BhY2Ugbm9kZSB0aGF0J3MgXFxuLCB3ZSBlbmQgdGhlIHNlbnRlbmNlXG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdXaGl0ZVNwYWNlTm9kZScgJiYgY2hpbGQudmFsdWUgPT09ICdcXG4nKSB7XG4gICAgICBpZiAoc2VudGVuY2VDaGlsZHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0V29yZCA9IHNlbnRlbmNlQ2hpbGRzWzBdO1xuICAgICAgICAvLyB3ZSBjcmVhdGUgYSBzZW50ZW5jZSBzdGFydGluZyBmcm9tIHRoZSBmaXJzdCB3b3JkIHVudGlsIHRoZSBuZXcgbGluZVxuICAgICAgICBjb25zdCBzZW50ZW5jZSA9IHtcbiAgICAgICAgICB0ZXh0OiBzZW50ZW5jZUNoaWxkcy5tYXAoKGQpID0+IGdldFNlbnRlbmNlKGQpKS5qb2luKCcnKSxcbiAgICAgICAgICBzdGFydDogZmlyc3RXb3JkLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgICBlbmQ6IGNoaWxkLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxcbiAgICAgICAgfTtcblxuICAgICAgICAvLyB3ZSByZW1vdmUgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBhcnJheVxuICAgICAgICBzZW50ZW5jZUNoaWxkcy5zcGxpY2UoMCwgc2VudGVuY2VDaGlsZHMubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoW3NlbnRlbmNlXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG90aGVyd2lzZSB3ZSBhZGQgaXQgdG8gdGhlIGFycmF5IHRoYXQgY29udGFpbnMgdGhlIGNoaWxkIGZvcm1pbmcgYSBzZW50ZW5jZVxuICAgICAgc2VudGVuY2VDaGlsZHMucHVzaChjaGlsZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwgYWNjKTtcblxuICAvLyB3ZSB0cmVhdCB0aGUgY2FzZSB3aGVuIG5vIFxcbiBjaGFyYWN0ZXIgaXMgZm91bmQgYXQgdGhlIGVuZFxuICAvLyBzbyB3ZSBjcmVhdGUgYSBzZW50ZW5jZSBmcm9tIHRoZSBsYXN0IHdvcmRzIG9yIHdoaXRlIHNwYWNlcyBmb3VuZFxuICBpZiAoc2VudGVuY2VDaGlsZHMubGVuZ3RoKSB7XG4gICAgY29uc3QgZmlyc3RXb3JkID0gc2VudGVuY2VDaGlsZHNbMF07XG4gICAgY29uc3QgbGFzdFdvcmQgPSBzZW50ZW5jZUNoaWxkc1tzZW50ZW5jZUNoaWxkcy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBzZW50ZW5jZSA9IHtcbiAgICAgIHRleHQ6IHNlbnRlbmNlQ2hpbGRzLm1hcCgoZCkgPT4gZ2V0U2VudGVuY2UoZCkpLmpvaW4oJycpLFxuICAgICAgc3RhcnQ6IGZpcnN0V29yZC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICBlbmQ6IGxhc3RXb3JkLnBvc2l0aW9uLmVuZC5vZmZzZXQsXG4gICAgfTtcblxuICAgIG5ld0FjYyA9IG5ld0FjYy5jb25jYXQoW3NlbnRlbmNlXSk7XG5cbiAgICBzZW50ZW5jZUNoaWxkcy5zcGxpY2UoMCwgc2VudGVuY2VDaGlsZHMubGVuZ3RoKTtcbiAgfVxuXG4gIHJldHVybiBuZXdBY2M7XG59O1xuXG5leHBvcnQgY29uc3Qgc2VudGVuY2VzID0gKHRleHQpID0+IHtcbiAgY29uc3QgdHJlZSA9IG5ldyBFbmdsaXNoKCkucGFyc2UodGV4dCk7XG5cbiAgY29uc3Qgb3V0ID0gdHJlZS5jaGlsZHJlbi5yZWR1Y2UoKGFjYywgY2hpbGQpID0+IHtcbiAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1BhcmFncmFwaE5vZGUnKSB7XG4gICAgICByZXR1cm4gY2hpbGQuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgICAgIGlmIChjaGlsZC50eXBlID09PSAnU2VudGVuY2VOb2RlJykge1xuICAgICAgICAgIGNvbnN0IG5ld0FjYyA9IGhhbmRsZVNlbnRlbmNlKGNoaWxkLCBhY2MpO1xuXG4gICAgICAgICAgcmV0dXJuIG5ld0FjYyB8fCBhY2M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgfSwgYWNjKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9XG4gIH0sIFtdKTtcblxuICByZXR1cm4gb3V0O1xufTtcbmV4cG9ydCBjb25zdCB3b3JkcyA9ICh0ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWUgPSBuZXcgRW5nbGlzaCgpLnBhcnNlKHRleHQpO1xuXG4gIGNvbnN0IG91dCA9IHRyZWUuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgaWYgKGNoaWxkLnR5cGUgPT09ICdQYXJhZ3JhcGhOb2RlJykge1xuICAgICAgcmV0dXJuIGNoaWxkLmNoaWxkcmVuLnJlZHVjZSgoYWNjLCBjaGlsZCkgPT4ge1xuICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1NlbnRlbmNlTm9kZScpIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQuY2hpbGRyZW4ucmVkdWNlKChhY2MsIGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gJ1dvcmROb2RlJykge1xuICAgICAgICAgICAgICBjb25zdCBub2RlID0ge1xuICAgICAgICAgICAgICAgIHRleHQ6IGdldFdvcmQoY2hpbGQpLFxuICAgICAgICAgICAgICAgIHN0YXJ0OiBjaGlsZC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsXG4gICAgICAgICAgICAgICAgZW5kOiBjaGlsZC5wb3NpdGlvbi5lbmQub2Zmc2V0LFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICByZXR1cm4gYWNjLmNvbmNhdChbbm9kZV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCBhY2MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgIH0sIGFjYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbmNsYXNzIEludGVyc2VjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHJlc3VsdHMpIHtcbiAgICB0aGlzLnJlc3VsdHMgPSByZXN1bHRzO1xuICB9XG5cbiAgZ2V0IGhhc092ZXJsYXAoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ292ZXJsYXAnKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHN1cnJvdW5kZWRUb2tlbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ3dpdGhpbi1zZWxlY3Rpb24nKS5tYXAoKHQpID0+IHQudG9rZW4pO1xuICB9XG59XG4vKipcbiAqIGdldCBpbnRlcnNlY3Rpb24gaW5mbyBmb3IgdGhlIHNlbGVjdGlvbiBpbiByZWxhdGlvbiB0byB0b2tlbnMuXG4gKiBAcGFyYW0ge3tzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcn19IHNlbGVjdGlvblxuICogQHBhcmFtIHt7c3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXJ9W119IHRva2Vuc1xuICogQHJldHVybiB7dG9rZW5zOiBbXSwgdHlwZTogJ292ZXJsYXB8bm8tb3ZlcmxhcHxjb250YWlucyd9XG4gKi9cbmV4cG9ydCBjb25zdCBpbnRlcnNlY3Rpb24gPSAoc2VsZWN0aW9uLCB0b2tlbnMpID0+IHtcbiAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBzZWxlY3Rpb247XG5cbiAgY29uc3Qgc3RhcnRzV2l0aGluID0gKHQpID0+IHN0YXJ0ID49IHQuc3RhcnQgJiYgc3RhcnQgPCB0LmVuZDtcbiAgY29uc3QgZW5kc1dpdGhpbiA9ICh0KSA9PiBlbmQgPiB0LnN0YXJ0ICYmIGVuZCA8PSB0LmVuZDtcblxuICBjb25zdCBtYXBwZWQgPSB0b2tlbnMubWFwKCh0KSA9PiB7XG4gICAgaWYgKHN0YXJ0ID09PSB0LnN0YXJ0ICYmIGVuZCA9PT0gdC5lbmQpIHtcbiAgICAgIHJldHVybiB7IHRva2VuOiB0LCB0eXBlOiAnZXhhY3QtZml0JyB9O1xuICAgIH0gZWxzZSBpZiAoc3RhcnQgPD0gdC5zdGFydCAmJiBlbmQgPj0gdC5lbmQpIHtcbiAgICAgIHJldHVybiB7IHRva2VuOiB0LCB0eXBlOiAnd2l0aGluLXNlbGVjdGlvbicgfTtcbiAgICB9IGVsc2UgaWYgKHN0YXJ0c1dpdGhpbih0KSB8fCBlbmRzV2l0aGluKHQpKSB7XG4gICAgICByZXR1cm4geyB0b2tlbjogdCwgdHlwZTogJ292ZXJsYXAnIH07XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG5ldyBJbnRlcnNlY3Rpb24oY29tcGFjdChtYXBwZWQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzb3J0ID0gKHRva2VucykgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodG9rZW5zKSkge1xuICAgIHJldHVybiB0b2tlbnM7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb3V0ID0gY2xvbmUodG9rZW5zKTtcbiAgICBvdXQuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgcyA9IGEuc3RhcnQgPCBiLnN0YXJ0ID8gLTEgOiBhLnN0YXJ0ID4gYi5zdGFydCA/IDEgOiAwO1xuICAgICAgY29uc3QgZSA9IGEuZW5kIDwgYi5lbmQgPyAtMSA6IGEuZW5kID4gYi5lbmQgPyAxIDogMDtcbiAgICAgIGlmIChzID09PSAtMSAmJiBlICE9PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHNvcnQgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnNlY3RpbmcgdG9rZW5zLiBhOiAke2Euc3RhcnR9LSR7YS5lbmR9LCBiOiAke2Iuc3RhcnR9LSR7Yi5lbmR9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcztcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gKHRleHRUb05vcm1hbGl6ZSwgdG9rZW5zKSA9PiB7XG4gIC8vIG1ha2luZyBzdXJlIHRleHQgcHJvdmlkZWQgaXMgYSBzdHJpbmdcbiAgY29uc3QgdGV4dCA9IHRleHRUb05vcm1hbGl6ZSB8fCAnJztcblxuICBpZiAoIUFycmF5LmlzQXJyYXkodG9rZW5zKSB8fCB0b2tlbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGV4dCxcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBjb25zdCBvdXQgPSBzb3J0KHRva2VucykucmVkdWNlKFxuICAgIChhY2MsIHQsIGluZGV4LCBvdXRlcikgPT4ge1xuICAgICAgbGV0IHRva2VucyA9IFtdO1xuICAgICAgY29uc3QgbGFzdEluZGV4ID0gYWNjLmxhc3RJbmRleDtcblxuICAgICAgaWYgKHQuc3RhcnQgPT09IGxhc3RJbmRleCkge1xuICAgICAgICB0b2tlbnMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdGV4dC5zdWJzdHJpbmcobGFzdEluZGV4LCB0LmVuZCksXG4gICAgICAgICAgICBzdGFydDogbGFzdEluZGV4LFxuICAgICAgICAgICAgZW5kOiB0LmVuZCxcbiAgICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgICBjb3JyZWN0OiB0LmNvcnJlY3QsXG4gICAgICAgICAgICBpc01pc3Npbmc6IHQuaXNNaXNzaW5nLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9IGVsc2UgaWYgKGxhc3RJbmRleCA8IHQuc3RhcnQpIHtcbiAgICAgICAgdG9rZW5zID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6IHRleHQuc3Vic3RyaW5nKGxhc3RJbmRleCwgdC5zdGFydCksXG4gICAgICAgICAgICBzdGFydDogbGFzdEluZGV4LFxuICAgICAgICAgICAgZW5kOiB0LnN0YXJ0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogdGV4dC5zdWJzdHJpbmcodC5zdGFydCwgdC5lbmQpLFxuICAgICAgICAgICAgc3RhcnQ6IHQuc3RhcnQsXG4gICAgICAgICAgICBlbmQ6IHQuZW5kLFxuICAgICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICAgIGNvcnJlY3Q6IHQuY29ycmVjdCxcbiAgICAgICAgICAgIGlzTWlzc2luZzogdC5pc01pc3NpbmcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4ID09PSBvdXRlci5sZW5ndGggLSAxICYmIHQuZW5kIDwgdGV4dC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgbGFzdCA9IHtcbiAgICAgICAgICB0ZXh0OiB0ZXh0LnN1YnN0cmluZyh0LmVuZCksXG4gICAgICAgICAgc3RhcnQ6IHQuZW5kLFxuICAgICAgICAgIGVuZDogdGV4dC5sZW5ndGgsXG4gICAgICAgIH07XG4gICAgICAgIHRva2Vucy5wdXNoKGxhc3QpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYXN0SW5kZXg6IHRva2Vucy5sZW5ndGggPyB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdLmVuZCA6IGxhc3RJbmRleCxcbiAgICAgICAgcmVzdWx0OiBhY2MucmVzdWx0LmNvbmNhdCh0b2tlbnMpLFxuICAgICAgfTtcbiAgICB9LFxuICAgIHsgcmVzdWx0OiBbXSwgbGFzdEluZGV4OiAwIH0sXG4gICk7XG5cbiAgcmV0dXJuIG91dC5yZXN1bHQ7XG59O1xuIl19
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.Controls = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
27
|
-
|
|
28
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
30
|
-
var _Switch = _interopRequireDefault(require("@material-ui/core/Switch"));
|
|
31
|
-
|
|
32
|
-
var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
|
|
33
|
-
|
|
34
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
-
|
|
38
|
-
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); }; }
|
|
39
|
-
|
|
40
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
-
|
|
42
|
-
var Controls = /*#__PURE__*/function (_React$Component) {
|
|
43
|
-
(0, _inherits2["default"])(Controls, _React$Component);
|
|
44
|
-
|
|
45
|
-
var _super = _createSuper(Controls);
|
|
46
|
-
|
|
47
|
-
function Controls() {
|
|
48
|
-
(0, _classCallCheck2["default"])(this, Controls);
|
|
49
|
-
return _super.apply(this, arguments);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
(0, _createClass2["default"])(Controls, [{
|
|
53
|
-
key: "render",
|
|
54
|
-
value: function render() {
|
|
55
|
-
var _this$props = this.props,
|
|
56
|
-
classes = _this$props.classes,
|
|
57
|
-
onClear = _this$props.onClear,
|
|
58
|
-
onWords = _this$props.onWords,
|
|
59
|
-
onSentences = _this$props.onSentences,
|
|
60
|
-
onParagraphs = _this$props.onParagraphs,
|
|
61
|
-
setCorrectMode = _this$props.setCorrectMode,
|
|
62
|
-
onToggleCorrectMode = _this$props.onToggleCorrectMode;
|
|
63
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
64
|
-
className: classes.controls
|
|
65
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
66
|
-
onClick: onWords,
|
|
67
|
-
className: classes.button,
|
|
68
|
-
size: "small",
|
|
69
|
-
color: "primary",
|
|
70
|
-
disabled: setCorrectMode
|
|
71
|
-
}, "Words"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
72
|
-
onClick: onSentences,
|
|
73
|
-
className: classes.button,
|
|
74
|
-
size: "small",
|
|
75
|
-
color: "primary",
|
|
76
|
-
disabled: setCorrectMode
|
|
77
|
-
}, "Sentences"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
78
|
-
onClick: onParagraphs,
|
|
79
|
-
className: classes.button,
|
|
80
|
-
size: "small",
|
|
81
|
-
color: "primary",
|
|
82
|
-
disabled: setCorrectMode
|
|
83
|
-
}, "Paragraphs"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
84
|
-
className: classes.button,
|
|
85
|
-
size: "small",
|
|
86
|
-
color: "secondary",
|
|
87
|
-
onClick: onClear,
|
|
88
|
-
disabled: setCorrectMode
|
|
89
|
-
}, "Clear")), /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
|
|
90
|
-
control: /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
|
|
91
|
-
classes: {
|
|
92
|
-
checked: classes.checkedThumb,
|
|
93
|
-
bar: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.checkedBar, setCorrectMode))
|
|
94
|
-
},
|
|
95
|
-
checked: setCorrectMode,
|
|
96
|
-
onChange: onToggleCorrectMode
|
|
97
|
-
}),
|
|
98
|
-
label: "Set correct answers"
|
|
99
|
-
}));
|
|
100
|
-
}
|
|
101
|
-
}]);
|
|
102
|
-
return Controls;
|
|
103
|
-
}(_react["default"].Component);
|
|
104
|
-
|
|
105
|
-
exports.Controls = Controls;
|
|
106
|
-
(0, _defineProperty2["default"])(Controls, "propTypes", {
|
|
107
|
-
classes: _propTypes["default"].object.isRequired,
|
|
108
|
-
onClear: _propTypes["default"].func.isRequired,
|
|
109
|
-
onWords: _propTypes["default"].func.isRequired,
|
|
110
|
-
onSentences: _propTypes["default"].func.isRequired,
|
|
111
|
-
onParagraphs: _propTypes["default"].func.isRequired,
|
|
112
|
-
setCorrectMode: _propTypes["default"].bool.isRequired,
|
|
113
|
-
onToggleCorrectMode: _propTypes["default"].func.isRequired
|
|
114
|
-
});
|
|
115
|
-
(0, _defineProperty2["default"])(Controls, "defaultProps", {});
|
|
116
|
-
|
|
117
|
-
var _default = (0, _styles.withStyles)(function (theme) {
|
|
118
|
-
return {
|
|
119
|
-
button: {
|
|
120
|
-
marginRight: theme.spacing.unit
|
|
121
|
-
},
|
|
122
|
-
controls: {
|
|
123
|
-
display: 'flex',
|
|
124
|
-
alignItems: 'center',
|
|
125
|
-
justifyContent: 'space-between'
|
|
126
|
-
},
|
|
127
|
-
checkedThumb: {
|
|
128
|
-
color: "".concat(_renderUi.color.tertiary(), " !important")
|
|
129
|
-
},
|
|
130
|
-
checkedBar: {
|
|
131
|
-
backgroundColor: "".concat(_renderUi.color.tertiaryLight(), " !important")
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
})(Controls);
|
|
135
|
-
|
|
136
|
-
exports["default"] = _default;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbml6ZXIvY29udHJvbHMuanN4Il0sIm5hbWVzIjpbIkNvbnRyb2xzIiwicHJvcHMiLCJjbGFzc2VzIiwib25DbGVhciIsIm9uV29yZHMiLCJvblNlbnRlbmNlcyIsIm9uUGFyYWdyYXBocyIsInNldENvcnJlY3RNb2RlIiwib25Ub2dnbGVDb3JyZWN0TW9kZSIsImNvbnRyb2xzIiwiYnV0dG9uIiwiY2hlY2tlZCIsImNoZWNrZWRUaHVtYiIsImJhciIsImNoZWNrZWRCYXIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiYm9vbCIsInRoZW1lIiwibWFyZ2luUmlnaHQiLCJzcGFjaW5nIiwidW5pdCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJjb2xvciIsInRlcnRpYXJ5IiwiYmFja2dyb3VuZENvbG9yIiwidGVydGlhcnlMaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztJQUVhQSxROzs7Ozs7Ozs7Ozs7V0FhWCxrQkFBUztBQUNQLHdCQUFzRyxLQUFLQyxLQUEzRztBQUFBLFVBQVFDLE9BQVIsZUFBUUEsT0FBUjtBQUFBLFVBQWlCQyxPQUFqQixlQUFpQkEsT0FBakI7QUFBQSxVQUEwQkMsT0FBMUIsZUFBMEJBLE9BQTFCO0FBQUEsVUFBbUNDLFdBQW5DLGVBQW1DQSxXQUFuQztBQUFBLFVBQWdEQyxZQUFoRCxlQUFnREEsWUFBaEQ7QUFBQSxVQUE4REMsY0FBOUQsZUFBOERBLGNBQTlEO0FBQUEsVUFBOEVDLG1CQUE5RSxlQUE4RUEsbUJBQTlFO0FBRUEsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRU4sT0FBTyxDQUFDTztBQUF4QixzQkFDRSwwREFDRSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsT0FBTyxFQUFFTCxPQUFqQjtBQUEwQixRQUFBLFNBQVMsRUFBRUYsT0FBTyxDQUFDUSxNQUE3QztBQUFxRCxRQUFBLElBQUksRUFBQyxPQUExRDtBQUFrRSxRQUFBLEtBQUssRUFBQyxTQUF4RTtBQUFrRixRQUFBLFFBQVEsRUFBRUg7QUFBNUYsaUJBREYsZUFJRSxnQ0FBQyxrQkFBRDtBQUNFLFFBQUEsT0FBTyxFQUFFRixXQURYO0FBRUUsUUFBQSxTQUFTLEVBQUVILE9BQU8sQ0FBQ1EsTUFGckI7QUFHRSxRQUFBLElBQUksRUFBQyxPQUhQO0FBSUUsUUFBQSxLQUFLLEVBQUMsU0FKUjtBQUtFLFFBQUEsUUFBUSxFQUFFSDtBQUxaLHFCQUpGLGVBYUUsZ0NBQUMsa0JBQUQ7QUFDRSxRQUFBLE9BQU8sRUFBRUQsWUFEWDtBQUVFLFFBQUEsU0FBUyxFQUFFSixPQUFPLENBQUNRLE1BRnJCO0FBR0UsUUFBQSxJQUFJLEVBQUMsT0FIUDtBQUlFLFFBQUEsS0FBSyxFQUFDLFNBSlI7QUFLRSxRQUFBLFFBQVEsRUFBRUg7QUFMWixzQkFiRixlQXNCRSxnQ0FBQyxrQkFBRDtBQUFRLFFBQUEsU0FBUyxFQUFFTCxPQUFPLENBQUNRLE1BQTNCO0FBQW1DLFFBQUEsSUFBSSxFQUFDLE9BQXhDO0FBQWdELFFBQUEsS0FBSyxFQUFDLFdBQXREO0FBQWtFLFFBQUEsT0FBTyxFQUFFUCxPQUEzRTtBQUFvRixRQUFBLFFBQVEsRUFBRUk7QUFBOUYsaUJBdEJGLENBREYsZUEyQkUsZ0NBQUMsNEJBQUQ7QUFDRSxRQUFBLE9BQU8sZUFDUCxnQ0FBQyxrQkFBRDtBQUNJLFVBQUEsT0FBTyxFQUFFO0FBQ1BJLFlBQUFBLE9BQU8sRUFBRVQsT0FBTyxDQUFDVSxZQURWO0FBRVBDLFlBQUFBLEdBQUcsRUFBRSxpRUFDRlgsT0FBTyxDQUFDWSxVQUROLEVBQ21CUCxjQURuQjtBQUZFLFdBRGI7QUFPSSxVQUFBLE9BQU8sRUFBRUEsY0FQYjtBQVFJLFVBQUEsUUFBUSxFQUFFQztBQVJkLFVBRkY7QUFhRSxRQUFBLEtBQUssRUFBQztBQWJSLFFBM0JGLENBREY7QUE2Q0Q7OztFQTdEMkJPLGtCQUFNQyxTOzs7aUNBQXZCaEIsUSxlQUNRO0FBQ2pCRSxFQUFBQSxPQUFPLEVBQUVlLHNCQUFVQyxNQUFWLENBQWlCQyxVQURUO0FBRWpCaEIsRUFBQUEsT0FBTyxFQUFFYyxzQkFBVUcsSUFBVixDQUFlRCxVQUZQO0FBR2pCZixFQUFBQSxPQUFPLEVBQUVhLHNCQUFVRyxJQUFWLENBQWVELFVBSFA7QUFJakJkLEVBQUFBLFdBQVcsRUFBRVksc0JBQVVHLElBQVYsQ0FBZUQsVUFKWDtBQUtqQmIsRUFBQUEsWUFBWSxFQUFFVyxzQkFBVUcsSUFBVixDQUFlRCxVQUxaO0FBTWpCWixFQUFBQSxjQUFjLEVBQUVVLHNCQUFVSSxJQUFWLENBQWVGLFVBTmQ7QUFPakJYLEVBQUFBLG1CQUFtQixFQUFFUyxzQkFBVUcsSUFBVixDQUFlRDtBQVBuQixDO2lDQURSbkIsUSxrQkFXVyxFOztlQW9EVCx3QkFBVyxVQUFDc0IsS0FBRDtBQUFBLFNBQVk7QUFDcENaLElBQUFBLE1BQU0sRUFBRTtBQUNOYSxNQUFBQSxXQUFXLEVBQUVELEtBQUssQ0FBQ0UsT0FBTixDQUFjQztBQURyQixLQUQ0QjtBQUlwQ2hCLElBQUFBLFFBQVEsRUFBRTtBQUNSaUIsTUFBQUEsT0FBTyxFQUFFLE1BREQ7QUFFUkMsTUFBQUEsVUFBVSxFQUFFLFFBRko7QUFHUkMsTUFBQUEsY0FBYyxFQUFFO0FBSFIsS0FKMEI7QUFTcENoQixJQUFBQSxZQUFZLEVBQUU7QUFDWmlCLE1BQUFBLEtBQUssWUFBS0EsZ0JBQU1DLFFBQU4sRUFBTDtBQURPLEtBVHNCO0FBWXBDaEIsSUFBQUEsVUFBVSxFQUFFO0FBQ1ZpQixNQUFBQSxlQUFlLFlBQUtGLGdCQUFNRyxhQUFOLEVBQUw7QUFETDtBQVp3QixHQUFaO0FBQUEsQ0FBWCxFQWVYaEMsUUFmVyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0J1dHRvbic7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvU3dpdGNoJztcbmltcG9ydCBGb3JtQ29udHJvbExhYmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0Zvcm1Db250cm9sTGFiZWwnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmV4cG9ydCBjbGFzcyBDb250cm9scyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uQ2xlYXI6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Xb3JkczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblNlbnRlbmNlczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblBhcmFncmFwaHM6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2V0Q29ycmVjdE1vZGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25Ub2dnbGVDb3JyZWN0TW9kZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3Nlcywgb25DbGVhciwgb25Xb3Jkcywgb25TZW50ZW5jZXMsIG9uUGFyYWdyYXBocywgc2V0Q29ycmVjdE1vZGUsIG9uVG9nZ2xlQ29ycmVjdE1vZGUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY29udHJvbHN9PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17b25Xb3Jkc30gY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn0gc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJwcmltYXJ5XCIgZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfT5cbiAgICAgICAgICAgIFdvcmRzXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17b25TZW50ZW5jZXN9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYnV0dG9ufVxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBkaXNhYmxlZD17c2V0Q29ycmVjdE1vZGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgU2VudGVuY2VzXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17b25QYXJhZ3JhcGhzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLmJ1dHRvbn1cbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIFBhcmFncmFwaHNcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT17Y2xhc3Nlcy5idXR0b259IHNpemU9XCJzbWFsbFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgb25DbGljaz17b25DbGVhcn0gZGlzYWJsZWQ9e3NldENvcnJlY3RNb2RlfT5cbiAgICAgICAgICAgIENsZWFyXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rm9ybUNvbnRyb2xMYWJlbFxuICAgICAgICAgIGNvbnRyb2w9e1xuICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgIGNoZWNrZWQ6IGNsYXNzZXMuY2hlY2tlZFRodW1iLFxuICAgICAgICAgICAgICAgIGJhcjogY2xhc3NOYW1lcyh7XG4gICAgICAgICAgICAgICAgICBbY2xhc3Nlcy5jaGVja2VkQmFyXTogc2V0Q29ycmVjdE1vZGUsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e3NldENvcnJlY3RNb2RlfSBcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVG9nZ2xlQ29ycmVjdE1vZGV9IFxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgICBsYWJlbD1cIlNldCBjb3JyZWN0IGFuc3dlcnNcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcygodGhlbWUpID0+ICh7XG4gIGJ1dHRvbjoge1xuICAgIG1hcmdpblJpZ2h0OiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gIH0sXG4gIGNvbnRyb2xzOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gIH0sXG4gIGNoZWNrZWRUaHVtYjoge1xuICAgIGNvbG9yOiBgJHtjb2xvci50ZXJ0aWFyeSgpfSAhaW1wb3J0YW50YCxcbiAgfSxcbiAgY2hlY2tlZEJhcjoge1xuICAgIGJhY2tncm91bmRDb2xvcjogYCR7Y29sb3IudGVydGlhcnlMaWdodCgpfSAhaW1wb3J0YW50YCxcbiAgfVxufSkpKENvbnRyb2xzKTtcbiJdfQ==
|