@editora/core 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +9 -0
  2. package/dist/A11yCheckerPlugin.native-CZKpi3uF.mjs +475 -0
  3. package/dist/A11yCheckerPlugin.native-CZKpi3uF.mjs.map +1 -0
  4. package/dist/AnchorPlugin.native-7es9PVZ9.mjs +340 -0
  5. package/dist/AnchorPlugin.native-7es9PVZ9.mjs.map +1 -0
  6. package/dist/BackgroundColorPlugin.native-Dip5uqTg.mjs +449 -0
  7. package/dist/BackgroundColorPlugin.native-Dip5uqTg.mjs.map +1 -0
  8. package/dist/BlockquotePlugin.native-JFmOLsxN.mjs +48 -0
  9. package/dist/BlockquotePlugin.native-JFmOLsxN.mjs.map +1 -0
  10. package/dist/BoldPlugin.native-BAzzoqU5.mjs +45 -0
  11. package/dist/BoldPlugin.native-BAzzoqU5.mjs.map +1 -0
  12. package/dist/CapitalizationPlugin.native-DOMsh5R7.mjs +79 -0
  13. package/dist/CapitalizationPlugin.native-DOMsh5R7.mjs.map +1 -0
  14. package/dist/ChecklistPlugin.native-Dccs3nLe.mjs +153 -0
  15. package/dist/ChecklistPlugin.native-Dccs3nLe.mjs.map +1 -0
  16. package/dist/ClearFormattingPlugin.native-BZPDHswo.mjs +27 -0
  17. package/dist/ClearFormattingPlugin.native-BZPDHswo.mjs.map +1 -0
  18. package/dist/CodePlugin.native-DD9xFIid.mjs +1679 -0
  19. package/dist/CodePlugin.native-DD9xFIid.mjs.map +1 -0
  20. package/dist/CodeSamplePlugin.native-DMbEdO9j.mjs +326 -0
  21. package/dist/CodeSamplePlugin.native-DMbEdO9j.mjs.map +1 -0
  22. package/dist/CommentsPlugin.native-2zQV8Ia4.mjs +473 -0
  23. package/dist/CommentsPlugin.native-2zQV8Ia4.mjs.map +1 -0
  24. package/dist/DirectionPlugin.native-Be7wCzkI.mjs +59 -0
  25. package/dist/DirectionPlugin.native-Be7wCzkI.mjs.map +1 -0
  26. package/dist/DocumentManagerPlugin.native-BvZL5CSG.mjs +116 -0
  27. package/dist/DocumentManagerPlugin.native-BvZL5CSG.mjs.map +1 -0
  28. package/dist/EmbedIframePlugin.native-ifr9KLdN.mjs +461 -0
  29. package/dist/EmbedIframePlugin.native-ifr9KLdN.mjs.map +1 -0
  30. package/dist/EmojisPlugin.native-D6mJSnSR.mjs +1033 -0
  31. package/dist/EmojisPlugin.native-D6mJSnSR.mjs.map +1 -0
  32. package/dist/FontFamilyPlugin.native-BzS_9qbM.mjs +106 -0
  33. package/dist/FontFamilyPlugin.native-BzS_9qbM.mjs.map +1 -0
  34. package/dist/FontSizePlugin.native-DkLMLPue.mjs +186 -0
  35. package/dist/FontSizePlugin.native-DkLMLPue.mjs.map +1 -0
  36. package/dist/FootnotePlugin.native-BciVc9W6.mjs +128 -0
  37. package/dist/FootnotePlugin.native-BciVc9W6.mjs.map +1 -0
  38. package/dist/FullscreenPlugin.native-ChXyxeNw.mjs +77 -0
  39. package/dist/FullscreenPlugin.native-ChXyxeNw.mjs.map +1 -0
  40. package/dist/HeadingPlugin.native-DrLYwQnQ.mjs +64 -0
  41. package/dist/HeadingPlugin.native-DrLYwQnQ.mjs.map +1 -0
  42. package/dist/HistoryPlugin.native-DoDRifCf.mjs +89 -0
  43. package/dist/HistoryPlugin.native-DoDRifCf.mjs.map +1 -0
  44. package/dist/IndentPlugin.native-CbFugPoi.mjs +133 -0
  45. package/dist/IndentPlugin.native-CbFugPoi.mjs.map +1 -0
  46. package/dist/ItalicPlugin.native-CQjjDyUL.mjs +43 -0
  47. package/dist/ItalicPlugin.native-CQjjDyUL.mjs.map +1 -0
  48. package/dist/LineHeightPlugin.native-CWQT2FIa.mjs +73 -0
  49. package/dist/LineHeightPlugin.native-CWQT2FIa.mjs.map +1 -0
  50. package/dist/LinkPlugin.native-BdAOV-iu.mjs +206 -0
  51. package/dist/LinkPlugin.native-BdAOV-iu.mjs.map +1 -0
  52. package/dist/ListPlugin.native-CLFU5AUQ.mjs +59 -0
  53. package/dist/ListPlugin.native-CLFU5AUQ.mjs.map +1 -0
  54. package/dist/MathPlugin.native-DE_ii-LA.mjs +182 -0
  55. package/dist/MathPlugin.native-DE_ii-LA.mjs.map +1 -0
  56. package/dist/MediaManagerPlugin.native-DaYFDzNM.mjs +533 -0
  57. package/dist/MediaManagerPlugin.native-DaYFDzNM.mjs.map +1 -0
  58. package/dist/MergeTagPlugin.native-CrxyThyn.mjs +178 -0
  59. package/dist/MergeTagPlugin.native-CrxyThyn.mjs.map +1 -0
  60. package/dist/PageBreakPlugin.native-DDjcDyRW.mjs +172 -0
  61. package/dist/PageBreakPlugin.native-DDjcDyRW.mjs.map +1 -0
  62. package/dist/PreviewPlugin.native-DBvfpmIv.mjs +322 -0
  63. package/dist/PreviewPlugin.native-DBvfpmIv.mjs.map +1 -0
  64. package/dist/PrintPlugin.native-BUpm52VJ.mjs +311 -0
  65. package/dist/PrintPlugin.native-BUpm52VJ.mjs.map +1 -0
  66. package/dist/SpecialCharactersPlugin.native-x7a2SWXc.mjs +731 -0
  67. package/dist/SpecialCharactersPlugin.native-x7a2SWXc.mjs.map +1 -0
  68. package/dist/SpellCheckPlugin.native-B7yTh0iE.mjs +465 -0
  69. package/dist/SpellCheckPlugin.native-B7yTh0iE.mjs.map +1 -0
  70. package/dist/StrikethroughPlugin.native-ChaZLaXw.mjs +43 -0
  71. package/dist/StrikethroughPlugin.native-ChaZLaXw.mjs.map +1 -0
  72. package/dist/TablePlugin.native-EEWXn1-s.mjs +491 -0
  73. package/dist/TablePlugin.native-EEWXn1-s.mjs.map +1 -0
  74. package/dist/TemplatePlugin.native-BlSn1c9h.mjs +564 -0
  75. package/dist/TemplatePlugin.native-BlSn1c9h.mjs.map +1 -0
  76. package/dist/TextAlignmentPlugin.native-CQIs1m7R.mjs +97 -0
  77. package/dist/TextAlignmentPlugin.native-CQIs1m7R.mjs.map +1 -0
  78. package/dist/TextColorPlugin.native-D6SmTglm.mjs +432 -0
  79. package/dist/TextColorPlugin.native-D6SmTglm.mjs.map +1 -0
  80. package/dist/UnderlinePlugin.native-QpIcK4L2.mjs +35 -0
  81. package/dist/UnderlinePlugin.native-QpIcK4L2.mjs.map +1 -0
  82. package/dist/core.css +1 -0
  83. package/dist/documentManager-irzj9n3V.mjs +37627 -0
  84. package/dist/documentManager-irzj9n3V.mjs.map +1 -0
  85. package/dist/editorContainerHelpers-C7kdWnS0.mjs +27 -0
  86. package/dist/editorContainerHelpers-C7kdWnS0.mjs.map +1 -0
  87. package/dist/editora.min.js +519 -4
  88. package/dist/editora.min.js.map +1 -0
  89. package/dist/editora.umd.js +519 -4
  90. package/dist/editora.umd.js.map +1 -0
  91. package/dist/index-BF5RBhL9.js +4 -0
  92. package/dist/index-BF5RBhL9.js.map +1 -0
  93. package/dist/index-BPsf460l.mjs +1243 -0
  94. package/dist/index-BPsf460l.mjs.map +1 -0
  95. package/dist/index.cjs.js +517 -4
  96. package/dist/index.cjs.js.map +1 -0
  97. package/dist/index.es-CuicffkQ.mjs +6665 -0
  98. package/dist/index.es-CuicffkQ.mjs.map +1 -0
  99. package/dist/index.esm.js +1403 -122
  100. package/dist/index.esm.js.map +1 -0
  101. package/dist/plugin-loader.js +55 -0
  102. package/dist/plugin-loader.js.map +1 -0
  103. package/dist/purify.es-CKpwg8Tk.mjs +471 -0
  104. package/dist/purify.es-CKpwg8Tk.mjs.map +1 -0
  105. package/dist/webcomponent-core.js +1243 -0
  106. package/dist/webcomponent-core.js.map +1 -0
  107. package/dist/webcomponent-core.min.css +1 -0
  108. package/dist/webcomponent-core.min.js +597 -0
  109. package/dist/webcomponent-core.min.js.map +1 -0
  110. package/dist/webcomponent.cjs.js +2 -0
  111. package/dist/webcomponent.cjs.js.map +1 -0
  112. package/dist/webcomponent.esm.js +6 -0
  113. package/dist/webcomponent.esm.js.map +1 -0
  114. package/dist/webcomponent.js +1286 -0
  115. package/dist/webcomponent.js.map +1 -0
  116. package/dist/webcomponent.min.css +1 -0
  117. package/dist/webcomponent.min.js +4076 -0
  118. package/dist/webcomponent.min.js.map +1 -0
  119. package/package.json +64 -6
