@pie-lib/editable-html 12.1.0-next.0 → 12.1.0-next.2
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 +40 -0
- package/package.json +7 -7
- package/lib/__tests__/editor-utils.test.js +0 -164
- package/lib/__tests__/serialization.test.js +0 -242
- package/lib/__tests__/utils.js +0 -79
- package/lib/block-tags.js +0 -24
- package/lib/block-tags.js.map +0 -1
- package/lib/constants.js +0 -11
- package/lib/constants.js.map +0 -1
- package/lib/editor.js +0 -1224
- package/lib/editor.js.map +0 -1
- package/lib/index.js +0 -208
- package/lib/index.js.map +0 -1
- package/lib/parse-html.js +0 -16
- package/lib/parse-html.js.map +0 -1
- package/lib/plugins/characters/custom-popper.js +0 -57
- package/lib/plugins/characters/custom-popper.js.map +0 -1
- package/lib/plugins/characters/index.js +0 -265
- package/lib/plugins/characters/index.js.map +0 -1
- package/lib/plugins/characters/utils.js +0 -378
- package/lib/plugins/characters/utils.js.map +0 -1
- package/lib/plugins/css/icons/index.js +0 -25
- package/lib/plugins/css/icons/index.js.map +0 -1
- package/lib/plugins/css/index.js +0 -338
- package/lib/plugins/css/index.js.map +0 -1
- package/lib/plugins/customPlugin/index.js +0 -98
- package/lib/plugins/customPlugin/index.js.map +0 -1
- package/lib/plugins/html/icons/index.js +0 -30
- package/lib/plugins/html/icons/index.js.map +0 -1
- package/lib/plugins/html/index.js +0 -71
- package/lib/plugins/html/index.js.map +0 -1
- package/lib/plugins/image/__tests__/component.test.js +0 -96
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -131
- package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -22
- package/lib/plugins/image/__tests__/index.test.js +0 -90
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -112
- package/lib/plugins/image/__tests__/mock-change.js +0 -22
- package/lib/plugins/image/alt-dialog.js +0 -100
- package/lib/plugins/image/alt-dialog.js.map +0 -1
- package/lib/plugins/image/component.js +0 -343
- package/lib/plugins/image/component.js.map +0 -1
- package/lib/plugins/image/image-toolbar.js +0 -137
- package/lib/plugins/image/image-toolbar.js.map +0 -1
- package/lib/plugins/image/index.js +0 -223
- package/lib/plugins/image/index.js.map +0 -1
- package/lib/plugins/image/insert-image-handler.js +0 -140
- package/lib/plugins/image/insert-image-handler.js.map +0 -1
- package/lib/plugins/index.js +0 -342
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/list/__tests__/index.test.js +0 -64
- package/lib/plugins/list/index.js +0 -288
- package/lib/plugins/list/index.js.map +0 -1
- package/lib/plugins/math/__tests__/index.test.js +0 -284
- package/lib/plugins/math/index.js +0 -402
- package/lib/plugins/math/index.js.map +0 -1
- package/lib/plugins/media/__tests__/index.test.js +0 -69
- package/lib/plugins/media/index.js +0 -330
- package/lib/plugins/media/index.js.map +0 -1
- package/lib/plugins/media/media-dialog.js +0 -594
- package/lib/plugins/media/media-dialog.js.map +0 -1
- package/lib/plugins/media/media-toolbar.js +0 -76
- package/lib/plugins/media/media-toolbar.js.map +0 -1
- package/lib/plugins/media/media-wrapper.js +0 -64
- package/lib/plugins/media/media-wrapper.js.map +0 -1
- package/lib/plugins/rendering/index.js +0 -36
- package/lib/plugins/rendering/index.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -271
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -55
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/utils.js +0 -38
- package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +0 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -50
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
- package/lib/plugins/respArea/icons/index.js +0 -72
- package/lib/plugins/respArea/icons/index.js.map +0 -1
- package/lib/plugins/respArea/index.js +0 -287
- package/lib/plugins/respArea/index.js.map +0 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -67
- package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
- package/lib/plugins/respArea/math-templated/index.js +0 -112
- package/lib/plugins/respArea/math-templated/index.js.map +0 -1
- package/lib/plugins/respArea/utils.js +0 -95
- package/lib/plugins/respArea/utils.js.map +0 -1
- package/lib/plugins/table/CustomTablePlugin.js +0 -116
- package/lib/plugins/table/CustomTablePlugin.js.map +0 -1
- package/lib/plugins/table/__tests__/index.test.js +0 -416
- package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -81
- package/lib/plugins/table/icons/index.js +0 -55
- package/lib/plugins/table/icons/index.js.map +0 -1
- package/lib/plugins/table/index.js +0 -413
- package/lib/plugins/table/index.js.map +0 -1
- package/lib/plugins/table/table-toolbar.js +0 -138
- package/lib/plugins/table/table-toolbar.js.map +0 -1
- package/lib/plugins/textAlign/icons/index.js +0 -187
- package/lib/plugins/textAlign/icons/index.js.map +0 -1
- package/lib/plugins/textAlign/index.js +0 -26
- package/lib/plugins/textAlign/index.js.map +0 -1
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -154
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -47
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -112
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -118
- package/lib/plugins/toolbar/default-toolbar.js +0 -180
- package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/done-button.js +0 -35
- package/lib/plugins/toolbar/done-button.js.map +0 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -258
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/index.js +0 -29
- package/lib/plugins/toolbar/index.js.map +0 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -145
- package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
- package/lib/plugins/toolbar/toolbar.js +0 -307
- package/lib/plugins/toolbar/toolbar.js.map +0 -1
- package/lib/plugins/utils.js +0 -42
- package/lib/plugins/utils.js.map +0 -1
- package/lib/serialization.js +0 -571
- package/lib/serialization.js.map +0 -1
- package/lib/shared/alert-dialog.js +0 -68
- package/lib/theme.js +0 -8
- package/lib/theme.js.map +0 -1
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
var _slateEditTable = _interopRequireDefault(require("slate-edit-table"));
|
|
6
|
-
var _index = _interopRequireWildcard(require("../index"));
|
|
7
|
-
var _slate = require("slate");
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
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
|
-
jest.mock('slate-edit-table', function () {
|
|
11
|
-
var mock = {
|
|
12
|
-
"default": jest.fn().mockReturnThis(),
|
|
13
|
-
utils: {
|
|
14
|
-
isSelectionInTable: jest.fn().mockReturnValue(true),
|
|
15
|
-
createTable: jest.fn(function (c) {
|
|
16
|
-
return {
|
|
17
|
-
toJSON: jest.fn().mockReturnValue({
|
|
18
|
-
object: 'block',
|
|
19
|
-
type: 'table'
|
|
20
|
-
})
|
|
21
|
-
};
|
|
22
|
-
})
|
|
23
|
-
},
|
|
24
|
-
changes: {
|
|
25
|
-
insertTable: jest.fn(function (c) {
|
|
26
|
-
return c;
|
|
27
|
-
})
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
return jest.fn().mockReturnValue(mock);
|
|
31
|
-
});
|
|
32
|
-
describe('table', function () {
|
|
33
|
-
describe('toolbar', function () {
|
|
34
|
-
describe('onClick', function () {
|
|
35
|
-
var plugin;
|
|
36
|
-
var onChange;
|
|
37
|
-
var findDescendant;
|
|
38
|
-
var insertBlock;
|
|
39
|
-
var changeMock;
|
|
40
|
-
beforeEach(function () {
|
|
41
|
-
plugin = (0, _index["default"])();
|
|
42
|
-
onChange = jest.fn();
|
|
43
|
-
insertBlock = jest.fn();
|
|
44
|
-
findDescendant = jest.fn();
|
|
45
|
-
changeMock = jest.fn().mockReturnValue({
|
|
46
|
-
insertBlock: insertBlock,
|
|
47
|
-
value: {
|
|
48
|
-
document: {
|
|
49
|
-
findDescendant: findDescendant
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
it('calls utils.createTable', function () {
|
|
55
|
-
plugin.toolbar.onClick({
|
|
56
|
-
change: changeMock
|
|
57
|
-
}, onChange);
|
|
58
|
-
expect((0, _slateEditTable["default"])().utils.createTable).toHaveBeenCalledWith(2, 2);
|
|
59
|
-
});
|
|
60
|
-
it('creates table with border: 1 as default', function () {
|
|
61
|
-
plugin.toolbar.onClick({
|
|
62
|
-
change: changeMock
|
|
63
|
-
}, onChange);
|
|
64
|
-
expect(insertBlock).toHaveBeenCalledWith(_slate.Block.create({
|
|
65
|
-
key: '2',
|
|
66
|
-
type: 'table',
|
|
67
|
-
data: {
|
|
68
|
-
border: '1',
|
|
69
|
-
newTable: true
|
|
70
|
-
}
|
|
71
|
-
}));
|
|
72
|
-
});
|
|
73
|
-
it('moves cursor to first cell of the table and removes the newTable property', function () {
|
|
74
|
-
var dataRemoveFn = jest.fn().mockReturnValue({
|
|
75
|
-
border: '1'
|
|
76
|
-
});
|
|
77
|
-
var setNodeByKey = jest.fn();
|
|
78
|
-
var newTableBlock = {
|
|
79
|
-
key: '2',
|
|
80
|
-
data: {
|
|
81
|
-
remove: dataRemoveFn
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
var collapseToStartOf = jest.fn();
|
|
85
|
-
changeMock = jest.fn().mockReturnValue({
|
|
86
|
-
insertBlock: insertBlock,
|
|
87
|
-
collapseToStartOf: collapseToStartOf,
|
|
88
|
-
setNodeByKey: setNodeByKey,
|
|
89
|
-
value: {
|
|
90
|
-
document: {
|
|
91
|
-
findDescendant: jest.fn().mockReturnValue(newTableBlock)
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
plugin.toolbar.onClick({
|
|
96
|
-
change: changeMock
|
|
97
|
-
}, onChange);
|
|
98
|
-
expect(collapseToStartOf).toHaveBeenCalledWith(newTableBlock);
|
|
99
|
-
expect(dataRemoveFn).toHaveBeenCalledWith('newTable');
|
|
100
|
-
expect(setNodeByKey).toHaveBeenCalledWith('2', {
|
|
101
|
-
data: {
|
|
102
|
-
border: '1'
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
describe('supports', function () {
|
|
108
|
-
var assertSupports = function assertSupports(inTable, object, expected) {
|
|
109
|
-
it("inTable: ".concat(inTable, ", type: ").concat(object, " => ").concat(expected), function () {
|
|
110
|
-
(0, _slateEditTable["default"])().utils.isSelectionInTable.mockReturnValue(inTable);
|
|
111
|
-
var plugin = (0, _index["default"])();
|
|
112
|
-
var supports = plugin.toolbar.supports({
|
|
113
|
-
object: object
|
|
114
|
-
});
|
|
115
|
-
expect(supports).toEqual(expected);
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
assertSupports(true, 'block', true);
|
|
119
|
-
assertSupports(false, 'block', false);
|
|
120
|
-
assertSupports(true, 'inline', false);
|
|
121
|
-
assertSupports(false, 'inline', false);
|
|
122
|
-
});
|
|
123
|
-
describe('customToolbar', function () {
|
|
124
|
-
describe('toggleBorder', function () {
|
|
125
|
-
var assertToggle = function assertToggle(border, expectedBorder) {
|
|
126
|
-
describe("with initial border of ".concat(border), function () {
|
|
127
|
-
var change;
|
|
128
|
-
var done;
|
|
129
|
-
beforeEach(function () {
|
|
130
|
-
var plugin = (0, _index["default"])();
|
|
131
|
-
change = {
|
|
132
|
-
setNodeByKey: jest.fn().mockReturnThis()
|
|
133
|
-
};
|
|
134
|
-
plugin.utils.getTableBlock = jest.fn().mockReturnValue({
|
|
135
|
-
key: 'tableKey',
|
|
136
|
-
data: _slate.Data.create({
|
|
137
|
-
border: border
|
|
138
|
-
})
|
|
139
|
-
});
|
|
140
|
-
var node = {
|
|
141
|
-
key: 'nodeKey'
|
|
142
|
-
};
|
|
143
|
-
var value = {
|
|
144
|
-
change: jest.fn().mockReturnValue(change)
|
|
145
|
-
};
|
|
146
|
-
done = jest.fn();
|
|
147
|
-
var Comp = plugin.toolbar.customToolbar(node, value, done);
|
|
148
|
-
var c = Comp();
|
|
149
|
-
c.props.onToggleBorder();
|
|
150
|
-
});
|
|
151
|
-
it("calls setNodeByKey with ".concat(expectedBorder), function () {
|
|
152
|
-
expect(change.setNodeByKey).toHaveBeenCalledWith('tableKey', {
|
|
153
|
-
data: _slate.Data.create({
|
|
154
|
-
border: expectedBorder
|
|
155
|
-
})
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
it('calls onToolbarDone', function () {
|
|
159
|
-
expect(done).toHaveBeenCalledWith(change, false);
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
assertToggle(null, '1');
|
|
164
|
-
assertToggle(undefined, '1');
|
|
165
|
-
assertToggle('0', '1');
|
|
166
|
-
assertToggle('1', '0');
|
|
167
|
-
assertToggle('2', '0');
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
describe('normalizeNode', function () {
|
|
171
|
-
it('should exit the function if the node is not of type document', function () {
|
|
172
|
-
var tablePlugin = (0, _index["default"])();
|
|
173
|
-
var returnValue = tablePlugin.normalizeNode({
|
|
174
|
-
object: 'table'
|
|
175
|
-
});
|
|
176
|
-
expect(returnValue).toEqual(undefined);
|
|
177
|
-
});
|
|
178
|
-
it('should exit there are no changes needed', function () {
|
|
179
|
-
var tablePlugin = (0, _index["default"])();
|
|
180
|
-
var nodes = {
|
|
181
|
-
size: 3,
|
|
182
|
-
findLastIndex: jest.fn().mockReturnValue(1)
|
|
183
|
-
};
|
|
184
|
-
var returnValue = tablePlugin.normalizeNode({
|
|
185
|
-
object: 'document',
|
|
186
|
-
nodes: nodes,
|
|
187
|
-
findDescendant: jest.fn().mockReturnValue({
|
|
188
|
-
object: 'block',
|
|
189
|
-
type: 'table'
|
|
190
|
-
}),
|
|
191
|
-
getParent: jest.fn().mockReturnValue(undefined)
|
|
192
|
-
});
|
|
193
|
-
expect(returnValue).toEqual(undefined);
|
|
194
|
-
});
|
|
195
|
-
it('should return a function if a table does not have a node before or after it', function () {
|
|
196
|
-
var tablePlugin = (0, _index["default"])();
|
|
197
|
-
var nodes = [{
|
|
198
|
-
object: 'block',
|
|
199
|
-
type: 'table',
|
|
200
|
-
key: '99',
|
|
201
|
-
data: _slate.Data.create({
|
|
202
|
-
newTable: true
|
|
203
|
-
})
|
|
204
|
-
}];
|
|
205
|
-
var findDescendant = jest.fn(function (callback) {
|
|
206
|
-
nodes.forEach(function (n) {
|
|
207
|
-
return callback(n);
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
var change = {
|
|
211
|
-
insertNodeByPath: jest.fn(),
|
|
212
|
-
value: {
|
|
213
|
-
document: {
|
|
214
|
-
getPath: jest.fn().mockReturnValue(_slate.PathUtils.create([0, 0]))
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
var returnValue = tablePlugin.normalizeNode({
|
|
219
|
-
object: 'document',
|
|
220
|
-
findDescendant: findDescendant,
|
|
221
|
-
getPath: jest.fn().mockReturnValue(_slate.PathUtils.create([0, 0])),
|
|
222
|
-
getPreviousNode: jest.fn().mockReturnValue(undefined),
|
|
223
|
-
getNextNode: jest.fn().mockReturnValue(undefined)
|
|
224
|
-
});
|
|
225
|
-
expect(returnValue).toEqual(expect.any(Function));
|
|
226
|
-
returnValue(change);
|
|
227
|
-
expect(change.insertNodeByPath).toHaveBeenCalledWith([0], 0, {
|
|
228
|
-
object: 'block',
|
|
229
|
-
type: 'div'
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
});
|
|
235
|
-
describe('parseStyleString', function () {
|
|
236
|
-
var parses = function parses(s, expected) {
|
|
237
|
-
it("parses ".concat(s, " -> ").concat(JSON.stringify(expected)), function () {
|
|
238
|
-
var result = (0, _index.parseStyleString)(s);
|
|
239
|
-
expect(result).toEqual(expected);
|
|
240
|
-
});
|
|
241
|
-
};
|
|
242
|
-
parses(' width: 10px ', {
|
|
243
|
-
width: '10px'
|
|
244
|
-
});
|
|
245
|
-
parses(' width: 10px; ', {
|
|
246
|
-
width: '10px'
|
|
247
|
-
});
|
|
248
|
-
parses(' border-width: 10px; ', {
|
|
249
|
-
'border-width': '10px'
|
|
250
|
-
});
|
|
251
|
-
parses(' border: solid 1px red; height: 1px', {
|
|
252
|
-
border: 'solid 1px red',
|
|
253
|
-
height: '1px'
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
describe('toStyleString', function () {
|
|
257
|
-
var styleString = function styleString(o, expected) {
|
|
258
|
-
it("".concat(JSON.stringify(s), " -> ").concat(expected), function () {
|
|
259
|
-
var result = toStyleString(o);
|
|
260
|
-
expect(result).toEqual(expected);
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
});
|
|
264
|
-
describe('reactAttributes', function () {
|
|
265
|
-
var attributes = function attributes(o, expected) {
|
|
266
|
-
it("".concat(JSON.stringify(o), " -> ").concat(JSON.stringify(expected)), function () {
|
|
267
|
-
var result = (0, _index.reactAttributes)(o);
|
|
268
|
-
expect(result).toEqual(expected);
|
|
269
|
-
});
|
|
270
|
-
};
|
|
271
|
-
attributes({
|
|
272
|
-
'border-width': '10px',
|
|
273
|
-
'line-height': 1.56
|
|
274
|
-
}, {
|
|
275
|
-
borderWidth: '10px',
|
|
276
|
-
lineHeight: '1.56'
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
|
-
describe('serialization', function () {
|
|
280
|
-
describe('deserialize', function () {
|
|
281
|
-
var next;
|
|
282
|
-
beforeEach(function () {
|
|
283
|
-
next = jest.fn().mockReturnValue([]);
|
|
284
|
-
});
|
|
285
|
-
describe('table', function () {
|
|
286
|
-
var el;
|
|
287
|
-
var out;
|
|
288
|
-
beforeEach(function () {
|
|
289
|
-
el = {
|
|
290
|
-
tagName: 'table',
|
|
291
|
-
children: [],
|
|
292
|
-
getAttribute: jest.fn(function (name) {
|
|
293
|
-
switch (name) {
|
|
294
|
-
case 'border':
|
|
295
|
-
return '1';
|
|
296
|
-
case 'cellspacing':
|
|
297
|
-
return '2';
|
|
298
|
-
case 'cellpadding':
|
|
299
|
-
return '3';
|
|
300
|
-
case 'class':
|
|
301
|
-
return 'table-class';
|
|
302
|
-
case 'style':
|
|
303
|
-
return 'width: 10px';
|
|
304
|
-
}
|
|
305
|
-
})
|
|
306
|
-
};
|
|
307
|
-
out = _index.serialization.deserialize(el, next);
|
|
308
|
-
});
|
|
309
|
-
var assertData = function assertData(name, value) {
|
|
310
|
-
it("data.".concat(name, " should eql ").concat(value), function () {
|
|
311
|
-
expect(out.data[name]).toEqual(value);
|
|
312
|
-
});
|
|
313
|
-
};
|
|
314
|
-
assertData('border', '1');
|
|
315
|
-
assertData('cellspacing', '2');
|
|
316
|
-
assertData('cellpadding', '3');
|
|
317
|
-
assertData('class', 'table-class');
|
|
318
|
-
assertData('style', {
|
|
319
|
-
width: '10px'
|
|
320
|
-
});
|
|
321
|
-
it('returns a table block', function () {
|
|
322
|
-
expect(out).toMatchObject({
|
|
323
|
-
object: 'block',
|
|
324
|
-
type: 'table',
|
|
325
|
-
nodes: []
|
|
326
|
-
});
|
|
327
|
-
});
|
|
328
|
-
});
|
|
329
|
-
it('deserializes tr', function () {
|
|
330
|
-
var el = {
|
|
331
|
-
tagName: 'tr',
|
|
332
|
-
children: []
|
|
333
|
-
};
|
|
334
|
-
var out = _index.serialization.deserialize(el, next);
|
|
335
|
-
expect(out).toEqual({
|
|
336
|
-
object: 'block',
|
|
337
|
-
type: 'table_row',
|
|
338
|
-
nodes: []
|
|
339
|
-
});
|
|
340
|
-
});
|
|
341
|
-
it('deserializes td', function () {
|
|
342
|
-
var el = {
|
|
343
|
-
tagName: 'td',
|
|
344
|
-
childNodes: [],
|
|
345
|
-
getAttribute: jest.fn(function (name) {
|
|
346
|
-
var o = {
|
|
347
|
-
"class": 'class name',
|
|
348
|
-
colspan: '1',
|
|
349
|
-
rowspan: '1'
|
|
350
|
-
};
|
|
351
|
-
return o[name];
|
|
352
|
-
})
|
|
353
|
-
};
|
|
354
|
-
var out = _index.serialization.deserialize(el, next);
|
|
355
|
-
expect(out).toEqual({
|
|
356
|
-
object: 'block',
|
|
357
|
-
type: 'table_cell',
|
|
358
|
-
nodes: [],
|
|
359
|
-
data: {
|
|
360
|
-
colspan: '1',
|
|
361
|
-
rowspan: '1',
|
|
362
|
-
"class": 'class name',
|
|
363
|
-
header: false
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
});
|
|
368
|
-
describe('serialize', function () {
|
|
369
|
-
it('serializes table', function () {
|
|
370
|
-
var el = _index.serialization.serialize({
|
|
371
|
-
object: 'block',
|
|
372
|
-
type: 'table',
|
|
373
|
-
nodes: [],
|
|
374
|
-
data: _slate.Data.create({
|
|
375
|
-
border: '1',
|
|
376
|
-
cellpadding: '2',
|
|
377
|
-
cellspacing: '3'
|
|
378
|
-
})
|
|
379
|
-
});
|
|
380
|
-
expect(el).toEqual(/*#__PURE__*/_react["default"].createElement("table", {
|
|
381
|
-
border: "1",
|
|
382
|
-
cellPadding: "2",
|
|
383
|
-
cellSpacing: "3"
|
|
384
|
-
}, /*#__PURE__*/_react["default"].createElement("tbody", null)));
|
|
385
|
-
});
|
|
386
|
-
it('serializes table_row', function () {
|
|
387
|
-
var el = _index.serialization.serialize({
|
|
388
|
-
object: 'block',
|
|
389
|
-
type: 'table_row',
|
|
390
|
-
nodes: []
|
|
391
|
-
});
|
|
392
|
-
expect(el).toEqual(/*#__PURE__*/_react["default"].createElement("tr", null));
|
|
393
|
-
});
|
|
394
|
-
it('serializes table_cell', function () {
|
|
395
|
-
var el = _index.serialization.serialize({
|
|
396
|
-
object: 'block',
|
|
397
|
-
type: 'table_cell',
|
|
398
|
-
nodes: [],
|
|
399
|
-
data: _slate.Data.create({
|
|
400
|
-
header: false,
|
|
401
|
-
style: {
|
|
402
|
-
width: '10px'
|
|
403
|
-
},
|
|
404
|
-
"class": 'foo'
|
|
405
|
-
})
|
|
406
|
-
});
|
|
407
|
-
expect(el).toEqual(/*#__PURE__*/_react["default"].createElement("td", {
|
|
408
|
-
style: {
|
|
409
|
-
width: '10px'
|
|
410
|
-
},
|
|
411
|
-
className: 'foo'
|
|
412
|
-
}));
|
|
413
|
-
});
|
|
414
|
-
});
|
|
415
|
-
});
|
|
416
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2xhdGVFZGl0VGFibGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pbmRleCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3NsYXRlIiwiX3JlYWN0IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJqZXN0IiwibW9jayIsImZuIiwibW9ja1JldHVyblRoaXMiLCJ1dGlscyIsImlzU2VsZWN0aW9uSW5UYWJsZSIsIm1vY2tSZXR1cm5WYWx1ZSIsImNyZWF0ZVRhYmxlIiwiYyIsInRvSlNPTiIsIm9iamVjdCIsInR5cGUiLCJjaGFuZ2VzIiwiaW5zZXJ0VGFibGUiLCJkZXNjcmliZSIsInBsdWdpbiIsIm9uQ2hhbmdlIiwiZmluZERlc2NlbmRhbnQiLCJpbnNlcnRCbG9jayIsImNoYW5nZU1vY2siLCJiZWZvcmVFYWNoIiwiVGFibGVQbHVnaW4iLCJ2YWx1ZSIsImRvY3VtZW50IiwiaXQiLCJ0b29sYmFyIiwib25DbGljayIsImNoYW5nZSIsImV4cGVjdCIsIkVkaXRUYWJsZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiQmxvY2siLCJjcmVhdGUiLCJrZXkiLCJkYXRhIiwiYm9yZGVyIiwibmV3VGFibGUiLCJkYXRhUmVtb3ZlRm4iLCJzZXROb2RlQnlLZXkiLCJuZXdUYWJsZUJsb2NrIiwicmVtb3ZlIiwiY29sbGFwc2VUb1N0YXJ0T2YiLCJhc3NlcnRTdXBwb3J0cyIsImluVGFibGUiLCJleHBlY3RlZCIsImNvbmNhdCIsInN1cHBvcnRzIiwidG9FcXVhbCIsImFzc2VydFRvZ2dsZSIsImV4cGVjdGVkQm9yZGVyIiwiZG9uZSIsImdldFRhYmxlQmxvY2siLCJEYXRhIiwibm9kZSIsIkNvbXAiLCJjdXN0b21Ub29sYmFyIiwicHJvcHMiLCJvblRvZ2dsZUJvcmRlciIsInVuZGVmaW5lZCIsInRhYmxlUGx1Z2luIiwicmV0dXJuVmFsdWUiLCJub3JtYWxpemVOb2RlIiwibm9kZXMiLCJzaXplIiwiZmluZExhc3RJbmRleCIsImdldFBhcmVudCIsImNhbGxiYWNrIiwiZm9yRWFjaCIsImluc2VydE5vZGVCeVBhdGgiLCJnZXRQYXRoIiwiUGF0aFV0aWxzIiwiZ2V0UHJldmlvdXNOb2RlIiwiZ2V0TmV4dE5vZGUiLCJhbnkiLCJGdW5jdGlvbiIsInBhcnNlcyIsInMiLCJKU09OIiwic3RyaW5naWZ5IiwicmVzdWx0IiwicGFyc2VTdHlsZVN0cmluZyIsIndpZHRoIiwiaGVpZ2h0Iiwic3R5bGVTdHJpbmciLCJ0b1N0eWxlU3RyaW5nIiwiYXR0cmlidXRlcyIsInJlYWN0QXR0cmlidXRlcyIsImJvcmRlcldpZHRoIiwibGluZUhlaWdodCIsIm5leHQiLCJlbCIsIm91dCIsInRhZ05hbWUiLCJjaGlsZHJlbiIsImdldEF0dHJpYnV0ZSIsIm5hbWUiLCJzZXJpYWxpemF0aW9uIiwiZGVzZXJpYWxpemUiLCJhc3NlcnREYXRhIiwidG9NYXRjaE9iamVjdCIsImNoaWxkTm9kZXMiLCJjb2xzcGFuIiwicm93c3BhbiIsImhlYWRlciIsInNlcmlhbGl6ZSIsImNlbGxwYWRkaW5nIiwiY2VsbHNwYWNpbmciLCJjcmVhdGVFbGVtZW50IiwiY2VsbFBhZGRpbmciLCJjZWxsU3BhY2luZyIsInN0eWxlIiwiY2xhc3NOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMvdGFibGUvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFZGl0VGFibGUgZnJvbSAnc2xhdGUtZWRpdC10YWJsZSc7XG5pbXBvcnQgVGFibGVQbHVnaW4sIHsgc2VyaWFsaXphdGlvbiwgcGFyc2VTdHlsZVN0cmluZywgcmVhY3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgRGF0YSwgQmxvY2ssIFBhdGhVdGlscyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmplc3QubW9jaygnc2xhdGUtZWRpdC10YWJsZScsICgpID0+IHtcbiAgY29uc3QgbW9jayA9IHtcbiAgICBkZWZhdWx0OiBqZXN0LmZuKCkubW9ja1JldHVyblRoaXMoKSxcbiAgICB1dGlsczoge1xuICAgICAgaXNTZWxlY3Rpb25JblRhYmxlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHRydWUpLFxuICAgICAgY3JlYXRlVGFibGU6IGplc3QuZm4oZnVuY3Rpb24oYykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRvSlNPTjogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7IG9iamVjdDogJ2Jsb2NrJywgdHlwZTogJ3RhYmxlJyB9KSxcbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgIH0sXG4gICAgY2hhbmdlczoge1xuICAgICAgaW5zZXJ0VGFibGU6IGplc3QuZm4oZnVuY3Rpb24oYykge1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH0pLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUobW9jayk7XG59KTtcblxuZGVzY3JpYmUoJ3RhYmxlJywgKCkgPT4ge1xuICBkZXNjcmliZSgndG9vbGJhcicsICgpID0+IHtcbiAgICBkZXNjcmliZSgnb25DbGljaycsICgpID0+IHtcbiAgICAgIGxldCBwbHVnaW47XG4gICAgICBsZXQgb25DaGFuZ2U7XG4gICAgICBsZXQgZmluZERlc2NlbmRhbnQ7XG4gICAgICBsZXQgaW5zZXJ0QmxvY2s7XG4gICAgICBsZXQgY2hhbmdlTW9jaztcblxuICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIHBsdWdpbiA9IFRhYmxlUGx1Z2luKCk7XG4gICAgICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgICAgICBpbnNlcnRCbG9jayA9IGplc3QuZm4oKTtcbiAgICAgICAgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKCk7XG4gICAgICAgIGNoYW5nZU1vY2sgPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBpbnNlcnRCbG9jayxcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgZG9jdW1lbnQ6IHtcbiAgICAgICAgICAgICAgZmluZERlc2NlbmRhbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyB1dGlscy5jcmVhdGVUYWJsZScsICgpID0+IHtcbiAgICAgICAgcGx1Z2luLnRvb2xiYXIub25DbGljayh7IGNoYW5nZTogY2hhbmdlTW9jayB9LCBvbkNoYW5nZSk7XG5cbiAgICAgICAgZXhwZWN0KEVkaXRUYWJsZSgpLnV0aWxzLmNyZWF0ZVRhYmxlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgyLCAyKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY3JlYXRlcyB0YWJsZSB3aXRoIGJvcmRlcjogMSBhcyBkZWZhdWx0JywgKCkgPT4ge1xuICAgICAgICBwbHVnaW4udG9vbGJhci5vbkNsaWNrKHsgY2hhbmdlOiBjaGFuZ2VNb2NrIH0sIG9uQ2hhbmdlKTtcblxuICAgICAgICBleHBlY3QoaW5zZXJ0QmxvY2spLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFxuICAgICAgICAgIEJsb2NrLmNyZWF0ZSh7IGtleTogJzInLCB0eXBlOiAndGFibGUnLCBkYXRhOiB7IGJvcmRlcjogJzEnLCBuZXdUYWJsZTogdHJ1ZSB9IH0pLFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdtb3ZlcyBjdXJzb3IgdG8gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGUgYW5kIHJlbW92ZXMgdGhlIG5ld1RhYmxlIHByb3BlcnR5JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhUmVtb3ZlRm4gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgYm9yZGVyOiAnMScgfSk7XG4gICAgICAgIGNvbnN0IHNldE5vZGVCeUtleSA9IGplc3QuZm4oKTtcbiAgICAgICAgY29uc3QgbmV3VGFibGVCbG9jayA9IHtcbiAgICAgICAgICBrZXk6ICcyJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICByZW1vdmU6IGRhdGFSZW1vdmVGbixcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBjb2xsYXBzZVRvU3RhcnRPZiA9IGplc3QuZm4oKTtcblxuICAgICAgICBjaGFuZ2VNb2NrID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgaW5zZXJ0QmxvY2ssXG4gICAgICAgICAgY29sbGFwc2VUb1N0YXJ0T2YsXG4gICAgICAgICAgc2V0Tm9kZUJ5S2V5LFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBkb2N1bWVudDoge1xuICAgICAgICAgICAgICBmaW5kRGVzY2VuZGFudDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShuZXdUYWJsZUJsb2NrKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHBsdWdpbi50b29sYmFyLm9uQ2xpY2soeyBjaGFuZ2U6IGNoYW5nZU1vY2sgfSwgb25DaGFuZ2UpO1xuXG4gICAgICAgIGV4cGVjdChjb2xsYXBzZVRvU3RhcnRPZikudG9IYXZlQmVlbkNhbGxlZFdpdGgobmV3VGFibGVCbG9jayk7XG4gICAgICAgIGV4cGVjdChkYXRhUmVtb3ZlRm4pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCduZXdUYWJsZScpO1xuICAgICAgICBleHBlY3Qoc2V0Tm9kZUJ5S2V5KS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnMicsIHsgZGF0YTogeyBib3JkZXI6ICcxJyB9IH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc3VwcG9ydHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhc3NlcnRTdXBwb3J0cyA9IChpblRhYmxlLCBvYmplY3QsIGV4cGVjdGVkKSA9PiB7XG4gICAgICAgIGl0KGBpblRhYmxlOiAke2luVGFibGV9LCB0eXBlOiAke29iamVjdH0gPT4gJHtleHBlY3RlZH1gLCAoKSA9PiB7XG4gICAgICAgICAgRWRpdFRhYmxlKCkudXRpbHMuaXNTZWxlY3Rpb25JblRhYmxlLm1vY2tSZXR1cm5WYWx1ZShpblRhYmxlKTtcbiAgICAgICAgICBjb25zdCBwbHVnaW4gPSBUYWJsZVBsdWdpbigpO1xuICAgICAgICAgIGNvbnN0IHN1cHBvcnRzID0gcGx1Z2luLnRvb2xiYXIuc3VwcG9ydHMoeyBvYmplY3QgfSk7XG4gICAgICAgICAgZXhwZWN0KHN1cHBvcnRzKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgICAgfSk7XG4gICAgICB9O1xuXG4gICAgICBhc3NlcnRTdXBwb3J0cyh0cnVlLCAnYmxvY2snLCB0cnVlKTtcbiAgICAgIGFzc2VydFN1cHBvcnRzKGZhbHNlLCAnYmxvY2snLCBmYWxzZSk7XG4gICAgICBhc3NlcnRTdXBwb3J0cyh0cnVlLCAnaW5saW5lJywgZmFsc2UpO1xuICAgICAgYXNzZXJ0U3VwcG9ydHMoZmFsc2UsICdpbmxpbmUnLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY3VzdG9tVG9vbGJhcicsICgpID0+IHtcbiAgICAgIGRlc2NyaWJlKCd0b2dnbGVCb3JkZXInLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFzc2VydFRvZ2dsZSA9IChib3JkZXIsIGV4cGVjdGVkQm9yZGVyKSA9PiB7XG4gICAgICAgICAgZGVzY3JpYmUoYHdpdGggaW5pdGlhbCBib3JkZXIgb2YgJHtib3JkZXJ9YCwgKCkgPT4ge1xuICAgICAgICAgICAgbGV0IGNoYW5nZTtcbiAgICAgICAgICAgIGxldCBkb25lO1xuXG4gICAgICAgICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcGx1Z2luID0gVGFibGVQbHVnaW4oKTtcbiAgICAgICAgICAgICAgY2hhbmdlID0ge1xuICAgICAgICAgICAgICAgIHNldE5vZGVCeUtleTogamVzdC5mbigpLm1vY2tSZXR1cm5UaGlzKCksXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIHBsdWdpbi51dGlscy5nZXRUYWJsZUJsb2NrID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgICAgICAga2V5OiAndGFibGVLZXknLFxuICAgICAgICAgICAgICAgIGRhdGE6IERhdGEuY3JlYXRlKHsgYm9yZGVyIH0pLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHsga2V5OiAnbm9kZUtleScgfTtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKGNoYW5nZSksXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIGRvbmUgPSBqZXN0LmZuKCk7XG4gICAgICAgICAgICAgIGNvbnN0IENvbXAgPSBwbHVnaW4udG9vbGJhci5jdXN0b21Ub29sYmFyKG5vZGUsIHZhbHVlLCBkb25lKTtcbiAgICAgICAgICAgICAgY29uc3QgYyA9IENvbXAoKTtcbiAgICAgICAgICAgICAgYy5wcm9wcy5vblRvZ2dsZUJvcmRlcigpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGl0KGBjYWxscyBzZXROb2RlQnlLZXkgd2l0aCAke2V4cGVjdGVkQm9yZGVyfWAsICgpID0+IHtcbiAgICAgICAgICAgICAgZXhwZWN0KGNoYW5nZS5zZXROb2RlQnlLZXkpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCd0YWJsZUtleScsIHtcbiAgICAgICAgICAgICAgICBkYXRhOiBEYXRhLmNyZWF0ZSh7IGJvcmRlcjogZXhwZWN0ZWRCb3JkZXIgfSksXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGl0KCdjYWxscyBvblRvb2xiYXJEb25lJywgKCkgPT4ge1xuICAgICAgICAgICAgICBleHBlY3QoZG9uZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoY2hhbmdlLCBmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBhc3NlcnRUb2dnbGUobnVsbCwgJzEnKTtcbiAgICAgICAgYXNzZXJ0VG9nZ2xlKHVuZGVmaW5lZCwgJzEnKTtcbiAgICAgICAgYXNzZXJ0VG9nZ2xlKCcwJywgJzEnKTtcbiAgICAgICAgYXNzZXJ0VG9nZ2xlKCcxJywgJzAnKTtcbiAgICAgICAgYXNzZXJ0VG9nZ2xlKCcyJywgJzAnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ25vcm1hbGl6ZU5vZGUnLCAoKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIGV4aXQgdGhlIGZ1bmN0aW9uIGlmIHRoZSBub2RlIGlzIG5vdCBvZiB0eXBlIGRvY3VtZW50JywgKCkgPT4ge1xuICAgICAgICBjb25zdCB0YWJsZVBsdWdpbiA9IFRhYmxlUGx1Z2luKCk7XG4gICAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gdGFibGVQbHVnaW4ubm9ybWFsaXplTm9kZSh7IG9iamVjdDogJ3RhYmxlJyB9KTtcblxuICAgICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIGV4aXQgdGhlcmUgYXJlIG5vIGNoYW5nZXMgbmVlZGVkJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB0YWJsZVBsdWdpbiA9IFRhYmxlUGx1Z2luKCk7XG4gICAgICAgIGNvbnN0IG5vZGVzID0ge1xuICAgICAgICAgIHNpemU6IDMsXG4gICAgICAgICAgZmluZExhc3RJbmRleDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSgxKSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmV0dXJuVmFsdWUgPSB0YWJsZVBsdWdpbi5ub3JtYWxpemVOb2RlKHtcbiAgICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgICAgbm9kZXMsXG4gICAgICAgICAgZmluZERlc2NlbmRhbnQ6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoeyBvYmplY3Q6ICdibG9jaycsIHR5cGU6ICd0YWJsZScgfSksXG4gICAgICAgICAgZ2V0UGFyZW50OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHVuZGVmaW5lZCksXG4gICAgICAgIH0pO1xuICAgICAgICBleHBlY3QocmV0dXJuVmFsdWUpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnc2hvdWxkIHJldHVybiBhIGZ1bmN0aW9uIGlmIGEgdGFibGUgZG9lcyBub3QgaGF2ZSBhIG5vZGUgYmVmb3JlIG9yIGFmdGVyIGl0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCB0YWJsZVBsdWdpbiA9IFRhYmxlUGx1Z2luKCk7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICAgICAgICBrZXk6ICc5OScsXG4gICAgICAgICAgICBkYXRhOiBEYXRhLmNyZWF0ZSh7XG4gICAgICAgICAgICAgIG5ld1RhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgZmluZERlc2NlbmRhbnQgPSBqZXN0LmZuKChjYWxsYmFjaykgPT4ge1xuICAgICAgICAgIG5vZGVzLmZvckVhY2goKG4pID0+IGNhbGxiYWNrKG4pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNoYW5nZSA9IHtcbiAgICAgICAgICBpbnNlcnROb2RlQnlQYXRoOiBqZXN0LmZuKCksXG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGRvY3VtZW50OiB7XG4gICAgICAgICAgICAgIGdldFBhdGg6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoUGF0aFV0aWxzLmNyZWF0ZShbMCwgMF0pKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IHRhYmxlUGx1Z2luLm5vcm1hbGl6ZU5vZGUoe1xuICAgICAgICAgIG9iamVjdDogJ2RvY3VtZW50JyxcbiAgICAgICAgICBmaW5kRGVzY2VuZGFudCxcbiAgICAgICAgICBnZXRQYXRoOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFBhdGhVdGlscy5jcmVhdGUoWzAsIDBdKSksXG4gICAgICAgICAgZ2V0UHJldmlvdXNOb2RlOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHVuZGVmaW5lZCksXG4gICAgICAgICAgZ2V0TmV4dE5vZGU6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUodW5kZWZpbmVkKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhwZWN0KHJldHVyblZhbHVlKS50b0VxdWFsKGV4cGVjdC5hbnkoRnVuY3Rpb24pKTtcblxuICAgICAgICByZXR1cm5WYWx1ZShjaGFuZ2UpO1xuXG4gICAgICAgIGV4cGVjdChjaGFuZ2UuaW5zZXJ0Tm9kZUJ5UGF0aCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoWzBdLCAwLCB7XG4gICAgICAgICAgb2JqZWN0OiAnYmxvY2snLFxuICAgICAgICAgIHR5cGU6ICdkaXYnLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgncGFyc2VTdHlsZVN0cmluZycsICgpID0+IHtcbiAgY29uc3QgcGFyc2VzID0gKHMsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYHBhcnNlcyAke3N9IC0+ICR7SlNPTi5zdHJpbmdpZnkoZXhwZWN0ZWQpfWAsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhcnNlU3R5bGVTdHJpbmcocyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcbiAgfTtcbiAgcGFyc2VzKCcgd2lkdGg6IDEwcHggJywgeyB3aWR0aDogJzEwcHgnIH0pO1xuICBwYXJzZXMoJyB3aWR0aDogMTBweDsgJywgeyB3aWR0aDogJzEwcHgnIH0pO1xuICBwYXJzZXMoJyBib3JkZXItd2lkdGg6IDEwcHg7ICcsIHsgJ2JvcmRlci13aWR0aCc6ICcxMHB4JyB9KTtcbiAgcGFyc2VzKCcgYm9yZGVyOiBzb2xpZCAxcHggcmVkOyBoZWlnaHQ6IDFweCcsIHtcbiAgICBib3JkZXI6ICdzb2xpZCAxcHggcmVkJyxcbiAgICBoZWlnaHQ6ICcxcHgnLFxuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgndG9TdHlsZVN0cmluZycsICgpID0+IHtcbiAgY29uc3Qgc3R5bGVTdHJpbmcgPSAobywgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgJHtKU09OLnN0cmluZ2lmeShzKX0gLT4gJHtleHBlY3RlZH1gLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0b1N0eWxlU3RyaW5nKG8pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG59KTtcblxuZGVzY3JpYmUoJ3JlYWN0QXR0cmlidXRlcycsICgpID0+IHtcbiAgY29uc3QgYXR0cmlidXRlcyA9IChvLCBleHBlY3RlZCkgPT4ge1xuICAgIGl0KGAke0pTT04uc3RyaW5naWZ5KG8pfSAtPiAke0pTT04uc3RyaW5naWZ5KGV4cGVjdGVkKX1gLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSByZWFjdEF0dHJpYnV0ZXMobyk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICB9KTtcbiAgfTtcbiAgYXR0cmlidXRlcyh7ICdib3JkZXItd2lkdGgnOiAnMTBweCcsICdsaW5lLWhlaWdodCc6IDEuNTYgfSwgeyBib3JkZXJXaWR0aDogJzEwcHgnLCBsaW5lSGVpZ2h0OiAnMS41NicgfSk7XG59KTtcblxuZGVzY3JpYmUoJ3NlcmlhbGl6YXRpb24nLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdkZXNlcmlhbGl6ZScsICgpID0+IHtcbiAgICBsZXQgbmV4dDtcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbmV4dCA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW10pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3RhYmxlJywgKCkgPT4ge1xuICAgICAgbGV0IGVsO1xuICAgICAgbGV0IG91dDtcbiAgICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgICBlbCA9IHtcbiAgICAgICAgICB0YWdOYW1lOiAndGFibGUnLFxuICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgICBnZXRBdHRyaWJ1dGU6IGplc3QuZm4oKG5hbWUpID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgICAgICAgICBjYXNlICdib3JkZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiAnMSc7XG4gICAgICAgICAgICAgIGNhc2UgJ2NlbGxzcGFjaW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJzInO1xuICAgICAgICAgICAgICBjYXNlICdjZWxscGFkZGluZyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICczJztcbiAgICAgICAgICAgICAgY2FzZSAnY2xhc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGFibGUtY2xhc3MnO1xuICAgICAgICAgICAgICBjYXNlICdzdHlsZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd3aWR0aDogMTBweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICAgIG91dCA9IHNlcmlhbGl6YXRpb24uZGVzZXJpYWxpemUoZWwsIG5leHQpO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGFzc2VydERhdGEgPSAobmFtZSwgdmFsdWUpID0+IHtcbiAgICAgICAgaXQoYGRhdGEuJHtuYW1lfSBzaG91bGQgZXFsICR7dmFsdWV9YCwgKCkgPT4ge1xuICAgICAgICAgIGV4cGVjdChvdXQuZGF0YVtuYW1lXSkudG9FcXVhbCh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgYXNzZXJ0RGF0YSgnYm9yZGVyJywgJzEnKTtcbiAgICAgIGFzc2VydERhdGEoJ2NlbGxzcGFjaW5nJywgJzInKTtcbiAgICAgIGFzc2VydERhdGEoJ2NlbGxwYWRkaW5nJywgJzMnKTtcbiAgICAgIGFzc2VydERhdGEoJ2NsYXNzJywgJ3RhYmxlLWNsYXNzJyk7XG4gICAgICBhc3NlcnREYXRhKCdzdHlsZScsIHsgd2lkdGg6ICcxMHB4JyB9KTtcbiAgICAgIGl0KCdyZXR1cm5zIGEgdGFibGUgYmxvY2snLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChvdXQpLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgICB0eXBlOiAndGFibGUnLFxuICAgICAgICAgIG5vZGVzOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXNlcmlhbGl6ZXMgdHInLCAoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IHtcbiAgICAgICAgdGFnTmFtZTogJ3RyJyxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgfTtcblxuICAgICAgY29uc3Qgb3V0ID0gc2VyaWFsaXphdGlvbi5kZXNlcmlhbGl6ZShlbCwgbmV4dCk7XG5cbiAgICAgIGV4cGVjdChvdXQpLnRvRXF1YWwoe1xuICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgIHR5cGU6ICd0YWJsZV9yb3cnLFxuICAgICAgICBub2RlczogW10sXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdkZXNlcmlhbGl6ZXMgdGQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBlbCA9IHtcbiAgICAgICAgdGFnTmFtZTogJ3RkJyxcbiAgICAgICAgY2hpbGROb2RlczogW10sXG4gICAgICAgIGdldEF0dHJpYnV0ZTogamVzdC5mbihmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgICAgY29uc3QgbyA9IHtcbiAgICAgICAgICAgIGNsYXNzOiAnY2xhc3MgbmFtZScsXG4gICAgICAgICAgICBjb2xzcGFuOiAnMScsXG4gICAgICAgICAgICByb3dzcGFuOiAnMScsXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gb1tuYW1lXTtcbiAgICAgICAgfSksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBvdXQgPSBzZXJpYWxpemF0aW9uLmRlc2VyaWFsaXplKGVsLCBuZXh0KTtcblxuICAgICAgZXhwZWN0KG91dCkudG9FcXVhbCh7XG4gICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgdHlwZTogJ3RhYmxlX2NlbGwnLFxuICAgICAgICBub2RlczogW10sXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBjb2xzcGFuOiAnMScsXG4gICAgICAgICAgcm93c3BhbjogJzEnLFxuICAgICAgICAgIGNsYXNzOiAnY2xhc3MgbmFtZScsXG4gICAgICAgICAgaGVhZGVyOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnc2VyaWFsaXplJywgKCkgPT4ge1xuICAgIGl0KCdzZXJpYWxpemVzIHRhYmxlJywgKCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBzZXJpYWxpemF0aW9uLnNlcmlhbGl6ZSh7XG4gICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgICAgbm9kZXM6IFtdLFxuICAgICAgICBkYXRhOiBEYXRhLmNyZWF0ZSh7XG4gICAgICAgICAgYm9yZGVyOiAnMScsXG4gICAgICAgICAgY2VsbHBhZGRpbmc6ICcyJyxcbiAgICAgICAgICBjZWxsc3BhY2luZzogJzMnLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZWwpLnRvRXF1YWwoXG4gICAgICAgIDx0YWJsZSBib3JkZXI9XCIxXCIgY2VsbFBhZGRpbmc9XCIyXCIgY2VsbFNwYWNpbmc9XCIzXCI+XG4gICAgICAgICAgPHRib2R5IC8+XG4gICAgICAgIDwvdGFibGU+LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzZXJpYWxpemVzIHRhYmxlX3JvdycsICgpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gc2VyaWFsaXphdGlvbi5zZXJpYWxpemUoe1xuICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgIHR5cGU6ICd0YWJsZV9yb3cnLFxuICAgICAgICBub2RlczogW10sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KGVsKS50b0VxdWFsKDx0ciAvPik7XG4gICAgfSk7XG4gICAgaXQoJ3NlcmlhbGl6ZXMgdGFibGVfY2VsbCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gc2VyaWFsaXphdGlvbi5zZXJpYWxpemUoe1xuICAgICAgICBvYmplY3Q6ICdibG9jaycsXG4gICAgICAgIHR5cGU6ICd0YWJsZV9jZWxsJyxcbiAgICAgICAgbm9kZXM6IFtdLFxuICAgICAgICBkYXRhOiBEYXRhLmNyZWF0ZSh7XG4gICAgICAgICAgaGVhZGVyOiBmYWxzZSxcbiAgICAgICAgICBzdHlsZTogeyB3aWR0aDogJzEwcHgnIH0sXG4gICAgICAgICAgY2xhc3M6ICdmb28nLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QoZWwpLnRvRXF1YWwoPHRkIHN0eWxlPXt7IHdpZHRoOiAnMTBweCcgfX0gY2xhc3NOYW1lPXsnZm9vJ30gLz4pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsZUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FB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LEtBQUssRUFBRSxFQUFFO1FBQ1Q1QixJQUFJLEVBQUVrQixXQUFJLENBQUNwQixNQUFNLENBQUM7VUFDaEJHLE1BQU0sRUFBRSxHQUFHO1VBQ1hzRSxXQUFXLEVBQUUsR0FBRztVQUNoQkMsV0FBVyxFQUFFO1FBQ2YsQ0FBQztNQUNILENBQUMsQ0FBQztNQUVGOUUsTUFBTSxDQUFDOEQsRUFBRSxDQUFDLENBQUMzQyxPQUFPLGNBQ2hCcEUsTUFBQSxZQUFBZ0ksYUFBQTtRQUFPeEUsTUFBTSxFQUFDLEdBQUc7UUFBQ3lFLFdBQVcsRUFBQyxHQUFHO1FBQUNDLFdBQVcsRUFBQztNQUFHLGdCQUMvQ2xJLE1BQUEsWUFBQWdJLGFBQUEsY0FBUSxDQUNILENBQ1QsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGbkYsRUFBRSxDQUFDLHNCQUFzQixFQUFFLFlBQU07TUFDL0IsSUFBTWtFLEVBQUUsR0FBR00sb0JBQWEsQ0FBQ1EsU0FBUyxDQUFDO1FBQ2pDOUYsTUFBTSxFQUFFLE9BQU87UUFDZkMsSUFBSSxFQUFFLFdBQVc7UUFDakJtRCxLQUFLLEVBQUU7TUFDVCxDQUFDLENBQUM7TUFFRmxDLE1BQU0sQ0FBQzhELEVBQUUsQ0FBQyxDQUFDM0MsT0FBTyxjQUFDcEUsTUFBQSxZQUFBZ0ksYUFBQSxXQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUM7SUFDRm5GLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxZQUFNO01BQ2hDLElBQU1rRSxFQUFFLEdBQUdNLG9CQUFhLENBQUNRLFNBQVMsQ0FBQztRQUNqQzlGLE1BQU0sRUFBRSxPQUFPO1FBQ2ZDLElBQUksRUFBRSxZQUFZO1FBQ2xCbUQsS0FBSyxFQUFFLEVBQUU7UUFDVDVCLElBQUksRUFBRWtCLFdBQUksQ0FBQ3BCLE1BQU0sQ0FBQztVQUNoQnVFLE1BQU0sRUFBRSxLQUFLO1VBQ2JPLEtBQUssRUFBRTtZQUFFN0IsS0FBSyxFQUFFO1VBQU8sQ0FBQztVQUN4QixTQUFPO1FBQ1QsQ0FBQztNQUNILENBQUMsQ0FBQztNQUVGckQsTUFBTSxDQUFDOEQsRUFBRSxDQUFDLENBQUMzQyxPQUFPLGNBQUNwRSxNQUFBLFlBQUFnSSxhQUFBO1FBQUlHLEtBQUssRUFBRTtVQUFFN0IsS0FBSyxFQUFFO1FBQU8sQ0FBRTtRQUFDOEIsU0FBUyxFQUFFO01BQU0sQ0FBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
var _react2 = require("@testing-library/react");
|
|
7
|
-
var _tableToolbar = require("../table-toolbar");
|
|
8
|
-
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; }
|
|
9
|
-
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; }
|
|
10
|
-
describe('table-toolbar', function () {
|
|
11
|
-
var onDone, onAddColumn, onAddRow, onRemoveColumn, onRemoveRow, onRemoveTable, onToggleBorder;
|
|
12
|
-
beforeEach(function () {
|
|
13
|
-
onAddColumn = jest.fn();
|
|
14
|
-
onAddRow = jest.fn();
|
|
15
|
-
onRemoveColumn = jest.fn();
|
|
16
|
-
onRemoveRow = jest.fn();
|
|
17
|
-
onRemoveTable = jest.fn();
|
|
18
|
-
onDone = jest.fn();
|
|
19
|
-
onToggleBorder = jest.fn();
|
|
20
|
-
});
|
|
21
|
-
var renderComponent = function renderComponent() {
|
|
22
|
-
var extras = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
23
|
-
var props = _objectSpread({
|
|
24
|
-
onDone: onDone,
|
|
25
|
-
onAddRow: onAddRow,
|
|
26
|
-
onRemoveRow: onRemoveRow,
|
|
27
|
-
onAddColumn: onAddColumn,
|
|
28
|
-
onRemoveColumn: onRemoveColumn,
|
|
29
|
-
onRemoveTable: onRemoveTable,
|
|
30
|
-
hasBorder: true,
|
|
31
|
-
onToggleBorder: onToggleBorder,
|
|
32
|
-
classes: {
|
|
33
|
-
tableToolbar: 'table-toolbar'
|
|
34
|
-
},
|
|
35
|
-
plugins: [],
|
|
36
|
-
value: {},
|
|
37
|
-
onChange: jest.fn()
|
|
38
|
-
}, extras);
|
|
39
|
-
return (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_tableToolbar.TableToolbar, props));
|
|
40
|
-
};
|
|
41
|
-
describe('rendering', function () {
|
|
42
|
-
it('renders toolbar without crashing', function () {
|
|
43
|
-
var _renderComponent = renderComponent(),
|
|
44
|
-
container = _renderComponent.container;
|
|
45
|
-
|
|
46
|
-
// Check that the toolbar container is rendered
|
|
47
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
48
|
-
|
|
49
|
-
// Check for Done button (only one with aria-label)
|
|
50
|
-
expect(_react2.screen.getByLabelText('Done')).toBeInTheDocument();
|
|
51
|
-
|
|
52
|
-
// Check that there are multiple buttons (table manipulation buttons)
|
|
53
|
-
var buttons = container.querySelectorAll('button');
|
|
54
|
-
expect(buttons.length).toBeGreaterThan(1);
|
|
55
|
-
});
|
|
56
|
-
it('renders with hasBorder prop', function () {
|
|
57
|
-
var _renderComponent2 = renderComponent({
|
|
58
|
-
hasBorder: false
|
|
59
|
-
}),
|
|
60
|
-
container = _renderComponent2.container;
|
|
61
|
-
expect(container.firstChild).toBeInTheDocument();
|
|
62
|
-
|
|
63
|
-
// Verify hasBorder affects rendering - button with aria-pressed attribute
|
|
64
|
-
var borderButton = container.querySelector('button[aria-pressed]');
|
|
65
|
-
expect(borderButton).toBeInTheDocument();
|
|
66
|
-
expect(borderButton).toHaveAttribute('aria-pressed', 'false');
|
|
67
|
-
});
|
|
68
|
-
it('renders with hasBorder true', function () {
|
|
69
|
-
var _renderComponent3 = renderComponent({
|
|
70
|
-
hasBorder: true
|
|
71
|
-
}),
|
|
72
|
-
container = _renderComponent3.container;
|
|
73
|
-
|
|
74
|
-
// Verify hasBorder affects rendering
|
|
75
|
-
var borderButton = container.querySelector('button[aria-pressed]');
|
|
76
|
-
expect(borderButton).toBeInTheDocument();
|
|
77
|
-
expect(borderButton).toHaveAttribute('aria-pressed', 'true');
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfdGFibGVUb29sYmFyIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJkZXNjcmliZSIsIm9uRG9uZSIsIm9uQWRkQ29sdW1uIiwib25BZGRSb3ciLCJvblJlbW92ZUNvbHVtbiIsIm9uUmVtb3ZlUm93Iiwib25SZW1vdmVUYWJsZSIsIm9uVG9nZ2xlQm9yZGVyIiwiYmVmb3JlRWFjaCIsImplc3QiLCJmbiIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsInVuZGVmaW5lZCIsInByb3BzIiwiaGFzQm9yZGVyIiwiY2xhc3NlcyIsInRhYmxlVG9vbGJhciIsInBsdWdpbnMiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlRhYmxlVG9vbGJhciIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInNjcmVlbiIsImdldEJ5TGFiZWxUZXh0IiwiYnV0dG9ucyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJ0b0JlR3JlYXRlclRoYW4iLCJfcmVuZGVyQ29tcG9uZW50MiIsImJvcmRlckJ1dHRvbiIsInF1ZXJ5U2VsZWN0b3IiLCJ0b0hhdmVBdHRyaWJ1dGUiLCJfcmVuZGVyQ29tcG9uZW50MyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3RhYmxlL19fdGVzdHNfXy90YWJsZS10b29sYmFyLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyByZW5kZXIsIHNjcmVlbiB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgVGFibGVUb29sYmFyIH0gZnJvbSAnLi4vdGFibGUtdG9vbGJhcic7XG5cbmRlc2NyaWJlKCd0YWJsZS10b29sYmFyJywgKCkgPT4ge1xuICBsZXQgb25Eb25lLCBvbkFkZENvbHVtbiwgb25BZGRSb3csIG9uUmVtb3ZlQ29sdW1uLCBvblJlbW92ZVJvdywgb25SZW1vdmVUYWJsZSwgb25Ub2dnbGVCb3JkZXI7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25BZGRDb2x1bW4gPSBqZXN0LmZuKCk7XG4gICAgb25BZGRSb3cgPSBqZXN0LmZuKCk7XG4gICAgb25SZW1vdmVDb2x1bW4gPSBqZXN0LmZuKCk7XG4gICAgb25SZW1vdmVSb3cgPSBqZXN0LmZuKCk7XG4gICAgb25SZW1vdmVUYWJsZSA9IGplc3QuZm4oKTtcbiAgICBvbkRvbmUgPSBqZXN0LmZuKCk7XG4gICAgb25Ub2dnbGVCb3JkZXIgPSBqZXN0LmZuKCk7XG4gIH0pO1xuXG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMgPSB7fSkgPT4ge1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgb25Eb25lLFxuICAgICAgb25BZGRSb3csXG4gICAgICBvblJlbW92ZVJvdyxcbiAgICAgIG9uQWRkQ29sdW1uLFxuICAgICAgb25SZW1vdmVDb2x1bW4sXG4gICAgICBvblJlbW92ZVRhYmxlLFxuICAgICAgaGFzQm9yZGVyOiB0cnVlLFxuICAgICAgb25Ub2dnbGVCb3JkZXIsXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIHRhYmxlVG9vbGJhcjogJ3RhYmxlLXRvb2xiYXInLFxuICAgICAgfSxcbiAgICAgIHBsdWdpbnM6IFtdLFxuICAgICAgdmFsdWU6IHt9LFxuICAgICAgb25DaGFuZ2U6IGplc3QuZm4oKSxcbiAgICAgIC4uLmV4dHJhcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlbmRlcig8VGFibGVUb29sYmFyIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgdG9vbGJhciB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuXG4gICAgICAvLyBDaGVjayB0aGF0IHRoZSB0b29sYmFyIGNvbnRhaW5lciBpcyByZW5kZXJlZFxuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuXG4gICAgICAvLyBDaGVjayBmb3IgRG9uZSBidXR0b24gKG9ubHkgb25lIHdpdGggYXJpYS1sYWJlbClcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ0RvbmUnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcblxuICAgICAgLy8gQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbXVsdGlwbGUgYnV0dG9ucyAodGFibGUgbWFuaXB1bGF0aW9uIGJ1dHRvbnMpXG4gICAgICBjb25zdCBidXR0b25zID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpO1xuICAgICAgZXhwZWN0KGJ1dHRvbnMubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMSk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGhhc0JvcmRlciBwcm9wJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGhhc0JvcmRlcjogZmFsc2UgfSk7XG5cbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcblxuICAgICAgLy8gVmVyaWZ5IGhhc0JvcmRlciBhZmZlY3RzIHJlbmRlcmluZyAtIGJ1dHRvbiB3aXRoIGFyaWEtcHJlc3NlZCBhdHRyaWJ1dGVcbiAgICAgIGNvbnN0IGJvcmRlckJ1dHRvbiA9IGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdidXR0b25bYXJpYS1wcmVzc2VkXScpO1xuICAgICAgZXhwZWN0KGJvcmRlckJ1dHRvbikudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICAgIGV4cGVjdChib3JkZXJCdXR0b24pLnRvSGF2ZUF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJywgJ2ZhbHNlJyk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyB3aXRoIGhhc0JvcmRlciB0cnVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGhhc0JvcmRlcjogdHJ1ZSB9KTtcblxuICAgICAgLy8gVmVyaWZ5IGhhc0JvcmRlciBhZmZlY3RzIHJlbmRlcmluZ1xuICAgICAgY29uc3QgYm9yZGVyQnV0dG9uID0gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvblthcmlhLXByZXNzZWRdJyk7XG4gICAgICBleHBlY3QoYm9yZGVyQnV0dG9uKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgICAgZXhwZWN0KGJvcmRlckJ1dHRvbikudG9IYXZlQXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCAndHJ1ZScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBQWdELFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFC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
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.RemoveTable = exports.RemoveRow = exports.RemoveColumn = exports.AddRow = exports.AddColumn = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _styles = require("@mui/material/styles");
|
|
11
|
-
var StyledPath = (0, _styles.styled)('path')({
|
|
12
|
-
fill: 'grey',
|
|
13
|
-
'&:hover': {
|
|
14
|
-
fill: 'black'
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
var SvgIcon = function SvgIcon(Component) {
|
|
18
|
-
var SvgIconComponent = function SvgIconComponent(props) {
|
|
19
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
20
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
21
|
-
version: "1.1",
|
|
22
|
-
width: "24",
|
|
23
|
-
height: "24",
|
|
24
|
-
viewBox: "0 0 24 24"
|
|
25
|
-
}, /*#__PURE__*/_react["default"].createElement(Component, props));
|
|
26
|
-
};
|
|
27
|
-
SvgIconComponent.displayName = "SvgIcon(".concat(Component.displayName || Component.name || 'Component', ")");
|
|
28
|
-
return SvgIconComponent;
|
|
29
|
-
};
|
|
30
|
-
var AddRow = exports.AddRow = SvgIcon(function (props) {
|
|
31
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
|
|
32
|
-
d: "M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z"
|
|
33
|
-
}));
|
|
34
|
-
});
|
|
35
|
-
var RemoveRow = exports.RemoveRow = SvgIcon(function (props) {
|
|
36
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
|
|
37
|
-
d: "M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z"
|
|
38
|
-
}));
|
|
39
|
-
});
|
|
40
|
-
var AddColumn = exports.AddColumn = SvgIcon(function (props) {
|
|
41
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
|
|
42
|
-
d: "M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z"
|
|
43
|
-
}));
|
|
44
|
-
});
|
|
45
|
-
var RemoveColumn = exports.RemoveColumn = SvgIcon(function (props) {
|
|
46
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
|
|
47
|
-
d: "M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z"
|
|
48
|
-
}));
|
|
49
|
-
});
|
|
50
|
-
var RemoveTable = exports.RemoveTable = SvgIcon(function (props) {
|
|
51
|
-
return /*#__PURE__*/_react["default"].createElement(StyledPath, (0, _extends2["default"])({}, props, {
|
|
52
|
-
d: "M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z"
|
|
53
|
-
}));
|
|
54
|
-
});
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJTdHlsZWRQYXRoIiwic3R5bGVkIiwiZmlsbCIsIlN2Z0ljb24iLCJDb21wb25lbnQiLCJTdmdJY29uQ29tcG9uZW50IiwicHJvcHMiLCJjcmVhdGVFbGVtZW50IiwieG1sbnMiLCJ2ZXJzaW9uIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZGlzcGxheU5hbWUiLCJjb25jYXQiLCJuYW1lIiwiQWRkUm93IiwiZXhwb3J0cyIsIl9leHRlbmRzMiIsImQiLCJSZW1vdmVSb3ciLCJBZGRDb2x1bW4iLCJSZW1vdmVDb2x1bW4iLCJSZW1vdmVUYWJsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL3RhYmxlL2ljb25zL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuXG5jb25zdCBTdHlsZWRQYXRoID0gc3R5bGVkKCdwYXRoJykoe1xuICBmaWxsOiAnZ3JleScsXG4gICcmOmhvdmVyJzoge1xuICAgIGZpbGw6ICdibGFjaycsXG4gIH0sXG59KTtcblxuY29uc3QgU3ZnSWNvbiA9IChDb21wb25lbnQpID0+IHtcbiAgY29uc3QgU3ZnSWNvbkNvbXBvbmVudCA9IChwcm9wcykgPT4gKFxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICA8Q29tcG9uZW50IHsuLi5wcm9wc30gLz5cbiAgICA8L3N2Zz5cbiAgKTtcbiAgU3ZnSWNvbkNvbXBvbmVudC5kaXNwbGF5TmFtZSA9IGBTdmdJY29uKCR7Q29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8ICdDb21wb25lbnQnfSlgO1xuICByZXR1cm4gU3ZnSWNvbkNvbXBvbmVudDtcbn07XG5leHBvcnQgY29uc3QgQWRkUm93ID0gU3ZnSWNvbigocHJvcHMpID0+IChcbiAgPFN0eWxlZFBhdGhcbiAgICB7Li4ucHJvcHN9XG4gICAgZD1cIk0yMiwxMEEyLDIgMCAwLDEgMjAsMTJINEEyLDIgMCAwLDEgMiwxMFYzSDRWNUg4VjNIMTBWNUgxNFYzSDE2VjVIMjBWM0gyMlYxME00LDEwSDhWN0g0VjEwTTEwLDEwSDE0VjdIMTBWMTBNMjAsMTBWN0gxNlYxMEgyME0xMSwxNEgxM1YxN0gxNlYxOUgxM1YyMkgxMVYxOUg4VjE3SDExVjE0WlwiXG4gIC8+XG4pKTtcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVJvdyA9IFN2Z0ljb24oKHByb3BzKSA9PiAoXG4gIDxTdHlsZWRQYXRoXG4gICAgey4uLnByb3BzfVxuICAgIGQ9XCJNOS40MSwxM0wxMiwxNS41OUwxNC41OSwxM0wxNiwxNC40MUwxMy40MSwxN0wxNiwxOS41OUwxNC41OSwyMUwxMiwxOC40MUw5LjQxLDIxTDgsMTkuNTlMMTAuNTksMTdMOCwxNC40MUw5LjQxLDEzTTIyLDlBMiwyIDAgMCwxIDIwLDExSDRBMiwyIDAgMCwxIDIsOVY2QTIsMiAwIDAsMSA0LDRIMjBBMiwyIDAgMCwxIDIyLDZWOU00LDlIOFY2SDRWOU0xMCw5SDE0VjZIMTBWOU0xNiw5SDIwVjZIMTZWOVpcIlxuICAvPlxuKSk7XG5cbmV4cG9ydCBjb25zdCBBZGRDb2x1bW4gPSBTdmdJY29uKChwcm9wcykgPT4gKFxuICA8U3R5bGVkUGF0aFxuICAgIHsuLi5wcm9wc31cbiAgICBkPVwiTTExLDJBMiwyIDAgMCwxIDEzLDRWMjBBMiwyIDAgMCwxIDExLDIySDJWMkgxMU00LDEwVjE0SDExVjEwSDRNNCwxNlYyMEgxMVYxNkg0TTQsNFY4SDExVjRINE0xNSwxMUgxOFY4SDIwVjExSDIzVjEzSDIwVjE2SDE4VjEzSDE1VjExWlwiXG4gIC8+XG4pKTtcblxuZXhwb3J0IGNvbnN0IFJlbW92ZUNvbHVtbiA9IFN2Z0ljb24oKHByb3BzKSA9PiAoXG4gIDxTdHlsZWRQYXRoXG4gICAgey4uLnByb3BzfVxuICAgIGQ9XCJNNCwySDExQTIsMiAwIDAsMSAxMyw0VjIwQTIsMiAwIDAsMSAxMSwyMkg0QTIsMiAwIDAsMSAyLDIwVjRBMiwyIDAgMCwxIDQsMk00LDEwVjE0SDExVjEwSDRNNCwxNlYyMEgxMVYxNkg0TTQsNFY4SDExVjRINE0xNy41OSwxMkwxNSw5LjQxTDE2LjQxLDhMMTksMTAuNTlMMjEuNTksOEwyMyw5LjQxTDIwLjQxLDEyTDIzLDE0LjU5TDIxLjU5LDE2TDE5LDEzLjQxTDE2LjQxLDE2TDE1LDE0LjU5TDE3LjU5LDEyWlwiXG4gIC8+XG4pKTtcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVRhYmxlID0gU3ZnSWNvbigocHJvcHMpID0+IChcbiAgPFN0eWxlZFBhdGhcbiAgICB7Li4ucHJvcHN9XG4gICAgZD1cIk0xNS40NiwxNS44OEwxNi44OCwxNC40NkwxOSwxNi41OUwyMS4xMiwxNC40NkwyMi41NCwxNS44OEwyMC40MSwxOEwyMi41NCwyMC4xMkwyMS4xMiwyMS41NEwxOSwxOS40MUwxNi44OCwyMS41NEwxNS40NiwyMC4xMkwxNy41OSwxOEwxNS40NiwxNS44OE00LDNIMThBMiwyIDAgMCwxIDIwLDVWMTIuMDhDMTguNDUsMTEuODIgMTYuOTIsMTIuMTggMTUuNjgsMTNIMTJWMTdIMTMuMDhDMTIuOTcsMTcuNjggMTIuOTcsMTguMzUgMTMuMDgsMTlINEEyLDIgMCAwLDEgMiwxN1Y1QTIsMiAwIDAsMSA0LDNNNCw3VjExSDEwVjdINE0xMiw3VjExSDE4VjdIMTJNNCwxM1YxN0gxMFYxM0g0WlwiXG4gIC8+XG4pKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFNRSxVQUFVLEdBQUcsSUFBQUMsY0FBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0VBQ2hDQyxJQUFJLEVBQUUsTUFBTTtFQUNaLFNBQVMsRUFBRTtJQUNUQSxJQUFJLEVBQUU7RUFDUjtBQUNGLENBQUMsQ0FBQztBQUVGLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxTQUFTLEVBQUs7RUFDN0IsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsS0FBSztJQUFBLG9CQUM3QlYsTUFBQSxZQUFBVyxhQUFBO01BQUtDLEtBQUssRUFBQyw0QkFBNEI7TUFBQ0MsT0FBTyxFQUFDLEtBQUs7TUFBQ0MsS0FBSyxFQUFDLElBQUk7TUFBQ0MsTUFBTSxFQUFDLElBQUk7TUFBQ0MsT0FBTyxFQUFDO0lBQVcsZ0JBQzlGaEIsTUFBQSxZQUFBVyxhQUFBLENBQUNILFNBQVMsRUFBS0UsS0FBUSxDQUNwQixDQUFDO0VBQUEsQ0FDUDtFQUNERCxnQkFBZ0IsQ0FBQ1EsV0FBVyxjQUFBQyxNQUFBLENBQWNWLFNBQVMsQ0FBQ1MsV0FBVyxJQUFJVCxTQUFTLENBQUNXLElBQUksSUFBSSxXQUFXLE1BQUc7RUFDbkcsT0FBT1YsZ0JBQWdCO0FBQ3pCLENBQUM7QUFDTSxJQUFNVyxNQUFNLEdBQUFDLE9BQUEsQ0FBQUQsTUFBQSxHQUFHYixPQUFPLENBQUMsVUFBQ0csS0FBSztFQUFBLG9CQUNsQ1YsTUFBQSxZQUFBVyxhQUFBLENBQUNQLFVBQVUsTUFBQWtCLFNBQUEsaUJBQ0xaLEtBQUs7SUFDVGEsQ0FBQyxFQUFDO0VBQXVLLEVBQzFLLENBQUM7QUFBQSxDQUNILENBQUM7QUFFSyxJQUFNQyxTQUFTLEdBQUFILE9BQUEsQ0FBQUcsU0FBQSxHQUFHakIsT0FBTyxDQUFDLFVBQUNHLEtBQUs7RUFBQSxvQkFDckNWLE1BQUEsWUFBQVcsYUFBQSxDQUFDUCxVQUFVLE1BQUFrQixTQUFBLGlCQUNMWixLQUFLO0lBQ1RhLENBQUMsRUFBQztFQUFzTyxFQUN6TyxDQUFDO0FBQUEsQ0FDSCxDQUFDO0FBRUssSUFBTUUsU0FBUyxHQUFBSixPQUFBLENBQUFJLFNBQUEsR0FBR2xCLE9BQU8sQ0FBQyxVQUFDRyxLQUFLO0VBQUEsb0JBQ3JDVixNQUFBLFlBQUFXLGFBQUEsQ0FBQ1AsVUFBVSxNQUFBa0IsU0FBQSxpQkFDTFosS0FBSztJQUNUYSxDQUFDLEVBQUM7RUFBdUksRUFDMUksQ0FBQztBQUFBLENBQ0gsQ0FBQztBQUVLLElBQU1HLFlBQVksR0FBQUwsT0FBQSxDQUFBSyxZQUFBLEdBQUduQixPQUFPLENBQUMsVUFBQ0csS0FBSztFQUFBLG9CQUN4Q1YsTUFBQSxZQUFBVyxhQUFBLENBQUNQLFVBQVUsTUFBQWtCLFNBQUEsaUJBQ0xaLEtBQUs7SUFDVGEsQ0FBQyxFQUFDO0VBQTJPLEVBQzlPLENBQUM7QUFBQSxDQUNILENBQUM7QUFFSyxJQUFNSSxXQUFXLEdBQUFOLE9BQUEsQ0FBQU0sV0FBQSxHQUFHcEIsT0FBTyxDQUFDLFVBQUNHLEtBQUs7RUFBQSxvQkFDdkNWLE1BQUEsWUFBQVcsYUFBQSxDQUFDUCxVQUFVLE1BQUFrQixTQUFBLGlCQUNMWixLQUFLO0lBQ1RhLENBQUMsRUFBQztFQUE0VSxFQUMvVSxDQUFDO0FBQUEsQ0FDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|