@pie-lib/text-select 2.1.0-next.0 → 2.1.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/package.json +6 -6
- package/lib/__tests__/text-select.test.js +0 -63
- package/lib/__tests__/utils.test.js +0 -22
- package/lib/index.js +0 -57
- package/lib/index.js.map +0 -1
- package/lib/legend.js +0 -119
- package/lib/legend.js.map +0 -1
- package/lib/text-select.js +0 -105
- package/lib/text-select.js.map +0 -1
- package/lib/token-select/__tests__/index.test.js +0 -124
- package/lib/token-select/__tests__/token.test.js +0 -38
- package/lib/token-select/index.js +0 -207
- package/lib/token-select/index.js.map +0 -1
- package/lib/token-select/token.js +0 -236
- package/lib/token-select/token.js.map +0 -1
- package/lib/tokenizer/__tests__/builder.test.js +0 -389
- package/lib/tokenizer/__tests__/controls.test.js +0 -35
- package/lib/tokenizer/__tests__/index.test.js +0 -59
- package/lib/tokenizer/__tests__/selection-utils.test.js +0 -26
- package/lib/tokenizer/__tests__/token-text.test.js +0 -49
- package/lib/tokenizer/builder.js +0 -266
- package/lib/tokenizer/builder.js.map +0 -1
- package/lib/tokenizer/controls.js +0 -106
- package/lib/tokenizer/controls.js.map +0 -1
- package/lib/tokenizer/index.js +0 -149
- package/lib/tokenizer/index.js.map +0 -1
- package/lib/tokenizer/selection-utils.js +0 -55
- package/lib/tokenizer/selection-utils.js.map +0 -1
- package/lib/tokenizer/token-text.js +0 -176
- package/lib/tokenizer/token-text.js.map +0 -1
- package/lib/utils.js +0 -51
- package/lib/utils.js.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
5
|
-
var _index = require("../index");
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
describe('token-select', function () {
|
|
9
|
-
var defaultProps = {
|
|
10
|
-
tokens: [{
|
|
11
|
-
text: 'foo bar',
|
|
12
|
-
start: 0,
|
|
13
|
-
end: 7,
|
|
14
|
-
predefined: true,
|
|
15
|
-
selectable: true,
|
|
16
|
-
selected: false
|
|
17
|
-
}],
|
|
18
|
-
classes: {},
|
|
19
|
-
onChange: jest.fn()
|
|
20
|
-
};
|
|
21
|
-
describe('rendering', function () {
|
|
22
|
-
it('renders with default props', function () {
|
|
23
|
-
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.TokenSelect, defaultProps)),
|
|
24
|
-
container = _render.container;
|
|
25
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
26
|
-
});
|
|
27
|
-
it('renders sentences with newlines', function () {
|
|
28
|
-
var tokens = [{
|
|
29
|
-
text: 'foo,',
|
|
30
|
-
start: 0,
|
|
31
|
-
end: 4,
|
|
32
|
-
predefined: true,
|
|
33
|
-
selectable: true,
|
|
34
|
-
selected: false
|
|
35
|
-
}, {
|
|
36
|
-
text: '\n',
|
|
37
|
-
start: 4,
|
|
38
|
-
end: 5,
|
|
39
|
-
selected: false
|
|
40
|
-
}, {
|
|
41
|
-
text: 'bar',
|
|
42
|
-
start: 5,
|
|
43
|
-
end: 8,
|
|
44
|
-
predefined: true,
|
|
45
|
-
selectable: true,
|
|
46
|
-
selected: false
|
|
47
|
-
}];
|
|
48
|
-
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.TokenSelect, (0, _extends2["default"])({}, defaultProps, {
|
|
49
|
-
tokens: tokens
|
|
50
|
-
}))),
|
|
51
|
-
container = _render2.container;
|
|
52
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
53
|
-
});
|
|
54
|
-
it('renders paragraphs with double newlines', function () {
|
|
55
|
-
var tokens = [{
|
|
56
|
-
text: 'foo,',
|
|
57
|
-
start: 0,
|
|
58
|
-
end: 4,
|
|
59
|
-
predefined: true,
|
|
60
|
-
selectable: true,
|
|
61
|
-
selected: false
|
|
62
|
-
}, {
|
|
63
|
-
text: '\n\n',
|
|
64
|
-
start: 4,
|
|
65
|
-
end: 5,
|
|
66
|
-
selected: false
|
|
67
|
-
}, {
|
|
68
|
-
text: 'bar',
|
|
69
|
-
start: 5,
|
|
70
|
-
end: 8,
|
|
71
|
-
predefined: true,
|
|
72
|
-
selectable: true,
|
|
73
|
-
selected: false
|
|
74
|
-
}];
|
|
75
|
-
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.TokenSelect, (0, _extends2["default"])({}, defaultProps, {
|
|
76
|
-
tokens: tokens
|
|
77
|
-
}))),
|
|
78
|
-
container = _render3.container;
|
|
79
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
80
|
-
});
|
|
81
|
-
it('renders in disabled mode with selected tokens', function () {
|
|
82
|
-
var tokens = [{
|
|
83
|
-
text: 'foo,',
|
|
84
|
-
start: 0,
|
|
85
|
-
end: 4,
|
|
86
|
-
predefined: true,
|
|
87
|
-
selectable: true,
|
|
88
|
-
selected: true
|
|
89
|
-
}, {
|
|
90
|
-
text: '\n',
|
|
91
|
-
start: 4,
|
|
92
|
-
end: 5,
|
|
93
|
-
selected: false
|
|
94
|
-
}, {
|
|
95
|
-
text: 'bar',
|
|
96
|
-
start: 5,
|
|
97
|
-
end: 8,
|
|
98
|
-
predefined: true,
|
|
99
|
-
selectable: true,
|
|
100
|
-
selected: true
|
|
101
|
-
}];
|
|
102
|
-
var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.TokenSelect, (0, _extends2["default"])({}, defaultProps, {
|
|
103
|
-
disabled: true,
|
|
104
|
-
tokens: tokens
|
|
105
|
-
}))),
|
|
106
|
-
container = _render4.container;
|
|
107
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
108
|
-
});
|
|
109
|
-
it('renders with maxNoOfSelections', function () {
|
|
110
|
-
var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_index.TokenSelect, (0, _extends2["default"])({}, defaultProps, {
|
|
111
|
-
maxNoOfSelections: 5
|
|
112
|
-
}))),
|
|
113
|
-
container = _render5.container;
|
|
114
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
// Note: Tests for internal methods (selectedCount, canSelectMore, toggleToken) are
|
|
119
|
-
// implementation details and cannot be directly tested with RTL. The original tests
|
|
120
|
-
// used wrapper.instance() to test these methods, which tests implementation rather
|
|
121
|
-
// than user-facing behavior. Token selection logic and user interactions should be
|
|
122
|
-
// tested through integration/e2e tests.
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdDIiLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsInRva2VucyIsInRleHQiLCJzdGFydCIsImVuZCIsInByZWRlZmluZWQiLCJzZWxlY3RhYmxlIiwic2VsZWN0ZWQiLCJjbGFzc2VzIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJpdCIsIl9yZW5kZXIiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiVG9rZW5TZWxlY3QiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJfcmVuZGVyMiIsIl9leHRlbmRzMiIsIl9yZW5kZXIzIiwiX3JlbmRlcjQiLCJkaXNhYmxlZCIsIl9yZW5kZXI1IiwibWF4Tm9PZlNlbGVjdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9rZW4tc2VsZWN0L19fdGVzdHNfXy9pbmRleC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2tlblNlbGVjdCB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcblxuZGVzY3JpYmUoJ3Rva2VuLXNlbGVjdCcsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIHRva2VuczogW1xuICAgICAge1xuICAgICAgICB0ZXh0OiAnZm9vIGJhcicsXG4gICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICBlbmQ6IDcsXG4gICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBjbGFzc2VzOiB7fSxcbiAgICBvbkNoYW5nZTogamVzdC5mbigpLFxuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IHByb3BzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8VG9rZW5TZWxlY3Qgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgc2VudGVuY2VzIHdpdGggbmV3bGluZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnZm9vLCcsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiA0LFxuICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnXFxuJyxcbiAgICAgICAgICBzdGFydDogNCxcbiAgICAgICAgICBlbmQ6IDUsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ2JhcicsXG4gICAgICAgICAgc3RhcnQ6IDUsXG4gICAgICAgICAgZW5kOiA4LFxuICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8VG9rZW5TZWxlY3Qgey4uLmRlZmF1bHRQcm9wc30gdG9rZW5zPXt0b2tlbnN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHBhcmFncmFwaHMgd2l0aCBkb3VibGUgbmV3bGluZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnZm9vLCcsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiA0LFxuICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnXFxuXFxuJyxcbiAgICAgICAgICBzdGFydDogNCxcbiAgICAgICAgICBlbmQ6IDUsXG4gICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogJ2JhcicsXG4gICAgICAgICAgc3RhcnQ6IDUsXG4gICAgICAgICAgZW5kOiA4LFxuICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8VG9rZW5TZWxlY3Qgey4uLmRlZmF1bHRQcm9wc30gdG9rZW5zPXt0b2tlbnN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGluIGRpc2FibGVkIG1vZGUgd2l0aCBzZWxlY3RlZCB0b2tlbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnZm9vLCcsXG4gICAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgICAgZW5kOiA0LFxuICAgICAgICAgIHByZWRlZmluZWQ6IHRydWUsXG4gICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6ICdcXG4nLFxuICAgICAgICAgIHN0YXJ0OiA0LFxuICAgICAgICAgIGVuZDogNSxcbiAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnYmFyJyxcbiAgICAgICAgICBzdGFydDogNSxcbiAgICAgICAgICBlbmQ6IDgsXG4gICAgICAgICAgcHJlZGVmaW5lZDogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RhYmxlOiB0cnVlLFxuICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPFRva2VuU2VsZWN0IHsuLi5kZWZhdWx0UHJvcHN9IGRpc2FibGVkIHRva2Vucz17dG9rZW5zfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIG1heE5vT2ZTZWxlY3Rpb25zJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8VG9rZW5TZWxlY3Qgey4uLmRlZmF1bHRQcm9wc30gbWF4Tm9PZlNlbGVjdGlvbnM9ezV9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gTm90ZTogVGVzdHMgZm9yIGludGVybmFsIG1ldGhvZHMgKHNlbGVjdGVkQ291bnQsIGNhblNlbGVjdE1vcmUsIHRvZ2dsZVRva2VuKSBhcmVcbiAgLy8gaW1wbGVtZW50YXRpb24gZGV0YWlscyBhbmQgY2Fubm90IGJlIGRpcmVjdGx5IHRlc3RlZCB3aXRoIFJUTC4gVGhlIG9yaWdpbmFsIHRlc3RzXG4gIC8vIHVzZWQgd3JhcHBlci5pbnN0YW5jZSgpIHRvIHRlc3QgdGhlc2UgbWV0aG9kcywgd2hpY2ggdGVzdHMgaW1wbGVtZW50YXRpb24gcmF0aGVyXG4gIC8vIHRoYW4gdXNlci1mYWNpbmcgYmVoYXZpb3IuIFRva2VuIHNlbGVjdGlvbiBsb2dpYyBhbmQgdXNlciBpbnRlcmFjdGlvbnMgc2hvdWxkIGJlXG4gIC8vIHRlc3RlZCB0aHJvdWdoIGludGVncmF0aW9uL2UyZSB0ZXN0cy5cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBRUFJLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBTTtFQUM3QixJQUFNQyxZQUFZLEdBQUc7SUFDbkJDLE1BQU0sRUFBRSxDQUNOO01BQ0VDLElBQUksRUFBRSxTQUFTO01BQ2ZDLEtBQUssRUFBRSxDQUFDO01BQ1JDLEdBQUcsRUFBRSxDQUFDO01BQ05DLFVBQVUsRUFBRSxJQUFJO01BQ2hCQyxVQUFVLEVBQUUsSUFBSTtNQUNoQkMsUUFBUSxFQUFFO0lBQ1osQ0FBQyxDQUNGO0lBQ0RDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDWEMsUUFBUSxFQUFFQyxJQUFJLENBQUNDLEVBQUUsQ0FBQztFQUNwQixDQUFDO0VBRURaLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQmEsRUFBRSxDQUFDLDRCQUE0QixFQUFFLFlBQU07TUFDckMsSUFBQUMsT0FBQSxHQUFzQixJQUFBQyxjQUFNLGVBQUNsQixNQUFBLFlBQUFtQixhQUFBLENBQUNyQixNQUFBLENBQUFzQixXQUFXLEVBQUtoQixZQUFlLENBQUMsQ0FBQztRQUF2RGlCLFNBQVMsR0FBQUosT0FBQSxDQUFUSSxTQUFTO01BQ2pCQyxNQUFN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
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
5
|
-
var _token = require("../token");
|
|
6
|
-
var _react = _interopRequireDefault(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
describe('token', function () {
|
|
9
|
-
var defaultProps = {
|
|
10
|
-
classes: {
|
|
11
|
-
token: 'token',
|
|
12
|
-
selectable: 'selectable'
|
|
13
|
-
},
|
|
14
|
-
text: 'foo bar'
|
|
15
|
-
};
|
|
16
|
-
describe('rendering', function () {
|
|
17
|
-
it('renders with text', function () {
|
|
18
|
-
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_token.Token, defaultProps)),
|
|
19
|
-
container = _render.container;
|
|
20
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
21
|
-
});
|
|
22
|
-
it('renders with newlines', function () {
|
|
23
|
-
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_token.Token, (0, _extends2["default"])({}, defaultProps, {
|
|
24
|
-
text: "foo \\nbar"
|
|
25
|
-
}))),
|
|
26
|
-
container = _render2.container;
|
|
27
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
28
|
-
});
|
|
29
|
-
it('renders with multiple newlines', function () {
|
|
30
|
-
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_token.Token, (0, _extends2["default"])({}, defaultProps, {
|
|
31
|
-
text: "line1\\nline2\\nline3"
|
|
32
|
-
}))),
|
|
33
|
-
container = _render3.container;
|
|
34
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9rZW4iLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdDIiLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImNsYXNzZXMiLCJ0b2tlbiIsInNlbGVjdGFibGUiLCJ0ZXh0IiwiaXQiLCJfcmVuZGVyIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlRva2VuIiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlcjIiLCJfZXh0ZW5kczIiLCJfcmVuZGVyMyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbi1zZWxlY3QvX190ZXN0c19fL3Rva2VuLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vdG9rZW4nO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuXG5kZXNjcmliZSgndG9rZW4nLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBjbGFzc2VzOiB7XG4gICAgICB0b2tlbjogJ3Rva2VuJyxcbiAgICAgIHNlbGVjdGFibGU6ICdzZWxlY3RhYmxlJyxcbiAgICB9LFxuICAgIHRleHQ6ICdmb28gYmFyJyxcbiAgfTtcblxuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGggdGV4dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPFRva2VuIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggbmV3bGluZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxUb2tlbiB7Li4uZGVmYXVsdFByb3BzfSB0ZXh0PVwiZm9vIFxcbmJhclwiIC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggbXVsdGlwbGUgbmV3bGluZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxUb2tlbiB7Li4uZGVmYXVsdFByb3BzfSB0ZXh0PVwibGluZTFcXG5saW5lMlxcbmxpbmUzXCIgLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBRUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBTTtFQUN0QixJQUFNQyxZQUFZLEdBQUc7SUFDbkJDLE9BQU8sRUFBRTtNQUNQQyxLQUFLLEVBQUUsT0FBTztNQUNkQyxVQUFVLEVBQUU7SUFDZCxDQUFDO0lBQ0RDLElBQUksRUFBRTtFQUNSLENBQUM7RUFFREwsUUFBUSxDQUFDLFdBQVcsRUFBRSxZQUFNO0lBQzFCTSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsWUFBTTtNQUM1QixJQUFBQyxPQUFBLEdBQXNCLElBQUFDLGNBQU0sZUFBQ1gsTUFBQSxZQUFBWSxhQUFBLENBQUNkLE1BQUEsQ0FBQWUsS0FBSyxFQUFLVCxZQUFlLENBQUMsQ0FBQztRQUFqRFUsU0FBUyxHQUFBSixPQUFBLENBQVRJLFNBQVM7TUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFFRlIsRUFBRSxDQUFDLHVCQUF1QixFQUFFLFlBQU07TUFDaEMsSUFBQVMsUUFBQSxHQUFzQixJQUFBUCxjQUFNLGVBQUNYLE1BQUEsWUFBQVksYUFBQSxDQUFDZCxNQUFBLENBQUFlLEtBQUssTUFBQU0sU0FBQSxpQkFBS2YsWUFBWTtVQUFFSSxJQUFJLEVBQUM7UUFBVyxFQUFFLENBQUMsQ0FBQztRQUFsRU0sU0FBUyxHQUFBSSxRQUFBLENBQVRKLFNBQVM7TUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFFRlIsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLFlBQU07TUFDekMsSUFBQVcsUUFBQSxHQUFzQixJQUFBVCxjQUFNLGVBQUNYLE1BQUEsWUFBQVksYUFBQSxDQUFDZCxNQUFBLENBQUFlLEtBQUssTUFBQU0sU0FBQSxpQkFBS2YsWUFBWTtVQUFFSSxJQUFJLEVBQUM7UUFBcUIsRUFBRSxDQUFDLENBQUM7UUFBNUVNLFNBQVMsR0FBQU0sUUFBQSxDQUFUTixTQUFTO01BQ2pCQyxNQUFNLENBQUNELFNBQVMsQ0FBQ0UsVUFBVSxDQUFDLENBQUNDLGlCQUFpQixDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.TokenSelect = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
-
var _token = _interopRequireWildcard(require("./token"));
|
|
19
|
-
var _styles = require("@mui/material/styles");
|
|
20
|
-
var _clone = _interopRequireDefault(require("lodash/clone"));
|
|
21
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
22
|
-
var _styleUtils = require("@pie-lib/style-utils");
|
|
23
|
-
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
24
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
26
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
27
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
|
-
var log = (0, _debug["default"])('@pie-lib:text-select:token-select');
|
|
30
|
-
var StyledTokenSelect = (0, _styles.styled)('div')(function () {
|
|
31
|
-
return _objectSpread(_objectSpread({
|
|
32
|
-
backgroundColor: 'none',
|
|
33
|
-
whiteSpace: 'pre'
|
|
34
|
-
}, (0, _styleUtils.noSelect)()), {}, {
|
|
35
|
-
'& p': {
|
|
36
|
-
whiteSpace: 'break-spaces',
|
|
37
|
-
margin: 0
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// strip HTML tags for plain text rendering
|
|
43
|
-
var stripHtmlTags = function stripHtmlTags(text) {
|
|
44
|
-
if (!text) {
|
|
45
|
-
return text;
|
|
46
|
-
}
|
|
47
|
-
return text.replace(/<[^>]+>/g, '');
|
|
48
|
-
};
|
|
49
|
-
var TokenSelect = exports.TokenSelect = /*#__PURE__*/function (_React$Component) {
|
|
50
|
-
function TokenSelect() {
|
|
51
|
-
var _this;
|
|
52
|
-
(0, _classCallCheck2["default"])(this, TokenSelect);
|
|
53
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
54
|
-
args[_key] = arguments[_key];
|
|
55
|
-
}
|
|
56
|
-
_this = _callSuper(this, TokenSelect, [].concat(args));
|
|
57
|
-
(0, _defineProperty2["default"])(_this, "selectedCount", function () {
|
|
58
|
-
return _this.props.tokens.filter(function (t) {
|
|
59
|
-
return t.selected;
|
|
60
|
-
}).length;
|
|
61
|
-
});
|
|
62
|
-
(0, _defineProperty2["default"])(_this, "canSelectMore", function (selectedCount) {
|
|
63
|
-
var maxNoOfSelections = _this.props.maxNoOfSelections;
|
|
64
|
-
if (maxNoOfSelections === 1) return true;
|
|
65
|
-
log('[canSelectMore] maxNoOfSelections: ', maxNoOfSelections, 'selectedCount: ', selectedCount);
|
|
66
|
-
return maxNoOfSelections <= 0 || isFinite(maxNoOfSelections) && selectedCount < maxNoOfSelections;
|
|
67
|
-
});
|
|
68
|
-
(0, _defineProperty2["default"])(_this, "toggleToken", function (event) {
|
|
69
|
-
var _target$closest, _targetSpanWrapper$da;
|
|
70
|
-
var target = event.target;
|
|
71
|
-
var _this$props = _this.props,
|
|
72
|
-
tokens = _this$props.tokens,
|
|
73
|
-
animationsDisabled = _this$props.animationsDisabled;
|
|
74
|
-
var tokensCloned = (0, _clone["default"])(tokens);
|
|
75
|
-
var targetSpanWrapper = (_target$closest = target.closest) === null || _target$closest === void 0 ? void 0 : _target$closest.call(target, ".".concat(_token["default"].rootClassName));
|
|
76
|
-
var targetedTokenIndex = targetSpanWrapper === null || targetSpanWrapper === void 0 || (_targetSpanWrapper$da = targetSpanWrapper.dataset) === null || _targetSpanWrapper$da === void 0 ? void 0 : _targetSpanWrapper$da.indexkey;
|
|
77
|
-
var t = targetedTokenIndex !== undefined ? tokensCloned[targetedTokenIndex] : undefined;
|
|
78
|
-
|
|
79
|
-
// don't toggle if in print mode, correctness is defined, or is missing
|
|
80
|
-
if (t && t.correct === undefined && !animationsDisabled && !t.isMissing) {
|
|
81
|
-
var _this$props2 = _this.props,
|
|
82
|
-
onChange = _this$props2.onChange,
|
|
83
|
-
maxNoOfSelections = _this$props2.maxNoOfSelections;
|
|
84
|
-
var selected = !t.selected;
|
|
85
|
-
if (maxNoOfSelections === 1 && _this.selectedCount() === 1) {
|
|
86
|
-
var selectedToken = (tokens || []).filter(function (tk) {
|
|
87
|
-
return tk.selected;
|
|
88
|
-
});
|
|
89
|
-
var updatedTokens = tokensCloned.map(function (token) {
|
|
90
|
-
if ((0, _isEqual["default"])(token, selectedToken[0])) {
|
|
91
|
-
return _objectSpread(_objectSpread({}, token), {}, {
|
|
92
|
-
selected: false
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
return _objectSpread(_objectSpread({}, token), {}, {
|
|
96
|
-
selectable: true
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
var update = _objectSpread(_objectSpread({}, t), {}, {
|
|
100
|
-
selected: selected
|
|
101
|
-
});
|
|
102
|
-
updatedTokens.splice(targetedTokenIndex, 1, update);
|
|
103
|
-
onChange(updatedTokens);
|
|
104
|
-
} else {
|
|
105
|
-
if (selected && maxNoOfSelections > 0 && _this.selectedCount() >= maxNoOfSelections) {
|
|
106
|
-
log('skip toggle max reached');
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
var _update = _objectSpread(_objectSpread({}, t), {}, {
|
|
110
|
-
selected: selected
|
|
111
|
-
});
|
|
112
|
-
tokensCloned.splice(targetedTokenIndex, 1, _update);
|
|
113
|
-
onChange(tokensCloned);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
/** Build a React tree instead of an HTML string so Emotion can inject CSS */
|
|
118
|
-
(0, _defineProperty2["default"])(_this, "generateTokensNodes", function () {
|
|
119
|
-
var _this$props3 = _this.props,
|
|
120
|
-
tokens = _this$props3.tokens,
|
|
121
|
-
disabled = _this$props3.disabled,
|
|
122
|
-
highlightChoices = _this$props3.highlightChoices,
|
|
123
|
-
animationsDisabled = _this$props3.animationsDisabled;
|
|
124
|
-
var selectedCount = _this.selectedCount();
|
|
125
|
-
var isLineBreak = function isLineBreak(text) {
|
|
126
|
-
return text === '\n';
|
|
127
|
-
};
|
|
128
|
-
var isNewParagraph = function isNewParagraph(text) {
|
|
129
|
-
return text === '\n\n';
|
|
130
|
-
};
|
|
131
|
-
var paragraphs = [];
|
|
132
|
-
var currentChildren = [];
|
|
133
|
-
var flushParagraph = function flushParagraph() {
|
|
134
|
-
// Always push a <p>, even if empty, to mirror previous behavior
|
|
135
|
-
paragraphs.push(/*#__PURE__*/_react["default"].createElement("p", {
|
|
136
|
-
key: "p-".concat(paragraphs.length)
|
|
137
|
-
}, currentChildren));
|
|
138
|
-
currentChildren = [];
|
|
139
|
-
};
|
|
140
|
-
(tokens || []).forEach(function (t, index) {
|
|
141
|
-
var selectable = t.selected || t.selectable && _this.canSelectMore(selectedCount);
|
|
142
|
-
var showCorrectAnswer = t.correct !== undefined && (t.selectable || t.selected);
|
|
143
|
-
if (isNewParagraph(t.text)) {
|
|
144
|
-
flushParagraph();
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (isLineBreak(t.text)) {
|
|
148
|
-
currentChildren.push(/*#__PURE__*/_react["default"].createElement("br", {
|
|
149
|
-
key: "br-".concat(index)
|
|
150
|
-
}));
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (selectable && !disabled || showCorrectAnswer || t.selected || t.isMissing || animationsDisabled && t.predefined // print mode
|
|
154
|
-
) {
|
|
155
|
-
currentChildren.push(/*#__PURE__*/_react["default"].createElement(_token["default"], (0, _extends2["default"])({
|
|
156
|
-
key: index,
|
|
157
|
-
disabled: disabled,
|
|
158
|
-
index: index
|
|
159
|
-
}, t, {
|
|
160
|
-
text: stripHtmlTags(t.text),
|
|
161
|
-
selectable: selectable,
|
|
162
|
-
highlight: highlightChoices,
|
|
163
|
-
animationsDisabled: animationsDisabled
|
|
164
|
-
})));
|
|
165
|
-
} else {
|
|
166
|
-
// raw text node – React will escape as needed
|
|
167
|
-
currentChildren.push(/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
|
|
168
|
-
key: index
|
|
169
|
-
}, stripHtmlTags(t.text)));
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
// flush last paragraph
|
|
174
|
-
flushParagraph();
|
|
175
|
-
return paragraphs;
|
|
176
|
-
});
|
|
177
|
-
return _this;
|
|
178
|
-
}
|
|
179
|
-
(0, _inherits2["default"])(TokenSelect, _React$Component);
|
|
180
|
-
return (0, _createClass2["default"])(TokenSelect, [{
|
|
181
|
-
key: "render",
|
|
182
|
-
value: function render() {
|
|
183
|
-
var classNameProp = this.props.className;
|
|
184
|
-
var nodes = this.generateTokensNodes();
|
|
185
|
-
return /*#__PURE__*/_react["default"].createElement(StyledTokenSelect, {
|
|
186
|
-
className: classNameProp,
|
|
187
|
-
onClick: this.toggleToken
|
|
188
|
-
}, nodes);
|
|
189
|
-
}
|
|
190
|
-
}]);
|
|
191
|
-
}(_react["default"].Component);
|
|
192
|
-
(0, _defineProperty2["default"])(TokenSelect, "propTypes", {
|
|
193
|
-
tokens: _propTypes["default"].arrayOf(_propTypes["default"].shape(_token.TokenTypes)).isRequired,
|
|
194
|
-
className: _propTypes["default"].string,
|
|
195
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
196
|
-
disabled: _propTypes["default"].bool,
|
|
197
|
-
highlightChoices: _propTypes["default"].bool,
|
|
198
|
-
animationsDisabled: _propTypes["default"].bool,
|
|
199
|
-
maxNoOfSelections: _propTypes["default"].number
|
|
200
|
-
});
|
|
201
|
-
(0, _defineProperty2["default"])(TokenSelect, "defaultProps", {
|
|
202
|
-
highlightChoices: false,
|
|
203
|
-
maxNoOfSelections: 0,
|
|
204
|
-
tokens: []
|
|
205
|
-
});
|
|
206
|
-
var _default = exports["default"] = TokenSelect;
|
|
207
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfdG9rZW4iLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9zdHlsZXMiLCJfY2xvbmUiLCJfZGVidWciLCJfc3R5bGVVdGlscyIsIl9pc0VxdWFsIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwibG9nIiwiZGVidWciLCJTdHlsZWRUb2tlblNlbGVjdCIsInN0eWxlZCIsImJhY2tncm91bmRDb2xvciIsIndoaXRlU3BhY2UiLCJub1NlbGVjdCIsIm1hcmdpbiIsInN0cmlwSHRtbFRhZ3MiLCJ0ZXh0IiwicmVwbGFjZSIsIlRva2VuU2VsZWN0IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsInByb3BzIiwidG9rZW5zIiwic2VsZWN0ZWQiLCJzZWxlY3RlZENvdW50IiwibWF4Tm9PZlNlbGVjdGlvbnMiLCJpc0Zpbml0ZSIsImV2ZW50IiwiX3RhcmdldCRjbG9zZXN0IiwiX3RhcmdldFNwYW5XcmFwcGVyJGRhIiwidGFyZ2V0IiwiX3RoaXMkcHJvcHMiLCJhbmltYXRpb25zRGlzYWJsZWQiLCJ0b2tlbnNDbG9uZWQiLCJjbG9uZSIsInRhcmdldFNwYW5XcmFwcGVyIiwiY2xvc2VzdCIsIlRva2VuIiwicm9vdENsYXNzTmFtZSIsInRhcmdldGVkVG9rZW5JbmRleCIsImRhdGFzZXQiLCJpbmRleGtleSIsInVuZGVmaW5lZCIsImNvcnJlY3QiLCJpc01pc3NpbmciLCJfdGhpcyRwcm9wczIiLCJvbkNoYW5nZSIsInNlbGVjdGVkVG9rZW4iLCJ0ayIsInVwZGF0ZWRUb2tlbnMiLCJtYXAiLCJ0b2tlbiIsImlzRXF1YWwiLCJzZWxlY3RhYmxlIiwidXBkYXRlIiwic3BsaWNlIiwiX3RoaXMkcHJvcHMzIiwiZGlzYWJsZWQiLCJoaWdobGlnaHRDaG9pY2VzIiwiaXNMaW5lQnJlYWsiLCJpc05ld1BhcmFncmFwaCIsInBhcmFncmFwaHMiLCJjdXJyZW50Q2hpbGRyZW4iLCJmbHVzaFBhcmFncmFwaCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJpbmRleCIsImNhblNlbGVjdE1vcmUiLCJzaG93Q29ycmVjdEFuc3dlciIsInByZWRlZmluZWQiLCJfZXh0ZW5kczIiLCJoaWdobGlnaHQiLCJGcmFnbWVudCIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJyZW5kZXIiLCJjbGFzc05hbWVQcm9wIiwiY2xhc3NOYW1lIiwibm9kZXMiLCJnZW5lcmF0ZVRva2Vuc05vZGVzIiwib25DbGljayIsInRvZ2dsZVRva2VuIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwic2hhcGUiLCJUb2tlblR5cGVzIiwiaXNSZXF1aXJlZCIsInN0cmluZyIsImZ1bmMiLCJib29sIiwibnVtYmVyIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4tc2VsZWN0L2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBUb2tlbiwgeyBUb2tlblR5cGVzIH0gZnJvbSAnLi90b2tlbic7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgY2xvbmUgZnJvbSAnbG9kYXNoL2Nsb25lJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBub1NlbGVjdCB9IGZyb20gJ0BwaWUtbGliL3N0eWxlLXV0aWxzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOnRleHQtc2VsZWN0OnRva2VuLXNlbGVjdCcpO1xuXG5jb25zdCBTdHlsZWRUb2tlblNlbGVjdCA9IHN0eWxlZCgnZGl2JykoKCkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiAnbm9uZScsXG4gIHdoaXRlU3BhY2U6ICdwcmUnLFxuICAuLi5ub1NlbGVjdCgpLFxuICAnJiBwJzoge1xuICAgIHdoaXRlU3BhY2U6ICdicmVhay1zcGFjZXMnLFxuICAgIG1hcmdpbjogMCxcbiAgfSxcbn0pKTtcblxuLy8gc3RyaXAgSFRNTCB0YWdzIGZvciBwbGFpbiB0ZXh0IHJlbmRlcmluZ1xuY29uc3Qgc3RyaXBIdG1sVGFncyA9ICh0ZXh0KSA9PiB7XG4gIGlmICghdGV4dCkge1xuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgcmV0dXJuIHRleHQucmVwbGFjZSgvPFtePl0rPi9nLCAnJyk7XG59O1xuXG5leHBvcnQgY2xhc3MgVG9rZW5TZWxlY3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHRva2VuczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKFRva2VuVHlwZXMpKS5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGlnaGxpZ2h0Q2hvaWNlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgYW5pbWF0aW9uc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBtYXhOb09mU2VsZWN0aW9uczogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGhpZ2hsaWdodENob2ljZXM6IGZhbHNlLFxuICAgIG1heE5vT2ZTZWxlY3Rpb25zOiAwLFxuICAgIHRva2VuczogW10sXG4gIH07XG5cbiAgc2VsZWN0ZWRDb3VudCA9ICgpID0+IHRoaXMucHJvcHMudG9rZW5zLmZpbHRlcigodCkgPT4gdC5zZWxlY3RlZCkubGVuZ3RoO1xuXG4gIGNhblNlbGVjdE1vcmUgPSAoc2VsZWN0ZWRDb3VudCkgPT4ge1xuICAgIGNvbnN0IHsgbWF4Tm9PZlNlbGVjdGlvbnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAobWF4Tm9PZlNlbGVjdGlvbnMgPT09IDEpIHJldHVybiB0cnVlO1xuXG4gICAgbG9nKCdbY2FuU2VsZWN0TW9yZV0gbWF4Tm9PZlNlbGVjdGlvbnM6ICcsIG1heE5vT2ZTZWxlY3Rpb25zLCAnc2VsZWN0ZWRDb3VudDogJywgc2VsZWN0ZWRDb3VudCk7XG4gICAgcmV0dXJuIG1heE5vT2ZTZWxlY3Rpb25zIDw9IDAgfHwgKGlzRmluaXRlKG1heE5vT2ZTZWxlY3Rpb25zKSAmJiBzZWxlY3RlZENvdW50IDwgbWF4Tm9PZlNlbGVjdGlvbnMpO1xuICB9O1xuXG4gIHRvZ2dsZVRva2VuID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyB0YXJnZXQgfSA9IGV2ZW50O1xuICAgIGNvbnN0IHsgdG9rZW5zLCBhbmltYXRpb25zRGlzYWJsZWQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgdG9rZW5zQ2xvbmVkID0gY2xvbmUodG9rZW5zKTtcblxuICAgIGNvbnN0IHRhcmdldFNwYW5XcmFwcGVyID0gdGFyZ2V0LmNsb3Nlc3Q/LihgLiR7VG9rZW4ucm9vdENsYXNzTmFtZX1gKTtcbiAgICBjb25zdCB0YXJnZXRlZFRva2VuSW5kZXggPSB0YXJnZXRTcGFuV3JhcHBlcj8uZGF0YXNldD8uaW5kZXhrZXk7XG4gICAgY29uc3QgdCA9IHRhcmdldGVkVG9rZW5JbmRleCAhPT0gdW5kZWZpbmVkID8gdG9rZW5zQ2xvbmVkW3RhcmdldGVkVG9rZW5JbmRleF0gOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBkb24ndCB0b2dnbGUgaWYgaW4gcHJpbnQgbW9kZSwgY29ycmVjdG5lc3MgaXMgZGVmaW5lZCwgb3IgaXMgbWlzc2luZ1xuICAgIGlmICh0ICYmIHQuY29ycmVjdCA9PT0gdW5kZWZpbmVkICYmICFhbmltYXRpb25zRGlzYWJsZWQgJiYgIXQuaXNNaXNzaW5nKSB7XG4gICAgICBjb25zdCB7IG9uQ2hhbmdlLCBtYXhOb09mU2VsZWN0aW9ucyB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gIXQuc2VsZWN0ZWQ7XG5cbiAgICAgIGlmIChtYXhOb09mU2VsZWN0aW9ucyA9PT0gMSAmJiB0aGlzLnNlbGVjdGVkQ291bnQoKSA9PT0gMSkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFRva2VuID0gKHRva2VucyB8fCBbXSkuZmlsdGVyKCh0aykgPT4gdGsuc2VsZWN0ZWQpO1xuICAgICAgICBjb25zdCB1cGRhdGVkVG9rZW5zID0gdG9rZW5zQ2xvbmVkLm1hcCgodG9rZW4pID0+IHtcbiAgICAgICAgICBpZiAoaXNFcXVhbCh0b2tlbiwgc2VsZWN0ZWRUb2tlblswXSkpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnRva2VuLCBzZWxlY3RlZDogZmFsc2UgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHsgLi4udG9rZW4sIHNlbGVjdGFibGU6IHRydWUgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyAuLi50LCBzZWxlY3RlZCB9O1xuICAgICAgICB1cGRhdGVkVG9rZW5zLnNwbGljZSh0YXJnZXRlZFRva2VuSW5kZXgsIDEsIHVwZGF0ZSk7XG4gICAgICAgIG9uQ2hhbmdlKHVwZGF0ZWRUb2tlbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNlbGVjdGVkICYmIG1heE5vT2ZTZWxlY3Rpb25zID4gMCAmJiB0aGlzLnNlbGVjdGVkQ291bnQoKSA+PSBtYXhOb09mU2VsZWN0aW9ucykge1xuICAgICAgICAgIGxvZygnc2tpcCB0b2dnbGUgbWF4IHJlYWNoZWQnKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyAuLi50LCBzZWxlY3RlZCB9O1xuICAgICAgICB0b2tlbnNDbG9uZWQuc3BsaWNlKHRhcmdldGVkVG9rZW5JbmRleCwgMSwgdXBkYXRlKTtcbiAgICAgICAgb25DaGFuZ2UodG9rZW5zQ2xvbmVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqIEJ1aWxkIGEgUmVhY3QgdHJlZSBpbnN0ZWFkIG9mIGFuIEhUTUwgc3RyaW5nIHNvIEVtb3Rpb24gY2FuIGluamVjdCBDU1MgKi9cbiAgZ2VuZXJhdGVUb2tlbnNOb2RlcyA9ICgpID0+IHtcbiAgICBjb25zdCB7IHRva2VucywgZGlzYWJsZWQsIGhpZ2hsaWdodENob2ljZXMsIGFuaW1hdGlvbnNEaXNhYmxlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBzZWxlY3RlZENvdW50ID0gdGhpcy5zZWxlY3RlZENvdW50KCk7XG5cbiAgICBjb25zdCBpc0xpbmVCcmVhayA9ICh0ZXh0KSA9PiB0ZXh0ID09PSAnXFxuJztcbiAgICBjb25zdCBpc05ld1BhcmFncmFwaCA9ICh0ZXh0KSA9PiB0ZXh0ID09PSAnXFxuXFxuJztcblxuICAgIGNvbnN0IHBhcmFncmFwaHMgPSBbXTtcbiAgICBsZXQgY3VycmVudENoaWxkcmVuID0gW107XG5cbiAgICBjb25zdCBmbHVzaFBhcmFncmFwaCA9ICgpID0+IHtcbiAgICAgIC8vIEFsd2F5cyBwdXNoIGEgPHA+LCBldmVuIGlmIGVtcHR5LCB0byBtaXJyb3IgcHJldmlvdXMgYmVoYXZpb3JcbiAgICAgIHBhcmFncmFwaHMucHVzaCg8cCBrZXk9e2BwLSR7cGFyYWdyYXBocy5sZW5ndGh9YH0+e2N1cnJlbnRDaGlsZHJlbn08L3A+KTtcbiAgICAgIGN1cnJlbnRDaGlsZHJlbiA9IFtdO1xuICAgIH07XG5cbiAgICAodG9rZW5zIHx8IFtdKS5mb3JFYWNoKCh0LCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0YWJsZSA9IHQuc2VsZWN0ZWQgfHwgKHQuc2VsZWN0YWJsZSAmJiB0aGlzLmNhblNlbGVjdE1vcmUoc2VsZWN0ZWRDb3VudCkpO1xuICAgICAgY29uc3Qgc2hvd0NvcnJlY3RBbnN3ZXIgPSB0LmNvcnJlY3QgIT09IHVuZGVmaW5lZCAmJiAodC5zZWxlY3RhYmxlIHx8IHQuc2VsZWN0ZWQpO1xuXG4gICAgICBpZiAoaXNOZXdQYXJhZ3JhcGgodC50ZXh0KSkge1xuICAgICAgICBmbHVzaFBhcmFncmFwaCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0xpbmVCcmVhayh0LnRleHQpKSB7XG4gICAgICAgIGN1cnJlbnRDaGlsZHJlbi5wdXNoKDxiciBrZXk9e2Bici0ke2luZGV4fWB9IC8+KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIChzZWxlY3RhYmxlICYmICFkaXNhYmxlZCkgfHxcbiAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXIgfHxcbiAgICAgICAgdC5zZWxlY3RlZCB8fFxuICAgICAgICB0LmlzTWlzc2luZyB8fFxuICAgICAgICAoYW5pbWF0aW9uc0Rpc2FibGVkICYmIHQucHJlZGVmaW5lZCkgLy8gcHJpbnQgbW9kZVxuICAgICAgKSB7XG4gICAgICAgIGN1cnJlbnRDaGlsZHJlbi5wdXNoKFxuICAgICAgICAgIDxUb2tlblxuICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIHsuLi50fVxuICAgICAgICAgICAgdGV4dD17c3RyaXBIdG1sVGFncyh0LnRleHQpfVxuICAgICAgICAgICAgc2VsZWN0YWJsZT17c2VsZWN0YWJsZX1cbiAgICAgICAgICAgIGhpZ2hsaWdodD17aGlnaGxpZ2h0Q2hvaWNlc31cbiAgICAgICAgICAgIGFuaW1hdGlvbnNEaXNhYmxlZD17YW5pbWF0aW9uc0Rpc2FibGVkfVxuICAgICAgICAgIC8+LFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcmF3IHRleHQgbm9kZSDigJMgUmVhY3Qgd2lsbCBlc2NhcGUgYXMgbmVlZGVkXG4gICAgICAgIGN1cnJlbnRDaGlsZHJlbi5wdXNoKDxSZWFjdC5GcmFnbWVudCBrZXk9e2luZGV4fT57c3RyaXBIdG1sVGFncyh0LnRleHQpfTwvUmVhY3QuRnJhZ21lbnQ+KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGZsdXNoIGxhc3QgcGFyYWdyYXBoXG4gICAgZmx1c2hQYXJhZ3JhcGgoKTtcblxuICAgIHJldHVybiBwYXJhZ3JhcGhzO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lUHJvcCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBub2RlcyA9IHRoaXMuZ2VuZXJhdGVUb2tlbnNOb2RlcygpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRUb2tlblNlbGVjdCBjbGFzc05hbWU9e2NsYXNzTmFtZVByb3B9IG9uQ2xpY2s9e3RoaXMudG9nZ2xlVG9rZW59PlxuICAgICAgICB7bm9kZXN9XG4gICAgICA8L1N0eWxlZFRva2VuU2VsZWN0PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9rZW5TZWxlY3Q7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFFBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUFxQyxTQUFBRyx3QkFBQU0sQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVIsdUJBQUEsWUFBQUEsd0JBQUFNLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUFBLFNBQUFtQixXQUFBbkIsQ0FBQSxFQUFBSyxDQUFBLEVBQUFOLENBQUEsV0FBQU0sQ0FBQSxPQUFBZSxnQkFBQSxhQUFBZixDQUFBLE9BQUFnQiwyQkFBQSxhQUFBckIsQ0FBQSxFQUFBc0IseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFuQixDQUFBLEVBQUFOLENBQUEsWUFBQXFCLGdCQUFBLGFBQUFwQixDQUFBLEVBQUF5QixXQUFBLElBQUFwQixDQUFBLENBQUFxQixLQUFBLENBQUExQixDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXRCLENBQUEsSUFBQTJCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFkLElBQUEsQ0FBQVEsT0FBQSxDQUFBQyxTQUFBLENBQUFHLE9BQUEsaUNBQUEzQixDQUFBLGFBQUFzQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBdEIsQ0FBQTtBQUFBLFNBQUE4QixRQUFBL0IsQ0FBQSxFQUFBRyxDQUFBLFFBQUFGLENBQUEsR0FBQWdCLE1BQUEsQ0FBQWUsSUFBQSxDQUFBaEMsQ0FBQSxPQUFBaUIsTUFBQSxDQUFBZ0IscUJBQUEsUUFBQTNCLENBQUEsR0FBQVcsTUFBQSxDQUFBZ0IscUJBQUEsQ0FBQWpDLENBQUEsR0FBQUcsQ0FBQSxLQUFBRyxDQUFBLEdBQUFBLENBQUEsQ0FBQTRCLE1BQUEsV0FBQS9CLENBQUEsV0FBQWMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBRyxDQUFBLEVBQUFnQyxVQUFBLE9BQUFsQyxDQUFBLENBQUFtQyxJQUFBLENBQUFULEtBQUEsQ0FBQTFCLENBQUEsRUFBQUssQ0FBQSxZQUFBTCxDQUFBO0FBQUEsU0FBQW9DLGNBQUFyQyxDQUFBLGFBQUFHLENBQUEsTUFBQUEsQ0FBQSxHQUFBbUMsU0FBQSxDQUFBQyxNQUFBLEVBQUFwQyxDQUFBLFVBQUFGLENBQUEsV0FBQXFDLFNBQUEsQ0FBQW5DLENBQUEsSUFBQW1DLFNBQUEsQ0FBQW5DLENBQUEsUUFBQUEsQ0FBQSxPQUFBNEIsT0FBQSxDQUFBZCxNQUFBLENBQUFoQixDQUFBLE9BQUF1QyxPQUFBLFdBQUFyQyxDQUFBLFFBQUFzQyxnQkFBQSxhQUFBekMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFGLENBQUEsQ0FBQUUsQ0FBQSxTQUFBYyxNQUFBLENBQUF5Qix5QkFBQSxHQUFBekIsTUFBQSxDQUFBMEIsZ0JBQUEsQ0FBQTNDLENBQUEsRUFBQWlCLE1BQUEsQ0FBQXlCLHlCQUFBLENBQUF6QyxDQUFBLEtBQUE4QixPQUFBLENBQUFkLE1BQUEsQ0FBQWhCLENBQUEsR0FBQXVDLE9BQUEsV0FBQXJDLENBQUEsSUFBQWMsTUFBQSxDQUFBQyxjQUFBLENBQUFsQixDQUFBLEVBQUFHLENBQUEsRUFBQWMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbEIsQ0FBQSxFQUFBRSxDQUFBLGlCQUFBSCxDQUFBO0FBRXJDLElBQU00QyxHQUFHLEdBQUcsSUFBQUMsaUJBQUssRUFBQyxtQ0FBbUMsQ0FBQztBQUV0RCxJQUFNQyxpQkFBaUIsR0FBRyxJQUFBQyxjQUFNLEVBQUMsS0FBSyxDQUFDLENBQUM7RUFBQSxPQUFBVixhQUFBLENBQUFBLGFBQUE7SUFDdENXLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCQyxVQUFVLEVBQUU7RUFBSyxHQUNkLElBQUFDLG9CQUFRLEVBQUMsQ0FBQztJQUNiLEtBQUssRUFBRTtNQUNMRCxVQUFVLEVBQUUsY0FBYztNQUMxQkUsTUFBTSxFQUFFO0lBQ1Y7RUFBQztBQUFBLENBQ0QsQ0FBQzs7QUFFSDtBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUMsSUFBSSxFQUFLO0VBQzlCLElBQUksQ0FBQ0EsSUFBSSxFQUFFO0lBQ1QsT0FBT0EsSUFBSTtFQUNiO0VBRUEsT0FBT0EsSUFBSSxDQUFDQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBQUMsSUFFV0MsV0FBVyxHQUFBQyxPQUFBLENBQUFELFdBQUEsMEJBQUFFLGdCQUFBO0VBQUEsU0FBQUYsWUFBQTtJQUFBLElBQUFHLEtBQUE7SUFBQSxJQUFBQyxnQkFBQSxtQkFBQUosV0FBQTtJQUFBLFNBQUFLLElBQUEsR0FBQXRCLFNBQUEsQ0FBQUMsTUFBQSxFQUFBc0IsSUFBQSxPQUFBQyxLQUFBLENBQUFGLElBQUEsR0FBQUcsSUFBQSxNQUFBQSxJQUFBLEdBQUFILElBQUEsRUFBQUcsSUFBQTtNQUFBRixJQUFBLENBQUFFLElBQUEsSUFBQXpCLFNBQUEsQ0FBQXlCLElBQUE7SUFBQTtJQUFBTCxLQUFBLEdBQUF0QyxVQUFBLE9BQUFtQyxXQUFBLEtBQUFTLE1BQUEsQ0FBQUgsSUFBQTtJQUFBLElBQUFwQixnQkFBQSxhQUFBaUIsS0FBQSxtQkFpQk47TUFBQSxPQUFNQSxLQUFBLENBQUtPLEtBQUssQ0FBQ0MsTUFBTSxDQUFDaEMsTUFBTSxDQUFDLFVBQUNqQyxDQUFDO1FBQUEsT0FBS0EsQ0FBQyxDQUFDa0UsUUFBUTtNQUFBLEVBQUMsQ0FBQzVCLE1BQU07SUFBQTtJQUFBLElBQUFFLGdCQUFBLGFBQUFpQixLQUFBLG1CQUV4RCxVQUFDVSxhQUFhLEVBQUs7TUFDakMsSUFBUUMsaUJBQWlCLEdBQUtYLEtBQUEsQ0FBS08sS0FBSyxDQUFoQ0ksaUJBQWlCO01BRXpCLElBQUlBLGlCQUFpQixLQUFLLENBQUMsRUFBRSxPQUFPLElBQUk7TUFFeEN6QixHQUFHLENBQUMscUNBQXFDLEVBQUV5QixpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRUQsYUFBYSxDQUFDO01BQy9GLE9BQU9DLGlCQUFpQixJQUFJLENBQUMsSUFBS0MsUUFBUSxDQUFDRCxpQkFBaUIsQ0FBQyxJQUFJRCxhQUFhLEdBQUdDLGlCQUFrQjtJQUNyRyxDQUFDO0lBQUEsSUFBQTVCLGdCQUFBLGFBQUFpQixLQUFBLGlCQUVhLFVBQUNhLEtBQUssRUFBSztNQUFBLElBQUFDLGVBQUEsRUFBQUMscUJBQUE7TUFDdkIsSUFBUUMsTUFBTSxHQUFLSCxLQUFLLENBQWhCRyxNQUFNO01BQ2QsSUFBQUMsV0FBQSxHQUF1Q2pCLEtBQUEsQ0FBS08sS0FBSztRQUF6Q0MsTUFBTSxHQUFBUyxXQUFBLENBQU5ULE1BQU07UUFBRVUsa0JBQWtCLEdBQUFELFdBQUEsQ0FBbEJDLGtCQUFrQjtNQUNsQyxJQUFNQyxZQUFZLEdBQUcsSUFBQUMsaUJBQUssRUFBQ1osTUFBTSxDQUFDO01BRWxDLElBQU1hLGlCQUFpQixJQUFBUCxlQUFBLEdBQUdFLE1BQU0sQ0FBQ00sT0FBTyxjQUFBUixlQUFBLHVCQUFkQSxlQUFBLENBQUF4RCxJQUFBLENBQUEwRCxNQUFNLE1BQUFWLE1BQUEsQ0FBZWlCLGlCQUFLLENBQUNDLGFBQWEsQ0FBRSxDQUFDO01BQ3JFLElBQU1DLGtCQUFrQixHQUFHSixpQkFBaUIsYUFBakJBLGlCQUFpQixnQkFBQU4scUJBQUEsR0FBakJNLGlCQUFpQixDQUFFSyxPQUFPLGNBQUFYLHFCQUFBLHVCQUExQkEscUJBQUEsQ0FBNEJZLFFBQVE7TUFDL0QsSUFBTXBGLENBQUMsR0FBR2tGLGtCQUFrQixLQUFLRyxTQUFTLEdBQUdULFlBQVksQ0FBQ00sa0JBQWtCLENBQUMsR0FBR0csU0FBUzs7TUFFekY7TUFDQSxJQUFJckYsQ0FBQyxJQUFJQSxDQUFDLENBQUNzRixPQUFPLEtBQUtELFNBQVMsSUFBSSxDQUFDVixrQkFBa0IsSUFBSSxDQUFDM0UsQ0FBQyxDQUFDdUYsU0FBUyxFQUFFO1FBQ3ZFLElBQUFDLFlBQUEsR0FBd0MvQixLQUFBLENBQUtPLEtBQUs7VUFBMUN5QixRQUFRLEdBQUFELFlBQUEsQ0FBUkMsUUFBUTtVQUFFckIsaUJBQWlCLEdBQUFvQixZQUFBLENBQWpCcEIsaUJBQWlCO1FBQ25DLElBQU1GLFFBQVEsR0FBRyxDQUFDbEUsQ0FBQyxDQUFDa0UsUUFBUTtRQUU1QixJQUFJRSxpQkFBaUIsS0FBSyxDQUFDLElBQUlYLEtBQUEsQ0FBS1UsYUFBYSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7VUFDekQsSUFBTXVCLGFBQWEsR0FBRyxDQUFDekIsTUFBTSxJQUFJLEVBQUUsRUFBRWhDLE1BQU0sQ0FBQyxVQUFDMEQsRUFBRTtZQUFBLE9BQUtBLEVBQUUsQ0FBQ3pCLFFBQVE7VUFBQSxFQUFDO1VBQ2hFLElBQU0wQixhQUFhLEdBQUdoQixZQUFZLENBQUNpQixHQUFHLENBQUMsVUFBQ0MsS0FBSyxFQUFLO1lBQ2hELElBQUksSUFBQUMsbUJBQU8sRUFBQ0QsS0FBSyxFQUFFSixhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtjQUNwQyxPQUFBdEQsYUFBQSxDQUFBQSxhQUFBLEtBQVkwRCxLQUFLO2dCQUFFNUIsUUFBUSxFQUFFO2NBQUs7WUFDcEM7WUFDQSxPQUFBOUIsYUFBQSxDQUFBQSxhQUFBLEtBQVkwRCxLQUFLO2NBQUVFLFVBQVUsRUFBRTtZQUFJO1VBQ3JDLENBQUMsQ0FBQztVQUVGLElBQU1DLE1BQU0sR0FBQTdELGFBQUEsQ0FBQUEsYUFBQSxLQUFRcEMsQ0FBQztZQUFFa0UsUUFBUSxFQUFSQTtVQUFRLEVBQUU7VUFDakMwQixhQUFhLENBQUNNLE1BQU0sQ0FBQ2hCLGtCQUFrQixFQUFFLENBQUMsRUFBRWUsTUFBTSxDQUFDO1VBQ25EUixRQUFRLENBQUNHLGFBQWEsQ0FBQztRQUN6QixDQUFDLE1BQU07VUFDTCxJQUFJMUIsUUFBUSxJQUFJRSxpQkFBaUIsR0FBRyxDQUFDLElBQUlYLEtBQUEsQ0FBS1UsYUFBYSxDQUFDLENBQUMsSUFBSUMsaUJBQWlCLEVBQUU7WUFDbEZ6QixHQUFHLENBQUMseUJBQXlCLENBQUM7WUFDOUI7VUFDRjtVQUNBLElBQU1zRCxPQUFNLEdBQUE3RCxhQUFBLENBQUFBLGFBQUEsS0FBUXBDLENBQUM7WUFBRWtFLFFBQVEsRUFBUkE7VUFBUSxFQUFFO1VBQ2pDVSxZQUFZLENBQUNzQixNQUFNLENBQUNoQixrQkFBa0IsRUFBRSxDQUFDLEVBQUVlLE9BQU0sQ0FBQztVQUNsRFIsUUFBUSxDQUFDYixZQUFZLENBQUM7UUFDeEI7TUFDRjtJQUNGLENBQUM7SUFFRDtJQUFBLElBQUFwQyxnQkFBQSxhQUFBaUIsS0FBQSx5QkFDc0IsWUFBTTtNQUMxQixJQUFBMEMsWUFBQSxHQUFtRTFDLEtBQUEsQ0FBS08sS0FBSztRQUFyRUMsTUFBTSxHQUFBa0MsWUFBQSxDQUFObEMsTUFBTTtRQUFFbUMsUUFBUSxHQUFBRCxZQUFBLENBQVJDLFFBQVE7UUFBRUMsZ0JBQWdCLEdBQUFGLFlBQUEsQ0FBaEJFLGdCQUFnQjtRQUFFMUIsa0JBQWtCLEdBQUF3QixZQUFBLENBQWxCeEIsa0JBQWtCO01BQzlELElBQU1SLGFBQWEsR0FBR1YsS0FBQSxDQUFLVSxhQUFhLENBQUMsQ0FBQztNQUUxQyxJQUFNbUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlsRCxJQUFJO1FBQUEsT0FBS0EsSUFBSSxLQUFLLElBQUk7TUFBQTtNQUMzQyxJQUFNbUQsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJbkQsSUFBSTtRQUFBLE9BQUtBLElBQUksS0FBSyxNQUFNO01BQUE7TUFFaEQsSUFBTW9ELFVBQVUsR0FBRyxFQUFFO01BQ3JCLElBQUlDLGVBQWUsR0FBRyxFQUFFO01BRXhCLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBY0EsQ0FBQSxFQUFTO1FBQzNCO1FBQ0FGLFVBQVUsQ0FBQ3JFLElBQUksY0FBQy9DLE1BQUEsWUFBQXVILGFBQUE7VUFBR0MsR0FBRyxPQUFBN0MsTUFBQSxDQUFPeUMsVUFBVSxDQUFDbEUsTUFBTTtRQUFHLEdBQUVtRSxlQUFtQixDQUFDLENBQUM7UUFDeEVBLGVBQWUsR0FBRyxFQUFFO01BQ3RCLENBQUM7TUFFRCxDQUFDeEMsTUFBTSxJQUFJLEVBQUUsRUFBRTFCLE9BQU8sQ0FBQyxVQUFDdkMsQ0FBQyxFQUFFNkcsS0FBSyxFQUFLO1FBQ25DLElBQU1iLFVBQVUsR0FBR2hHLENBQUMsQ0FBQ2tFLFFBQVEsSUFBS2xFLENBQUMsQ0FBQ2dHLFVBQVUsSUFBSXZDLEtBQUEsQ0FBS3FELGFBQWEsQ0FBQzNDLGFBQWEsQ0FBRTtRQUNwRixJQUFNNEMsaUJBQWlCLEdBQUcvRyxDQUFDLENBQUNzRixPQUFPLEtBQUtELFNBQVMsS0FBS3JGLENBQUMsQ0FBQ2dHLFVBQVUsSUFBSWhHLENBQUMsQ0FBQ2tFLFFBQVEsQ0FBQztRQUVqRixJQUFJcUMsY0FBYyxDQUFDdkcsQ0FBQyxDQUFDb0QsSUFBSSxDQUFDLEVBQUU7VUFDMUJzRCxjQUFjLENBQUMsQ0FBQztVQUNoQjtRQUNGO1FBRUEsSUFBSUosV0FBVyxDQUFDdEcsQ0FBQyxDQUFDb0QsSUFBSSxDQUFDLEVBQUU7VUFDdkJxRCxlQUFlLENBQUN0RSxJQUFJLGNBQUMvQyxNQUFBLFlBQUF1SCxhQUFBO1lBQUlDLEdBQUcsUUFBQTdDLE1BQUEsQ0FBUThDLEtBQUs7VUFBRyxDQUFFLENBQUMsQ0FBQztVQUNoRDtRQUNGO1FBRUEsSUFDR2IsVUFBVSxJQUFJLENBQUNJLFFBQVEsSUFDeEJXLGlCQUFpQixJQUNqQi9HLENBQUMsQ0FBQ2tFLFFBQVEsSUFDVmxFLENBQUMsQ0FBQ3VGLFNBQVMsSUFDVlosa0JBQWtCLElBQUkzRSxDQUFDLENBQUNnSCxVQUFXLENBQUM7UUFBQSxFQUNyQztVQUNBUCxlQUFlLENBQUN0RSxJQUFJLGNBQ2xCL0MsTUFBQSxZQUFBdUgsYUFBQSxDQUFDbkgsTUFBQSxXQUFLLE1BQUF5SCxTQUFBO1lBQ0pMLEdBQUcsRUFBRUMsS0FBTTtZQUNYVCxRQUFRLEVBQUVBLFFBQVM7WUFDbkJTLEtBQUssRUFBRUE7VUFBTSxHQUNUN0csQ0FBQztZQUNMb0QsSUFBSSxFQUFFRCxhQUFhLENBQUNuRCxDQUFDLENBQUNvRCxJQUFJLENBQUU7WUFDNUI0QyxVQUFVLEVBQUVBLFVBQVc7WUFDdkJrQixTQUFTLEVBQUViLGdCQUFpQjtZQUM1QjFCLGtCQUFrQixFQUFFQTtVQUFtQixFQUN4QyxDQUNILENBQUM7UUFDSCxDQUFDLE1BQU07VUFDTDtVQUNBOEIsZUFBZSxDQUFDdEUsSUFBSSxjQUFDL0MsTUFBQSxZQUFBdUgsYUFBQSxDQUFDdkgsTUFBQSxXQUFLLENBQUMrSCxRQUFRO1lBQUNQLEdBQUcsRUFBRUM7VUFBTSxHQUFFMUQsYUFBYSxDQUFDbkQsQ0FBQyxDQUFDb0QsSUFBSSxDQUFrQixDQUFDLENBQUM7UUFDNUY7TUFDRixDQUFDLENBQUM7O01BRUY7TUFDQXNELGNBQWMsQ0FBQyxDQUFDO01BRWhCLE9BQU9GLFVBQVU7SUFDbkIsQ0FBQztJQUFBLE9BQUEvQyxLQUFBO0VBQUE7RUFBQSxJQUFBMkQsVUFBQSxhQUFBOUQsV0FBQSxFQUFBRSxnQkFBQTtFQUFBLFdBQUE2RCxhQUFBLGFBQUEvRCxXQUFBO0lBQUFzRCxHQUFBO0lBQUFVLEtBQUEsRUFFRCxTQUFBQyxNQUFNQSxDQUFBLEVBQUc7TUFDUCxJQUFtQkMsYUFBYSxHQUFLLElBQUksQ0FBQ3hELEtBQUssQ0FBdkN5RCxTQUFTO01BQ2pCLElBQU1DLEtBQUssR0FBRyxJQUFJLENBQUNDLG1CQUFtQixDQUFDLENBQUM7TUFFeEMsb0JBQ0V2SSxNQUFBLFlBQUF1SCxhQUFBLENBQUM5RCxpQkFBaUI7UUFBQzRFLFNBQVMsRUFBRUQsYUFBYztRQUFDSSxPQUFPLEVBQUUsSUFBSSxDQUFDQztNQUFZLEdBQ3BFSCxLQUNnQixDQUFDO0lBRXhCO0VBQUM7QUFBQSxFQXpJOEJJLGlCQUFLLENBQUNDLFNBQVM7QUFBQSxJQUFBdkYsZ0JBQUEsYUFBbkNjLFdBQVcsZUFDSDtFQUNqQlcsTUFBTSxFQUFFK0QscUJBQVMsQ0FBQ0MsT0FBTyxDQUFDRCxxQkFBUyxDQUFDRSxLQUFLLENBQUNDLGlCQUFVLENBQUMsQ0FBQyxDQUFDQyxVQUFVO0VBQ2pFWCxTQUFTLEVBQUVPLHFCQUFTLENBQUNLLE1BQU07RUFDM0I1QyxRQUFRLEVBQUV1QyxxQkFBUyxDQUFDTSxJQUFJLENBQUNGLFVBQVU7RUFDbkNoQyxRQUFRLEVBQUU0QixxQkFBUyxDQUFDTyxJQUFJO0VBQ3hCbEMsZ0JBQWdCLEVBQUUyQixxQkFBUyxDQUFDTyxJQUFJO0VBQ2hDNUQsa0JBQWtCLEVBQUVxRCxxQkFBUyxDQUFDTyxJQUFJO0VBQ2xDbkUsaUJBQWlCLEVBQUU0RCxxQkFBUyxDQUFDUTtBQUMvQixDQUFDO0FBQUEsSUFBQWhHLGdCQUFBLGFBVFVjLFdBQVcsa0JBV0E7RUFDcEIrQyxnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCakMsaUJBQWlCLEVBQUUsQ0FBQztFQUNwQkgsTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUFBLElBQUF3RSxRQUFBLEdBQUFsRixPQUFBLGNBNkhZRCxXQUFXIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_token","_interopRequireWildcard","_styles","_clone","_debug","_styleUtils","_isEqual","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledTokenSelect","styled","backgroundColor","whiteSpace","noSelect","margin","stripHtmlTags","text","replace","TokenSelect","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","props","tokens","selected","selectedCount","maxNoOfSelections","isFinite","event","_target$closest","_targetSpanWrapper$da","target","_this$props","animationsDisabled","tokensCloned","clone","targetSpanWrapper","closest","Token","rootClassName","targetedTokenIndex","dataset","indexkey","undefined","correct","isMissing","_this$props2","onChange","selectedToken","tk","updatedTokens","map","token","isEqual","selectable","update","splice","_this$props3","disabled","highlightChoices","isLineBreak","isNewParagraph","paragraphs","currentChildren","flushParagraph","createElement","key","index","canSelectMore","showCorrectAnswer","predefined","_extends2","highlight","Fragment","_inherits2","_createClass2","value","render","classNameProp","className","nodes","generateTokensNodes","onClick","toggleToken","React","Component","PropTypes","arrayOf","shape","TokenTypes","isRequired","string","func","bool","number","_default"],"sources":["../../src/token-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Token, { TokenTypes } from './token';\nimport { styled } from '@mui/material/styles';\nimport clone from 'lodash/clone';\nimport debug from 'debug';\nimport { noSelect } from '@pie-lib/style-utils';\nimport isEqual from 'lodash/isEqual';\n\nconst log = debug('@pie-lib:text-select:token-select');\n\nconst StyledTokenSelect = styled('div')(() => ({\n backgroundColor: 'none',\n whiteSpace: 'pre',\n ...noSelect(),\n '& p': {\n whiteSpace: 'break-spaces',\n margin: 0,\n },\n}));\n\n// strip HTML tags for plain text rendering\nconst stripHtmlTags = (text) => {\n if (!text) {\n return text;\n }\n\n return text.replace(/<[^>]+>/g, '');\n};\n\nexport class TokenSelect extends React.Component {\n static propTypes = {\n tokens: PropTypes.arrayOf(PropTypes.shape(TokenTypes)).isRequired,\n className: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n highlightChoices: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n maxNoOfSelections: PropTypes.number,\n };\n\n static defaultProps = {\n highlightChoices: false,\n maxNoOfSelections: 0,\n tokens: [],\n };\n\n selectedCount = () => this.props.tokens.filter((t) => t.selected).length;\n\n canSelectMore = (selectedCount) => {\n const { maxNoOfSelections } = this.props;\n\n if (maxNoOfSelections === 1) return true;\n\n log('[canSelectMore] maxNoOfSelections: ', maxNoOfSelections, 'selectedCount: ', selectedCount);\n return maxNoOfSelections <= 0 || (isFinite(maxNoOfSelections) && selectedCount < maxNoOfSelections);\n };\n\n toggleToken = (event) => {\n const { target } = event;\n const { tokens, animationsDisabled } = this.props;\n const tokensCloned = clone(tokens);\n\n const targetSpanWrapper = target.closest?.(`.${Token.rootClassName}`);\n const targetedTokenIndex = targetSpanWrapper?.dataset?.indexkey;\n const t = targetedTokenIndex !== undefined ? tokensCloned[targetedTokenIndex] : undefined;\n\n // don't toggle if in print mode, correctness is defined, or is missing\n if (t && t.correct === undefined && !animationsDisabled && !t.isMissing) {\n const { onChange, maxNoOfSelections } = this.props;\n const selected = !t.selected;\n\n if (maxNoOfSelections === 1 && this.selectedCount() === 1) {\n const selectedToken = (tokens || []).filter((tk) => tk.selected);\n const updatedTokens = tokensCloned.map((token) => {\n if (isEqual(token, selectedToken[0])) {\n return { ...token, selected: false };\n }\n return { ...token, selectable: true };\n });\n\n const update = { ...t, selected };\n updatedTokens.splice(targetedTokenIndex, 1, update);\n onChange(updatedTokens);\n } else {\n if (selected && maxNoOfSelections > 0 && this.selectedCount() >= maxNoOfSelections) {\n log('skip toggle max reached');\n return;\n }\n const update = { ...t, selected };\n tokensCloned.splice(targetedTokenIndex, 1, update);\n onChange(tokensCloned);\n }\n }\n };\n\n /** Build a React tree instead of an HTML string so Emotion can inject CSS */\n generateTokensNodes = () => {\n const { tokens, disabled, highlightChoices, animationsDisabled } = this.props;\n const selectedCount = this.selectedCount();\n\n const isLineBreak = (text) => text === '\\n';\n const isNewParagraph = (text) => text === '\\n\\n';\n\n const paragraphs = [];\n let currentChildren = [];\n\n const flushParagraph = () => {\n // Always push a <p>, even if empty, to mirror previous behavior\n paragraphs.push(<p key={`p-${paragraphs.length}`}>{currentChildren}</p>);\n currentChildren = [];\n };\n\n (tokens || []).forEach((t, index) => {\n const selectable = t.selected || (t.selectable && this.canSelectMore(selectedCount));\n const showCorrectAnswer = t.correct !== undefined && (t.selectable || t.selected);\n\n if (isNewParagraph(t.text)) {\n flushParagraph();\n return;\n }\n\n if (isLineBreak(t.text)) {\n currentChildren.push(<br key={`br-${index}`} />);\n return;\n }\n\n if (\n (selectable && !disabled) ||\n showCorrectAnswer ||\n t.selected ||\n t.isMissing ||\n (animationsDisabled && t.predefined) // print mode\n ) {\n currentChildren.push(\n <Token\n key={index}\n disabled={disabled}\n index={index}\n {...t}\n text={stripHtmlTags(t.text)}\n selectable={selectable}\n highlight={highlightChoices}\n animationsDisabled={animationsDisabled}\n />,\n );\n } else {\n // raw text node – React will escape as needed\n currentChildren.push(<React.Fragment key={index}>{stripHtmlTags(t.text)}</React.Fragment>);\n }\n });\n\n // flush last paragraph\n flushParagraph();\n\n return paragraphs;\n };\n\n render() {\n const { className: classNameProp } = this.props;\n const nodes = this.generateTokensNodes();\n\n return (\n <StyledTokenSelect className={classNameProp} onClick={this.toggleToken}>\n {nodes}\n </StyledTokenSelect>\n );\n }\n}\n\nexport default TokenSelect;\n"],"mappings":"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","ignoreList":[]}
|