@editora/plugins 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +173 -110
  2. package/dist/a11y-checker.cjs.js +109 -0
  3. package/dist/a11y-checker.esm.js +509 -0
  4. package/dist/anchor.cjs.js +176 -0
  5. package/dist/anchor.esm.js +400 -0
  6. package/dist/background-color.cjs.js +218 -0
  7. package/dist/background-color.esm.js +482 -0
  8. package/dist/blockquote.cjs.js +1 -0
  9. package/dist/blockquote.esm.js +47 -0
  10. package/dist/bold.cjs.js +1 -0
  11. package/dist/bold.esm.js +44 -0
  12. package/dist/capitalization.cjs.js +1 -0
  13. package/dist/capitalization.esm.js +78 -0
  14. package/dist/checklist.cjs.js +1 -0
  15. package/dist/checklist.esm.js +305 -0
  16. package/dist/clear-formatting.cjs.js +1 -0
  17. package/dist/clear-formatting.esm.js +138 -0
  18. package/dist/code-sample.cjs.js +161 -0
  19. package/dist/code-sample.esm.js +381 -0
  20. package/dist/code.cjs.js +598 -0
  21. package/dist/code.esm.js +2034 -0
  22. package/dist/colorSelectionApply-C0iOfMWb.js +1 -0
  23. package/dist/colorSelectionApply-D8r_gV32.mjs +63 -0
  24. package/dist/comments.cjs.js +354 -0
  25. package/dist/comments.esm.js +692 -0
  26. package/dist/direction.cjs.js +1 -0
  27. package/dist/direction.esm.js +129 -0
  28. package/dist/document-manager.cjs.js +1 -0
  29. package/dist/document-manager.esm.js +6 -0
  30. package/dist/{documentManager-D86di_ZO.mjs → documentManager-DRUc1-Cs.mjs} +3 -3
  31. package/dist/{documentManager-Cw420fPO.js → documentManager-_tQQfQi9.js} +3 -3
  32. package/dist/editorContainerHelpers-C7kdWnS0.mjs +26 -0
  33. package/dist/editorContainerHelpers-CFbfiOJI.js +1 -0
  34. package/dist/embed-iframe.cjs.js +361 -0
  35. package/dist/embed-iframe.esm.js +556 -0
  36. package/dist/emojis.cjs.js +284 -0
  37. package/dist/emojis.esm.js +1080 -0
  38. package/dist/font-family.cjs.js +1 -0
  39. package/dist/font-family.esm.js +152 -0
  40. package/dist/font-size.cjs.js +1 -0
  41. package/dist/font-size.esm.js +278 -0
  42. package/dist/footnote.cjs.js +85 -0
  43. package/dist/footnote.esm.js +397 -0
  44. package/dist/fullscreen.cjs.js +1 -0
  45. package/dist/fullscreen.esm.js +73 -0
  46. package/dist/heading.cjs.js +1 -0
  47. package/dist/heading.esm.js +63 -0
  48. package/dist/history.cjs.js +1 -0
  49. package/dist/history.esm.js +246 -0
  50. package/dist/indent.cjs.js +1 -0
  51. package/dist/indent.esm.js +146 -0
  52. package/dist/index-Bskk414V.mjs +145 -0
  53. package/dist/index-D3pJyAsj.js +1 -0
  54. package/dist/index.cjs.js +1 -1
  55. package/dist/{index.es-B4xMKvwd.js → index.es-Cz1qItab.js} +1 -1
  56. package/dist/{index.es-lzohzZmW.mjs → index.es-DEcRmSTY.mjs} +1 -1
  57. package/dist/index.esm.js +89 -49
  58. package/dist/italic.cjs.js +1 -0
  59. package/dist/italic.esm.js +40 -0
  60. package/dist/line-height.cjs.js +1 -0
  61. package/dist/line-height.esm.js +145 -0
  62. package/dist/link.cjs.js +138 -0
  63. package/dist/link.esm.js +276 -0
  64. package/dist/list.cjs.js +1 -0
  65. package/dist/list.esm.js +102 -0
  66. package/dist/lite.cjs.js +1 -0
  67. package/dist/lite.esm.js +61 -0
  68. package/dist/math.cjs.js +45 -0
  69. package/dist/math.esm.js +249 -0
  70. package/dist/media-manager.cjs.js +619 -0
  71. package/dist/media-manager.esm.js +994 -0
  72. package/dist/merge-tag.cjs.js +93 -0
  73. package/dist/merge-tag.esm.js +412 -0
  74. package/dist/page-break.cjs.js +72 -0
  75. package/dist/page-break.esm.js +295 -0
  76. package/dist/plugins.css +1 -1
  77. package/dist/preview.cjs.js +230 -0
  78. package/dist/preview.esm.js +321 -0
  79. package/dist/print.cjs.js +254 -0
  80. package/dist/print.esm.js +309 -0
  81. package/dist/purify.es-DHhaBdbu.mjs +470 -0
  82. package/dist/purify.es-T2a3nLiC.js +3 -0
  83. package/dist/shared-config.cjs.js +1 -0
  84. package/dist/shared-config.esm.js +30 -0
  85. package/dist/special-characters.cjs.js +257 -0
  86. package/dist/special-characters.esm.js +772 -0
  87. package/dist/spell-check.cjs.js +512 -0
  88. package/dist/spell-check.esm.js +1013 -0
  89. package/dist/strikethrough.cjs.js +1 -0
  90. package/dist/strikethrough.esm.js +71 -0
  91. package/dist/table.cjs.js +35 -0
  92. package/dist/table.esm.js +477 -0
  93. package/dist/template.cjs.js +356 -0
  94. package/dist/template.esm.js +560 -0
  95. package/dist/text-alignment.cjs.js +1 -0
  96. package/dist/text-alignment.esm.js +105 -0
  97. package/dist/text-color.cjs.js +300 -0
  98. package/dist/text-color.esm.js +507 -0
  99. package/dist/underline.cjs.js +1 -0
  100. package/dist/underline.esm.js +34 -0
  101. package/index.d.ts +62 -0
  102. package/package.json +217 -5
  103. package/LICENSE +0 -21
  104. package/dist/index-CnEGPLxN.js +0 -3752
  105. package/dist/index-xwiBh2x6.mjs +0 -11739
