@akilli/editor-src 5.1.8 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/AlignCommand.js +2 -2
- package/base/AlignableListener.js +4 -11
- package/base/Alignment.js +9 -36
- package/base/BarListener.js +2 -2
- package/base/DeletableListener.js +2 -2
- package/base/Dom.js +1 -1
- package/base/EditableListener.js +5 -5
- package/base/Key.js +165 -250
- package/base/NavigableListener.js +2 -6
- package/base/SlotableListener.js +3 -3
- package/base/SortCommand.js +1 -1
- package/base/SortableListener.js +3 -11
- package/base/Sorting.js +9 -36
- package/base/TagGroup.js +31 -183
- package/base/TagName.js +72 -470
- package/details/DetailsListener.js +3 -3
- package/package.json +1 -1
- package/table/TableCellListener.js +2 -2
- package/table/TableColumnListener.js +3 -3
- package/table/TableRowListener.js +3 -3
package/base/TagName.js
CHANGED
|
@@ -1,470 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
* @return {string}
|
|
74
|
-
*/
|
|
75
|
-
static get CODE() {
|
|
76
|
-
return 'code';
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* @return {string}
|
|
81
|
-
*/
|
|
82
|
-
static get COL() {
|
|
83
|
-
return 'col';
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @return {string}
|
|
88
|
-
*/
|
|
89
|
-
static get COLGROUP() {
|
|
90
|
-
return 'colgroup';
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* @return {string}
|
|
95
|
-
*/
|
|
96
|
-
static get DATA() {
|
|
97
|
-
return 'data';
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* @return {string}
|
|
102
|
-
*/
|
|
103
|
-
static get DEL() {
|
|
104
|
-
return 'del';
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* @return {string}
|
|
109
|
-
*/
|
|
110
|
-
static get DETAILS() {
|
|
111
|
-
return 'details';
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* @return {string}
|
|
116
|
-
*/
|
|
117
|
-
static get DFN() {
|
|
118
|
-
return 'dfn';
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* @return {string}
|
|
123
|
-
*/
|
|
124
|
-
static get DIALOG() {
|
|
125
|
-
return 'dialog';
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* @return {string}
|
|
130
|
-
*/
|
|
131
|
-
static get DIV() {
|
|
132
|
-
return 'div';
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* @return {string}
|
|
137
|
-
*/
|
|
138
|
-
static get EDITOR() {
|
|
139
|
-
return 'akilli-editor';
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* @return {string}
|
|
144
|
-
*/
|
|
145
|
-
static get EM() {
|
|
146
|
-
return 'em';
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* @return {string}
|
|
151
|
-
*/
|
|
152
|
-
static get FIELDSET() {
|
|
153
|
-
return 'fieldset';
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* @return {string}
|
|
158
|
-
*/
|
|
159
|
-
static get FIGCAPTION() {
|
|
160
|
-
return 'figcaption';
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* @return {string}
|
|
165
|
-
*/
|
|
166
|
-
static get FIGURE() {
|
|
167
|
-
return 'figure';
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* @return {string}
|
|
172
|
-
*/
|
|
173
|
-
static get FOCUSBAR() {
|
|
174
|
-
return 'editor-focusbar';
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* @return {string}
|
|
179
|
-
*/
|
|
180
|
-
static get FORM() {
|
|
181
|
-
return 'form';
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* @return {string}
|
|
186
|
-
*/
|
|
187
|
-
static get FORMATBAR() {
|
|
188
|
-
return 'editor-formatbar';
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* @return {string}
|
|
193
|
-
*/
|
|
194
|
-
static get H2() {
|
|
195
|
-
return 'h2';
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* @return {string}
|
|
200
|
-
*/
|
|
201
|
-
static get H3() {
|
|
202
|
-
return 'h3';
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* @return {string}
|
|
207
|
-
*/
|
|
208
|
-
static get HR() {
|
|
209
|
-
return 'hr';
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
/**
|
|
213
|
-
* @return {string}
|
|
214
|
-
*/
|
|
215
|
-
static get I() {
|
|
216
|
-
return 'i';
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* @return {string}
|
|
221
|
-
*/
|
|
222
|
-
static get IFRAME() {
|
|
223
|
-
return 'iframe';
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* @return {string}
|
|
228
|
-
*/
|
|
229
|
-
static get IMG() {
|
|
230
|
-
return 'img';
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* @return {string}
|
|
235
|
-
*/
|
|
236
|
-
static get INPUT() {
|
|
237
|
-
return 'input';
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* @return {string}
|
|
242
|
-
*/
|
|
243
|
-
static get INS() {
|
|
244
|
-
return 'ins';
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* @return {string}
|
|
249
|
-
*/
|
|
250
|
-
static get KBD() {
|
|
251
|
-
return 'kbd';
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* @return {string}
|
|
256
|
-
*/
|
|
257
|
-
static get LABEL() {
|
|
258
|
-
return 'label';
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* @return {string}
|
|
263
|
-
*/
|
|
264
|
-
static get LEGEND() {
|
|
265
|
-
return 'legend';
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
/**
|
|
269
|
-
* @return {string}
|
|
270
|
-
*/
|
|
271
|
-
static get LI() {
|
|
272
|
-
return 'li';
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* @return {string}
|
|
277
|
-
*/
|
|
278
|
-
static get MARK() {
|
|
279
|
-
return 'mark';
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* @return {string}
|
|
284
|
-
*/
|
|
285
|
-
static get OL() {
|
|
286
|
-
return 'ol';
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* @return {string}
|
|
291
|
-
*/
|
|
292
|
-
static get P() {
|
|
293
|
-
return 'p';
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
/**
|
|
297
|
-
* @return {string}
|
|
298
|
-
*/
|
|
299
|
-
static get PRE() {
|
|
300
|
-
return 'pre';
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* @return {string}
|
|
305
|
-
*/
|
|
306
|
-
static get Q() {
|
|
307
|
-
return 'q';
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
/**
|
|
311
|
-
* @return {string}
|
|
312
|
-
*/
|
|
313
|
-
static get ROOT() {
|
|
314
|
-
return 'editor-root';
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
/**
|
|
318
|
-
* @return {string}
|
|
319
|
-
*/
|
|
320
|
-
static get S() {
|
|
321
|
-
return 's';
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* @return {string}
|
|
326
|
-
*/
|
|
327
|
-
static get SAMP() {
|
|
328
|
-
return 'samp';
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* @return {string}
|
|
333
|
-
*/
|
|
334
|
-
static get SECTION() {
|
|
335
|
-
return 'section';
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* @return {string}
|
|
340
|
-
*/
|
|
341
|
-
static get SLOT() {
|
|
342
|
-
return 'slot';
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* @return {string}
|
|
347
|
-
*/
|
|
348
|
-
static get SMALL() {
|
|
349
|
-
return 'small';
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* @return {string}
|
|
354
|
-
*/
|
|
355
|
-
static get STRONG() {
|
|
356
|
-
return 'strong';
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* @return {string}
|
|
361
|
-
*/
|
|
362
|
-
static get SUB() {
|
|
363
|
-
return 'sub';
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* @return {string}
|
|
368
|
-
*/
|
|
369
|
-
static get SUMMARY() {
|
|
370
|
-
return 'summary';
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* @return {string}
|
|
375
|
-
*/
|
|
376
|
-
static get SUP() {
|
|
377
|
-
return 'sup';
|
|
378
|
-
}
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* @return {string}
|
|
382
|
-
*/
|
|
383
|
-
static get TABLE() {
|
|
384
|
-
return 'table';
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* @return {string}
|
|
389
|
-
*/
|
|
390
|
-
static get TBODY() {
|
|
391
|
-
return 'tbody';
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* @return {string}
|
|
396
|
-
*/
|
|
397
|
-
static get TD() {
|
|
398
|
-
return 'td';
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
/**
|
|
402
|
-
* @return {string}
|
|
403
|
-
*/
|
|
404
|
-
static get TFOOT() {
|
|
405
|
-
return 'tfoot';
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
/**
|
|
409
|
-
* @return {string}
|
|
410
|
-
*/
|
|
411
|
-
static get TH() {
|
|
412
|
-
return 'th';
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* @return {string}
|
|
417
|
-
*/
|
|
418
|
-
static get THEAD() {
|
|
419
|
-
return 'thead';
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* @return {string}
|
|
424
|
-
*/
|
|
425
|
-
static get TIME() {
|
|
426
|
-
return 'time';
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
/**
|
|
430
|
-
* @return {string}
|
|
431
|
-
*/
|
|
432
|
-
static get TOOLBAR() {
|
|
433
|
-
return 'editor-toolbar';
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* @return {string}
|
|
438
|
-
*/
|
|
439
|
-
static get TR() {
|
|
440
|
-
return 'tr';
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
/**
|
|
444
|
-
* @return {string}
|
|
445
|
-
*/
|
|
446
|
-
static get U() {
|
|
447
|
-
return 'u';
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
/**
|
|
451
|
-
* @return {string}
|
|
452
|
-
*/
|
|
453
|
-
static get UL() {
|
|
454
|
-
return 'ul';
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
/**
|
|
458
|
-
* @return {string}
|
|
459
|
-
*/
|
|
460
|
-
static get VAR() {
|
|
461
|
-
return 'var';
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
/**
|
|
465
|
-
* @return {string}
|
|
466
|
-
*/
|
|
467
|
-
static get VIDEO() {
|
|
468
|
-
return 'video';
|
|
469
|
-
}
|
|
470
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @enum {string}
|
|
3
|
+
*/
|
|
4
|
+
export default Object.freeze({
|
|
5
|
+
A: 'a',
|
|
6
|
+
ABBR: 'abbr',
|
|
7
|
+
ALL: '*',
|
|
8
|
+
AUDIO: 'audio',
|
|
9
|
+
B: 'b',
|
|
10
|
+
BLOCK: 'app-block',
|
|
11
|
+
BLOCKQUOTE: 'blockquote',
|
|
12
|
+
BR: 'br',
|
|
13
|
+
BUTTON: 'button',
|
|
14
|
+
CITE: 'cite',
|
|
15
|
+
CODE: 'code',
|
|
16
|
+
COL: 'col',
|
|
17
|
+
COLGROUP: 'colgroup',
|
|
18
|
+
DATA: 'data',
|
|
19
|
+
DEL: 'del',
|
|
20
|
+
DETAILS: 'details',
|
|
21
|
+
DFN: 'dfn',
|
|
22
|
+
DIALOG: 'dialog',
|
|
23
|
+
DIV: 'div',
|
|
24
|
+
EDITOR: 'akilli-editor',
|
|
25
|
+
EM: 'em',
|
|
26
|
+
FIELDSET: 'fieldset',
|
|
27
|
+
FIGCAPTION: 'figcaption',
|
|
28
|
+
FIGURE: 'figure',
|
|
29
|
+
FOCUSBAR: 'editor-focusbar',
|
|
30
|
+
FORM: 'form',
|
|
31
|
+
FORMATBAR: 'editor-formatbar',
|
|
32
|
+
H2: 'h2',
|
|
33
|
+
H3: 'h3',
|
|
34
|
+
HR: 'hr',
|
|
35
|
+
I: 'i',
|
|
36
|
+
IFRAME: 'iframe',
|
|
37
|
+
IMG: 'img',
|
|
38
|
+
INPUT: 'input',
|
|
39
|
+
INS: 'ins',
|
|
40
|
+
KBD: 'kbd',
|
|
41
|
+
LABEL: 'label',
|
|
42
|
+
LEGEND: 'legend',
|
|
43
|
+
LI: 'li',
|
|
44
|
+
MARK: 'mark',
|
|
45
|
+
OL: 'ol',
|
|
46
|
+
P: 'p',
|
|
47
|
+
PRE: 'pre',
|
|
48
|
+
Q: 'q',
|
|
49
|
+
ROOT: 'editor-root',
|
|
50
|
+
S: 's',
|
|
51
|
+
SAMP: 'samp',
|
|
52
|
+
SECTION: 'section',
|
|
53
|
+
SLOT: 'slot',
|
|
54
|
+
SMALL: 'small',
|
|
55
|
+
STRONG: 'strong',
|
|
56
|
+
SUB: 'sub',
|
|
57
|
+
SUMMARY: 'summary',
|
|
58
|
+
SUP: 'sup',
|
|
59
|
+
TABLE: 'table',
|
|
60
|
+
TBODY: 'tbody',
|
|
61
|
+
TD: 'td',
|
|
62
|
+
TFOOT: 'tfoot',
|
|
63
|
+
TH: 'th',
|
|
64
|
+
THEAD: 'thead',
|
|
65
|
+
TIME: 'time',
|
|
66
|
+
TOOLBAR: 'editor-toolbar',
|
|
67
|
+
TR: 'tr',
|
|
68
|
+
U: 'u',
|
|
69
|
+
UL: 'ul',
|
|
70
|
+
VAR: 'var',
|
|
71
|
+
VIDEO: 'video',
|
|
72
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Key from '../base/Key.js';
|
|
1
|
+
import Key, { isKey } from '../base/Key.js';
|
|
2
2
|
import Listener from '../base/Listener.js';
|
|
3
3
|
import TagName from '../base/TagName.js';
|
|
4
4
|
|
|
@@ -69,11 +69,11 @@ export default class DetailsListener extends Listener {
|
|
|
69
69
|
* @return {void}
|
|
70
70
|
*/
|
|
71
71
|
keydown(event) {
|
|
72
|
-
if (
|
|
72
|
+
if (isKey(event, Key.SPACE)) {
|
|
73
73
|
event.preventDefault();
|
|
74
74
|
event.stopPropagation();
|
|
75
75
|
this.editor.dom.insertText(' ');
|
|
76
|
-
} else if (
|
|
76
|
+
} else if (isKey(event, Key.ENTER)) {
|
|
77
77
|
event.preventDefault();
|
|
78
78
|
event.stopPropagation();
|
|
79
79
|
event.target.parentElement.open = true;
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Key from '../base/Key.js';
|
|
1
|
+
import Key, { isArrowKey } from '../base/Key.js';
|
|
2
2
|
import Listener from '../base/Listener.js';
|
|
3
3
|
import TagName from '../base/TagName.js';
|
|
4
4
|
|
|
@@ -44,7 +44,7 @@ export default class TableCellListener extends Listener {
|
|
|
44
44
|
cell instanceof HTMLTableCellElement &&
|
|
45
45
|
row instanceof HTMLTableRowElement &&
|
|
46
46
|
table instanceof HTMLTableElement &&
|
|
47
|
-
|
|
47
|
+
isArrowKey(event) &&
|
|
48
48
|
this.#enabled(cell, event.key)
|
|
49
49
|
) {
|
|
50
50
|
const cellIndex = cell.cellIndex;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Key from '../base/Key.js';
|
|
1
|
+
import Key, { isKey } from '../base/Key.js';
|
|
2
2
|
import Listener from '../base/Listener.js';
|
|
3
3
|
|
|
4
4
|
export default class TableColumnListener extends Listener {
|
|
@@ -25,9 +25,9 @@ export default class TableColumnListener extends Listener {
|
|
|
25
25
|
* @return {void}
|
|
26
26
|
*/
|
|
27
27
|
keydown(event) {
|
|
28
|
-
if (
|
|
28
|
+
if (isKey(event, Key.ENTER)) {
|
|
29
29
|
this.editor.dom.createTableColumnAfter(event.target);
|
|
30
|
-
} else if (
|
|
30
|
+
} else if (isKey(event, Key.BACKSPACE)) {
|
|
31
31
|
this.editor.dom.delete(event.target);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Key from '../base/Key.js';
|
|
1
|
+
import Key, { isKey } from '../base/Key.js';
|
|
2
2
|
import Listener from '../base/Listener.js';
|
|
3
3
|
|
|
4
4
|
export default class TableRowListener extends Listener {
|
|
@@ -25,9 +25,9 @@ export default class TableRowListener extends Listener {
|
|
|
25
25
|
* @return {void}
|
|
26
26
|
*/
|
|
27
27
|
keydown(event) {
|
|
28
|
-
if (
|
|
28
|
+
if (isKey(event, Key.ENTER)) {
|
|
29
29
|
this.editor.dom.createTableRowAfter(event.target);
|
|
30
|
-
} else if (
|
|
30
|
+
} else if (isKey(event, Key.BACKSPACE)) {
|
|
31
31
|
this.editor.dom.delete(event.target);
|
|
32
32
|
}
|
|
33
33
|
}
|