@pie-lib/mask-markup 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 +46 -0
- package/package.json +6 -10
- package/src/serialization.js +143 -53
- package/lib/__tests__/drag-in-the-blank.test.js +0 -129
- package/lib/__tests__/index.test.js +0 -42
- package/lib/__tests__/mask.test.js +0 -163
- package/lib/__tests__/serialization.test.js +0 -44
- package/lib/__tests__/utils.js +0 -14
- package/lib/__tests__/with-mask.test.js +0 -110
- package/lib/choices/__tests__/index.test.js +0 -101
- package/lib/choices/choice.js +0 -116
- package/lib/choices/choice.js.map +0 -1
- package/lib/choices/index.js +0 -103
- package/lib/choices/index.js.map +0 -1
- package/lib/componentize.js +0 -21
- package/lib/componentize.js.map +0 -1
- package/lib/components/__tests__/blank.test.js +0 -189
- package/lib/components/__tests__/correct-input.test.js +0 -132
- package/lib/components/__tests__/dropdown.test.js +0 -134
- package/lib/components/__tests__/input.test.js +0 -129
- package/lib/components/blank.js +0 -357
- package/lib/components/blank.js.map +0 -1
- package/lib/components/correct-input.js +0 -94
- package/lib/components/correct-input.js.map +0 -1
- package/lib/components/dropdown.js +0 -459
- package/lib/components/dropdown.js.map +0 -1
- package/lib/components/input.js +0 -50
- package/lib/components/input.js.map +0 -1
- package/lib/constructed-response.js +0 -102
- package/lib/constructed-response.js.map +0 -1
- package/lib/customizable.js +0 -44
- package/lib/customizable.js.map +0 -1
- package/lib/drag-in-the-blank.js +0 -252
- package/lib/drag-in-the-blank.js.map +0 -1
- package/lib/index.js +0 -55
- package/lib/index.js.map +0 -1
- package/lib/inline-dropdown.js +0 -40
- package/lib/inline-dropdown.js.map +0 -1
- package/lib/mask.js +0 -196
- package/lib/mask.js.map +0 -1
- package/lib/serialization.js +0 -167
- package/lib/serialization.js.map +0 -1
- package/lib/with-mask.js +0 -97
- package/lib/with-mask.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,52 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.1.0-next.2...@pie-lib/mask-markup@2.1.0-next.4) (2026-01-27)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-lib/mask-markup
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [2.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@2.1.0-next.1...@pie-lib/mask-markup@2.1.0-next.2) (2026-01-26)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* removed slate-html-serializer from markup, and fixed extracss rules functionality ([1ac30a3](https://github.com/pie-framework/pie-lib/commit/1ac30a362202b9c063920642382cce8234b9de85))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [2.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.33.2...@pie-lib/mask-markup@2.1.0-next.1) (2026-01-26)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* fix math rendering issues after React, mui and drag upgrade for drag-in-the-blank ([6dc3c95](https://github.com/pie-framework/pie-lib/commit/6dc3c95c041be02015a9005133fe750e1ff78842))
|
|
31
|
+
* remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
|
|
32
|
+
* remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
|
|
33
|
+
* remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
|
|
34
|
+
* simplify math render logic ([de11ebe](https://github.com/pie-framework/pie-lib/commit/de11ebe7f2faeb9dce6215673a90b79e86cbc590))
|
|
35
|
+
* updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
|
|
36
|
+
* use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
|
|
37
|
+
* **config-ui, mask-markup:** replace deprecated props, externd AlerDialog with new props ([6e7a163](https://github.com/pie-framework/pie-lib/commit/6e7a16314944745154801010aa4973a03aa15dcc))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Features
|
|
41
|
+
|
|
42
|
+
* bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
|
|
43
|
+
* drag changes for ditb ([fc79ecd](https://github.com/pie-framework/pie-lib/commit/fc79ecdacb5693f1b5dcf19c7114f9cd4bed83ba))
|
|
44
|
+
* drag library update in mask-markup and demo packages ([c8a5c17](https://github.com/pie-framework/pie-lib/commit/c8a5c17b0cb16d0c9debb876b4fdba13fbdf5404))
|
|
45
|
+
* sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
|
|
46
|
+
* updates for drag-in-the-blank ([0c096d8](https://github.com/pie-framework/pie-lib/commit/0c096d887f97edecd2dac68cda136b2d265dc7d5))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
6
52
|
# [2.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.33.3-next.0...@pie-lib/mask-markup@2.0.0-next.0) (2026-01-19)
|
|
7
53
|
|
|
8
54
|
**Note:** Version bump only for package @pie-lib/mask-markup
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/mask-markup",
|
|
3
|
-
"version": "2.1.0-next.
|
|
3
|
+
"version": "2.1.0-next.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -12,24 +12,20 @@
|
|
|
12
12
|
"@emotion/style": "^0.8.0",
|
|
13
13
|
"@mui/icons-material": "^7.3.4",
|
|
14
14
|
"@mui/material": "^7.3.4",
|
|
15
|
-
"@pie-lib/drag": "3.1.0-next.
|
|
16
|
-
"@pie-lib/editable-html-tip-tap": "1.1.0-next.
|
|
17
|
-
"@pie-lib/math-rendering": "4.1.0-next.
|
|
18
|
-
"@pie-lib/render-ui": "5.1.0-next.
|
|
15
|
+
"@pie-lib/drag": "3.1.0-next.4",
|
|
16
|
+
"@pie-lib/editable-html-tip-tap": "1.1.0-next.4",
|
|
17
|
+
"@pie-lib/math-rendering": "4.1.0-next.3",
|
|
18
|
+
"@pie-lib/render-ui": "5.1.0-next.4",
|
|
19
19
|
"classnames": "^2.2.6",
|
|
20
20
|
"debug": "^4.1.1",
|
|
21
21
|
"lodash": "^4.17.11",
|
|
22
22
|
"prop-types": "^15.7.2",
|
|
23
23
|
"react": "^18.2.0",
|
|
24
24
|
"react-dom": "^18.2.0",
|
|
25
|
-
"slate": "^0.36.2",
|
|
26
|
-
"slate-html-serializer": "^0.6.12",
|
|
27
|
-
"slate-prop-types": "^0.4.38",
|
|
28
|
-
"slate-react": "^0.14.3",
|
|
29
25
|
"to-style": "^1.3.3"
|
|
30
26
|
},
|
|
31
27
|
"keywords": [],
|
|
32
28
|
"author": "",
|
|
33
29
|
"license": "ISC",
|
|
34
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "8ea41592c5553487014f2694f91b657c4f62d131"
|
|
35
31
|
}
|
package/src/serialization.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import Html from 'slate-html-serializer';
|
|
2
1
|
import { object as toStyleObject } from 'to-style';
|
|
3
2
|
import debug from 'debug';
|
|
4
3
|
|
|
@@ -8,6 +7,7 @@ const INLINE = ['span'];
|
|
|
8
7
|
const MARK = ['em', 'strong', 'u'];
|
|
9
8
|
const TEXT_NODE = 3;
|
|
10
9
|
const COMMENT_NODE = 8;
|
|
10
|
+
const ELEMENT_NODE = 1;
|
|
11
11
|
|
|
12
12
|
const attr = (el) => {
|
|
13
13
|
if (!el.attributes || el.attributes.length <= 0) {
|
|
@@ -102,69 +102,159 @@ export const MARK_TAGS = {
|
|
|
102
102
|
strong: 'strong',
|
|
103
103
|
};
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Recursively process DOM nodes and convert them to Slate JSON format
|
|
107
|
+
*/
|
|
108
|
+
const processNode = (node, marks = []) => {
|
|
109
|
+
// Skip comment nodes
|
|
110
|
+
if (node.nodeType === COMMENT_NODE) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Handle text nodes
|
|
115
|
+
if (node.nodeType === TEXT_NODE) {
|
|
116
|
+
const text = node.textContent;
|
|
117
|
+
const leaf = { text };
|
|
118
|
+
|
|
119
|
+
if (marks.length > 0) {
|
|
120
|
+
leaf.marks = marks.map((m) => ({ type: m, data: undefined }));
|
|
121
|
+
}
|
|
122
|
+
|
|
110
123
|
return {
|
|
111
|
-
object: '
|
|
112
|
-
|
|
113
|
-
nodes: next(el.childNodes),
|
|
124
|
+
object: 'text',
|
|
125
|
+
leaves: [leaf],
|
|
114
126
|
};
|
|
115
|
-
}
|
|
116
|
-
};
|
|
127
|
+
}
|
|
117
128
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
129
|
+
// Handle element nodes
|
|
130
|
+
if (node.nodeType === ELEMENT_NODE) {
|
|
131
|
+
const type = node.tagName.toLowerCase();
|
|
132
|
+
|
|
133
|
+
// Check if this is a mark tag
|
|
134
|
+
const markType = MARK_TAGS[type];
|
|
135
|
+
if (markType) {
|
|
136
|
+
log('[deserialize] mark: ', markType);
|
|
137
|
+
// Process children with this mark added and return them flattened
|
|
138
|
+
const childNodes = processNodes(node.childNodes, [...marks, markType]);
|
|
139
|
+
// Return an array indicator with the nodes (will be flattened by parent)
|
|
140
|
+
return { _flatten: true, nodes: childNodes };
|
|
141
|
+
}
|
|
128
142
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
143
|
+
// Handle math elements specially
|
|
144
|
+
if (type === 'math') {
|
|
145
|
+
return {
|
|
146
|
+
isMath: true,
|
|
147
|
+
nodes: [node],
|
|
148
|
+
};
|
|
149
|
+
}
|
|
135
150
|
|
|
136
|
-
|
|
151
|
+
// Process regular elements
|
|
152
|
+
const normalAttrs = attr(node) || {};
|
|
137
153
|
|
|
138
|
-
|
|
154
|
+
if (type === 'audio' && normalAttrs.controls === '') {
|
|
155
|
+
normalAttrs.controls = true;
|
|
156
|
+
}
|
|
139
157
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
158
|
+
const allAttrs = attributes.reduce(attributesToMap(node), { ...normalAttrs });
|
|
159
|
+
const object = getObject(type);
|
|
143
160
|
|
|
144
|
-
|
|
145
|
-
const object = getObject(type);
|
|
161
|
+
const childNodes = processNodes(node.childNodes, marks);
|
|
146
162
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
return {
|
|
164
|
+
object,
|
|
165
|
+
type,
|
|
166
|
+
data: { dataset: { ...node.dataset }, attributes: { ...allAttrs } },
|
|
167
|
+
nodes: childNodes,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
153
170
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
171
|
+
return null;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Process a NodeList and convert to array of Slate nodes
|
|
176
|
+
*/
|
|
177
|
+
const processNodes = (nodeList, marks = []) => {
|
|
178
|
+
const nodes = [];
|
|
179
|
+
for (let i = 0; i < nodeList.length; i++) {
|
|
180
|
+
const result = processNode(nodeList[i], marks);
|
|
181
|
+
if (result !== null) {
|
|
182
|
+
// Handle flattening for mark nodes
|
|
183
|
+
if (result._flatten && result.nodes) {
|
|
184
|
+
nodes.push(...result.nodes);
|
|
185
|
+
} else {
|
|
186
|
+
nodes.push(result);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return nodes;
|
|
191
|
+
};
|
|
163
192
|
|
|
164
193
|
/**
|
|
165
|
-
*
|
|
166
|
-
* Having a default div block will just put every div on it's own line, which is not ideal.
|
|
194
|
+
* Deserialize HTML string to Slate JSON format
|
|
167
195
|
*/
|
|
168
|
-
const
|
|
196
|
+
export const deserialize = (htmlString) => {
|
|
197
|
+
// Handle empty or whitespace-only strings
|
|
198
|
+
if (!htmlString || !htmlString.trim()) {
|
|
199
|
+
return {
|
|
200
|
+
object: 'value',
|
|
201
|
+
document: {
|
|
202
|
+
object: 'document',
|
|
203
|
+
data: {},
|
|
204
|
+
nodes: [
|
|
205
|
+
{
|
|
206
|
+
object: 'block',
|
|
207
|
+
type: 'span',
|
|
208
|
+
data: {},
|
|
209
|
+
isVoid: false,
|
|
210
|
+
nodes: [],
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Use DOMParser to parse the HTML
|
|
218
|
+
const parser = new DOMParser();
|
|
219
|
+
const doc = parser.parseFromString(htmlString, 'text/html');
|
|
220
|
+
|
|
221
|
+
// Process all nodes in the body
|
|
222
|
+
let nodes = processNodes(doc.body.childNodes);
|
|
223
|
+
|
|
224
|
+
// If we only have text nodes (no block elements), wrap in default span block
|
|
225
|
+
const hasBlockElements = nodes.some((node) => node.object === 'block' || node.object === 'inline');
|
|
226
|
+
|
|
227
|
+
if (!hasBlockElements && nodes.length > 0) {
|
|
228
|
+
nodes = [
|
|
229
|
+
{
|
|
230
|
+
object: 'block',
|
|
231
|
+
type: 'span',
|
|
232
|
+
data: {},
|
|
233
|
+
isVoid: false,
|
|
234
|
+
nodes: nodes,
|
|
235
|
+
},
|
|
236
|
+
];
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
// If no nodes were produced, add a default span block
|
|
240
|
+
if (nodes.length === 0) {
|
|
241
|
+
nodes = [
|
|
242
|
+
{
|
|
243
|
+
object: 'block',
|
|
244
|
+
type: 'span',
|
|
245
|
+
data: {},
|
|
246
|
+
isVoid: false,
|
|
247
|
+
nodes: [],
|
|
248
|
+
},
|
|
249
|
+
];
|
|
250
|
+
}
|
|
169
251
|
|
|
170
|
-
|
|
252
|
+
return {
|
|
253
|
+
object: 'value',
|
|
254
|
+
document: {
|
|
255
|
+
object: 'document',
|
|
256
|
+
data: {},
|
|
257
|
+
nodes,
|
|
258
|
+
},
|
|
259
|
+
};
|
|
260
|
+
};
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
6
|
-
var React = _interopRequireWildcard(require("react"));
|
|
7
|
-
var _react2 = require("@testing-library/react");
|
|
8
|
-
var _dragInTheBlank = _interopRequireDefault(require("../drag-in-the-blank"));
|
|
9
|
-
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); }
|
|
10
|
-
var markup = "<div>\n <img src=\"https://image.shutterstock.com/image-vector/cow-jumped-over-moon-traditional-260nw-1152899330.jpg\"></img>\n <h5>Hey Diddle Diddle <i>by ?</i></h5>\n <p>1: Hey, diddle, diddle,</p>\n <p>2: The cat and the fiddle,</p>\n <p>3: The cow {{0}} over the moon;</p>\n <p>4: The little dog {{1}},</p>\n <p>5: To see such sport,</p>\n <p>6: And the dish ran away with the {{2}}.</p>\n</div>";
|
|
11
|
-
var choice = function choice(v, id) {
|
|
12
|
-
return {
|
|
13
|
-
value: v,
|
|
14
|
-
id: id
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
// Mock DragProvider and DragDroppablePlaceholder to avoid DndContext requirement
|
|
19
|
-
jest.mock('@pie-lib/drag', function () {
|
|
20
|
-
return {
|
|
21
|
-
DragProvider: function DragProvider(_ref) {
|
|
22
|
-
var children = _ref.children,
|
|
23
|
-
onDragStart = _ref.onDragStart,
|
|
24
|
-
onDragEnd = _ref.onDragEnd;
|
|
25
|
-
// Simple wrapper that doesn't require DndContext
|
|
26
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
-
"data-testid": "drag-provider"
|
|
28
|
-
}, children);
|
|
29
|
-
},
|
|
30
|
-
DragDroppablePlaceholder: function DragDroppablePlaceholder(_ref2) {
|
|
31
|
-
var children = _ref2.children,
|
|
32
|
-
disabled = _ref2.disabled,
|
|
33
|
-
instanceId = _ref2.instanceId;
|
|
34
|
-
// Simple wrapper that doesn't require useDroppable
|
|
35
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
36
|
-
"data-testid": "drag-droppable-placeholder"
|
|
37
|
-
}, children);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// Mock @dnd-kit/core components and hooks used by DragInTheBlank and child components
|
|
43
|
-
jest.mock('@dnd-kit/core', function () {
|
|
44
|
-
return {
|
|
45
|
-
DragOverlay: function DragOverlay(_ref3) {
|
|
46
|
-
var children = _ref3.children;
|
|
47
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
-
"data-testid": "drag-overlay"
|
|
49
|
-
}, children);
|
|
50
|
-
},
|
|
51
|
-
closestCenter: jest.fn(),
|
|
52
|
-
useDraggable: jest.fn(function () {
|
|
53
|
-
return {
|
|
54
|
-
attributes: {},
|
|
55
|
-
listeners: {},
|
|
56
|
-
setNodeRef: jest.fn(),
|
|
57
|
-
transform: null,
|
|
58
|
-
isDragging: false
|
|
59
|
-
};
|
|
60
|
-
}),
|
|
61
|
-
useDroppable: jest.fn(function () {
|
|
62
|
-
return {
|
|
63
|
-
setNodeRef: jest.fn(),
|
|
64
|
-
isOver: false,
|
|
65
|
-
active: null
|
|
66
|
-
};
|
|
67
|
-
})
|
|
68
|
-
};
|
|
69
|
-
});
|
|
70
|
-
jest.mock('@dnd-kit/utilities', function () {
|
|
71
|
-
return {
|
|
72
|
-
CSS: {
|
|
73
|
-
Translate: {
|
|
74
|
-
toString: jest.fn(function () {
|
|
75
|
-
return 'translate3d(0, 0, 0)';
|
|
76
|
-
})
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
});
|
|
81
|
-
describe('DragInTheBlank', function () {
|
|
82
|
-
var defaultProps = {
|
|
83
|
-
disabled: false,
|
|
84
|
-
feedback: {},
|
|
85
|
-
markup: markup,
|
|
86
|
-
choices: [choice('Jumped', '0'), choice('Laughed', '1'), choice('Spoon', '2'), choice('Fork', '3'), choice('Bumped', '4'), choice('Smiled', '5')],
|
|
87
|
-
value: {
|
|
88
|
-
0: undefined
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
describe('render', function () {
|
|
92
|
-
it('renders correctly with default props', function () {
|
|
93
|
-
var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], defaultProps)),
|
|
94
|
-
container = _render.container;
|
|
95
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
96
|
-
// Check that markup content is rendered
|
|
97
|
-
expect(_react2.screen.getByText(/Hey Diddle Diddle/)).toBeInTheDocument();
|
|
98
|
-
expect(_react2.screen.getByText(/Hey, diddle, diddle,/)).toBeInTheDocument();
|
|
99
|
-
});
|
|
100
|
-
it('renders correctly with disabled prop as true', function () {
|
|
101
|
-
var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
102
|
-
disabled: true
|
|
103
|
-
}))),
|
|
104
|
-
container = _render2.container;
|
|
105
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
106
|
-
});
|
|
107
|
-
it('renders correctly with feedback', function () {
|
|
108
|
-
var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_dragInTheBlank["default"], (0, _extends2["default"])({}, defaultProps, {
|
|
109
|
-
feedback: {
|
|
110
|
-
0: {
|
|
111
|
-
value: 'Jumped',
|
|
112
|
-
correct: 'Jumped'
|
|
113
|
-
},
|
|
114
|
-
1: {
|
|
115
|
-
value: 'Laughed',
|
|
116
|
-
correct: 'Laughed'
|
|
117
|
-
},
|
|
118
|
-
2: {
|
|
119
|
-
value: 'Spoon',
|
|
120
|
-
correct: 'Spoon'
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}))),
|
|
124
|
-
container = _render3.container;
|
|
125
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfZHJhZ0luVGhlQmxhbmsiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJtYXJrdXAiLCJjaG9pY2UiLCJ2IiwiaWQiLCJ2YWx1ZSIsImplc3QiLCJtb2NrIiwiRHJhZ1Byb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwib25EcmFnU3RhcnQiLCJvbkRyYWdFbmQiLCJjcmVhdGVFbGVtZW50IiwiRHJhZ0Ryb3BwYWJsZVBsYWNlaG9sZGVyIiwiX3JlZjIiLCJkaXNhYmxlZCIsImluc3RhbmNlSWQiLCJEcmFnT3ZlcmxheSIsIl9yZWYzIiwiY2xvc2VzdENlbnRlciIsImZuIiwidXNlRHJhZ2dhYmxlIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJ0cmFuc2Zvcm0iLCJpc0RyYWdnaW5nIiwidXNlRHJvcHBhYmxlIiwiaXNPdmVyIiwiYWN0aXZlIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsImZlZWRiYWNrIiwiY2hvaWNlcyIsInVuZGVmaW5lZCIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInNjcmVlbiIsImdldEJ5VGV4dCIsIl9yZW5kZXIyIiwiX2V4dGVuZHMyIiwiX3JlbmRlcjMiLCJjb3JyZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9kcmFnLWluLXRoZS1ibGFuay50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgc2NyZWVuIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5pbXBvcnQgRHJhZ0luVGhlQmxhbmsgZnJvbSAnLi4vZHJhZy1pbi10aGUtYmxhbmsnO1xuXG5jb25zdCBtYXJrdXAgPSBgPGRpdj5cbiAgPGltZyBzcmM9XCJodHRwczovL2ltYWdlLnNodXR0ZXJzdG9jay5jb20vaW1hZ2UtdmVjdG9yL2Nvdy1qdW1wZWQtb3Zlci1tb29uLXRyYWRpdGlvbmFsLTI2MG53LTExNTI4OTkzMzAuanBnXCI+PC9pbWc+XG4gICA8aDU+SGV5IERpZGRsZSBEaWRkbGUgPGk+YnkgPzwvaT48L2g1PlxuIDxwPjE6IEhleSwgZGlkZGxlLCBkaWRkbGUsPC9wPlxuIDxwPjI6IFRoZSBjYXQgYW5kIHRoZSBmaWRkbGUsPC9wPlxuIDxwPjM6IFRoZSBjb3cge3swfX0gb3ZlciB0aGUgbW9vbjs8L3A+XG4gPHA+NDogVGhlIGxpdHRsZSBkb2cge3sxfX0sPC9wPlxuIDxwPjU6IFRvIHNlZSBzdWNoIHNwb3J0LDwvcD5cbiA8cD42OiBBbmQgdGhlIGRpc2ggcmFuIGF3YXkgd2l0aCB0aGUge3syfX0uPC9wPlxuPC9kaXY+YDtcbmNvbnN0IGNob2ljZSA9ICh2LCBpZCkgPT4gKHsgdmFsdWU6IHYsIGlkIH0pO1xuXG4vLyBNb2NrIERyYWdQcm92aWRlciBhbmQgRHJhZ0Ryb3BwYWJsZVBsYWNlaG9sZGVyIHRvIGF2b2lkIERuZENvbnRleHQgcmVxdWlyZW1lbnRcbmplc3QubW9jaygnQHBpZS1saWIvZHJhZycsICgpID0+ICh7XG4gIERyYWdQcm92aWRlcjogKHsgY2hpbGRyZW4sIG9uRHJhZ1N0YXJ0LCBvbkRyYWdFbmQgfSkgPT4ge1xuICAgIC8vIFNpbXBsZSB3cmFwcGVyIHRoYXQgZG9lc24ndCByZXF1aXJlIERuZENvbnRleHRcbiAgICByZXR1cm4gPGRpdiBkYXRhLXRlc3RpZD1cImRyYWctcHJvdmlkZXJcIj57Y2hpbGRyZW59PC9kaXY+O1xuICB9LFxuICBEcmFnRHJvcHBhYmxlUGxhY2Vob2xkZXI6ICh7IGNoaWxkcmVuLCBkaXNhYmxlZCwgaW5zdGFuY2VJZCB9KSA9PiB7XG4gICAgLy8gU2ltcGxlIHdyYXBwZXIgdGhhdCBkb2Vzbid0IHJlcXVpcmUgdXNlRHJvcHBhYmxlXG4gICAgcmV0dXJuIDxkaXYgZGF0YS10ZXN0aWQ9XCJkcmFnLWRyb3BwYWJsZS1wbGFjZWhvbGRlclwiPntjaGlsZHJlbn08L2Rpdj47XG4gIH0sXG59KSk7XG5cbi8vIE1vY2sgQGRuZC1raXQvY29yZSBjb21wb25lbnRzIGFuZCBob29rcyB1c2VkIGJ5IERyYWdJblRoZUJsYW5rIGFuZCBjaGlsZCBjb21wb25lbnRzXG5qZXN0Lm1vY2soJ0BkbmQta2l0L2NvcmUnLCAoKSA9PiAoe1xuICBEcmFnT3ZlcmxheTogKHsgY2hpbGRyZW4gfSkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImRyYWctb3ZlcmxheVwiPntjaGlsZHJlbn08L2Rpdj4sXG4gIGNsb3Nlc3RDZW50ZXI6IGplc3QuZm4oKSxcbiAgdXNlRHJhZ2dhYmxlOiBqZXN0LmZuKCgpID0+ICh7XG4gICAgYXR0cmlidXRlczoge30sXG4gICAgbGlzdGVuZXJzOiB7fSxcbiAgICBzZXROb2RlUmVmOiBqZXN0LmZuKCksXG4gICAgdHJhbnNmb3JtOiBudWxsLFxuICAgIGlzRHJhZ2dpbmc6IGZhbHNlLFxuICB9KSksXG4gIHVzZURyb3BwYWJsZTogamVzdC5mbigoKSA9PiAoe1xuICAgIHNldE5vZGVSZWY6IGplc3QuZm4oKSxcbiAgICBpc092ZXI6IGZhbHNlLFxuICAgIGFjdGl2ZTogbnVsbCxcbiAgfSkpLFxufSkpO1xuXG5qZXN0Lm1vY2soJ0BkbmQta2l0L3V0aWxpdGllcycsICgpID0+ICh7XG4gIENTUzoge1xuICAgIFRyYW5zbGF0ZToge1xuICAgICAgdG9TdHJpbmc6IGplc3QuZm4oKCkgPT4gJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyksXG4gICAgfSxcbiAgfSxcbn0pKTtcblxuZGVzY3JpYmUoJ0RyYWdJblRoZUJsYW5rJywgKCkgPT4ge1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGZlZWRiYWNrOiB7fSxcbiAgICBtYXJrdXAsXG4gICAgY2hvaWNlczogW1xuICAgICAgY2hvaWNlKCdKdW1wZWQnLCAnMCcpLFxuICAgICAgY2hvaWNlKCdMYXVnaGVkJywgJzEnKSxcbiAgICAgIGNob2ljZSgnU3Bvb24nLCAnMicpLFxuICAgICAgY2hvaWNlKCdGb3JrJywgJzMnKSxcbiAgICAgIGNob2ljZSgnQnVtcGVkJywgJzQnKSxcbiAgICAgIGNob2ljZSgnU21pbGVkJywgJzUnKSxcbiAgICBdLFxuXG4gICAgdmFsdWU6IHtcbiAgICAgIDA6IHVuZGVmaW5lZCxcbiAgICB9LFxuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZGVmYXVsdCBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPERyYWdJblRoZUJsYW5rIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIC8vIENoZWNrIHRoYXQgbWFya3VwIGNvbnRlbnQgaXMgcmVuZGVyZWRcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KC9IZXkgRGlkZGxlIERpZGRsZS8pKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoL0hleSwgZGlkZGxlLCBkaWRkbGUsLykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBjb3JyZWN0bHkgd2l0aCBkaXNhYmxlZCBwcm9wIGFzIHRydWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxEcmFnSW5UaGVCbGFuayB7Li4uZGVmYXVsdFByb3BzfSBkaXNhYmxlZD17dHJ1ZX0gLz4pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IHdpdGggZmVlZGJhY2snLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgICA8RHJhZ0luVGhlQmxhbmtcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGZlZWRiYWNrPXt7XG4gICAgICAgICAgICAwOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnSnVtcGVkJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogJ0p1bXBlZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMToge1xuICAgICAgICAgICAgICB2YWx1ZTogJ0xhdWdoZWQnLFxuICAgICAgICAgICAgICBjb3JyZWN0OiAnTGF1Z2hlZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJ1Nwb29uJyxcbiAgICAgICAgICAgICAgY29ycmVjdDogJ1Nwb29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQWtELFNBQUFELHdCQUFBSyxDQUFBLEVBQUFD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
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
var React = _interopRequireWildcard(require("react"));
|
|
6
|
-
var _componentize = _interopRequireDefault(require("../componentize"));
|
|
7
|
-
var _serialization = require("../serialization");
|
|
8
|
-
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); }
|
|
9
|
-
describe('index', function () {
|
|
10
|
-
describe('componentize', function () {
|
|
11
|
-
it('should return an array with the appropriate markup', function () {
|
|
12
|
-
var dropDownMarkup = (0, _componentize["default"])('{{0}} foo {{1}}', 'dropdown');
|
|
13
|
-
expect(dropDownMarkup).toEqual({
|
|
14
|
-
markup: '<span data-component="dropdown" data-id="0"></span> foo <span data-component="dropdown" data-id="1"></span>'
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('serialization', function () {
|
|
19
|
-
it('should have default node a span', function () {
|
|
20
|
-
expect((0, _serialization.deserialize)('something')).toEqual(expect.objectContaining({
|
|
21
|
-
object: 'value',
|
|
22
|
-
document: {
|
|
23
|
-
object: 'document',
|
|
24
|
-
data: {},
|
|
25
|
-
nodes: [{
|
|
26
|
-
object: 'block',
|
|
27
|
-
data: {},
|
|
28
|
-
isVoid: false,
|
|
29
|
-
type: 'span',
|
|
30
|
-
nodes: [{
|
|
31
|
-
object: 'text',
|
|
32
|
-
leaves: [{
|
|
33
|
-
text: 'something'
|
|
34
|
-
}]
|
|
35
|
-
}]
|
|
36
|
-
}]
|
|
37
|
-
}
|
|
38
|
-
}));
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb21wb25lbnRpemUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3NlcmlhbGl6YXRpb24iLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImRlc2NyaWJlIiwiaXQiLCJkcm9wRG93bk1hcmt1cCIsImNvbXBvbmVudGl6ZSIsImV4cGVjdCIsInRvRXF1YWwiLCJtYXJrdXAiLCJkZXNlcmlhbGl6ZSIsIm9iamVjdENvbnRhaW5pbmciLCJvYmplY3QiLCJkb2N1bWVudCIsImRhdGEiLCJub2RlcyIsImlzVm9pZCIsInR5cGUiLCJsZWF2ZXMiLCJ0ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjb21wb25lbnRpemUgZnJvbSAnLi4vY29tcG9uZW50aXplJztcbmltcG9ydCB7IGRlc2VyaWFsaXplIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbic7XG5cbmRlc2NyaWJlKCdpbmRleCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2NvbXBvbmVudGl6ZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcnJheSB3aXRoIHRoZSBhcHByb3ByaWF0ZSBtYXJrdXAnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkcm9wRG93bk1hcmt1cCA9IGNvbXBvbmVudGl6ZSgne3swfX0gZm9vIHt7MX19JywgJ2Ryb3Bkb3duJyk7XG5cbiAgICAgIGV4cGVjdChkcm9wRG93bk1hcmt1cCkudG9FcXVhbCh7XG4gICAgICAgIG1hcmt1cDpcbiAgICAgICAgICAnPHNwYW4gZGF0YS1jb21wb25lbnQ9XCJkcm9wZG93blwiIGRhdGEtaWQ9XCIwXCI+PC9zcGFuPiBmb28gPHNwYW4gZGF0YS1jb21wb25lbnQ9XCJkcm9wZG93blwiIGRhdGEtaWQ9XCIxXCI+PC9zcGFuPicsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NlcmlhbGl6YXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBoYXZlIGRlZmF1bHQgbm9kZSBhIHNwYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZGVzZXJpYWxpemUoJ3NvbWV0aGluZycpKS50b0VxdWFsKFxuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgICAgIGRvY3VtZW50OiB7XG4gICAgICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3BhbicsXG4gICAgICAgICAgICAgICAgbm9kZXM6IFt7IG9iamVjdDogJ3RleHQnLCBsZWF2ZXM6IFt7IHRleHQ6ICdzb21ldGhpbmcnIH1dIH1dLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFDLHNCQUFBLENBQUFG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
|