@@ -0,0 +1,731 @@
1
+ const h = {
2
+ all: {
3
+ name: "All",
4
+ characters: [
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
+ "‾",
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
+ "≃",
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
+ "≨",
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
+ "Á",
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
+ "Þ",
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
+ "ü",
233
+ "ý",
234
+ "þ",
235
+ "ÿ",
236
+ "¡",
237
+ "¿",
238
+ "‽",
239
+ "‼",
240
+ "⁇",
241
+ "⁈",
242
+ "⁉",
243
+ "※",
244
+ "‾",
245
+ "‿",
246
+ "⁀",
247
+ "⁁",
248
+ "⁂",
249
+ "⁃",
250
+ "←",
251
+ "↑",
252
+ "→",
253
+ "↓",
254
+ "↔",
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
+ "↽",
296
+ "↾",
297
+ "↿",
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
+ "⇪",
341
+ "⇫",
342
+ "⇬",
343
+ "⇭",
344
+ "⇮",
345
+ "⇯",
346
+ "⇰",
347
+ "⇱",
348
+ "⇲",
349
+ "⇳",
350
+ "⇴",
351
+ "⇵",
352
+ "⇶",
353
+ "⇷",
354
+ "⇸",
355
+ "⇹",
356
+ "⇺",
357
+ "⇻",
358
+ "⇼",
359
+ "⇽",
360
+ "⇾",
361
+ "⇿"
362
+ ]
363
+ },
364
+ currency: {
365
+ name: "Currency",
366
+ characters: ["€", "£", "¥", "¢", "₹", "₽", "₩", "₿", "₺", "₴", "₦", "₨", "₪", "₫", "₭", "₮", "₯", "₰", "₱", "₲", "₳", "₵", "₶", "₷", "₼", "₾", "₿"]
367
+ },
368
+ text: {
369
+ name: "Text",
370
+ characters: ["©", "®", "™", "°", "§", "¶", "†", "‡", "•", "‣", "⁃", "‰", "‱", "′", "″", "‴", "‵", "‶", "‷", "※", "‼", "‽", "‾", "‿", "⁀", "⁁", "⁂"]
371
+ },
372
+ quotation: {
373
+ name: "Quotation",
374
+ characters: ['"', "'", "«", "»", "„", "‟", "‹", "›", "‚", "‛", "〝", "〞", "〟"]
375
+ },
376
+ mathematical: {
377
+ name: "Mathematical",
378
+ characters: ["+", "-", "×", "÷", "=", "≠", "≈", "≡", "≤", "≥", "<", ">", "±", "∓", "∴", "∵", "∶", "∷", "∸", "∹", "∺", "∻", "∼", "∽", "∾", "∿", "≀", "≁", "≂", "≃", "≄", "≅", "≆", "≇", "≉", "≊", "≋", "≌", "≍", "≎", "≏", "≐", "≑", "≒", "≓", "≔", "≕", "≖", "≗", "≘", "≙", "≚", "≛", "≜", "≝", "≞", "≟", "≢", "≣", "≦", "≧", "≨", "≩", "≪", "≫", "≬", "≭", "≮", "≯", "≰", "≱", "≲", "≳", "≴", "≵", "≶", "≷", "≸", "≹", "≺", "≻", "≼", "≽", "≾", "≿"]
379
+ },
380
+ "extended-latin": {
381
+ name: "Extended Latin",
382
+ characters: ["À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ"]
383
+ },
384
+ symbols: {
385
+ name: "Symbols",
386
+ characters: ["¡", "¿", "‽", "‼", "⁇", "⁈", "⁉", "※", "‾", "‿", "⁀", "⁁", "⁂", "⁃"]
387
+ },
388
+ arrows: {
389
+ name: "Arrows",
390
+ characters: ["←", "↑", "→", "↓", "↔", "↕", "↖", "↗", "↘", "↙", "↚", "↛", "↜", "↝", "↞", "↟", "↠", "↡", "↢", "↣", "↤", "↥", "↦", "↧", "↨", "↩", "↪", "↫", "↬", "↭", "↮", "↯", "↰", "↱", "↲", "↳", "↴", "↵", "↶", "↷", "↸", "↹", "↺", "↻", "↼", "↽", "↾", "↿", "⇀", "⇁", "⇂", "⇃", "⇄", "⇅", "⇆", "⇇", "⇈", "⇉", "⇊", "⇋", "⇌", "⇍", "⇎", "⇏", "⇐", "⇑", "⇒", "⇓", "⇔", "⇕", "⇖", "⇗", "⇘", "⇙", "⇚", "⇛", "⇜", "⇝", "⇞", "⇟", "⇠", "⇡", "⇢", "⇣", "⇤", "⇥", "⇦", "⇧", "⇨", "⇩", "⇪", "⇫", "⇬", "⇭", "⇮", "⇯", "⇰", "⇱", "⇲", "⇳", "⇴", "⇵", "⇶", "⇷", "⇸", "⇹", "⇺", "⇻", "⇼", "⇽", "⇾", "⇿"]
391
+ }
392
+ }, f = {
393
+ "€": "euro",
394
+ "£": "pound",
395
+ "¥": "yen",
396
+ "¢": "cent",
397
+ "₹": "rupee",
398
+ "₽": "ruble",
399
+ "₩": "won",
400
+ "₿": "bitcoin",
401
+ '"': "quote",
402
+ "'": "apostrophe",
403
+ "«": "left angle quote",
404
+ "»": "right angle quote",
405
+ "„": "low quote",
406
+ "©": "copyright",
407
+ "®": "registered",
408
+ "™": "trademark",
409
+ "°": "degree",
410
+ "§": "section",
411
+ "¶": "paragraph",
412
+ "†": "dagger",
413
+ "‡": "double dagger",
414
+ "•": "bullet",
415
+ "‰": "per mille",
416
+ "′": "prime",
417
+ "″": "double prime",
418
+ "+": "plus",
419
+ "-": "minus",
420
+ "×": "multiplication",
421
+ "÷": "division",
422
+ "=": "equals",
423
+ "≠": "not equal",
424
+ "≈": "approximately",
425
+ "≡": "identical",
426
+ "≤": "less or equal",
427
+ "≥": "greater or equal",
428
+ "±": "plus minus",
429
+ À: "a grave",
430
+ Á: "a acute",
431
+ Â: "a circumflex",
432
+ Ã: "a tilde",
433
+ Ä: "a diaeresis",
434
+ Ç: "c cedilla",
435
+ "←": "left arrow",
436
+ "↑": "up arrow",
437
+ "→": "right arrow",
438
+ "↓": "down arrow",
439
+ "↔": "left right arrow"
440
+ };
441
+ let u = !1;
442
+ const m = () => {
443
+ if (typeof document == "undefined") return;
444
+ const c = "special-characters-plugin-styles";
445
+ if (document.getElementById(c)) return;
446
+ const a = document.createElement("style");
447
+ a.id = c, a.textContent = `
448
+ .special-characters-overlay {
449
+ position: fixed;
450
+ top: 0;
451
+ left: 0;
452
+ right: 0;
453
+ bottom: 0;
454
+ background-color: rgba(0, 0, 0, 0.5);
455
+ display: flex;
456
+ align-items: center;
457
+ justify-content: center;
458
+ z-index: 10000;
459
+ }
460
+
461
+ .special-characters-dialog {
462
+ background: white;
463
+ border-radius: 8px;
464
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
465
+ max-width: 800px;
466
+ width: 90%;
467
+ max-height: 80vh;
468
+ display: flex;
469
+ flex-direction: column;
470
+ }
471
+
472
+ .special-characters-header {
473
+ display: flex;
474
+ justify-content: space-between;
475
+ align-items: center;
476
+ padding: 16px 20px;
477
+ border-bottom: 1px solid #e1e5e9;
478
+ }
479
+
480
+ .special-characters-header h2 {
481
+ margin: 0;
482
+ font-size: 18px;
483
+ font-weight: 600;
484
+ color: #1a202c;
485
+ }
486
+
487
+ .special-characters-close {
488
+ background: none;
489
+ border: none;
490
+ font-size: 24px;
491
+ cursor: pointer;
492
+ color: #718096;
493
+ padding: 0;
494
+ width: 32px;
495
+ height: 32px;
496
+ display: flex;
497
+ align-items: center;
498
+ justify-content: center;
499
+ border-radius: 4px;
500
+ }
501
+
502
+ .special-characters-close:hover {
503
+ background-color: #f7fafc;
504
+ color: #2d3748;
505
+ }
506
+
507
+ .special-characters-content {
508
+ display: flex;
509
+ flex: 1;
510
+ overflow: hidden;
511
+ }
512
+
513
+ .special-characters-main-content {
514
+ flex: 1;
515
+ display: flex;
516
+ flex-direction: column;
517
+ overflow: hidden;
518
+ }
519
+
520
+ .special-characters-search {
521
+ padding: 16px 16px 0 16px;
522
+ }
523
+
524
+ .special-characters-search-input {
525
+ width: 100%;
526
+ padding: 10px 12px;
527
+ border: 1px solid #e1e5e9;
528
+ border-radius: 6px;
529
+ font-size: 14px;
530
+ color: #2d3748;
531
+ background-color: #ffffff;
532
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
533
+ box-sizing: border-box;
534
+ }
535
+
536
+ .special-characters-search-input:focus {
537
+ outline: none;
538
+ border-color: #4299e1;
539
+ box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.1);
540
+ }
541
+
542
+ .special-characters-tabs {
543
+ display: flex;
544
+ flex-direction: column;
545
+ width: 180px;
546
+ border-right: 1px solid #e1e5e9;
547
+ background-color: #f8fafc;
548
+ }
549
+
550
+ .special-characters-tab {
551
+ padding: 12px 16px;
552
+ border: none;
553
+ background: none;
554
+ text-align: left;
555
+ cursor: pointer;
556
+ font-size: 14px;
557
+ color: #4a5568;
558
+ border-bottom: 1px solid #e1e5e9;
559
+ transition: all 0.2s ease;
560
+ }
561
+
562
+ .special-characters-tab:hover {
563
+ background-color: #edf2f7;
564
+ color: #2d3748;
565
+ }
566
+
567
+ .special-characters-tab.active {
568
+ background-color: #4299e1;
569
+ color: white;
570
+ font-weight: 500;
571
+ }
572
+
573
+ .special-characters-grid {
574
+ padding: 16px;
575
+ overflow-y: auto;
576
+ display: grid;
577
+ grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
578
+ gap: 8px;
579
+ }
580
+
581
+ .special-characters-item {
582
+ width: 40px;
583
+ height: 40px;
584
+ display: flex;
585
+ align-items: center;
586
+ justify-content: center;
587
+ border: 1px solid #e1e5e9;
588
+ background: white;
589
+ border-radius: 4px;
590
+ cursor: pointer;
591
+ font-size: 18px;
592
+ transition: all 0.2s ease;
593
+ color: #2d3748;
594
+ }
595
+
596
+ .special-characters-item:hover {
597
+ background-color: #4299e1;
598
+ border-color: #4299e1;
599
+ color: white;
600
+ transform: scale(1.05);
601
+ }
602
+
603
+ .special-characters-item:active {
604
+ transform: scale(0.95);
605
+ }
606
+
607
+ .special-characters-no-results {
608
+ grid-column: 1 / -1;
609
+ text-align: center;
610
+ color: #718096;
611
+ font-size: 14px;
612
+ padding: 40px 20px;
613
+ background-color: #f8fafc;
614
+ border-radius: 6px;
615
+ border: 1px solid #e1e5e9;
616
+ }
617
+
618
+ @media (max-width: 768px) {
619
+ .special-characters-dialog {
620
+ width: 95%;
621
+ max-height: 90vh;
622
+ }
623
+
624
+ .special-characters-content {
625
+ flex-direction: column;
626
+ }
627
+
628
+ .special-characters-tabs {
629
+ width: 100%;
630
+ border-right: none;
631
+ border-bottom: 1px solid #e1e5e9;
632
+ flex-direction: row;
633
+ overflow-x: auto;
634
+ }
635
+
636
+ .special-characters-tab {
637
+ border-bottom: none;
638
+ border-right: 1px solid #e1e5e9;
639
+ white-space: nowrap;
640
+ }
641
+ }
642
+ `, document.head.appendChild(a);
643
+ }, x = (c) => {
644
+ const a = window.getSelection();
645
+ if (a && a.rangeCount > 0) {
646
+ const t = a.getRangeAt(0);
647
+ t.deleteContents();
648
+ const r = document.createTextNode(c);
649
+ t.insertNode(r), t.setStartAfter(r), t.setEndAfter(r), a.removeAllRanges(), a.addRange(t);
650
+ }
651
+ }, b = () => {
652
+ if (typeof window == "undefined" || u) return;
653
+ u = !0, m();
654
+ let c = "all", a = "";
655
+ const t = document.createElement("div");
656
+ t.className = "special-characters-overlay";
657
+ const r = document.createElement("div");
658
+ r.className = "special-characters-dialog";
659
+ const l = () => {
660
+ const o = h[c].characters.filter((e) => {
661
+ if (!a.trim()) return !0;
662
+ const s = a.toLowerCase();
663
+ return e.toLowerCase().includes(s) || (f[e] || "").toLowerCase().includes(s);
664
+ });
665
+ r.innerHTML = `
666
+ <div class="special-characters-header">
667
+ <h2>Insert Special Characters</h2>
668
+ <button class="special-characters-close">×</button>
669
+ </div>
670
+ <div class="special-characters-content">
671
+ <div class="special-characters-tabs">
672
+ ${Object.keys(h).map((e) => `
673
+ <button class="special-characters-tab ${c === e ? "active" : ""}" data-category="${e}">
674
+ ${h[e].name}
675
+ </button>
676
+ `).join("")}
677
+ </div>
678
+ <div class="special-characters-main-content">
679
+ <div class="special-characters-search">
680
+ <input type="text" placeholder="Search characters..." value="${a}" class="special-characters-search-input">
681
+ </div>
682
+ <div class="special-characters-grid">
683
+ ${o.length > 0 ? o.map((e) => `
684
+ <button class="special-characters-item" data-char="${e}" title="${f[e] || e}">
685
+ ${e}
686
+ </button>
687
+ `).join("") : `<div class="special-characters-no-results">No characters found for "${a}"</div>`}
688
+ </div>
689
+ </div>
690
+ </div>
691
+ `;
692
+ const d = r.querySelector(".special-characters-close");
693
+ d == null || d.addEventListener("click", n), r.querySelectorAll(".special-characters-tab").forEach((e) => {
694
+ e.addEventListener("click", (s) => {
695
+ const i = s.target.getAttribute("data-category");
696
+ i && (c = i, l());
697
+ });
698
+ });
699
+ const p = r.querySelector(".special-characters-search-input");
700
+ p == null || p.addEventListener("input", (e) => {
701
+ a = e.target.value, l();
702
+ }), r.querySelectorAll(".special-characters-item").forEach((e) => {
703
+ e.addEventListener("click", (s) => {
704
+ const i = s.target.getAttribute("data-char");
705
+ i && (x(i), n());
706
+ });
707
+ });
708
+ }, n = () => {
709
+ t.parentNode && t.parentNode.removeChild(t), u = !1, document.removeEventListener("keydown", g);
710
+ }, g = (o) => {
711
+ o.key === "Escape" && (o.preventDefault(), o.stopPropagation(), n());
712
+ };
713
+ t.addEventListener("click", (o) => {
714
+ o.target === t && n();
715
+ }), document.addEventListener("keydown", g), l(), t.appendChild(r), document.body.appendChild(t);
716
+ }, v = () => ({
717
+ name: "specialCharacters",
718
+ toolbar: [{
719
+ label: "Special Characters",
720
+ command: "insertSpecialCharacter",
721
+ icon: '<svg width="24" height="24" focusable="false"><path d="M15 18h4l1-2v4h-6v-3.3l1.4-1a6 6 0 0 0 1.8-2.9 6.3 6.3 0 0 0-.1-4.1 5.8 5.8 0 0 0-3-3.2c-.6-.3-1.3-.5-2.1-.5a5.1 5.1 0 0 0-3.9 1.8 6.3 6.3 0 0 0-1.3 6 6.2 6.2 0 0 0 1.8 3l1.4.9V20H4v-4l1 2h4v-.5l-2-1L5.4 15A6.5 6.5 0 0 1 4 11c0-1 .2-1.9.6-2.7A7 7 0 0 1 6.3 6C7.1 5.4 8 5 9 4.5c1-.3 2-.5 3.1-.5a8.8 8.8 0 0 1 5.7 2 7 7 0 0 1 1.7 2.3 6 6 0 0 1 .2 4.8c-.2.7-.6 1.3-1 1.9a7.6 7.6 0 0 1-3.6 2.5v.5Z" fill-rule="evenodd"></path></svg>'
722
+ }],
723
+ commands: {
724
+ insertSpecialCharacter: () => (b(), !0)
725
+ },
726
+ keymap: {}
727
+ });
728
+ export {
729
+ v as SpecialCharactersPlugin
730
+ };
731
+ //# sourceMappingURL=SpecialCharactersPlugin.native-x7a2SWXc.mjs.map