@pie-lib/editable-html-tip-tap 1.1.0-next.6059 → 1.1.1-next.1
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 +44 -0
- package/lib/__tests__/EditableHtml.test.js +374 -0
- package/lib/__tests__/constants.test.js +28 -0
- package/lib/__tests__/extensions.test.js +214 -0
- package/lib/__tests__/index.test.js +246 -0
- package/lib/__tests__/size-utils.test.js +57 -0
- package/lib/__tests__/theme.test.js +17 -0
- package/lib/components/CharacterPicker.js +18 -0
- package/lib/components/CharacterPicker.js.map +1 -1
- package/lib/components/EditableHtml.js +22 -5
- package/lib/components/EditableHtml.js.map +1 -1
- package/lib/components/MenuBar.js +17 -0
- package/lib/components/MenuBar.js.map +1 -1
- package/lib/components/TiptapContainer.js +16 -0
- package/lib/components/TiptapContainer.js.map +1 -1
- package/lib/components/__tests__/AltDialog.test.js +201 -0
- package/lib/components/__tests__/CharacterPicker.test.js +313 -0
- package/lib/components/__tests__/CssIcon.test.js +58 -0
- package/lib/components/__tests__/DragInTheBlank.test.js +309 -0
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +263 -0
- package/lib/components/__tests__/ImageToolbar.test.js +195 -0
- package/lib/components/__tests__/InlineDropdown.test.js +297 -0
- package/lib/components/__tests__/InsertImageHandler.test.js +162 -0
- package/lib/components/__tests__/MediaDialog.test.js +435 -0
- package/lib/components/__tests__/MediaToolbar.test.js +126 -0
- package/lib/components/__tests__/MediaWrapper.test.js +96 -0
- package/lib/components/__tests__/MenuBar.test.js +459 -0
- package/lib/components/__tests__/RespArea.test.js +171 -0
- package/lib/components/__tests__/TableIcons.test.js +153 -0
- package/lib/components/__tests__/TextAlign.test.js +216 -0
- package/lib/components/__tests__/TiptapContainer.test.js +196 -0
- package/lib/components/__tests__/characterUtils.test.js +189 -0
- package/lib/components/__tests__/choice.test.js +213 -0
- package/lib/components/__tests__/custom-popper.test.js +108 -0
- package/lib/components/__tests__/done-button.test.js +72 -0
- package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
- package/lib/components/characters/characterUtils.js +2 -0
- package/lib/components/characters/characterUtils.js.map +1 -1
- package/lib/components/characters/custom-popper.js +1 -0
- package/lib/components/characters/custom-popper.js.map +1 -1
- package/lib/components/common/done-button.js +1 -0
- package/lib/components/common/done-button.js.map +1 -1
- package/lib/components/common/toolbar-buttons.js +12 -0
- package/lib/components/common/toolbar-buttons.js.map +1 -1
- package/lib/components/icons/CssIcon.js +1 -0
- package/lib/components/icons/CssIcon.js.map +1 -1
- package/lib/components/icons/RespArea.js +10 -0
- package/lib/components/icons/RespArea.js.map +1 -1
- package/lib/components/icons/TableIcons.js +1 -0
- package/lib/components/icons/TableIcons.js.map +1 -1
- package/lib/components/icons/TextAlign.js +7 -0
- package/lib/components/icons/TextAlign.js.map +1 -1
- package/lib/components/image/AltDialog.js +5 -0
- package/lib/components/image/AltDialog.js.map +1 -1
- package/lib/components/image/ImageToolbar.js +13 -0
- package/lib/components/image/ImageToolbar.js.map +1 -1
- package/lib/components/image/InsertImageHandler.js +10 -0
- package/lib/components/image/InsertImageHandler.js.map +1 -1
- package/lib/components/media/MediaDialog.js +18 -0
- package/lib/components/media/MediaDialog.js.map +1 -1
- package/lib/components/media/MediaToolbar.js +2 -0
- package/lib/components/media/MediaToolbar.js.map +1 -1
- package/lib/components/media/MediaWrapper.js +11 -0
- package/lib/components/media/MediaWrapper.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +10 -0
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +8 -0
- package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +8 -0
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
- package/lib/components/respArea/InlineDropdown.js +7 -0
- package/lib/components/respArea/InlineDropdown.js.map +1 -1
- package/lib/components/respArea/ToolbarIcon.js +10 -0
- package/lib/components/respArea/ToolbarIcon.js.map +1 -1
- package/lib/constants.js +1 -0
- package/lib/constants.js.map +1 -1
- package/lib/extensions/__tests__/component.test.js +314 -0
- package/lib/extensions/__tests__/css.test.js +218 -0
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +185 -0
- package/lib/extensions/__tests__/extended-table.test.js +114 -0
- package/lib/extensions/__tests__/image.test.js +178 -0
- package/lib/extensions/__tests__/media.test.js +296 -0
- package/lib/extensions/__tests__/responseArea.test.js +332 -0
- package/lib/extensions/component.js +22 -2
- package/lib/extensions/css.js +11 -0
- package/lib/extensions/css.js.map +1 -1
- package/lib/extensions/custom-toolbar-wrapper.js +15 -0
- package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
- package/lib/extensions/extended-table.js +4 -0
- package/lib/extensions/extended-table.js.map +1 -1
- package/lib/extensions/image-component.js +314 -0
- package/lib/extensions/image-component.js.map +1 -0
- package/lib/extensions/image.js +13 -2
- package/lib/extensions/image.js.map +1 -1
- package/lib/extensions/index.js +12 -2
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/math.js +16 -0
- package/lib/extensions/math.js.map +1 -1
- package/lib/extensions/media.js +15 -0
- package/lib/extensions/media.js.map +1 -1
- package/lib/extensions/responseArea.js +22 -0
- package/lib/extensions/responseArea.js.map +1 -1
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -1
- package/lib/styles/editorContainerStyles.js +1 -0
- package/lib/styles/editorContainerStyles.js.map +1 -1
- package/lib/theme.js +1 -0
- package/lib/theme.js.map +1 -1
- package/lib/utils/size.js +6 -0
- package/lib/utils/size.js.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/EditableHtml.test.jsx +266 -0
- package/src/__tests__/constants.test.js +20 -0
- package/src/__tests__/extensions.test.js +208 -0
- package/src/__tests__/index.test.jsx +146 -0
- package/src/__tests__/size-utils.test.js +64 -0
- package/src/__tests__/theme.test.js +17 -0
- package/src/components/EditableHtml.jsx +8 -6
- package/src/components/__tests__/AltDialog.test.jsx +147 -0
- package/src/components/__tests__/CharacterPicker.test.jsx +195 -0
- package/src/components/__tests__/CssIcon.test.jsx +46 -0
- package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +161 -0
- package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
- package/src/components/__tests__/InlineDropdown.test.jsx +187 -0
- package/src/components/__tests__/InsertImageHandler.test.js +154 -0
- package/src/components/__tests__/MediaDialog.test.jsx +293 -0
- package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
- package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
- package/src/components/__tests__/MenuBar.test.jsx +217 -0
- package/src/components/__tests__/RespArea.test.jsx +122 -0
- package/src/components/__tests__/TableIcons.test.jsx +149 -0
- package/src/components/__tests__/TextAlign.test.jsx +167 -0
- package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
- package/src/components/__tests__/characterUtils.test.js +166 -0
- package/src/components/__tests__/choice.test.jsx +171 -0
- package/src/components/__tests__/custom-popper.test.jsx +82 -0
- package/src/components/__tests__/done-button.test.jsx +54 -0
- package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
- package/src/extensions/__tests__/css.test.js +196 -0
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
- package/src/extensions/__tests__/extended-table.test.js +107 -0
- package/src/extensions/__tests__/image-component.test.jsx +249 -0
- package/src/extensions/__tests__/image.test.js +136 -0
- package/src/extensions/__tests__/media.test.js +270 -0
- package/src/extensions/__tests__/responseArea.test.js +310 -0
- package/src/extensions/{component.jsx → image-component.jsx} +11 -1
- package/src/extensions/image.js +1 -1
- package/src/extensions/index.js +5 -1
- package/LICENSE.md +0 -5
- package/NEXT.CHANGELOG.json +0 -1
- package/lib/extensions/component.js.map +0 -1
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
5
|
+
require("core-js/modules/es.array.is-array.js");
|
|
6
|
+
require("core-js/modules/es.function.name.js");
|
|
7
|
+
var _responseArea = require("../responseArea");
|
|
8
|
+
jest.mock('@tiptap/core', function () {
|
|
9
|
+
return {
|
|
10
|
+
Extension: {
|
|
11
|
+
create: jest.fn(function (config) {
|
|
12
|
+
return config;
|
|
13
|
+
})
|
|
14
|
+
},
|
|
15
|
+
Node: {
|
|
16
|
+
create: jest.fn(function (config) {
|
|
17
|
+
return config;
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
jest.mock('@tiptap/react', function () {
|
|
23
|
+
return {
|
|
24
|
+
Node: {
|
|
25
|
+
create: jest.fn(function (config) {
|
|
26
|
+
return config;
|
|
27
|
+
})
|
|
28
|
+
},
|
|
29
|
+
ReactNodeViewRenderer: jest.fn(function (component) {
|
|
30
|
+
return component;
|
|
31
|
+
})
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
jest.mock('prosemirror-state', function () {
|
|
35
|
+
return {
|
|
36
|
+
Plugin: jest.fn(function (config) {
|
|
37
|
+
return config;
|
|
38
|
+
}),
|
|
39
|
+
PluginKey: jest.fn(function (key) {
|
|
40
|
+
this.key = key;
|
|
41
|
+
}),
|
|
42
|
+
TextSelection: {
|
|
43
|
+
near: jest.fn(function (pos, dir) {
|
|
44
|
+
return {
|
|
45
|
+
type: 'text',
|
|
46
|
+
pos: pos,
|
|
47
|
+
dir: dir
|
|
48
|
+
};
|
|
49
|
+
}),
|
|
50
|
+
create: jest.fn(function (doc, pos) {
|
|
51
|
+
return {
|
|
52
|
+
type: 'text',
|
|
53
|
+
pos: pos
|
|
54
|
+
};
|
|
55
|
+
})
|
|
56
|
+
},
|
|
57
|
+
NodeSelection: {
|
|
58
|
+
create: jest.fn(function (doc, pos) {
|
|
59
|
+
return {
|
|
60
|
+
type: 'node',
|
|
61
|
+
pos: pos
|
|
62
|
+
};
|
|
63
|
+
})
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
jest.mock('../../components/respArea/ExplicitConstructedResponse', function () {
|
|
68
|
+
return {
|
|
69
|
+
__esModule: true,
|
|
70
|
+
"default": jest.fn(function () {
|
|
71
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
"data-testid": "explicit-constructed-response"
|
|
73
|
+
});
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
jest.mock('../../components/respArea/DragInTheBlank/DragInTheBlank', function () {
|
|
78
|
+
return {
|
|
79
|
+
__esModule: true,
|
|
80
|
+
"default": jest.fn(function () {
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
"data-testid": "drag-in-the-blank"
|
|
83
|
+
});
|
|
84
|
+
})
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
jest.mock('../../components/respArea/InlineDropdown', function () {
|
|
88
|
+
return {
|
|
89
|
+
__esModule: true,
|
|
90
|
+
"default": jest.fn(function () {
|
|
91
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
"data-testid": "inline-dropdown"
|
|
93
|
+
});
|
|
94
|
+
})
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
describe('ResponseAreaExtension', function () {
|
|
98
|
+
describe('configuration', function () {
|
|
99
|
+
it('has correct name', function () {
|
|
100
|
+
expect(_responseArea.ResponseAreaExtension.name).toBe('responseArea');
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
describe('addOptions', function () {
|
|
104
|
+
it('returns default options', function () {
|
|
105
|
+
var options = _responseArea.ResponseAreaExtension.addOptions();
|
|
106
|
+
expect(options).toHaveProperty('maxResponseAreas', null);
|
|
107
|
+
expect(options).toHaveProperty('error', null);
|
|
108
|
+
expect(options).toHaveProperty('options', null);
|
|
109
|
+
expect(options).toHaveProperty('respAreaToolbar', null);
|
|
110
|
+
expect(options).toHaveProperty('onHandleAreaChange', null);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('addProseMirrorPlugins', function () {
|
|
114
|
+
it('returns empty array when no type specified', function () {
|
|
115
|
+
var context = {
|
|
116
|
+
options: {}
|
|
117
|
+
};
|
|
118
|
+
var plugins = _responseArea.ResponseAreaExtension.addProseMirrorPlugins.call(context);
|
|
119
|
+
expect(Array.isArray(plugins)).toBe(true);
|
|
120
|
+
expect(plugins).toHaveLength(0);
|
|
121
|
+
});
|
|
122
|
+
it('returns plugin array when type is specified', function () {
|
|
123
|
+
var context = {
|
|
124
|
+
options: {
|
|
125
|
+
type: 'explicit-constructed-response',
|
|
126
|
+
maxResponseAreas: 5
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
var plugins = _responseArea.ResponseAreaExtension.addProseMirrorPlugins.call(context);
|
|
130
|
+
expect(Array.isArray(plugins)).toBe(true);
|
|
131
|
+
expect(plugins).toHaveLength(1);
|
|
132
|
+
expect(plugins[0]).toHaveProperty('key');
|
|
133
|
+
expect(plugins[0]).toHaveProperty('view');
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
describe('addCommands', function () {
|
|
137
|
+
it('returns insertResponseArea command', function () {
|
|
138
|
+
var commands = _responseArea.ResponseAreaExtension.addCommands();
|
|
139
|
+
expect(commands).toHaveProperty('insertResponseArea');
|
|
140
|
+
expect((0, _typeof2["default"])(commands.insertResponseArea)).toBe('function');
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
describe('ExplicitConstructedResponseNode', function () {
|
|
145
|
+
describe('configuration', function () {
|
|
146
|
+
it('has correct name', function () {
|
|
147
|
+
expect(_responseArea.ExplicitConstructedResponseNode.name).toBe('explicit_constructed_response');
|
|
148
|
+
});
|
|
149
|
+
it('is inline', function () {
|
|
150
|
+
expect(_responseArea.ExplicitConstructedResponseNode.inline).toBe(true);
|
|
151
|
+
});
|
|
152
|
+
it('is in inline group', function () {
|
|
153
|
+
expect(_responseArea.ExplicitConstructedResponseNode.group).toBe('inline');
|
|
154
|
+
});
|
|
155
|
+
it('is atomic', function () {
|
|
156
|
+
expect(_responseArea.ExplicitConstructedResponseNode.atom).toBe(true);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
describe('addAttributes', function () {
|
|
160
|
+
it('returns required attributes', function () {
|
|
161
|
+
var attributes = _responseArea.ExplicitConstructedResponseNode.addAttributes();
|
|
162
|
+
expect(attributes).toHaveProperty('index');
|
|
163
|
+
expect(attributes).toHaveProperty('value');
|
|
164
|
+
expect(attributes).toHaveProperty('updated');
|
|
165
|
+
expect(attributes.index).toEqual({
|
|
166
|
+
"default": null
|
|
167
|
+
});
|
|
168
|
+
expect(attributes.value).toEqual({
|
|
169
|
+
"default": ''
|
|
170
|
+
});
|
|
171
|
+
expect(attributes.updated).toEqual({
|
|
172
|
+
"default": ''
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
describe('parseHTML', function () {
|
|
177
|
+
it('returns parsing rules', function () {
|
|
178
|
+
var rules = _responseArea.ExplicitConstructedResponseNode.parseHTML();
|
|
179
|
+
expect(Array.isArray(rules)).toBe(true);
|
|
180
|
+
expect(rules).toHaveLength(1);
|
|
181
|
+
expect(rules[0]).toHaveProperty('tag');
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe('renderHTML', function () {
|
|
185
|
+
it('renders span with attributes', function () {
|
|
186
|
+
var result = _responseArea.ExplicitConstructedResponseNode.renderHTML({
|
|
187
|
+
HTMLAttributes: {
|
|
188
|
+
index: '1',
|
|
189
|
+
id: '1',
|
|
190
|
+
value: 'test'
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
expect(result[0]).toBe('span');
|
|
194
|
+
expect(result[1]).toHaveProperty('data-type', 'explicit_constructed_response');
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
describe('addNodeView', function () {
|
|
198
|
+
it('returns ReactNodeViewRenderer result', function () {
|
|
199
|
+
var result = _responseArea.ExplicitConstructedResponseNode.addNodeView();
|
|
200
|
+
expect(result).toBeDefined();
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe('DragInTheBlankNode', function () {
|
|
205
|
+
describe('configuration', function () {
|
|
206
|
+
it('has correct name', function () {
|
|
207
|
+
expect(_responseArea.DragInTheBlankNode.name).toBe('drag_in_the_blank');
|
|
208
|
+
});
|
|
209
|
+
it('is inline', function () {
|
|
210
|
+
expect(_responseArea.DragInTheBlankNode.inline).toBe(true);
|
|
211
|
+
});
|
|
212
|
+
it('is in inline group', function () {
|
|
213
|
+
expect(_responseArea.DragInTheBlankNode.group).toBe('inline');
|
|
214
|
+
});
|
|
215
|
+
it('is atomic', function () {
|
|
216
|
+
expect(_responseArea.DragInTheBlankNode.atom).toBe(true);
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
describe('addAttributes', function () {
|
|
220
|
+
it('returns required attributes', function () {
|
|
221
|
+
var attributes = _responseArea.DragInTheBlankNode.addAttributes();
|
|
222
|
+
expect(attributes).toHaveProperty('index');
|
|
223
|
+
expect(attributes).toHaveProperty('id');
|
|
224
|
+
expect(attributes).toHaveProperty('value');
|
|
225
|
+
expect(attributes).toHaveProperty('inTable');
|
|
226
|
+
expect(attributes).toHaveProperty('updated');
|
|
227
|
+
expect(attributes.index).toEqual({
|
|
228
|
+
"default": null
|
|
229
|
+
});
|
|
230
|
+
expect(attributes.id).toEqual({
|
|
231
|
+
"default": null
|
|
232
|
+
});
|
|
233
|
+
expect(attributes.value).toEqual({
|
|
234
|
+
"default": ''
|
|
235
|
+
});
|
|
236
|
+
expect(attributes.inTable).toEqual({
|
|
237
|
+
"default": null
|
|
238
|
+
});
|
|
239
|
+
expect(attributes.updated).toEqual({
|
|
240
|
+
"default": ''
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
describe('parseHTML', function () {
|
|
245
|
+
it('returns parsing rules', function () {
|
|
246
|
+
var rules = _responseArea.DragInTheBlankNode.parseHTML();
|
|
247
|
+
expect(Array.isArray(rules)).toBe(true);
|
|
248
|
+
expect(rules).toHaveLength(1);
|
|
249
|
+
expect(rules[0]).toHaveProperty('tag');
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
describe('renderHTML', function () {
|
|
253
|
+
it('renders span with attributes', function () {
|
|
254
|
+
var result = _responseArea.DragInTheBlankNode.renderHTML({
|
|
255
|
+
HTMLAttributes: {
|
|
256
|
+
index: '1',
|
|
257
|
+
id: '1',
|
|
258
|
+
value: 'test'
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
expect(result[0]).toBe('span');
|
|
262
|
+
expect(result[1]).toHaveProperty('data-type', 'drag_in_the_blank');
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
describe('addNodeView', function () {
|
|
266
|
+
it('returns ReactNodeViewRenderer result', function () {
|
|
267
|
+
var result = _responseArea.DragInTheBlankNode.addNodeView();
|
|
268
|
+
expect(result).toBeDefined();
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
describe('InlineDropdownNode', function () {
|
|
273
|
+
describe('configuration', function () {
|
|
274
|
+
it('has correct name', function () {
|
|
275
|
+
expect(_responseArea.InlineDropdownNode.name).toBe('inline_dropdown');
|
|
276
|
+
});
|
|
277
|
+
it('is inline', function () {
|
|
278
|
+
expect(_responseArea.InlineDropdownNode.inline).toBe(true);
|
|
279
|
+
});
|
|
280
|
+
it('is in inline group', function () {
|
|
281
|
+
expect(_responseArea.InlineDropdownNode.group).toBe('inline');
|
|
282
|
+
});
|
|
283
|
+
it('is atomic', function () {
|
|
284
|
+
expect(_responseArea.InlineDropdownNode.atom).toBe(true);
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
describe('addAttributes', function () {
|
|
288
|
+
it('returns required attributes', function () {
|
|
289
|
+
var attributes = _responseArea.InlineDropdownNode.addAttributes();
|
|
290
|
+
expect(attributes).toHaveProperty('index');
|
|
291
|
+
expect(attributes).toHaveProperty('value');
|
|
292
|
+
expect(attributes).toHaveProperty('updated');
|
|
293
|
+
expect(attributes.index).toEqual({
|
|
294
|
+
"default": null
|
|
295
|
+
});
|
|
296
|
+
expect(attributes.value).toEqual({
|
|
297
|
+
"default": ''
|
|
298
|
+
});
|
|
299
|
+
expect(attributes.updated).toEqual({
|
|
300
|
+
"default": ''
|
|
301
|
+
});
|
|
302
|
+
});
|
|
303
|
+
});
|
|
304
|
+
describe('parseHTML', function () {
|
|
305
|
+
it('returns parsing rules', function () {
|
|
306
|
+
var rules = _responseArea.InlineDropdownNode.parseHTML();
|
|
307
|
+
expect(Array.isArray(rules)).toBe(true);
|
|
308
|
+
expect(rules).toHaveLength(1);
|
|
309
|
+
expect(rules[0]).toHaveProperty('tag');
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
describe('renderHTML', function () {
|
|
313
|
+
it('renders span with attributes', function () {
|
|
314
|
+
var result = _responseArea.InlineDropdownNode.renderHTML({
|
|
315
|
+
HTMLAttributes: {
|
|
316
|
+
index: '1',
|
|
317
|
+
id: '1',
|
|
318
|
+
value: 'test'
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
expect(result[0]).toBe('span');
|
|
322
|
+
expect(result[1]).toHaveProperty('data-type', 'inline_dropdown');
|
|
323
|
+
});
|
|
324
|
+
});
|
|
325
|
+
describe('addNodeView', function () {
|
|
326
|
+
it('returns ReactNodeViewRenderer result', function () {
|
|
327
|
+
var result = _responseArea.InlineDropdownNode.addNodeView();
|
|
328
|
+
expect(result).toBeDefined();
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVzcG9uc2VBcmVhIiwicmVxdWlyZSIsImplc3QiLCJtb2NrIiwiRXh0ZW5zaW9uIiwiY3JlYXRlIiwiZm4iLCJjb25maWciLCJOb2RlIiwiUmVhY3ROb2RlVmlld1JlbmRlcmVyIiwiY29tcG9uZW50IiwiUGx1Z2luIiwiUGx1Z2luS2V5Iiwia2V5IiwiVGV4dFNlbGVjdGlvbiIsIm5lYXIiLCJwb3MiLCJkaXIiLCJ0eXBlIiwiZG9jIiwiTm9kZVNlbGVjdGlvbiIsIl9fZXNNb2R1bGUiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwibmFtZSIsInRvQmUiLCJvcHRpb25zIiwiYWRkT3B0aW9ucyIsInRvSGF2ZVByb3BlcnR5IiwiY29udGV4dCIsInBsdWdpbnMiLCJhZGRQcm9zZU1pcnJvclBsdWdpbnMiLCJjYWxsIiwiQXJyYXkiLCJpc0FycmF5IiwidG9IYXZlTGVuZ3RoIiwibWF4UmVzcG9uc2VBcmVhcyIsImNvbW1hbmRzIiwiYWRkQ29tbWFuZHMiLCJfdHlwZW9mMiIsImluc2VydFJlc3BvbnNlQXJlYSIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUiLCJpbmxpbmUiLCJncm91cCIsImF0b20iLCJhdHRyaWJ1dGVzIiwiYWRkQXR0cmlidXRlcyIsImluZGV4IiwidG9FcXVhbCIsInZhbHVlIiwidXBkYXRlZCIsInJ1bGVzIiwicGFyc2VIVE1MIiwicmVzdWx0IiwicmVuZGVySFRNTCIsIkhUTUxBdHRyaWJ1dGVzIiwiaWQiLCJhZGROb2RlVmlldyIsInRvQmVEZWZpbmVkIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHRlbnNpb25zL19fdGVzdHNfXy9yZXNwb25zZUFyZWEudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXNwb25zZUFyZWFFeHRlbnNpb24sXG4gIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUsXG4gIERyYWdJblRoZUJsYW5rTm9kZSxcbiAgSW5saW5lRHJvcGRvd25Ob2RlLFxufSBmcm9tICcuLi9yZXNwb25zZUFyZWEnO1xuXG5qZXN0Lm1vY2soJ0B0aXB0YXAvY29yZScsICgpID0+ICh7XG4gIEV4dGVuc2lvbjogeyBjcmVhdGU6IGplc3QuZm4oKGNvbmZpZykgPT4gY29uZmlnKSB9LFxuICBOb2RlOiB7IGNyZWF0ZTogamVzdC5mbigoY29uZmlnKSA9PiBjb25maWcpIH0sXG59KSk7XG5cbmplc3QubW9jaygnQHRpcHRhcC9yZWFjdCcsICgpID0+ICh7XG4gIE5vZGU6IHsgY3JlYXRlOiBqZXN0LmZuKChjb25maWcpID0+IGNvbmZpZykgfSxcbiAgUmVhY3ROb2RlVmlld1JlbmRlcmVyOiBqZXN0LmZuKChjb21wb25lbnQpID0+IGNvbXBvbmVudCksXG59KSk7XG5cbmplc3QubW9jaygncHJvc2VtaXJyb3Itc3RhdGUnLCAoKSA9PiAoe1xuICBQbHVnaW46IGplc3QuZm4oZnVuY3Rpb24gKGNvbmZpZykge1xuICAgIHJldHVybiBjb25maWc7XG4gIH0pLFxuICBQbHVnaW5LZXk6IGplc3QuZm4oZnVuY3Rpb24gKGtleSkge1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICB9KSxcbiAgVGV4dFNlbGVjdGlvbjoge1xuICAgIG5lYXI6IGplc3QuZm4oKHBvcywgZGlyKSA9PiAoeyB0eXBlOiAndGV4dCcsIHBvcywgZGlyIH0pKSxcbiAgICBjcmVhdGU6IGplc3QuZm4oKGRvYywgcG9zKSA9PiAoeyB0eXBlOiAndGV4dCcsIHBvcyB9KSksXG4gIH0sXG4gIE5vZGVTZWxlY3Rpb246IHtcbiAgICBjcmVhdGU6IGplc3QuZm4oKGRvYywgcG9zKSA9PiAoeyB0eXBlOiAnbm9kZScsIHBvcyB9KSksXG4gIH0sXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vY29tcG9uZW50cy9yZXNwQXJlYS9FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UnLCAoKSA9PiAoe1xuICBfX2VzTW9kdWxlOiB0cnVlLFxuICBkZWZhdWx0OiBqZXN0LmZuKCgpID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZVwiIC8+KSxcbn0pKTtcblxuamVzdC5tb2NrKCcuLi8uLi9jb21wb25lbnRzL3Jlc3BBcmVhL0RyYWdJblRoZUJsYW5rL0RyYWdJblRoZUJsYW5rJywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogamVzdC5mbigoKSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiZHJhZy1pbi10aGUtYmxhbmtcIiAvPiksXG59KSk7XG5cbmplc3QubW9jaygnLi4vLi4vY29tcG9uZW50cy9yZXNwQXJlYS9JbmxpbmVEcm9wZG93bicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IGplc3QuZm4oKCkgPT4gPGRpdiBkYXRhLXRlc3RpZD1cImlubGluZS1kcm9wZG93blwiIC8+KSxcbn0pKTtcblxuZGVzY3JpYmUoJ1Jlc3BvbnNlQXJlYUV4dGVuc2lvbicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2NvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2hhcyBjb3JyZWN0IG5hbWUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLm5hbWUpLnRvQmUoJ3Jlc3BvbnNlQXJlYScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkT3B0aW9ucycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBkZWZhdWx0IG9wdGlvbnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLmFkZE9wdGlvbnMoKTtcblxuICAgICAgZXhwZWN0KG9wdGlvbnMpLnRvSGF2ZVByb3BlcnR5KCdtYXhSZXNwb25zZUFyZWFzJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ2Vycm9yJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ29wdGlvbnMnLCBudWxsKTtcbiAgICAgIGV4cGVjdChvcHRpb25zKS50b0hhdmVQcm9wZXJ0eSgncmVzcEFyZWFUb29sYmFyJywgbnVsbCk7XG4gICAgICBleHBlY3Qob3B0aW9ucykudG9IYXZlUHJvcGVydHkoJ29uSGFuZGxlQXJlYUNoYW5nZScsIG51bGwpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkUHJvc2VNaXJyb3JQbHVnaW5zJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIGVtcHR5IGFycmF5IHdoZW4gbm8gdHlwZSBzcGVjaWZpZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgICBvcHRpb25zOiB7fSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBsdWdpbnMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkUHJvc2VNaXJyb3JQbHVnaW5zLmNhbGwoY29udGV4dCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHBsdWdpbnMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHBsdWdpbnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHBsdWdpbiBhcnJheSB3aGVuIHR5cGUgaXMgc3BlY2lmaWVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHR5cGU6ICdleHBsaWNpdC1jb25zdHJ1Y3RlZC1yZXNwb25zZScsXG4gICAgICAgICAgbWF4UmVzcG9uc2VBcmVhczogNSxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBsdWdpbnMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkUHJvc2VNaXJyb3JQbHVnaW5zLmNhbGwoY29udGV4dCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHBsdWdpbnMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHBsdWdpbnMpLnRvSGF2ZUxlbmd0aCgxKTtcbiAgICAgIGV4cGVjdChwbHVnaW5zWzBdKS50b0hhdmVQcm9wZXJ0eSgna2V5Jyk7XG4gICAgICBleHBlY3QocGx1Z2luc1swXSkudG9IYXZlUHJvcGVydHkoJ3ZpZXcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2FkZENvbW1hbmRzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIGluc2VydFJlc3BvbnNlQXJlYSBjb21tYW5kJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29tbWFuZHMgPSBSZXNwb25zZUFyZWFFeHRlbnNpb24uYWRkQ29tbWFuZHMoKTtcblxuICAgICAgZXhwZWN0KGNvbW1hbmRzKS50b0hhdmVQcm9wZXJ0eSgnaW5zZXJ0UmVzcG9uc2VBcmVhJyk7XG4gICAgICBleHBlY3QodHlwZW9mIGNvbW1hbmRzLmluc2VydFJlc3BvbnNlQXJlYSkudG9CZSgnZnVuY3Rpb24nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdjb25maWd1cmF0aW9uJywgKCkgPT4ge1xuICAgIGl0KCdoYXMgY29ycmVjdCBuYW1lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUubmFtZSkudG9CZSgnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbmxpbmUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5pbmxpbmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW4gaW5saW5lIGdyb3VwJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUuZ3JvdXApLnRvQmUoJ2lubGluZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2lzIGF0b21pYycsICgpID0+IHtcbiAgICAgIGV4cGVjdChFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLmF0b20pLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGRBdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHJlcXVpcmVkIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5hZGRBdHRyaWJ1dGVzKCk7XG5cbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgnaW5kZXgnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndmFsdWUnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndXBkYXRlZCcpO1xuXG4gICAgICBleHBlY3QoYXR0cmlidXRlcy5pbmRleCkudG9FcXVhbCh7IGRlZmF1bHQ6IG51bGwgfSk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcy52YWx1ZSkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUucGFyc2VIVE1MKCk7XG5cbiAgICAgIGV4cGVjdChBcnJheS5pc0FycmF5KHJ1bGVzKSkudG9CZSh0cnVlKTtcbiAgICAgIGV4cGVjdChydWxlcykudG9IYXZlTGVuZ3RoKDEpO1xuICAgICAgZXhwZWN0KHJ1bGVzWzBdKS50b0hhdmVQcm9wZXJ0eSgndGFnJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHNwYW4gd2l0aCBhdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5yZW5kZXJIVE1MKHtcbiAgICAgICAgSFRNTEF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBpbmRleDogJzEnLFxuICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgdmFsdWU6ICd0ZXN0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3QocmVzdWx0WzBdKS50b0JlKCdzcGFuJyk7XG4gICAgICBleHBlY3QocmVzdWx0WzFdKS50b0hhdmVQcm9wZXJ0eSgnZGF0YS10eXBlJywgJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGROb2RlVmlldycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyBSZWFjdE5vZGVWaWV3UmVuZGVyZXIgcmVzdWx0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZS5hZGROb2RlVmlldygpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnRHJhZ0luVGhlQmxhbmtOb2RlJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgICBpdCgnaGFzIGNvcnJlY3QgbmFtZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChEcmFnSW5UaGVCbGFua05vZGUubmFtZSkudG9CZSgnZHJhZ19pbl90aGVfYmxhbmsnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbmxpbmUnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmlubGluZSkudG9CZSh0cnVlKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBpbiBpbmxpbmUgZ3JvdXAnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmdyb3VwKS50b0JlKCdpbmxpbmUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBhdG9taWMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRHJhZ0luVGhlQmxhbmtOb2RlLmF0b20pLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhZGRBdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHJlcXVpcmVkIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gRHJhZ0luVGhlQmxhbmtOb2RlLmFkZEF0dHJpYnV0ZXMoKTtcblxuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpbmRleCcpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpZCcpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCd2YWx1ZScpO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMpLnRvSGF2ZVByb3BlcnR5KCdpblRhYmxlJyk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcykudG9IYXZlUHJvcGVydHkoJ3VwZGF0ZWQnKTtcblxuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMuaW5kZXgpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMuaWQpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudmFsdWUpLnRvRXF1YWwoeyBkZWZhdWx0OiAnJyB9KTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzLmluVGFibGUpLnRvRXF1YWwoeyBkZWZhdWx0OiBudWxsIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IERyYWdJblRoZUJsYW5rTm9kZS5wYXJzZUhUTUwoKTtcblxuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkocnVsZXMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJ1bGVzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QocnVsZXNbMF0pLnRvSGF2ZVByb3BlcnR5KCd0YWcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlckhUTUwnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgc3BhbiB3aXRoIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBEcmFnSW5UaGVCbGFua05vZGUucmVuZGVySFRNTCh7XG4gICAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgaW5kZXg6ICcxJyxcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIHZhbHVlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdFswXSkudG9CZSgnc3BhbicpO1xuICAgICAgZXhwZWN0KHJlc3VsdFsxXSkudG9IYXZlUHJvcGVydHkoJ2RhdGEtdHlwZScsICdkcmFnX2luX3RoZV9ibGFuaycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkTm9kZVZpZXcnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgUmVhY3ROb2RlVmlld1JlbmRlcmVyIHJlc3VsdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IERyYWdJblRoZUJsYW5rTm9kZS5hZGROb2RlVmlldygpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnSW5saW5lRHJvcGRvd25Ob2RlJywgKCkgPT4ge1xuICBkZXNjcmliZSgnY29uZmlndXJhdGlvbicsICgpID0+IHtcbiAgICBpdCgnaGFzIGNvcnJlY3QgbmFtZScsICgpID0+IHtcbiAgICAgIGV4cGVjdChJbmxpbmVEcm9wZG93bk5vZGUubmFtZSkudG9CZSgnaW5saW5lX2Ryb3Bkb3duJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW5saW5lJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5pbmxpbmUpLnRvQmUodHJ1ZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgaW4gaW5saW5lIGdyb3VwJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5ncm91cCkudG9CZSgnaW5saW5lJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaXMgYXRvbWljJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KElubGluZURyb3Bkb3duTm9kZS5hdG9tKS50b0JlKHRydWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkQXR0cmlidXRlcycsICgpID0+IHtcbiAgICBpdCgncmV0dXJucyByZXF1aXJlZCBhdHRyaWJ1dGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IElubGluZURyb3Bkb3duTm9kZS5hZGRBdHRyaWJ1dGVzKCk7XG5cbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgnaW5kZXgnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndmFsdWUnKTtcbiAgICAgIGV4cGVjdChhdHRyaWJ1dGVzKS50b0hhdmVQcm9wZXJ0eSgndXBkYXRlZCcpO1xuXG4gICAgICBleHBlY3QoYXR0cmlidXRlcy5pbmRleCkudG9FcXVhbCh7IGRlZmF1bHQ6IG51bGwgfSk7XG4gICAgICBleHBlY3QoYXR0cmlidXRlcy52YWx1ZSkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgICAgZXhwZWN0KGF0dHJpYnV0ZXMudXBkYXRlZCkudG9FcXVhbCh7IGRlZmF1bHQ6ICcnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncGFyc2VIVE1MJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIHBhcnNpbmcgcnVsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBydWxlcyA9IElubGluZURyb3Bkb3duTm9kZS5wYXJzZUhUTUwoKTtcblxuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkocnVsZXMpKS50b0JlKHRydWUpO1xuICAgICAgZXhwZWN0KHJ1bGVzKS50b0hhdmVMZW5ndGgoMSk7XG4gICAgICBleHBlY3QocnVsZXNbMF0pLnRvSGF2ZVByb3BlcnR5KCd0YWcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlckhUTUwnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgc3BhbiB3aXRoIGF0dHJpYnV0ZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBJbmxpbmVEcm9wZG93bk5vZGUucmVuZGVySFRNTCh7XG4gICAgICAgIEhUTUxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgaW5kZXg6ICcxJyxcbiAgICAgICAgICBpZDogJzEnLFxuICAgICAgICAgIHZhbHVlOiAndGVzdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdFswXSkudG9CZSgnc3BhbicpO1xuICAgICAgZXhwZWN0KHJlc3VsdFsxXSkudG9IYXZlUHJvcGVydHkoJ2RhdGEtdHlwZScsICdpbmxpbmVfZHJvcGRvd24nKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2FkZE5vZGVWaWV3JywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciByZXN1bHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBJbmxpbmVEcm9wZG93bk5vZGUuYWRkTm9kZVZpZXcoKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsYUFBQSxHQUFBQyxPQUFBO0FBT0FDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGNBQWMsRUFBRTtFQUFBLE9BQU87SUFDL0JDLFNBQVMsRUFBRTtNQUFFQyxNQUFNLEVBQUVILElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNDLE1BQU07UUFBQSxPQUFLQSxNQUFNO01BQUE7SUFBRSxDQUFDO0lBQ2xEQyxJQUFJLEVBQUU7TUFBRUgsTUFBTSxFQUFFSCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFDQyxNQUFNO1FBQUEsT0FBS0EsTUFBTTtNQUFBO0lBQUU7RUFDOUMsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVITCxJQUFJLENBQUNDLElBQUksQ0FBQyxlQUFlLEVBQUU7RUFBQSxPQUFPO0lBQ2hDSyxJQUFJLEVBQUU7TUFBRUgsTUFBTSxFQUFFSCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFDQyxNQUFNO1FBQUEsT0FBS0EsTUFBTTtNQUFBO0lBQUUsQ0FBQztJQUM3Q0UscUJBQXFCLEVBQUVQLElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNJLFNBQVM7TUFBQSxPQUFLQSxTQUFTO0lBQUE7RUFDekQsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVIUixJQUFJLENBQUNDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtFQUFBLE9BQU87SUFDcENRLE1BQU0sRUFBRVQsSUFBSSxDQUFDSSxFQUFFLENBQUMsVUFBVUMsTUFBTSxFQUFFO01BQ2hDLE9BQU9BLE1BQU07SUFDZixDQUFDLENBQUM7SUFDRkssU0FBUyxFQUFFVixJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFVTyxHQUFHLEVBQUU7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
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.iterator.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/es.string.iterator.js");
|
|
14
|
+
require("core-js/modules/es.weak-map.js");
|
|
15
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
16
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
3
17
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
18
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
19
|
Object.defineProperty(exports, "__esModule", {
|
|
6
20
|
value: true
|
|
7
21
|
});
|
|
8
22
|
exports["default"] = void 0;
|
|
23
|
+
require("core-js/modules/es.array.includes.js");
|
|
24
|
+
require("core-js/modules/es.number.to-fixed.js");
|
|
25
|
+
require("core-js/modules/es.parse-int.js");
|
|
9
26
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
27
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
28
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -143,7 +160,10 @@ function ImageComponent(props) {
|
|
|
143
160
|
resizeHandle.addEventListener('mousedown', initResize, false);
|
|
144
161
|
}
|
|
145
162
|
return function () {
|
|
146
|
-
if (resizeHandle)
|
|
163
|
+
if (resizeHandle) {
|
|
164
|
+
resizeHandle.removeEventListener('mousedown', initResize, false);
|
|
165
|
+
}
|
|
166
|
+
options.imageHandling.onDelete(node);
|
|
147
167
|
};
|
|
148
168
|
}, []);
|
|
149
169
|
(0, _react.useEffect)(function () {
|
|
@@ -285,4 +305,4 @@ ImageComponent.propTypes = {
|
|
|
285
305
|
maxImageHeight: _propTypes["default"].number
|
|
286
306
|
};
|
|
287
307
|
var _default = exports["default"] = ImageComponent;
|
|
288
|
-
//# sourceMappingURL=component.js.map
|
|
308
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pc0VxdWFsIiwiX2RlYnVnIiwiX0xpbmVhclByb2dyZXNzIiwiX3N0eWxlcyIsIl9yZWFjdDIiLCJfSW5zZXJ0SW1hZ2VIYW5kbGVyIiwiX0ltYWdlVG9vbGJhciIsIl9jdXN0b21Ub29sYmFyV3JhcHBlciIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJsb2ciLCJkZWJ1ZyIsIlN0eWxlZFByb2dyZXNzIiwic3R5bGVkIiwiTGluZWFyUHJvZ3Jlc3MiLCJzaG91bGRGb3J3YXJkUHJvcCIsInByb3AiLCJfcmVmIiwiaGlkZVByb2dyZXNzIiwicG9zaXRpb24iLCJsZWZ0Iiwid2lkdGgiLCJ0b3AiLCJ0cmFuc2l0aW9uIiwib3BhY2l0eSIsIlN0eWxlZFJvb3QiLCJpbmNsdWRlcyIsIl9yZWYyIiwidGhlbWUiLCJhY3RpdmUiLCJsb2FkaW5nIiwicGVuZGluZ0RlbGV0ZSIsImJvcmRlciIsImNvbmNhdCIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsImNvbW1vbiIsIndoaXRlIiwiZGlzcGxheSIsIlN0eWxlZEltYWdlQ29udGFpbmVyIiwiX3JlZjMiLCJhbGlnbkl0ZW1zIiwiU3R5bGVkUmVzaXplIiwiX3JlZjQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjdXJzb3IiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJzaXplUHgiLCJzIiwiSW1hZ2VDb21wb25lbnQiLCJwcm9wcyIsIm5vZGUiLCJlZGl0b3IiLCJhdHRyaWJ1dGVzIiwib25Gb2N1cyIsInNlbGVjdGVkIiwib3B0aW9ucyIsIl9wcm9wcyRtYXhJbWFnZVdpZHRoIiwibWF4SW1hZ2VXaWR0aCIsIl9wcm9wcyRtYXhJbWFnZUhlaWdodCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwidXNlUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ1c2VDYWxsYmFjayIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJpc0VxdWFsIiwiY29tbWFuZHMiLCJ1cGRhdGVBdHRyaWJ1dGVzIiwidXNlRWZmZWN0Iiwic2VsZWN0aW9uIiwic3RhdGUiLCJvbmx5VGhpc05vZGVTZWxlY3RlZCIsImZyb20iLCJub2RlU2l6ZSIsInRvIiwiaW1hZ2VIYW5kbGluZyIsImluc2VydEltYWdlUmVxdWVzdGVkIiwiZmluaXNoIiwiSW5zZXJ0SW1hZ2VIYW5kbGVyIiwicmVzaXplSGFuZGxlIiwiYWRkRXZlbnRMaXN0ZW5lciIsImluaXRSZXNpemUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25EZWxldGUiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJ1bmRlZmluZWQiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImJvdW5kcyIsInRhcmdldCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWVudFgiLCJjbGllbnRZIiwib25DaGFuZ2UiLCJuZXdWYWx1ZXMiLCJzdG9wUmVzaXplIiwid2luZG93Iiwib2JqZWN0Rml0IiwiZmxleEFsaWduIiwiY2VudGVyIiwicmlnaHQiLCJhbGlnbm1lbnQiLCJjcmVhdGVFbGVtZW50IiwiTm9kZVZpZXdXcmFwcGVyIiwibG9hZGVkIiwiZGVsZXRlU3RhdHVzIiwianVzdGlmeUNvbnRlbnQiLCJtb2RlIiwidmFsdWUiLCJwZXJjZW50IiwiX2V4dGVuZHMyIiwicmVmIiwic3JjIiwib25Mb2FkIiwiY2xhc3NOYW1lIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsInNob3dEb25lIiwib25Eb25lIiwiX3Byb3BzJGltYWdlSGFuZGxpbmciLCJmb2N1cyIsImRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnMiLCJpbWFnZUxvYWRlZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwibnVtYmVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvY29tcG9uZW50LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpbmVhclByb2dyZXNzIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTGluZWFyUHJvZ3Jlc3MnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgSW5zZXJ0SW1hZ2VIYW5kbGVyIGZyb20gJy4uL2NvbXBvbmVudHMvaW1hZ2UvSW5zZXJ0SW1hZ2VIYW5kbGVyJztcbmltcG9ydCBJbWFnZVRvb2xiYXIgZnJvbSAnLi4vY29tcG9uZW50cy9pbWFnZS9JbWFnZVRvb2xiYXInO1xuaW1wb3J0IEN1c3RvbVRvb2xiYXJXcmFwcGVyIGZyb20gJy4vY3VzdG9tLXRvb2xiYXItd3JhcHBlcic7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IFN0eWxlZFByb2dyZXNzID0gc3R5bGVkKExpbmVhclByb2dyZXNzLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gcHJvcCAhPT0gJ2hpZGVQcm9ncmVzcycsXG59KSgoeyBoaWRlUHJvZ3Jlc3MgfSkgPT4gKHtcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIGxlZnQ6ICcwJyxcbiAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gIHRvcDogJzAlJyxcbiAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgLi4uKGhpZGVQcm9ncmVzcyAmJiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSksXG59KSk7XG5cbmNvbnN0IFN0eWxlZFJvb3QgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiAhWydhY3RpdmUnLCAnbG9hZGluZycsICdwZW5kaW5nRGVsZXRlJ10uaW5jbHVkZXMocHJvcCksXG59KSgoeyB0aGVtZSwgYWN0aXZlLCBsb2FkaW5nLCBwZW5kaW5nRGVsZXRlIH0pID0+ICh7XG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBib3JkZXI6IGFjdGl2ZSA/IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbn1gIDogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlfWAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgLi4uKGxvYWRpbmcgJiYge1xuICAgIG9wYWNpdHk6IDAuMyxcbiAgfSksXG4gIC4uLihwZW5kaW5nRGVsZXRlICYmIHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRJbWFnZUNvbnRhaW5lciA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAnJiY6aG92ZXIgPiAucmVzaXplJzoge1xuICAgIGRpc3BsYXk6ICdibG9jaycsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZFJlc2l6ZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbixcbiAgY3Vyc29yOiAnY29sLXJlc2l6ZScsXG4gIGhlaWdodDogJzM1cHgnLFxuICB3aWR0aDogJzVweCcsXG4gIGJvcmRlclJhZGl1czogOCxcbiAgbWFyZ2luTGVmdDogJzVweCcsXG4gIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gIGRpc3BsYXk6ICdub25lJyxcbn0pKTtcblxuY29uc3Qgc2l6ZVB4ID0gKHMpID0+IChzID8gYCR7c31weGAgOiAnY2FsYygyMHB4KScpO1xuXG5mdW5jdGlvbiBJbWFnZUNvbXBvbmVudChwcm9wcykge1xuICBjb25zdCB7XG4gICAgbm9kZSxcbiAgICBlZGl0b3IsXG4gICAgYXR0cmlidXRlcyxcbiAgICBvbkZvY3VzLFxuICAgIHNlbGVjdGVkLFxuICAgIG9wdGlvbnMsXG4gICAgbWF4SW1hZ2VXaWR0aCA9IDcwMCxcbiAgICBtYXhJbWFnZUhlaWdodCA9IDkwMCxcbiAgICBsYXRleCxcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAgaGFuZGxlRG9uZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IGFsdCB9ID0gbm9kZS5hdHRycztcblxuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBpbWdSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlc2l6ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgdG9vbGJhclJlZiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBnZXRQZXJjZW50RnJvbVdpZHRoID0gdXNlQ2FsbGJhY2soKHdpZHRoKSA9PiB7XG4gICAgY29uc3QgZmxvb3JlZCA9ICh3aWR0aCAvIGltZ1JlZi5jdXJyZW50Lm5hdHVyYWxXaWR0aCkgKiA0O1xuICAgIHJldHVybiBwYXJzZUludChmbG9vcmVkLnRvRml4ZWQoMCkgKiAyNSwgMTApO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgYXBwbHlTaXplRGF0YSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIW5vZGUuYXR0cnMud2lkdGggfHwgIWltZ1JlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICAuLi5ub2RlLmF0dHJzLFxuICAgICAgcmVzaXplUGVyY2VudDogZ2V0UGVyY2VudEZyb21XaWR0aChub2RlLmF0dHJzLndpZHRoKSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZS5hdHRycywgZ2V0UGVyY2VudEZyb21XaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBvbmx5VGhpc05vZGVTZWxlY3RlZCA9IHNlbGVjdGlvbi5mcm9tICsgbm9kZS5ub2RlU2l6ZSA9PT0gc2VsZWN0aW9uLnRvO1xuXG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBpZiAob25seVRoaXNOb2RlU2VsZWN0ZWQpIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLCBzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgb3B0aW9ucy5pbWFnZUhhbmRsaW5nLmluc2VydEltYWdlUmVxdWVzdGVkKG5vZGUsIChmaW5pc2gpID0+IG5ldyBJbnNlcnRJbWFnZUhhbmRsZXIoZWRpdG9yLCBub2RlLCBmaW5pc2gpKTtcbiAgICBhcHBseVNpemVEYXRhKCk7XG5cbiAgICBjb25zdCByZXNpemVIYW5kbGUgPSByZXNpemVSZWYuY3VycmVudDtcbiAgICBpZiAocmVzaXplSGFuZGxlKSB7XG4gICAgICByZXNpemVIYW5kbGUuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgICByZXNpemVIYW5kbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBvcHRpb25zLmltYWdlSGFuZGxpbmcub25EZWxldGUobm9kZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuICB9KTtcblxuICBjb25zdCBsb2FkSW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgIGlmICghYm94LnN0eWxlLndpZHRoIHx8IGJveC5zdHlsZS53aWR0aCA9PT0gJ2NhbGMoMjBweCknKSB7XG4gICAgICBjb25zdCB3ID0gTWF0aC5taW4oYm94Lm5hdHVyYWxXaWR0aCwgbWF4SW1hZ2VXaWR0aCk7XG4gICAgICBjb25zdCBoID0gTWF0aC5taW4oYm94Lm5hdHVyYWxIZWlnaHQsIG1heEltYWdlSGVpZ2h0KTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d31weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aH1weGA7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IHcsIGhlaWdodDogaCB9O1xuICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBtYXhJbWFnZVdpZHRoLCBtYXhJbWFnZUhlaWdodF0pO1xuXG4gIGNvbnN0IHVwZGF0ZUFzcGVjdCA9IChpbml0aWFsLCBuZXh0LCBrZWVwQXNwZWN0ID0gdHJ1ZSwgcmVzaXplVHlwZSkgPT4ge1xuICAgIGlmIChrZWVwQXNwZWN0KSB7XG4gICAgICBjb25zdCByYXRpbyA9IGluaXRpYWwud2lkdGggLyBpbml0aWFsLmhlaWdodDtcbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0JykgcmV0dXJuIHsgd2lkdGg6IG5leHQuaGVpZ2h0ICogcmF0aW8sIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgIHJldHVybiB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQud2lkdGggLyByYXRpbyB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV4dDtcbiAgfTtcblxuICBjb25zdCBzdGFydFJlc2l6ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlKSA9PiB7XG4gICAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHsgd2lkdGg6IGJveC5uYXR1cmFsV2lkdGgsIGhlaWdodDogYm94Lm5hdHVyYWxIZWlnaHQgfTtcblxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZUFzcGVjdChpbml0aWFsLCB7XG4gICAgICAgIHdpZHRoOiBlLmNsaWVudFggLSBib3VuZHMubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBlLmNsaWVudFkgLSBib3VuZHMudG9wLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChuZXh0LndpZHRoID4gNTAgJiYgbmV4dC5oZWlnaHQgPiA1MCAmJiBuZXh0LndpZHRoIDw9IDcwMCAmJiBuZXh0LmhlaWdodCA8PSA5MDApIHtcbiAgICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7bmV4dC53aWR0aH1weGA7XG4gICAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtuZXh0LmhlaWdodH1weGA7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yLCBub2RlLmF0dHJzXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZXMpID0+IHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCBuZXdWYWx1ZXMpO1xuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gICk7XG5cbiAgY29uc3Qgc3RvcFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZV0pO1xuXG4gIGNvbnN0IGluaXRSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemUsIHN0b3BSZXNpemVdKTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB3aWR0aDogc2l6ZVB4KG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIGhlaWdodDogc2l6ZVB4KG5vZGUuYXR0cnMuaGVpZ2h0KSxcbiAgICBvYmplY3RGaXQ6ICdjb250YWluJyxcbiAgfTtcblxuICBjb25zdCBmbGV4QWxpZ24gPSB7IGxlZnQ6ICdmbGV4LXN0YXJ0JywgY2VudGVyOiAnY2VudGVyJywgcmlnaHQ6ICdmbGV4LWVuZCcgfVtub2RlLmF0dHJzLmFsaWdubWVudF0gfHwgJ2ZsZXgtc3RhcnQnO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlcj5cbiAgICAgIDxTdHlsZWRSb290XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGFjdGl2ZT17c2VsZWN0ZWR9XG4gICAgICAgIGxvYWRpbmc9eyFub2RlLmF0dHJzLmxvYWRlZH1cbiAgICAgICAgcGVuZGluZ0RlbGV0ZT17bm9kZS5hdHRycy5kZWxldGVTdGF0dXMgPT09ICdwZW5kaW5nJ31cbiAgICAgICAgc3R5bGU9e3sganVzdGlmeUNvbnRlbnQ6IGZsZXhBbGlnbiB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUHJvZ3Jlc3MgbW9kZT1cImRldGVybWluYXRlXCIgdmFsdWU9e25vZGUuYXR0cnMucGVyY2VudCB8fCAwfSBoaWRlUHJvZ3Jlc3M9e25vZGUuYXR0cnMubG9hZGVkfSAvPlxuXG4gICAgICAgIDxTdHlsZWRJbWFnZUNvbnRhaW5lcj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgICAgICAgIHJlZj17aW1nUmVmfVxuICAgICAgICAgICAgc3JjPXtub2RlLmF0dHJzLnNyY31cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIG9uTG9hZD17bG9hZEltYWdlfVxuICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRSZXNpemUgcmVmPXtyZXNpemVSZWZ9IGNsYXNzTmFtZT1cInJlc2l6ZVwiIC8+XG4gICAgICAgIDwvU3R5bGVkSW1hZ2VDb250YWluZXI+XG4gICAgICA8L1N0eWxlZFJvb3Q+XG5cbiAgICAgIHtzaG93VG9vbGJhciAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICByZWY9e3Rvb2xiYXJSZWZ9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgdG9wOiAnMTAwJScsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgekluZGV4OiAyMCxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgIGJveFNoYWRvdzpcbiAgICAgICAgICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPEN1c3RvbVRvb2xiYXJXcmFwcGVyXG4gICAgICAgICAgICBzaG93RG9uZVxuICAgICAgICAgICAgey4uLm9wdGlvbnN9XG4gICAgICAgICAgICBvbkRvbmU9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgICAgICAgICBwcm9wcy5pbWFnZUhhbmRsaW5nPy5vbkRvbmUoKTtcbiAgICAgICAgICAgICAgcHJvcHMuZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCdlbmQnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEltYWdlVG9vbGJhclxuICAgICAgICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zPXtvcHRpb25zLmRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnN9XG4gICAgICAgICAgICAgIGFsdD17bm9kZS5hdHRycy5hbHR9XG4gICAgICAgICAgICAgIGltYWdlTG9hZGVkPXtub2RlLmF0dHJzLmxvYWRlZH1cbiAgICAgICAgICAgICAgYWxpZ25tZW50PXtub2RlLmF0dHJzLmFsaWdubWVudCB8fCAnbGVmdCd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9DdXN0b21Ub29sYmFyV3JhcHBlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufVxuXG5JbWFnZUNvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIG5vZGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgZWRpdG9yOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEltYWdlQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssZUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsbUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLHFCQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFBNEQsU0FBQUQsd0JBQUFZLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFkLHVCQUFBLFlBQUFBLHdCQUFBWSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMs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
|
package/lib/extensions/css.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.removeDialogs = exports.CSSMark = void 0;
|
|
9
|
+
require("core-js/modules/es.array.concat.js");
|
|
10
|
+
require("core-js/modules/es.array.find.js");
|
|
11
|
+
require("core-js/modules/es.array.for-each.js");
|
|
12
|
+
require("core-js/modules/es.array.includes.js");
|
|
13
|
+
require("core-js/modules/es.array.map.js");
|
|
14
|
+
require("core-js/modules/es.array.slice.js");
|
|
15
|
+
require("core-js/modules/es.function.name.js");
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
require("core-js/modules/es.string.includes.js");
|
|
18
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
8
19
|
var _react = _interopRequireDefault(require("react"));
|
|
9
20
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
21
|
var _core = require("@tiptap/core");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n const match = this.options.classes.find((name) => cls.includes(name));\n return match ? { class: match } : false;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass: (className) => ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog: () => ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor\n .chain()\n .focus()\n .setCSSClass(className)\n .run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n const match = this.options.classes.find((name) => cls.includes(name));\n return match ? { class: match } : false;\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass: (className) => ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass: () => ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog: () => ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor\n .chain()\n .focus()\n .setCSSClass(className)\n .run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.array.iterator.js");
|
|
7
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
+
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
+
require("core-js/modules/es.object.keys.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/es.string.iterator.js");
|
|
14
|
+
require("core-js/modules/es.weak-map.js");
|
|
15
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
16
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
3
17
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
18
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
19
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -7,6 +21,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
21
|
});
|
|
8
22
|
exports["default"] = void 0;
|
|
9
23
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
24
|
+
require("core-js/modules/es.array.includes.js");
|
|
10
25
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
26
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
12
27
|
var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
|