@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.
Files changed (44) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/package.json +6 -10
  3. package/src/serialization.js +143 -53
  4. package/lib/__tests__/drag-in-the-blank.test.js +0 -129
  5. package/lib/__tests__/index.test.js +0 -42
  6. package/lib/__tests__/mask.test.js +0 -163
  7. package/lib/__tests__/serialization.test.js +0 -44
  8. package/lib/__tests__/utils.js +0 -14
  9. package/lib/__tests__/with-mask.test.js +0 -110
  10. package/lib/choices/__tests__/index.test.js +0 -101
  11. package/lib/choices/choice.js +0 -116
  12. package/lib/choices/choice.js.map +0 -1
  13. package/lib/choices/index.js +0 -103
  14. package/lib/choices/index.js.map +0 -1
  15. package/lib/componentize.js +0 -21
  16. package/lib/componentize.js.map +0 -1
  17. package/lib/components/__tests__/blank.test.js +0 -189
  18. package/lib/components/__tests__/correct-input.test.js +0 -132
  19. package/lib/components/__tests__/dropdown.test.js +0 -134
  20. package/lib/components/__tests__/input.test.js +0 -129
  21. package/lib/components/blank.js +0 -357
  22. package/lib/components/blank.js.map +0 -1
  23. package/lib/components/correct-input.js +0 -94
  24. package/lib/components/correct-input.js.map +0 -1
  25. package/lib/components/dropdown.js +0 -459
  26. package/lib/components/dropdown.js.map +0 -1
  27. package/lib/components/input.js +0 -50
  28. package/lib/components/input.js.map +0 -1
  29. package/lib/constructed-response.js +0 -102
  30. package/lib/constructed-response.js.map +0 -1
  31. package/lib/customizable.js +0 -44
  32. package/lib/customizable.js.map +0 -1
  33. package/lib/drag-in-the-blank.js +0 -252
  34. package/lib/drag-in-the-blank.js.map +0 -1
  35. package/lib/index.js +0 -55
  36. package/lib/index.js.map +0 -1
  37. package/lib/inline-dropdown.js +0 -40
  38. package/lib/inline-dropdown.js.map +0 -1
  39. package/lib/mask.js +0 -196
  40. package/lib/mask.js.map +0 -1
  41. package/lib/serialization.js +0 -167
  42. package/lib/serialization.js.map +0 -1
  43. package/lib/with-mask.js +0 -97
  44. 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.0",
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.0",
16
- "@pie-lib/editable-html-tip-tap": "1.1.0-next.0",
17
- "@pie-lib/math-rendering": "4.1.0-next.0",
18
- "@pie-lib/render-ui": "5.1.0-next.0",
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": "221b2d82353de8a11a7a496f93422e54832e4fc1"
30
+ "gitHead": "8ea41592c5553487014f2694f91b657c4f62d131"
35
31
  }
@@ -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
- const marks = {
106
- deserialize(el, next) {
107
- const mark = MARK_TAGS[el.tagName.toLowerCase()];
108
- if (!mark) return;
109
- log('[deserialize] mark: ', mark);
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: 'mark',
112
- type: mark,
113
- nodes: next(el.childNodes),
124
+ object: 'text',
125
+ leaves: [leaf],
114
126
  };
115
- },
116
- };
127
+ }
117
128
 
118
- const rules = [
119
- marks,
120
- {
121
- /**
122
- * deserialize everything, we're not fussy about the dom structure for now.
123
- */
124
- deserialize: (el, next) => {
125
- if (el.nodeType === COMMENT_NODE) {
126
- return undefined;
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
- if (el.nodeType === TEXT_NODE) {
130
- return {
131
- object: 'text',
132
- leaves: [{ text: el.textContent }],
133
- };
134
- }
143
+ // Handle math elements specially
144
+ if (type === 'math') {
145
+ return {
146
+ isMath: true,
147
+ nodes: [node],
148
+ };
149
+ }
135
150
 
136
- const type = el.tagName.toLowerCase();
151
+ // Process regular elements
152
+ const normalAttrs = attr(node) || {};
137
153
 
138
- const normalAttrs = attr(el) || {};
154
+ if (type === 'audio' && normalAttrs.controls === '') {
155
+ normalAttrs.controls = true;
156
+ }
139
157
 
140
- if (type == 'audio' && normalAttrs.controls == '') {
141
- normalAttrs.controls = true;
142
- }
158
+ const allAttrs = attributes.reduce(attributesToMap(node), { ...normalAttrs });
159
+ const object = getObject(type);
143
160
 
144
- const allAttrs = attributes.reduce(attributesToMap(el), { ...normalAttrs });
145
- const object = getObject(type);
161
+ const childNodes = processNodes(node.childNodes, marks);
146
162
 
147
- if (el.tagName.toLowerCase() === 'math') {
148
- return {
149
- isMath: true,
150
- nodes: [el],
151
- };
152
- }
163
+ return {
164
+ object,
165
+ type,
166
+ data: { dataset: { ...node.dataset }, attributes: { ...allAttrs } },
167
+ nodes: childNodes,
168
+ };
169
+ }
153
170
 
154
- return {
155
- object,
156
- type,
157
- data: { dataset: { ...el.dataset }, attributes: { ...allAttrs } },
158
- nodes: next(el.childNodes),
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
- * Create a new serializer instance with our `rules` from above.
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 html = new Html({ rules, defaultBlock: 'span' });
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
- export const deserialize = (s) => html.deserialize(s, { toJSON: true });
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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