@pie-lib/mask-markup 1.33.3-next.2 → 1.33.4-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +6 -76
  2. package/lib/__tests__/drag-in-the-blank.test.js +129 -0
  3. package/lib/__tests__/index.test.js +42 -0
  4. package/lib/__tests__/mask.test.js +163 -0
  5. package/lib/__tests__/serialization.test.js +44 -0
  6. package/lib/__tests__/utils.js +14 -0
  7. package/lib/__tests__/with-mask.test.js +110 -0
  8. package/lib/choices/__tests__/index.test.js +101 -0
  9. package/lib/choices/choice.js +99 -204
  10. package/lib/choices/choice.js.map +1 -1
  11. package/lib/choices/index.js +22 -54
  12. package/lib/choices/index.js.map +1 -1
  13. package/lib/componentize.js +2 -6
  14. package/lib/componentize.js.map +1 -1
  15. package/lib/components/__tests__/blank.test.js +189 -0
  16. package/lib/components/__tests__/correct-input.test.js +132 -0
  17. package/lib/components/__tests__/dropdown.test.js +134 -0
  18. package/lib/components/__tests__/input.test.js +129 -0
  19. package/lib/components/blank.js +304 -362
  20. package/lib/components/blank.js.map +1 -1
  21. package/lib/components/correct-input.js +42 -66
  22. package/lib/components/correct-input.js.map +1 -1
  23. package/lib/components/dropdown.js +219 -258
  24. package/lib/components/dropdown.js.map +1 -1
  25. package/lib/components/input.js +11 -18
  26. package/lib/components/input.js.map +1 -1
  27. package/lib/constructed-response.js +39 -53
  28. package/lib/constructed-response.js.map +1 -1
  29. package/lib/customizable.js +6 -10
  30. package/lib/customizable.js.map +1 -1
  31. package/lib/drag-in-the-blank.js +141 -106
  32. package/lib/drag-in-the-blank.js.map +1 -1
  33. package/lib/index.js +1 -8
  34. package/lib/index.js.map +1 -1
  35. package/lib/inline-dropdown.js +5 -13
  36. package/lib/inline-dropdown.js.map +1 -1
  37. package/lib/mask.js +61 -119
  38. package/lib/mask.js.map +1 -1
  39. package/lib/serialization.js +9 -49
  40. package/lib/serialization.js.map +1 -1
  41. package/lib/with-mask.js +31 -59
  42. package/lib/with-mask.js.map +1 -1
  43. package/package.json +12 -20
  44. package/src/__tests__/drag-in-the-blank.test.js +66 -26
  45. package/src/__tests__/mask.test.js +147 -112
  46. package/src/__tests__/with-mask.test.js +44 -19
  47. package/src/choices/__tests__/index.test.js +38 -25
  48. package/src/choices/choice.jsx +86 -153
  49. package/src/choices/index.jsx +9 -3
  50. package/src/components/__tests__/blank.test.js +92 -156
  51. package/src/components/__tests__/correct-input.test.js +60 -19
  52. package/src/components/__tests__/dropdown.test.js +61 -19
  53. package/src/components/__tests__/input.test.js +72 -20
  54. package/src/components/blank.jsx +273 -272
  55. package/src/components/correct-input.jsx +33 -39
  56. package/src/components/dropdown.jsx +173 -161
  57. package/src/constructed-response.jsx +22 -18
  58. package/src/drag-in-the-blank.jsx +131 -42
  59. package/src/mask.jsx +38 -29
  60. package/src/with-mask.jsx +7 -4
  61. package/esm/index.css +0 -847
  62. package/esm/index.js +0 -195939
  63. package/esm/index.js.map +0 -1
  64. package/esm/package.json +0 -3
  65. package/src/__tests__/__snapshots__/drag-in-the-blank.test.js.snap +0 -316
  66. package/src/__tests__/__snapshots__/mask.test.js.snap +0 -55
  67. package/src/__tests__/__snapshots__/with-mask.test.js.snap +0 -62
  68. package/src/choices/__tests__/__snapshots__/index.test.js.snap +0 -209
  69. package/src/components/__tests__/__snapshots__/blank.test.js.snap +0 -111
  70. package/src/components/__tests__/__snapshots__/correct-input.test.js.snap +0 -64
  71. package/src/components/__tests__/__snapshots__/dropdown.test.js.snap +0 -136
  72. package/src/components/__tests__/__snapshots__/input.test.js.snap +0 -34