@@ -0,0 +1,1080 @@
1
+ const d = {
2
+ all: {
3
+ name: "All",
4
+ emojis: [
5
+ /* Symbols */
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
+ /* People */
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
+ /* Animals & Nature */
74
+ "🐶",
75
+ "🐱",
76
+ "🐭",
77
+ "🐹",
78
+ "🐰",
79
+ "🦊",
80
+ "🐻",
81
+ "🐼",
82
+ "🐨",
83
+ "🐯",
84
+ "🦁",
85
+ "🐮",
86
+ "🐷",
87
+ "🐸",
88
+ "🐵",
89
+ "🐔",
90
+ "🐧",
91
+ "🐦",
92
+ "🦆",
93
+ "🦅",
94
+ "🦄",
95
+ "🐝",
96
+ "🦋",
97
+ "🌲",
98
+ "🌳",
99
+ "🌴",
100
+ "🌵",
101
+ "🌸",
102
+ "🌼",
103
+ "🌻",
104
+ "☀️",
105
+ "🌙",
106
+ "⭐",
107
+ "🌈",
108
+ "🌧️",
109
+ "❄️",
110
+ "🌊",
111
+ /* Food & Drink */
112
+ "🍎",
113
+ "🍌",
114
+ "🍉",
115
+ "🍇",
116
+ "🍓",
117
+ "🍒",
118
+ "🍍",
119
+ "🥭",
120
+ "🍐",
121
+ "🍊",
122
+ "🍋",
123
+ "🍑",
124
+ "🥝",
125
+ "🥑",
126
+ "🍔",
127
+ "🍟",
128
+ "🍕",
129
+ "🌭",
130
+ "🥪",
131
+ "🌮",
132
+ "🌯",
133
+ "🍣",
134
+ "🍜",
135
+ "🍰",
136
+ "🧁",
137
+ "🍩",
138
+ "🍪",
139
+ "🍫",
140
+ "☕",
141
+ "🍵",
142
+ "🥤",
143
+ "🍺",
144
+ "🍷",
145
+ "🍸",
146
+ "🍹",
147
+ "🥂",
148
+ /* Activity */
149
+ "⚽",
150
+ "🏀",
151
+ "🏈",
152
+ "⚾",
153
+ "🎾",
154
+ "🏐",
155
+ "🏉",
156
+ "🎮",
157
+ "🎯",
158
+ "🎳",
159
+ "🎲",
160
+ "♟️",
161
+ "🏃",
162
+ "🚴",
163
+ "🏊",
164
+ "🏋️",
165
+ "🧘",
166
+ "🎸",
167
+ "🎹",
168
+ "🥁",
169
+ "🎺",
170
+ "🎤",
171
+ "🏆",
172
+ "🥇",
173
+ /* Travel & Places */
174
+ "🚗",
175
+ "🚕",
176
+ "🚌",
177
+ "🚎",
178
+ "🚓",
179
+ "🚑",
180
+ "🚒",
181
+ "✈️",
182
+ "🚀",
183
+ "🚁",
184
+ "🚤",
185
+ "🛳️",
186
+ "🚢",
187
+ "🏠",
188
+ "🏢",
189
+ "🏬",
190
+ "🏫",
191
+ "🏥",
192
+ "🏰",
193
+ "🗼",
194
+ "🗽",
195
+ "⛩️",
196
+ "🕌",
197
+ "🌍",
198
+ "🌎",
199
+ "🌏",
200
+ "🏖️",
201
+ "🏝️",
202
+ /* Objects */
203
+ "📱",
204
+ "💻",
205
+ "🖥️",
206
+ "⌨️",
207
+ "🖱️",
208
+ "📷",
209
+ "📸",
210
+ "🎥",
211
+ "📹",
212
+ "📚",
213
+ "📖",
214
+ "📝",
215
+ "📄",
216
+ "📂",
217
+ "🔒",
218
+ "🔑",
219
+ "🗝️",
220
+ "💡",
221
+ "🔦",
222
+ "🕯️",
223
+ "🧰",
224
+ "🛠️",
225
+ "🔧",
226
+ "⚙️",
227
+ "📦",
228
+ "💳",
229
+ "💰",
230
+ "🔋",
231
+ "🔌",
232
+ /* Flags */
233
+ "🇮🇳",
234
+ "🇺🇸",
235
+ "🇬🇧",
236
+ "🇨🇦",
237
+ "🇦🇺",
238
+ "🇩🇪",
239
+ "🇫🇷",
240
+ "🇪🇸",
241
+ "🇮🇹",
242
+ "🇯🇵",
243
+ "🇰🇷",
244
+ "🇨🇳",
245
+ "🇧🇷",
246
+ "🇲🇽",
247
+ "🇷🇺",
248
+ "🇿🇦",
249
+ "🇳🇿"
250
+ ]
251
+ },
252
+ symbols: {
253
+ name: "Symbols",
254
+ emojis: [
255
+ "❤️",
256
+ "💔",
257
+ "💙",
258
+ "💚",
259
+ "💛",
260
+ "🖤",
261
+ "🤍",
262
+ "🤎",
263
+ "✔️",
264
+ "❌",
265
+ "☑️",
266
+ "❗",
267
+ "❓",
268
+ "⚠️",
269
+ "💯",
270
+ "➕",
271
+ "➖",
272
+ "✖️",
273
+ "➗",
274
+ "♻️",
275
+ "⚡",
276
+ "🔥",
277
+ "✨",
278
+ "⭐",
279
+ "⭕",
280
+ "🚫",
281
+ "⬆️",
282
+ "⬇️",
283
+ "⬅️",
284
+ "➡️",
285
+ "🔄",
286
+ "🔁",
287
+ "🔀",
288
+ "🔔",
289
+ "🔕",
290
+ "⏰",
291
+ "⌛",
292
+ "⏳"
293
+ ]
294
+ },
295
+ people: {
296
+ name: "People",
297
+ emojis: [
298
+ "😀",
299
+ "😃",
300
+ "😄",
301
+ "😁",
302
+ "😆",
303
+ "😅",
304
+ "😂",
305
+ "🤣",
306
+ "😊",
307
+ "😇",
308
+ "🙂",
309
+ "🙃",
310
+ "😉",
311
+ "😍",
312
+ "😘",
313
+ "😎",
314
+ "🤓",
315
+ "😐",
316
+ "😑",
317
+ "😬",
318
+ "🙄",
319
+ "😏",
320
+ "😌",
321
+ "🤩",
322
+ "🥳",
323
+ "🤔",
324
+ "😴",
325
+ "😭",
326
+ "😢",
327
+ "😡",
328
+ "🤯",
329
+ "👍",
330
+ "👎",
331
+ "👌",
332
+ "✌️",
333
+ "🤞",
334
+ "🙏",
335
+ "👏",
336
+ "🙌",
337
+ "💪"
338
+ ]
339
+ },
340
+ "animals-nature": {
341
+ name: "Animals & Nature",
342
+ emojis: [
343
+ "🐶",
344
+ "🐱",
345
+ "🐭",
346
+ "🐹",
347
+ "🐰",
348
+ "🦊",
349
+ "🐻",
350
+ "🐼",
351
+ "🐨",
352
+ "🐯",
353
+ "🦁",
354
+ "🐮",
355
+ "🐷",
356
+ "🐸",
357
+ "🐵",
358
+ "🐔",
359
+ "🐧",
360
+ "🐦",
361
+ "🦆",
362
+ "🦅",
363
+ "🦄",
364
+ "🐝",
365
+ "🦋",
366
+ "🌲",
367
+ "🌳",
368
+ "🌴",
369
+ "🌵",
370
+ "🌸",
371
+ "🌼",
372
+ "🌻",
373
+ "☀️",
374
+ "🌙",
375
+ "⭐",
376
+ "🌈",
377
+ "🌧️",
378
+ "❄️",
379
+ "🌊"
380
+ ]
381
+ },
382
+ "food-drink": {
383
+ name: "Food & Drink",
384
+ emojis: [
385
+ "🍎",
386
+ "🍌",
387
+ "🍉",
388
+ "🍇",
389
+ "🍓",
390
+ "🍒",
391
+ "🍍",
392
+ "🥭",
393
+ "🍐",
394
+ "🍊",
395
+ "🍋",
396
+ "🍑",
397
+ "🥝",
398
+ "🥑",
399
+ "🍔",
400
+ "🍟",
401
+ "🍕",
402
+ "🌭",
403
+ "🥪",
404
+ "🌮",
405
+ "🌯",
406
+ "🍣",
407
+ "🍜",
408
+ "🍰",
409
+ "🧁",
410
+ "🍩",
411
+ "🍪",
412
+ "🍫",
413
+ "☕",
414
+ "🍵",
415
+ "🥤",
416
+ "🍺",
417
+ "🍷",
418
+ "🍸",
419
+ "🍹",
420
+ "🥂"
421
+ ]
422
+ },
423
+ activity: {
424
+ name: "Activity",
425
+ emojis: [
426
+ "⚽",
427
+ "🏀",
428
+ "🏈",
429
+ "⚾",
430
+ "🎾",
431
+ "🏐",
432
+ "🏉",
433
+ "🎮",
434
+ "🎯",
435
+ "🎳",
436
+ "🎲",
437
+ "♟️",
438
+ "🏃",
439
+ "🚴",
440
+ "🏊",
441
+ "🏋️",
442
+ "🧘",
443
+ "🎸",
444
+ "🎹",
445
+ "🥁",
446
+ "🎺",
447
+ "🎤",
448
+ "🏆",
449
+ "🥇",
450
+ "🥈",
451
+ "🥉"
452
+ ]
453
+ },
454
+ "travel-places": {
455
+ name: "Travel & Places",
456
+ emojis: [
457
+ "🚗",
458
+ "🚕",
459
+ "🚌",
460
+ "🚎",
461
+ "🚓",
462
+ "🚑",
463
+ "🚒",
464
+ "✈️",
465
+ "🚀",
466
+ "🚁",
467
+ "🚤",
468
+ "🛳️",
469
+ "🚢",
470
+ "🏠",
471
+ "🏢",
472
+ "🏬",
473
+ "🏫",
474
+ "🏥",
475
+ "🏰",
476
+ "🗼",
477
+ "🗽",
478
+ "⛩️",
479
+ "🕌",
480
+ "🌍",
481
+ "🌎",
482
+ "🌏",
483
+ "🏖️",
484
+ "🏝️"
485
+ ]
486
+ },
487
+ objects: {
488
+ name: "Objects",
489
+ emojis: [
490
+ "📱",
491
+ "💻",
492
+ "🖥️",
493
+ "⌨️",
494
+ "🖱️",
495
+ "📷",
496
+ "📸",
497
+ "🎥",
498
+ "📹",
499
+ "📚",
500
+ "📖",
501
+ "📝",
502
+ "📄",
503
+ "📂",
504
+ "🔒",
505
+ "🔑",
506
+ "🗝️",
507
+ "💡",
508
+ "🔦",
509
+ "🕯️",
510
+ "🧰",
511
+ "🛠️",
512
+ "🔧",
513
+ "⚙️",
514
+ "📦",
515
+ "💳",
516
+ "💰",
517
+ "🔋",
518
+ "🔌"
519
+ ]
520
+ },
521
+ flags: {
522
+ name: "Flags",
523
+ emojis: [
524
+ "🇮🇳",
525
+ "🇺🇸",
526
+ "🇬🇧",
527
+ "🇨🇦",
528
+ "🇦🇺",
529
+ "🇩🇪",
530
+ "🇫🇷",
531
+ "🇪🇸",
532
+ "🇮🇹",
533
+ "🇯🇵",
534
+ "🇰🇷",
535
+ "🇨🇳",
536
+ "🇧🇷",
537
+ "🇲🇽",
538
+ "🇷🇺",
539
+ "🇿🇦",
540
+ "🇳🇿"
541
+ ]
542
+ }
543
+ }, p = {
544
+ "💙": "blue heart",
545
+ "💚": "green heart",
546
+ "💛": "yellow heart",
547
+ "🖤": "black heart",
548
+ "🤍": "white heart",
549
+ "🤎": "brown heart",
550
+ "☑️": "check box with check",
551
+ "🔴": "red circle",
552
+ "🟢": "green circle",
553
+ "🟡": "yellow circle",
554
+ "🔵": "blue circle",
555
+ "⬆️": "up arrow",
556
+ "⬇️": "down arrow",
557
+ "⬅️": "left arrow",
558
+ "➡️": "right arrow",
559
+ "🔄": "counterclockwise arrows",
560
+ "🔁": "repeat button",
561
+ "🔀": "shuffle tracks",
562
+ "🔔": "bell",
563
+ "🔕": "muted bell",
564
+ "⏰": "alarm clock",
565
+ "⏳": "hourglass not done",
566
+ "⌛": "hourglass done",
567
+ "♠️": "spade suit",
568
+ "♥️": "heart suit",
569
+ "♦️": "diamond suit",
570
+ "♣️": "club suit",
571
+ "🚫": "prohibited",
572
+ "⭕": "hollow red circle",
573
+ "❎": "cross mark button",
574
+ "😐": "neutral face",
575
+ "😑": "expressionless face",
576
+ "😬": "grimacing face",
577
+ "🙄": "face with rolling eyes",
578
+ "😏": "smirking face",
579
+ "😌": "relieved face",
580
+ "🤩": "star struck",
581
+ "😜": "winking face with tongue",
582
+ "😝": "squinting face with tongue",
583
+ "🤪": "zany face",
584
+ "😢": "crying face",
585
+ "😥": "sad but relieved face",
586
+ "😓": "downcast face with sweat",
587
+ "😱": "face screaming in fear",
588
+ "😨": "fearful face",
589
+ "🤗": "hugging face",
590
+ "🤭": "face with hand over mouth",
591
+ "🤫": "shushing face",
592
+ "🤥": "lying face",
593
+ "👌": "ok hand",
594
+ "✌️": "victory hand",
595
+ "🤞": "crossed fingers",
596
+ "🙌": "raising hands",
597
+ "💪": "flexed biceps",
598
+ "🐔": "chicken",
599
+ "🐧": "penguin",
600
+ "🐦": "bird",
601
+ "🐤": "baby chick",
602
+ "🦆": "duck",
603
+ "🦅": "eagle",
604
+ "🐺": "wolf",
605
+ "🦄": "unicorn",
606
+ "🐝": "honeybee",
607
+ "🐞": "lady beetle",
608
+ "🦋": "butterfly",
609
+ "🐢": "turtle",
610
+ "🐍": "snake",
611
+ "🦖": "t-rex",
612
+ "🌿": "herb",
613
+ "🍀": "four leaf clover",
614
+ "🍁": "maple leaf",
615
+ "🍂": "fallen leaf",
616
+ "🌊": "water wave",
617
+ "❄️": "snowflake",
618
+ "☁️": "cloud",
619
+ "⛈️": "cloud with lightning and rain",
620
+ "🌪️": "tornado",
621
+ "🍐": "pear",
622
+ "🍊": "tangerine",
623
+ "🍋": "lemon",
624
+ "🍑": "peach",
625
+ "🥝": "kiwi fruit",
626
+ "🥑": "avocado",
627
+ "🍆": "eggplant",
628
+ "🌽": "ear of corn",
629
+ "🥕": "carrot",
630
+ "🥔": "potato",
631
+ "🍞": "bread",
632
+ "🥐": "croissant",
633
+ "🥖": "baguette bread",
634
+ "🧀": "cheese wedge",
635
+ "🍖": "meat on bone",
636
+ "🍗": "poultry leg",
637
+ "🥩": "cut of meat",
638
+ "🍦": "soft ice cream",
639
+ "🍨": "ice cream",
640
+ "🍫": "chocolate bar",
641
+ "🍬": "candy",
642
+ "🥛": "glass of milk",
643
+ "🧃": "beverage box",
644
+ "🍹": "tropical drink",
645
+ "🥂": "clinking glasses",
646
+ "🏓": "ping pong",
647
+ "🥊": "boxing glove",
648
+ "🥋": "martial arts uniform",
649
+ "⛳": "flag in hole",
650
+ "🏹": "bow and arrow",
651
+ "🎿": "skis",
652
+ "⛷️": "skier",
653
+ "🏂": "snowboarder",
654
+ "🎤": "microphone",
655
+ "🎬": "clapper board",
656
+ "🎨": "artist palette",
657
+ "🧩": "puzzle piece",
658
+ "🪀": "yo-yo",
659
+ "🚇": "metro",
660
+ "🚉": "station",
661
+ "🚊": "tram",
662
+ "🚝": "monorail",
663
+ "🛻": "pickup truck",
664
+ "🚐": "minibus",
665
+ "🗺️": "world map",
666
+ "🧭": "compass",
667
+ "⛰️": "mountain",
668
+ "🏔️": "snow capped mountain",
669
+ "🌋": "volcano",
670
+ "🏜️": "desert",
671
+ "🏕️": "camping",
672
+ "🏙️": "cityscape",
673
+ "🌆": "city at dusk",
674
+ "🌃": "night with stars",
675
+ "📦": "package",
676
+ "📫": "closed mailbox with raised flag",
677
+ "📬": "open mailbox with raised flag",
678
+ "📭": "open mailbox with lowered flag",
679
+ "🧾": "receipt",
680
+ "💳": "credit card",
681
+ "💰": "money bag",
682
+ "🪙": "coin",
683
+ "🔋": "battery",
684
+ "🔌": "electric plug",
685
+ "🧯": "fire extinguisher",
686
+ "🪜": "ladder",
687
+ "🪞": "mirror",
688
+ "🧹": "broom",
689
+ "🧸": "teddy bear"
690
+ };
691
+ let c = null, n = "all", l = "", s = null;
692
+ const j = '[data-theme="dark"], .dark, .editora-theme-dark', k = () => ({
693
+ name: "emojis",
694
+ toolbar: [
695
+ {
696
+ label: "Insert Emoji",
697
+ command: "openEmojiDialog",
698
+ icon: '<svg width="24" height="24" focusable="false"><path d="M9 11c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm6 0c.6 0 1-.4 1-1s-.4-1-1-1a1 1 0 0 0-1 1c0 .6.4 1 1 1Zm-3 5.5c2.1 0 4-1.5 4.4-3.5H7.6c.5 2 2.3 3.5 4.4 3.5ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 14.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13Z" fill-rule="nonzero"></path></svg>',
699
+ shortcut: "Mod-Shift-j",
700
+ type: "button"
701
+ }
702
+ ],
703
+ commands: {
704
+ openEmojiDialog: (o, t) => {
705
+ const e = t?.contentElement || u();
706
+ return e ? (h(e), !0) : !1;
707
+ },
708
+ insertEmoji: (o, t) => {
709
+ if (!o) return !1;
710
+ const e = t?.contentElement || u();
711
+ if (!e) return !1;
712
+ try {
713
+ return f(o, e), !0;
714
+ } catch {
715
+ return !1;
716
+ }
717
+ }
718
+ },
719
+ keymap: {
720
+ "Mod-Shift-j": "openEmojiDialog"
721
+ }
722
+ });
723
+ function h(o) {
724
+ n = "all", l = "";
725
+ const t = window.getSelection();
726
+ s = null, t && t.rangeCount > 0 && o.contains(t.anchorNode) && (s = t.getRangeAt(0).cloneRange());
727
+ const e = document.createElement("div");
728
+ e.className = "emojis-overlay", w(o) && e.classList.add("rte-ui-theme-dark"), e.onclick = g;
729
+ const r = document.createElement("div");
730
+ r.className = "emojis-dialog", r.setAttribute("role", "dialog"), r.setAttribute("aria-modal", "true"), r.onclick = (a) => a.stopPropagation();
731
+ const i = Object.keys(d);
732
+ r.innerHTML = `
733
+ <div class="rte-dialog-header emojis-header">
734
+ <h3>Insert Emojis</h3>
735
+ <button class="rte-dialog-close emojis-close">×</button>
736
+ </div>
737
+ <div class="rte-dialog-body emojis-content">
738
+ <div class="emojis-tabs">
739
+ ${i.map((a) => `
740
+ <button class="emojis-tab ${a === n ? "active" : ""}" data-category="${a}">
741
+ ${d[a].name}
742
+ </button>
743
+ `).join("")}
744
+ </div>
745
+ <div class="emojis-main-content">
746
+ <div class="emojis-search">
747
+ <svg class="emojis-search-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
748
+ <circle cx="11" cy="11" r="8"/>
749
+ <path d="m21 21-4.35-4.35"/>
750
+ </svg>
751
+ <input
752
+ type="text"
753
+ placeholder="Search emojis..."
754
+ class="emojis-search-input"
755
+ id="emoji-search-input"
756
+ />
757
+ </div>
758
+ <div class="emojis-grid" id="emojis-grid">
759
+ ${b(n, l)}
760
+ </div>
761
+ </div>
762
+ </div>
763
+ `, e.appendChild(r), document.body.appendChild(e), c = e, x(r, o), y(), setTimeout(() => {
764
+ r.querySelector("#emoji-search-input")?.focus();
765
+ }, 100);
766
+ }
767
+ function x(o, t) {
768
+ o.querySelector(".emojis-close")?.addEventListener("click", g), o.querySelectorAll(".emojis-tab").forEach((r) => {
769
+ r.addEventListener("click", (i) => {
770
+ const a = i.target.getAttribute("data-category");
771
+ a && v(o, a, t);
772
+ });
773
+ }), o.querySelector("#emoji-search-input")?.addEventListener("input", (r) => {
774
+ l = r.target.value, m(o, t);
775
+ }), m(o, t);
776
+ }
777
+ function v(o, t, e) {
778
+ n = t, o.querySelectorAll(".emojis-tab").forEach((r) => {
779
+ r.classList.toggle("active", r.getAttribute("data-category") === t);
780
+ }), m(o, e);
781
+ }
782
+ function m(o, t) {
783
+ const e = o.querySelector("#emojis-grid");
784
+ e && (e.innerHTML = b(n, l), e.querySelectorAll(".emojis-item").forEach((r) => {
785
+ r.addEventListener("click", () => {
786
+ const i = r.textContent?.trim() || "";
787
+ i && (f(i, t), g());
788
+ });
789
+ }));
790
+ }
791
+ function b(o, t) {
792
+ let e = d[o].emojis;
793
+ return t.trim() && (e = e.filter((r) => r.toLowerCase().includes(t.toLowerCase()) ? !0 : (p[r] || "").toLowerCase().includes(t.toLowerCase()))), e.length === 0 && t.trim() ? `<div class="emojis-no-results">No emojis found for "${t}"</div>` : e.map((r, i) => `
794
+ <button
795
+ class="emojis-item"
796
+ title="Insert ${r}"
797
+ data-emoji="${r}"
798
+ >
799
+ ${r}
800
+ </button>
801
+ `).join("");
802
+ }
803
+ function g() {
804
+ c && (document.body.removeChild(c), c = null);
805
+ }
806
+ function f(o, t) {
807
+ t.focus();
808
+ let e = window.getSelection();
809
+ if (s && (e?.removeAllRanges(), e?.addRange(s), s = null), e = window.getSelection(), e && e.rangeCount > 0) {
810
+ const r = e.getRangeAt(0);
811
+ r.deleteContents();
812
+ const i = document.createTextNode(o);
813
+ r.insertNode(i), r.setStartAfter(i), r.setEndAfter(i), e.removeAllRanges(), e.addRange(r);
814
+ }
815
+ }
816
+ function u() {
817
+ const o = window.getSelection();
818
+ if (o && o.rangeCount > 0) {
819
+ const e = o.anchorNode, i = (e instanceof HTMLElement ? e : e?.parentElement)?.closest(".editora-content, .rte-content");
820
+ if (i) return i;
821
+ }
822
+ const t = document.activeElement;
823
+ return t && (t.classList.contains("editora-content") || t.classList.contains("rte-content")) ? t : document.querySelector(".editora-content, .rte-content");
824
+ }
825
+ function w(o) {
826
+ const t = o || u();
827
+ return t ? !!t.closest(j) : !1;
828
+ }
829
+ function y() {
830
+ if (document.getElementById("emojis-dialog-styles")) return;
831
+ const o = document.createElement("style");
832
+ o.id = "emojis-dialog-styles", o.textContent = `
833
+ .emojis-overlay {
834
+ --rte-emoji-overlay-bg: rgba(15, 23, 36, 0.56);
835
+ --rte-emoji-dialog-bg: #ffffff;
836
+ --rte-emoji-dialog-text: #101828;
837
+ --rte-emoji-border: #d6dbe4;
838
+ --rte-emoji-subtle-bg: #f7f9fc;
839
+ --rte-emoji-subtle-hover: #eef2f7;
840
+ --rte-emoji-muted-text: #5f6b7d;
841
+ --rte-emoji-accent: #1f75fe;
842
+ --rte-emoji-accent-strong: #165fd6;
843
+ --rte-emoji-ring: rgba(31, 117, 254, 0.18);
844
+ position: fixed;
845
+ top: 0;
846
+ left: 0;
847
+ right: 0;
848
+ bottom: 0;
849
+ background-color: var(--rte-emoji-overlay-bg);
850
+ backdrop-filter: blur(2px);
851
+ display: flex;
852
+ align-items: center;
853
+ justify-content: center;
854
+ z-index: 1000;
855
+ padding: 16px;
856
+ box-sizing: border-box;
857
+ }
858
+
859
+ .emojis-overlay.rte-ui-theme-dark {
860
+ --rte-emoji-overlay-bg: rgba(2, 8, 20, 0.72);
861
+ --rte-emoji-dialog-bg: #202938;
862
+ --rte-emoji-dialog-text: #e8effc;
863
+ --rte-emoji-border: #49566c;
864
+ --rte-emoji-subtle-bg: #2a3444;
865
+ --rte-emoji-subtle-hover: #344256;
866
+ --rte-emoji-muted-text: #a5b1c5;
867
+ --rte-emoji-accent: #58a6ff;
868
+ --rte-emoji-accent-strong: #4598f4;
869
+ --rte-emoji-ring: rgba(88, 166, 255, 0.22);
870
+ }
871
+
872
+ .emojis-dialog {
873
+ background: var(--rte-emoji-dialog-bg);
874
+ color: var(--rte-emoji-dialog-text);
875
+ border: 1px solid var(--rte-emoji-border);
876
+ border-radius: 12px;
877
+ box-shadow: 0 24px 48px rgba(10, 15, 24, 0.28);
878
+ max-width: 800px;
879
+ width: 90%;
880
+ max-height: 80vh;
881
+ display: flex;
882
+ flex-direction: column;
883
+ overflow: hidden;
884
+ }
885
+
886
+ .emojis-header {
887
+ border-bottom: 1px solid var(--rte-emoji-border);
888
+ background: linear-gradient(180deg, rgba(127, 154, 195, 0.08) 0%, rgba(127, 154, 195, 0) 100%);
889
+ }
890
+
891
+ .emojis-header h3 {
892
+ color: var(--rte-emoji-dialog-text);
893
+ }
894
+
895
+ .emojis-close {
896
+ color: var(--rte-emoji-muted-text);
897
+ border-radius: 8px;
898
+ transition: background-color 0.16s ease, color 0.16s ease;
899
+ }
900
+
901
+ .emojis-close:hover {
902
+ background-color: var(--rte-emoji-subtle-hover);
903
+ color: var(--rte-emoji-dialog-text);
904
+ }
905
+
906
+ .emojis-content {
907
+ display: flex;
908
+ flex: 1;
909
+ overflow: hidden;
910
+ padding: 0;
911
+ }
912
+
913
+ .emojis-main-content {
914
+ flex: 1;
915
+ display: flex;
916
+ flex-direction: column;
917
+ overflow: hidden;
918
+ }
919
+
920
+ .emojis-search {
921
+ padding: 16px 16px 0 16px;
922
+ position: relative;
923
+ }
924
+
925
+ .emojis-search-icon {
926
+ position: absolute;
927
+ left: 28px;
928
+ top: 27px;
929
+ color: var(--rte-emoji-muted-text);
930
+ pointer-events: none;
931
+ z-index: 1;
932
+ }
933
+
934
+ .emojis-search-input {
935
+ width: calc(100% - 24px);
936
+ padding: 10px 12px 10px 40px;
937
+ border: 1px solid var(--rte-emoji-border);
938
+ border-radius: 8px;
939
+ font-size: 14px;
940
+ color: var(--rte-emoji-dialog-text);
941
+ background-color: var(--rte-emoji-subtle-bg);
942
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
943
+ }
944
+
945
+ .emojis-search-input:focus {
946
+ outline: none;
947
+ border-color: var(--rte-emoji-accent);
948
+ box-shadow: 0 0 0 3px var(--rte-emoji-ring);
949
+ }
950
+
951
+ .emojis-search:focus-within .emojis-search-icon {
952
+ color: var(--rte-emoji-accent);
953
+ }
954
+
955
+ .emojis-search-input::placeholder {
956
+ color: var(--rte-emoji-muted-text);
957
+ }
958
+
959
+ .emojis-tabs {
960
+ display: flex;
961
+ flex-direction: column;
962
+ width: 180px;
963
+ border-right: 1px solid var(--rte-emoji-border);
964
+ background-color: var(--rte-emoji-subtle-bg);
965
+ }
966
+
967
+ .emojis-tab {
968
+ padding: 12px 16px;
969
+ border: none;
970
+ background: none;
971
+ text-align: left;
972
+ cursor: pointer;
973
+ font-size: 14px;
974
+ color: var(--rte-emoji-muted-text);
975
+ border-bottom: 1px solid var(--rte-emoji-border);
976
+ transition: all 0.2s ease;
977
+ }
978
+
979
+ .emojis-tab:hover {
980
+ background-color: var(--rte-emoji-subtle-hover);
981
+ color: var(--rte-emoji-dialog-text);
982
+ }
983
+
984
+ .emojis-tab.active {
985
+ background-color: var(--rte-emoji-accent);
986
+ color: #fff;
987
+ font-weight: 500;
988
+ }
989
+
990
+ .emojis-tab.active:hover {
991
+ background-color: var(--rte-emoji-accent-strong);
992
+ }
993
+
994
+ .emojis-grid {
995
+ padding: 16px;
996
+ overflow-y: auto;
997
+ display: grid;
998
+ grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
999
+ gap: 8px;
1000
+ }
1001
+
1002
+ .emojis-item {
1003
+ width: 40px;
1004
+ height: 40px;
1005
+ display: flex;
1006
+ align-items: center;
1007
+ justify-content: center;
1008
+ border: 1px solid var(--rte-emoji-border);
1009
+ background: var(--rte-emoji-subtle-bg);
1010
+ border-radius: 8px;
1011
+ cursor: pointer;
1012
+ font-size: 18px;
1013
+ transition: all 0.2s ease;
1014
+ color: var(--rte-emoji-dialog-text);
1015
+ }
1016
+
1017
+ .emojis-item:hover {
1018
+ background-color: var(--rte-emoji-accent);
1019
+ border-color: var(--rte-emoji-accent);
1020
+ color: #fff;
1021
+ transform: scale(1.05);
1022
+ }
1023
+
1024
+ .emojis-item:active {
1025
+ transform: scale(0.95);
1026
+ }
1027
+
1028
+ .emojis-no-results {
1029
+ grid-column: 1 / -1;
1030
+ text-align: center;
1031
+ color: var(--rte-emoji-muted-text);
1032
+ font-size: 14px;
1033
+ padding: 40px 20px;
1034
+ background-color: var(--rte-emoji-subtle-bg);
1035
+ border-radius: 8px;
1036
+ border: 1px solid var(--rte-emoji-border);
1037
+ }
1038
+
1039
+ /* Responsive design */
1040
+ @media (max-width: 768px) {
1041
+ .emojis-dialog {
1042
+ width: 95%;
1043
+ max-height: 90vh;
1044
+ }
1045
+
1046
+ .emojis-content {
1047
+ flex-direction: column;
1048
+ }
1049
+
1050
+ .emojis-tabs {
1051
+ width: 100%;
1052
+ border-right: none;
1053
+ border-bottom: 1px solid var(--rte-emoji-border);
1054
+ flex-direction: row;
1055
+ overflow-x: auto;
1056
+ }
1057
+
1058
+ .emojis-tab {
1059
+ border-bottom: none;
1060
+ border-right: 1px solid var(--rte-emoji-border);
1061
+ white-space: nowrap;
1062
+ min-width: 80px;
1063
+ }
1064
+
1065
+ .emojis-grid {
1066
+ grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
1067
+ gap: 6px;
1068
+ }
1069
+
1070
+ .emojis-item {
1071
+ width: 36px;
1072
+ height: 36px;
1073
+ font-size: 16px;
1074
+ }
1075
+ }
1076
+ `, document.head.appendChild(o);
1077
+ }
1078
+ export {
1079
+ k as EmojisPlugin
1080
+ };