package/CHANGELOG.md CHANGED
@@ -7,153 +7,83 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
7
7
 
8
8
  **Note:** Version bump only for package @pie-lib/mask-markup
9
9
 
10
-
11
-
12
-
13
-
14
10
  ## [1.33.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.2...@pie-lib/mask-markup@1.33.1) (2025-10-22)
15
11
 
16
12
  **Note:** Version bump only for package @pie-lib/mask-markup
17
13
 
18
-
19
-
20
-
21
-
22
14
  # [1.33.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.32.0...@pie-lib/mask-markup@1.33.0) (2025-10-16)
23
15
 
24
16
  **Note:** Version bump only for package @pie-lib/mask-markup
25
17
 
26
-
27
-
28
-
29
-
30
18
  # [1.32.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.0...@pie-lib/mask-markup@1.32.0) (2025-10-16)
31
19
 
32
20
  **Note:** Version bump only for package @pie-lib/mask-markup
33
21
 
34
-
35
-
36
-
37
-
38
22
  # [1.31.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.0...@pie-lib/mask-markup@1.31.0) (2025-10-16)
39
23
 
40
24
  **Note:** Version bump only for package @pie-lib/mask-markup
41
25
 
42
-
43
-
44
-
45
-
46
26
  # [1.30.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.0...@pie-lib/mask-markup@1.30.0) (2025-10-16)
47
27
 
48
28
  **Note:** Version bump only for package @pie-lib/mask-markup
49
29
 
50
-
51
-
52
-
53
-
54
30
  ## [1.29.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.1...@pie-lib/mask-markup@1.29.2) (2025-10-14)
55
31
 
56
32
  **Note:** Version bump only for package @pie-lib/mask-markup
57
33
 
58
-
59
-
60
-
61
-
62
34
  ## [1.29.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.29.0...@pie-lib/mask-markup@1.29.1) (2025-10-09)
63
35
 
64
36
  **Note:** Version bump only for package @pie-lib/mask-markup
65
37
 
66
-
67
-
68
-
69
-
70
38
  # [1.29.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.13.46...@pie-lib/mask-markup@1.29.0) (2025-09-25)
71
39
 
72
-
73
40
  ### Bug Fixes
74
41
 
75
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
76
-
42
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
77
43
 
78
44
  ### Features
79
45
 
80
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
81
-
82
-
83
-
84
-
46
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
85
47
 
86
48
  # [1.28.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.27.0...@pie-lib/mask-markup@1.28.0) (2025-09-18)
87
49
 
88
50
  **Note:** Version bump only for package @pie-lib/mask-markup
89
51
 
90
-
91
-
92
-
93
-
94
52
  # [1.27.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.26.0...@pie-lib/mask-markup@1.27.0) (2025-09-18)
95
53
 
96
54
  **Note:** Version bump only for package @pie-lib/mask-markup
97
55
 
98
-
99
-
100
-
101
-
102
56
  # [1.26.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.13.46...@pie-lib/mask-markup@1.26.0) (2025-09-18)
103
57
 
104
-
105
58
  ### Bug Fixes
106
59
 
107
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
108
-
60
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
109
61
 
110
62
  ### Features
111
63
 
112
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
113
-
114
-
115
-
116
-
64
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
117
65
 
118
66
  # [1.25.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.24.0...@pie-lib/mask-markup@1.25.0) (2025-09-17)
119
67
 
120
68
  **Note:** Version bump only for package @pie-lib/mask-markup
121
69
 
122
-
123
-
124
-
125
-
126
70
  # [1.24.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.23.0...@pie-lib/mask-markup@1.24.0) (2025-09-17)
127
71
 
128
72
  **Note:** Version bump only for package @pie-lib/mask-markup
129
73
 
130
-
131
-
132
-
133
-
134
74
  # [1.23.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.22.1...@pie-lib/mask-markup@1.23.0) (2025-09-17)
135
75
 
136
76
  **Note:** Version bump only for package @pie-lib/mask-markup
137
77
 
138
-
139
-
140
-
141
-
142
78
  ## [1.22.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.13.46...@pie-lib/mask-markup@1.22.1) (2025-08-11)
143
79
 
144
-
145
80
  ### Bug Fixes
146
81
 
147
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
148
-
82
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
149
83
 
150
84
  ### Features
151
85
 
152
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
153
-
154
-
155
-
156
-
86
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
157
87
 
158
88
  # [1.22.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/mask-markup@1.13.46...@pie-lib/mask-markup@1.22.0) (2025-08-07)
159
89
 
@@ -0,0 +1,129 @@
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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
@@ -0,0 +1,42 @@
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+PC9zcGFuPicsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NlcmlhbGl6YXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBoYXZlIGRlZmF1bHQgbm9kZSBhIHNwYW4nLCAoKSA9PiB7XG4gICAgICBleHBlY3QoZGVzZXJpYWxpemUoJ3NvbWV0aGluZycpKS50b0VxdWFsKFxuICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgb2JqZWN0OiAndmFsdWUnLFxuICAgICAgICAgIGRvY3VtZW50OiB7XG4gICAgICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3BhbicsXG4gICAgICAgICAgICAgICAgbm9kZXM6IFt7IG9iamVjdDogJ3RleHQnLCBsZWF2ZXM6IFt7IHRleHQ6ICdzb21ldGhpbmcnIH1dIH1dLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFILE9BQUE7QUFBK0MsU0FBQUQsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFQLHVCQUFBLFlBQUFBLHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsbUJBQUFULENBQUEsaUJBQUFBLENBQUEsZ0JBQUFVLE9BQUEsQ0FBQVYsQ0FBQSwwQkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxjQUFBTSxFQUFBLElBQUFkLENBQUEsZ0JBQUFjLEVBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxJQUFBRCxDQUFBLEdBQUFXLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFuQixDQUFBLEVBQUFjLEVBQUEsT0FBQVAsQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQU0sRUFBQSxFQUFBUCxDQUFBLElBQUFDLENBQUEsQ0FBQU0sRUFBQSxJQUFBZCxDQUFBLENBQUFjLEVBQUEsV0FBQU4sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFFL0NtQixRQUFRLENBQUMsT0FBTyxFQUFFLFlBQU07RUFDdEJBLFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBTTtJQUM3QkMsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLFlBQU07TUFDN0QsSUFBTUMsY0FBYyxHQUFHLElBQUFDLHdCQUFZLEVBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO01BRWxFQyxNQUFNLENBQUNGLGNBQWMsQ0FBQyxDQUFDRyxPQUFPLENBQUM7UUFDN0JDLE1BQU0sRUFDSjtNQUNKLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGTixRQUFRLENBQUMsZUFBZSxFQUFFLFlBQU07SUFDOUJDLEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxZQUFNO01BQzFDRyxNQUFNLENBQUMsSUFBQUcsMEJBQVcsRUFBQyxXQUFXLENBQUMsQ0FBQyxDQUFDRixPQUFPLENBQ3RDRCxNQUFNLENBQUNJLGdCQUFnQixDQUFDO1FBQ3RCQyxNQUFNLEVBQUUsT0FBTztRQUNmQyxRQUFRLEVBQUU7VUFDUkQsTUFBTSxFQUFFLFVBQVU7VUFDbEJFLElBQUksRUFBRSxDQUFDLENBQUM7VUFDUkMsS0FBSyxFQUFFLENBQ0w7WUFDRUgsTUFBTSxFQUFFLE9BQU87WUFDZkUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNSRSxNQUFNLEVBQUUsS0FBSztZQUNiQyxJQUFJLEVBQUUsTUFBTTtZQUNaRixLQUFLLEVBQUUsQ0FBQztjQUFFSCxNQUFNLEVBQUUsTUFBTTtjQUFFTSxNQUFNLEVBQUUsQ0FBQztnQkFBRUMsSUFBSSxFQUFFO2NBQVksQ0FBQztZQUFFLENBQUM7VUFDN0QsQ0FBQztRQUVMO01BQ0YsQ0FBQyxDQUNILENBQUM7SUFDSCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _react2 = require("@testing-library/react");
9
+ var _mask = _interopRequireDefault(require("../mask"));
10
+ 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); }
11
+ 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; }
12
+ 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; }
13
+ describe('Mask', function () {
14
+ // Don't mock renderChildren - let the component render naturally
15
+ var onChange = jest.fn();
16
+ var defaultProps = {
17
+ onChange: onChange,
18
+ layout: {
19
+ nodes: [{
20
+ object: 'text',
21
+ leaves: [{
22
+ text: 'Foo'
23
+ }]
24
+ }]
25
+ },
26
+ value: {}
27
+ };
28
+ beforeEach(function () {
29
+ onChange.mockClear();
30
+ });
31
+ describe('rendering', function () {
32
+ it('renders with default props', function () {
33
+ var _render = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], defaultProps)),
34
+ container = _render.container;
35
+ expect(container.firstChild).toBeInTheDocument();
36
+ });
37
+ it('renders text content', function () {
38
+ (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], defaultProps));
39
+ expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
40
+ });
41
+ it('renders a paragraph element', function () {
42
+ var _render2 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
43
+ layout: {
44
+ nodes: [{
45
+ type: 'p',
46
+ nodes: [{
47
+ object: 'text',
48
+ leaves: [{
49
+ text: 'Foo'
50
+ }]
51
+ }]
52
+ }]
53
+ }
54
+ }))),
55
+ container = _render2.container;
56
+
57
+ // Paragraph is rendered as a styled div, not a <p> tag
58
+ expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
59
+ });
60
+ it('renders nested div and paragraph', function () {
61
+ var _render3 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
62
+ layout: {
63
+ nodes: [{
64
+ type: 'div',
65
+ data: {
66
+ attributes: {}
67
+ },
68
+ nodes: [{
69
+ type: 'p',
70
+ data: {
71
+ attributes: {}
72
+ },
73
+ nodes: [{
74
+ object: 'text',
75
+ leaves: [{
76
+ text: 'Foo'
77
+ }]
78
+ }]
79
+ }]
80
+ }]
81
+ }
82
+ }))),
83
+ container = _render3.container;
84
+ expect(container.querySelector('div')).toBeInTheDocument();
85
+ // Paragraph is rendered as a styled div, not a <p> tag
86
+ expect(_react2.screen.getByText('Foo')).toBeInTheDocument();
87
+ });
88
+ it('renders text with italic marks', function () {
89
+ var _render4 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
90
+ layout: {
91
+ nodes: [{
92
+ leaves: [{
93
+ text: 'Foo '
94
+ }],
95
+ object: 'text'
96
+ }, {
97
+ leaves: [{
98
+ marks: [{
99
+ data: undefined,
100
+ type: 'italic'
101
+ }],
102
+ text: 'x'
103
+ }],
104
+ object: 'text'
105
+ }, {
106
+ leaves: [{
107
+ text: ' bar'
108
+ }],
109
+ object: 'text'
110
+ }],
111
+ object: 'block',
112
+ type: 'div'
113
+ }
114
+ }))),
115
+ container = _render4.container;
116
+
117
+ // Text "Foo " is split with spaces, use regex
118
+ expect(_react2.screen.getByText(/Foo/)).toBeInTheDocument();
119
+ expect(_react2.screen.getByText('x')).toBeInTheDocument();
120
+ expect(_react2.screen.getByText(/bar/)).toBeInTheDocument();
121
+ // Check for italic/em element
122
+ var em = container.querySelector('em, i');
123
+ expect(em).toBeInTheDocument();
124
+ expect(em.textContent).toBe('x');
125
+ });
126
+ it('renders tbody without extra space', function () {
127
+ var da = function da() {
128
+ return {
129
+ data: {
130
+ attributes: {}
131
+ }
132
+ };
133
+ };
134
+ var _render5 = (0, _react2.render)(/*#__PURE__*/React.createElement(_mask["default"], (0, _extends2["default"])({}, defaultProps, {
135
+ layout: {
136
+ nodes: [_objectSpread(_objectSpread({
137
+ type: 'table'
138
+ }, da()), {}, {
139
+ nodes: [_objectSpread(_objectSpread({
140
+ type: 'tbody'
141
+ }, da()), {}, {
142
+ nodes: [{
143
+ object: 'text',
144
+ leaves: [{
145
+ text: ' '
146
+ }]
147
+ }, _objectSpread(_objectSpread({
148
+ type: 'tr'
149
+ }, da()), {}, {
150
+ nodes: []
151
+ })]
152
+ })]
153
+ })]
154
+ }
155
+ }))),
156
+ container = _render5.container;
157
+ expect(container.querySelector('table')).toBeInTheDocument();
158
+ expect(container.querySelector('tbody')).toBeInTheDocument();
159
+ expect(container.querySelector('tr')).toBeInTheDocument();
160
+ });
161
+ });
162
+ });
163
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfbWFzayIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsImRlZmF1bHRQcm9wcyIsImxheW91dCIsIm5vZGVzIiwib2JqZWN0IiwibGVhdmVzIiwidGV4dCIsInZhbHVlIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsIml0IiwiX3JlbmRlciIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJzY3JlZW4iLCJnZXRCeVRleHQiLCJfcmVuZGVyMiIsIl9leHRlbmRzMiIsInR5cGUiLCJfcmVuZGVyMyIsImRhdGEiLCJhdHRyaWJ1dGVzIiwicXVlcnlTZWxlY3RvciIsIl9yZW5kZXI0IiwibWFya3MiLCJ1bmRlZmluZWQiLCJlbSIsInRleHRDb250ZW50IiwidG9CZSIsImRhIiwiX3JlbmRlcjUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL21hc2sudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IE1hc2sgZnJvbSAnLi4vbWFzayc7XG5cbmRlc2NyaWJlKCdNYXNrJywgKCkgPT4ge1xuICAvLyBEb24ndCBtb2NrIHJlbmRlckNoaWxkcmVuIC0gbGV0IHRoZSBjb21wb25lbnQgcmVuZGVyIG5hdHVyYWxseVxuICBjb25zdCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIG9uQ2hhbmdlLFxuICAgIGxheW91dDoge1xuICAgICAgbm9kZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXh0OiAnRm9vJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB2YWx1ZToge30sXG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2UubW9ja0NsZWFyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkZWZhdWx0IHByb3BzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8TWFzayB7Li4uZGVmYXVsdFByb3BzfSAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB0ZXh0IGNvbnRlbnQnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPE1hc2sgey4uLmRlZmF1bHRQcm9wc30gLz4pO1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0ZvbycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgYSBwYXJhZ3JhcGggZWxlbWVudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNYXNrXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cbiAgICAgICAgICBsYXlvdXQ9e3tcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAncCcsXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdGb28nLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+LFxuICAgICAgKTtcblxuICAgICAgLy8gUGFyYWdyYXBoIGlzIHJlbmRlcmVkIGFzIGEgc3R5bGVkIGRpdiwgbm90IGEgPHA+IHRhZ1xuICAgICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ0ZvbycpKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgbmVzdGVkIGRpdiBhbmQgcGFyYWdyYXBoJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1hc2tcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGxheW91dD17e1xuICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkaXYnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3AnLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICdGb28nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9fVxuICAgICAgICAvPixcbiAgICAgICk7XG5cbiAgICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3RvcignZGl2JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICAvLyBQYXJhZ3JhcGggaXMgcmVuZGVyZWQgYXMgYSBzdHlsZWQgZGl2LCBub3QgYSA8cD4gdGFnXG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnRm9vJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB0ZXh0IHdpdGggaXRhbGljIG1hcmtzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1hc2tcbiAgICAgICAgICB7Li4uZGVmYXVsdFByb3BzfVxuICAgICAgICAgIGxheW91dD17e1xuICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJ0ZvbyAnIH1dLFxuICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGVhdmVzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIG9iamVjdDogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGVhdmVzOiBbeyB0ZXh0OiAnIGJhcicgfV0sXG4gICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgb2JqZWN0OiAnYmxvY2snLFxuICAgICAgICAgICAgdHlwZTogJ2RpdicsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICAvLyBUZXh0IFwiRm9vIFwiIGlzIHNwbGl0IHdpdGggc3BhY2VzLCB1c2UgcmVnZXhcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KC9Gb28vKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCd4JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgvYmFyLykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICAvLyBDaGVjayBmb3IgaXRhbGljL2VtIGVsZW1lbnRcbiAgICAgIGNvbnN0IGVtID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2VtLCBpJyk7XG4gICAgICBleHBlY3QoZW0pLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoZW0udGV4dENvbnRlbnQpLnRvQmUoJ3gnKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHRib2R5IHdpdGhvdXQgZXh0cmEgc3BhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBkYSA9ICgpID0+ICh7IGRhdGE6IHsgYXR0cmlidXRlczoge30gfSB9KTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNYXNrXG4gICAgICAgICAgey4uLmRlZmF1bHRQcm9wc31cbiAgICAgICAgICBsYXlvdXQ9e3tcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICAgICAgICAgIC4uLmRhKCksXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3Rib2R5JyxcbiAgICAgICAgICAgICAgICAgICAgLi4uZGEoKSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJyAnIH1dLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiAndHInLCAuLi5kYSgpLCBub2RlczogW10gfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfX1cbiAgICAgICAgLz4sXG4gICAgICApO1xuXG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3Rib2R5JykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ3RyJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEyQixTQUFBRCx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVAsdUJBQUEsWUFBQUEsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFB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
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _serialization = require("../serialization");
4
+ describe('serialization', function () {
5
+ it('ignores comments', function () {
6
+ var out = (0, _serialization.deserialize)("<!-- hi -->");
7
+ expect(out.document.nodes[0]).toEqual(expect.objectContaining({
8
+ type: 'span'
9
+ }));
10
+ });
11
+ it('ignores comments', function () {
12
+ var out = (0, _serialization.deserialize)("<!-- hi --><div>foo</div>");
13
+ expect(out.document.nodes[0]).toEqual(expect.objectContaining({
14
+ type: 'div',
15
+ nodes: [expect.objectContaining({
16
+ object: 'text',
17
+ leaves: [{
18
+ text: 'foo'
19
+ }]
20
+ })]
21
+ }));
22
+ });
23
+ it('deserializes an em', function () {
24
+ var out = (0, _serialization.deserialize)("<!-- hi --><div> <em>x</em> </div>");
25
+ expect(out.document.nodes[0]).toEqual(expect.objectContaining({
26
+ type: 'div',
27
+ nodes: [expect.objectContaining({
28
+ object: 'text'
29
+ }), expect.objectContaining({
30
+ leaves: [{
31
+ marks: [{
32
+ data: undefined,
33
+ type: 'italic'
34
+ }],
35
+ text: 'x'
36
+ }],
37
+ object: 'text'
38
+ }), expect.objectContaining({
39
+ object: 'text'
40
+ })]
41
+ }));
42
+ });
43
+ });
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2VyaWFsaXphdGlvbiIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0Iiwib3V0IiwiZGVzZXJpYWxpemUiLCJleHBlY3QiLCJkb2N1bWVudCIsIm5vZGVzIiwidG9FcXVhbCIsIm9iamVjdENvbnRhaW5pbmciLCJ0eXBlIiwib2JqZWN0IiwibGVhdmVzIiwidGV4dCIsIm1hcmtzIiwiZGF0YSIsInVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2VyaWFsaXphdGlvbi50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlc2VyaWFsaXplIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbic7XG5cbmRlc2NyaWJlKCdzZXJpYWxpemF0aW9uJywgKCkgPT4ge1xuICBpdCgnaWdub3JlcyBjb21tZW50cycsICgpID0+IHtcbiAgICBjb25zdCBvdXQgPSBkZXNlcmlhbGl6ZShgPCEtLSBoaSAtLT5gKTtcbiAgICBleHBlY3Qob3V0LmRvY3VtZW50Lm5vZGVzWzBdKS50b0VxdWFsKGV4cGVjdC5vYmplY3RDb250YWluaW5nKHsgdHlwZTogJ3NwYW4nIH0pKTtcbiAgfSk7XG5cbiAgaXQoJ2lnbm9yZXMgY29tbWVudHMnLCAoKSA9PiB7XG4gICAgY29uc3Qgb3V0ID0gZGVzZXJpYWxpemUoYDwhLS0gaGkgLS0+PGRpdj5mb288L2Rpdj5gKTtcbiAgICBleHBlY3Qob3V0LmRvY3VtZW50Lm5vZGVzWzBdKS50b0VxdWFsKFxuICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICB0eXBlOiAnZGl2JyxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgIGxlYXZlczogW3sgdGV4dDogJ2ZvbycgfV0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApO1xuICB9KTtcblxuICBpdCgnZGVzZXJpYWxpemVzIGFuIGVtJywgKCkgPT4ge1xuICAgIGNvbnN0IG91dCA9IGRlc2VyaWFsaXplKGA8IS0tIGhpIC0tPjxkaXY+IDxlbT54PC9lbT4gPC9kaXY+YCk7XG4gICAgZXhwZWN0KG91dC5kb2N1bWVudC5ub2Rlc1swXSkudG9FcXVhbChcbiAgICAgIGV4cGVjdC5vYmplY3RDb250YWluaW5nKHtcbiAgICAgICAgdHlwZTogJ2RpdicsXG4gICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoe1xuICAgICAgICAgICAgbGVhdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7XG4gICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBRUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtFQUM5QkMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07SUFDM0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLGVBQWMsQ0FBQztJQUN0Q0MsTUFBTSxDQUFDRixHQUFHLENBQUNHLFFBQVEsQ0FBQ0MsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUFFQyxJQUFJLEVBQUU7SUFBTyxDQUFDLENBQUMsQ0FBQztFQUNsRixDQUFDLENBQUM7RUFFRlIsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFlBQU07SUFDM0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLDZCQUE0QixDQUFDO0lBQ3BEQyxNQUFNLENBQUNGLEdBQUcsQ0FBQ0csUUFBUSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUNuQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUN0QkMsSUFBSSxFQUFFLEtBQUs7TUFDWEgsS0FBSyxFQUFFLENBQ0xGLE1BQU0sQ0FBQ0ksZ0JBQWdCLENBQUM7UUFDdEJFLE1BQU0sRUFBRSxNQUFNO1FBQ2RDLE1BQU0sRUFBRSxDQUFDO1VBQUVDLElBQUksRUFBRTtRQUFNLENBQUM7TUFDMUIsQ0FBQyxDQUFDO0lBRU4sQ0FBQyxDQUNILENBQUM7RUFDSCxDQUFDLENBQUM7RUFFRlgsRUFBRSxDQUFDLG9CQUFvQixFQUFFLFlBQU07SUFDN0IsSUFBTUMsR0FBRyxHQUFHLElBQUFDLDBCQUFXLHNDQUFxQyxDQUFDO0lBQzdEQyxNQUFNLENBQUNGLEdBQUcsQ0FBQ0csUUFBUSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUNuQ0gsTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztNQUN0QkMsSUFBSSxFQUFFLEtBQUs7TUFDWEgsS0FBSyxFQUFFLENBQ0xGLE1BQU0sQ0FBQ0ksZ0JBQWdCLENBQUM7UUFDdEJFLE1BQU0sRUFBRTtNQUNWLENBQUMsQ0FBQyxFQUNGTixNQUFNLENBQUNJLGdCQUFnQixDQUFDO1FBQ3RCRyxNQUFNLEVBQUUsQ0FDTjtVQUNFRSxLQUFLLEVBQUUsQ0FDTDtZQUNFQyxJQUFJLEVBQUVDLFNBQVM7WUFDZk4sSUFBSSxFQUFFO1VBQ1IsQ0FBQyxDQUNGO1VBQ0RHLElBQUksRUFBRTtRQUNSLENBQUMsQ0FDRjtRQUNERixNQUFNLEVBQUU7TUFDVixDQUFDLENBQUMsRUFDRk4sTUFBTSxDQUFDSSxnQkFBZ0IsQ0FBQztRQUN0QkUsTUFBTSxFQUFFO01BQ1YsQ0FBQyxDQUFDO0lBRU4sQ0FBQyxDQUNILENBQUM7RUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.choice = void 0;
7
+ var choice = exports.choice = function choice(v, id) {
8
+ return {
9
+ label: v,
10
+ value: v,
11
+ id: id
12
+ };
13
+ };
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjaG9pY2UiLCJleHBvcnRzIiwidiIsImlkIiwibGFiZWwiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNob2ljZSA9ICh2LCBpZCkgPT4gKHsgbGFiZWw6IHYsIHZhbHVlOiB2LCBpZCB9KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBTUEsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBRyxTQUFUQSxNQUFNQSxDQUFJRSxDQUFDLEVBQUVDLEVBQUU7RUFBQSxPQUFNO0lBQUVDLEtBQUssRUFBRUYsQ0FBQztJQUFFRyxLQUFLLEVBQUVILENBQUM7SUFBRUMsRUFBRSxFQUFGQTtFQUFHLENBQUM7QUFBQSxDQUFDIiwiaWdub3JlTGlzdCI6W119