@aeriz/wysiwyg 1.0.4 → 2.0.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.
Files changed (132) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +82 -573
  3. package/angular/README.md +10 -4
  4. package/angular/aeriz-editor.directive.ts +40 -18
  5. package/dist/adapters/jquery.cjs +1 -1
  6. package/dist/adapters/jquery.js +14 -14
  7. package/dist/adapters/shared.cjs +1 -1
  8. package/dist/adapters/shared.js +59 -56
  9. package/dist/adapters/vue.cjs +1 -1
  10. package/dist/adapters/vue.js +64 -56
  11. package/dist/adapters/vue2.cjs +1 -1
  12. package/dist/adapters/vue2.js +24 -17
  13. package/dist/adapters/wc.cjs +1 -1
  14. package/dist/adapters/wc.js +108 -72
  15. package/dist/aeriz-wysiwyg-adapter.js +24 -32
  16. package/dist/aeriz-wysiwyg-adapter.min.js +1 -1
  17. package/dist/aeriz-wysiwyg-highlight.js +964 -0
  18. package/dist/aeriz-wysiwyg-highlight.min.js +5 -0
  19. package/dist/aeriz-wysiwyg-jquery.js +25 -32
  20. package/dist/aeriz-wysiwyg-jquery.min.js +1 -1
  21. package/dist/aeriz-wysiwyg-wc.js +80 -43
  22. package/dist/aeriz-wysiwyg-wc.min.js +1 -1
  23. package/dist/aeriz-wysiwyg.cjs +3688 -1757
  24. package/dist/aeriz-wysiwyg.css +2104 -1904
  25. package/dist/aeriz-wysiwyg.esm.js +3688 -1757
  26. package/dist/aeriz-wysiwyg.esm.min.js +4904 -3538
  27. package/dist/aeriz-wysiwyg.js +3688 -1757
  28. package/dist/aeriz-wysiwyg.min.cjs +53 -40
  29. package/dist/aeriz-wysiwyg.min.css +1 -1
  30. package/dist/aeriz-wysiwyg.min.js +53 -40
  31. package/dist/highlight.cjs +5 -0
  32. package/dist/highlight.js +895 -0
  33. package/dist/server.cjs +24 -19
  34. package/dist/server.js +612 -251
  35. package/dist-types/adapters/shared.d.ts +0 -8
  36. package/dist-types/adapters/shared.d.ts.map +1 -1
  37. package/dist-types/adapters/vue.d.ts +62 -21
  38. package/dist-types/adapters/vue.d.ts.map +1 -1
  39. package/dist-types/adapters/vue2.d.ts +33 -14
  40. package/dist-types/adapters/vue2.d.ts.map +1 -1
  41. package/dist-types/adapters/wc.d.ts +15 -6
  42. package/dist-types/adapters/wc.d.ts.map +1 -1
  43. package/dist-types/cjs/adapters/shared.d.cts +0 -8
  44. package/dist-types/cjs/adapters/vue.d.cts +62 -21
  45. package/dist-types/cjs/adapters/vue2.d.cts +33 -14
  46. package/dist-types/cjs/adapters/wc.d.cts +15 -6
  47. package/dist-types/cjs/core/AerizEditor.d.cts +238 -48
  48. package/dist-types/cjs/core/AerizViewer.d.cts +7 -0
  49. package/dist-types/cjs/core/block-meta.d.cts +40 -0
  50. package/dist-types/cjs/core/block-tracker.d.cts +64 -0
  51. package/dist-types/cjs/core/blocks.d.cts +39 -4
  52. package/dist-types/cjs/core/fonts.d.cts +33 -46
  53. package/dist-types/cjs/core/highlight.d.cts +2 -0
  54. package/dist-types/cjs/core/history.d.cts +28 -10
  55. package/dist-types/cjs/core/html-to-blocks.d.cts +10 -0
  56. package/dist-types/cjs/core/i18n.d.cts +44 -0
  57. package/dist-types/cjs/core/import-html.d.cts +0 -13
  58. package/dist-types/cjs/core/insert-fragment.d.cts +21 -0
  59. package/dist-types/cjs/core/paste-clean.d.cts +36 -0
  60. package/dist-types/cjs/core/sanitize-dom.d.cts +21 -0
  61. package/dist-types/cjs/core/sanitize-html.d.cts +8 -0
  62. package/dist-types/cjs/core/sanitize-policy.d.cts +22 -0
  63. package/dist-types/cjs/core/selection.d.cts +5 -0
  64. package/dist-types/cjs/core/table-grid.d.cts +87 -0
  65. package/dist-types/cjs/core/table-ops.d.cts +2 -22
  66. package/dist-types/cjs/highlight/index.d.cts +5 -0
  67. package/dist-types/cjs/index.d.cts +19 -11
  68. package/dist-types/cjs/server/index.d.cts +4 -5
  69. package/dist-types/cjs/types/index.d.cts +63 -15
  70. package/dist-types/cjs/ui/Toolbar.d.cts +10 -0
  71. package/dist-types/cjs/ui/doc-tools.d.cts +58 -0
  72. package/dist-types/cjs/ui/popovers.d.cts +14 -25
  73. package/dist-types/core/AerizEditor.d.ts +238 -48
  74. package/dist-types/core/AerizEditor.d.ts.map +1 -1
  75. package/dist-types/core/AerizViewer.d.ts +7 -0
  76. package/dist-types/core/AerizViewer.d.ts.map +1 -1
  77. package/dist-types/core/block-meta.d.ts +40 -0
  78. package/dist-types/core/block-meta.d.ts.map +1 -1
  79. package/dist-types/core/block-policy.d.ts.map +1 -1
  80. package/dist-types/core/block-tracker.d.ts +64 -0
  81. package/dist-types/core/block-tracker.d.ts.map +1 -0
  82. package/dist-types/core/blocks.d.ts +39 -4
  83. package/dist-types/core/blocks.d.ts.map +1 -1
  84. package/dist-types/core/fonts.d.ts +33 -46
  85. package/dist-types/core/fonts.d.ts.map +1 -1
  86. package/dist-types/core/highlight.d.ts +2 -0
  87. package/dist-types/core/highlight.d.ts.map +1 -1
  88. package/dist-types/core/history.d.ts +28 -10
  89. package/dist-types/core/history.d.ts.map +1 -1
  90. package/dist-types/core/html-mini.d.ts.map +1 -1
  91. package/dist-types/core/html-to-blocks.d.ts +10 -0
  92. package/dist-types/core/html-to-blocks.d.ts.map +1 -0
  93. package/dist-types/core/i18n.d.ts +44 -0
  94. package/dist-types/core/i18n.d.ts.map +1 -1
  95. package/dist-types/core/import-html.d.ts +0 -13
  96. package/dist-types/core/import-html.d.ts.map +1 -1
  97. package/dist-types/core/import-markdown.d.ts.map +1 -1
  98. package/dist-types/core/insert-fragment.d.ts +21 -0
  99. package/dist-types/core/insert-fragment.d.ts.map +1 -0
  100. package/dist-types/core/markdown-export.d.ts.map +1 -1
  101. package/dist-types/core/paste-clean.d.ts +36 -0
  102. package/dist-types/core/paste-clean.d.ts.map +1 -0
  103. package/dist-types/core/render-string.d.ts.map +1 -1
  104. package/dist-types/core/sanitize-dom.d.ts +21 -0
  105. package/dist-types/core/sanitize-dom.d.ts.map +1 -0
  106. package/dist-types/core/sanitize-html.d.ts +8 -0
  107. package/dist-types/core/sanitize-html.d.ts.map +1 -0
  108. package/dist-types/core/sanitize-policy.d.ts +22 -0
  109. package/dist-types/core/sanitize-policy.d.ts.map +1 -0
  110. package/dist-types/core/selection.d.ts +5 -0
  111. package/dist-types/core/selection.d.ts.map +1 -1
  112. package/dist-types/core/snapshot.d.ts.map +1 -1
  113. package/dist-types/core/table-grid.d.ts +87 -0
  114. package/dist-types/core/table-grid.d.ts.map +1 -0
  115. package/dist-types/core/table-ops.d.ts +2 -22
  116. package/dist-types/core/table-ops.d.ts.map +1 -1
  117. package/dist-types/highlight/index.d.ts +5 -0
  118. package/dist-types/highlight/index.d.ts.map +1 -0
  119. package/dist-types/index.d.ts +19 -11
  120. package/dist-types/index.d.ts.map +1 -1
  121. package/dist-types/server/index.d.ts +4 -5
  122. package/dist-types/server/index.d.ts.map +1 -1
  123. package/dist-types/types/index.d.ts +63 -15
  124. package/dist-types/types/index.d.ts.map +1 -1
  125. package/dist-types/ui/Toolbar.d.ts +10 -0
  126. package/dist-types/ui/Toolbar.d.ts.map +1 -1
  127. package/dist-types/ui/doc-tools.d.ts +58 -0
  128. package/dist-types/ui/doc-tools.d.ts.map +1 -0
  129. package/dist-types/ui/icons.d.ts.map +1 -1
  130. package/dist-types/ui/popovers.d.ts +14 -25
  131. package/dist-types/ui/popovers.d.ts.map +1 -1
  132. package/package.json +70 -5
@@ -0,0 +1,895 @@
1
+ const h = {
2
+ lineComment: "//",
3
+ blockComment: { start: "/*", end: "*/" },
4
+ stringDelims: ['"', "'"]
5
+ }, g = /* @__PURE__ */ new Set([
6
+ "abstract",
7
+ "arguments",
8
+ "async",
9
+ "await",
10
+ "break",
11
+ "case",
12
+ "catch",
13
+ "class",
14
+ "const",
15
+ "continue",
16
+ "debugger",
17
+ "default",
18
+ "delete",
19
+ "do",
20
+ "else",
21
+ "enum",
22
+ "export",
23
+ "extends",
24
+ "finally",
25
+ "for",
26
+ "from",
27
+ "function",
28
+ "get",
29
+ "if",
30
+ "implements",
31
+ "import",
32
+ "in",
33
+ "instanceof",
34
+ "interface",
35
+ "let",
36
+ "new",
37
+ "null",
38
+ "of",
39
+ "package",
40
+ "private",
41
+ "protected",
42
+ "public",
43
+ "return",
44
+ "set",
45
+ "static",
46
+ "super",
47
+ "switch",
48
+ "this",
49
+ "throw",
50
+ "true",
51
+ "false",
52
+ "try",
53
+ "typeof",
54
+ "undefined",
55
+ "var",
56
+ "void",
57
+ "while",
58
+ "with",
59
+ "yield"
60
+ ]), k = /* @__PURE__ */ new Set([
61
+ ...g,
62
+ "any",
63
+ "as",
64
+ "asserts",
65
+ "boolean",
66
+ "declare",
67
+ "infer",
68
+ "is",
69
+ "keyof",
70
+ "module",
71
+ "namespace",
72
+ "never",
73
+ "number",
74
+ "object",
75
+ "override",
76
+ "readonly",
77
+ "require",
78
+ "satisfies",
79
+ "string",
80
+ "symbol",
81
+ "type",
82
+ "unique",
83
+ "unknown"
84
+ ]), S = /* @__PURE__ */ new Set([
85
+ "False",
86
+ "None",
87
+ "True",
88
+ "and",
89
+ "as",
90
+ "assert",
91
+ "async",
92
+ "await",
93
+ "break",
94
+ "class",
95
+ "continue",
96
+ "def",
97
+ "del",
98
+ "elif",
99
+ "else",
100
+ "except",
101
+ "finally",
102
+ "for",
103
+ "from",
104
+ "global",
105
+ "if",
106
+ "import",
107
+ "in",
108
+ "is",
109
+ "lambda",
110
+ "nonlocal",
111
+ "not",
112
+ "or",
113
+ "pass",
114
+ "raise",
115
+ "return",
116
+ "try",
117
+ "while",
118
+ "with",
119
+ "yield"
120
+ ]), x = /* @__PURE__ */ new Set([
121
+ "abs",
122
+ "all",
123
+ "any",
124
+ "bool",
125
+ "dict",
126
+ "enumerate",
127
+ "filter",
128
+ "float",
129
+ "int",
130
+ "isinstance",
131
+ "len",
132
+ "list",
133
+ "map",
134
+ "max",
135
+ "min",
136
+ "open",
137
+ "print",
138
+ "range",
139
+ "set",
140
+ "sorted",
141
+ "str",
142
+ "sum",
143
+ "tuple",
144
+ "type",
145
+ "zip",
146
+ "self",
147
+ "cls"
148
+ ]), b = /* @__PURE__ */ new Set([
149
+ "auto",
150
+ "break",
151
+ "case",
152
+ "char",
153
+ "const",
154
+ "continue",
155
+ "default",
156
+ "do",
157
+ "double",
158
+ "else",
159
+ "enum",
160
+ "extern",
161
+ "float",
162
+ "for",
163
+ "goto",
164
+ "if",
165
+ "int",
166
+ "long",
167
+ "register",
168
+ "return",
169
+ "short",
170
+ "signed",
171
+ "sizeof",
172
+ "static",
173
+ "struct",
174
+ "switch",
175
+ "typedef",
176
+ "union",
177
+ "unsigned",
178
+ "void",
179
+ "volatile",
180
+ "while",
181
+ "inline",
182
+ "restrict",
183
+ "_Bool",
184
+ "NULL"
185
+ ]), v = /* @__PURE__ */ new Set([
186
+ ...b,
187
+ "class",
188
+ "new",
189
+ "delete",
190
+ "try",
191
+ "catch",
192
+ "throw",
193
+ "template",
194
+ "typename",
195
+ "namespace",
196
+ "using",
197
+ "public",
198
+ "private",
199
+ "protected",
200
+ "virtual",
201
+ "override",
202
+ "this",
203
+ "nullptr",
204
+ "true",
205
+ "false",
206
+ "bool",
207
+ "explicit",
208
+ "friend",
209
+ "mutable",
210
+ "operator",
211
+ "reinterpret_cast",
212
+ "static_cast",
213
+ "dynamic_cast",
214
+ "const_cast",
215
+ "constexpr",
216
+ "decltype",
217
+ "noexcept",
218
+ "final",
219
+ "auto"
220
+ ]), _ = /* @__PURE__ */ new Set([
221
+ "abstract",
222
+ "async",
223
+ "await",
224
+ "base",
225
+ "bool",
226
+ "break",
227
+ "byte",
228
+ "case",
229
+ "catch",
230
+ "char",
231
+ "checked",
232
+ "class",
233
+ "const",
234
+ "continue",
235
+ "decimal",
236
+ "default",
237
+ "delegate",
238
+ "do",
239
+ "double",
240
+ "else",
241
+ "enum",
242
+ "event",
243
+ "explicit",
244
+ "extern",
245
+ "false",
246
+ "finally",
247
+ "fixed",
248
+ "float",
249
+ "for",
250
+ "foreach",
251
+ "goto",
252
+ "if",
253
+ "implicit",
254
+ "in",
255
+ "int",
256
+ "interface",
257
+ "internal",
258
+ "is",
259
+ "lock",
260
+ "long",
261
+ "namespace",
262
+ "new",
263
+ "null",
264
+ "object",
265
+ "operator",
266
+ "out",
267
+ "override",
268
+ "params",
269
+ "private",
270
+ "protected",
271
+ "public",
272
+ "readonly",
273
+ "ref",
274
+ "return",
275
+ "sbyte",
276
+ "sealed",
277
+ "short",
278
+ "sizeof",
279
+ "stackalloc",
280
+ "static",
281
+ "string",
282
+ "struct",
283
+ "switch",
284
+ "this",
285
+ "throw",
286
+ "true",
287
+ "try",
288
+ "typeof",
289
+ "uint",
290
+ "ulong",
291
+ "unchecked",
292
+ "unsafe",
293
+ "ushort",
294
+ "using",
295
+ "var",
296
+ "virtual",
297
+ "void",
298
+ "volatile",
299
+ "while",
300
+ "yield",
301
+ "record",
302
+ "init",
303
+ "nameof",
304
+ "when"
305
+ ]), $ = /* @__PURE__ */ new Set([
306
+ "abstract",
307
+ "assert",
308
+ "boolean",
309
+ "break",
310
+ "byte",
311
+ "case",
312
+ "catch",
313
+ "char",
314
+ "class",
315
+ "const",
316
+ "continue",
317
+ "default",
318
+ "do",
319
+ "double",
320
+ "else",
321
+ "enum",
322
+ "extends",
323
+ "final",
324
+ "finally",
325
+ "float",
326
+ "for",
327
+ "goto",
328
+ "if",
329
+ "implements",
330
+ "import",
331
+ "instanceof",
332
+ "int",
333
+ "interface",
334
+ "long",
335
+ "native",
336
+ "new",
337
+ "null",
338
+ "package",
339
+ "private",
340
+ "protected",
341
+ "public",
342
+ "return",
343
+ "short",
344
+ "static",
345
+ "strictfp",
346
+ "super",
347
+ "switch",
348
+ "synchronized",
349
+ "this",
350
+ "throw",
351
+ "throws",
352
+ "transient",
353
+ "true",
354
+ "false",
355
+ "try",
356
+ "void",
357
+ "volatile",
358
+ "while",
359
+ "var",
360
+ "yield",
361
+ "record",
362
+ "sealed",
363
+ "permits",
364
+ "non-sealed"
365
+ ]), O = /* @__PURE__ */ new Set([
366
+ "abstract",
367
+ "actual",
368
+ "annotation",
369
+ "as",
370
+ "break",
371
+ "by",
372
+ "catch",
373
+ "class",
374
+ "companion",
375
+ "const",
376
+ "constructor",
377
+ "continue",
378
+ "crossinline",
379
+ "data",
380
+ "do",
381
+ "dynamic",
382
+ "else",
383
+ "enum",
384
+ "expect",
385
+ "external",
386
+ "false",
387
+ "final",
388
+ "finally",
389
+ "for",
390
+ "fun",
391
+ "get",
392
+ "if",
393
+ "import",
394
+ "in",
395
+ "init",
396
+ "inline",
397
+ "inner",
398
+ "interface",
399
+ "internal",
400
+ "is",
401
+ "it",
402
+ "lateinit",
403
+ "null",
404
+ "object",
405
+ "open",
406
+ "operator",
407
+ "out",
408
+ "override",
409
+ "package",
410
+ "private",
411
+ "protected",
412
+ "public",
413
+ "reified",
414
+ "return",
415
+ "sealed",
416
+ "set",
417
+ "super",
418
+ "suspend",
419
+ "tailrec",
420
+ "this",
421
+ "throw",
422
+ "true",
423
+ "try",
424
+ "typealias",
425
+ "typeof",
426
+ "val",
427
+ "var",
428
+ "vararg",
429
+ "when",
430
+ "where",
431
+ "while"
432
+ ]), C = /* @__PURE__ */ new Set([
433
+ "break",
434
+ "case",
435
+ "chan",
436
+ "const",
437
+ "continue",
438
+ "default",
439
+ "defer",
440
+ "else",
441
+ "fallthrough",
442
+ "for",
443
+ "func",
444
+ "go",
445
+ "goto",
446
+ "if",
447
+ "import",
448
+ "interface",
449
+ "map",
450
+ "package",
451
+ "range",
452
+ "return",
453
+ "select",
454
+ "struct",
455
+ "switch",
456
+ "type",
457
+ "var",
458
+ "true",
459
+ "false",
460
+ "nil",
461
+ "iota"
462
+ ]), A = /* @__PURE__ */ new Set([
463
+ "as",
464
+ "async",
465
+ "await",
466
+ "break",
467
+ "const",
468
+ "continue",
469
+ "crate",
470
+ "dyn",
471
+ "else",
472
+ "enum",
473
+ "extern",
474
+ "false",
475
+ "fn",
476
+ "for",
477
+ "if",
478
+ "impl",
479
+ "in",
480
+ "let",
481
+ "loop",
482
+ "match",
483
+ "mod",
484
+ "move",
485
+ "mut",
486
+ "pub",
487
+ "ref",
488
+ "return",
489
+ "self",
490
+ "Self",
491
+ "static",
492
+ "struct",
493
+ "super",
494
+ "trait",
495
+ "true",
496
+ "type",
497
+ "unsafe",
498
+ "use",
499
+ "where",
500
+ "while",
501
+ "box",
502
+ "do",
503
+ "final",
504
+ "macro",
505
+ "override",
506
+ "priv",
507
+ "typeof",
508
+ "unsized",
509
+ "virtual",
510
+ "yield"
511
+ ]), D = /* @__PURE__ */ new Set([
512
+ "if",
513
+ "then",
514
+ "else",
515
+ "elif",
516
+ "fi",
517
+ "case",
518
+ "esac",
519
+ "for",
520
+ "while",
521
+ "until",
522
+ "do",
523
+ "done",
524
+ "function",
525
+ "return",
526
+ "select",
527
+ "break",
528
+ "continue",
529
+ "in",
530
+ "echo",
531
+ "export",
532
+ "local",
533
+ "readonly",
534
+ "declare",
535
+ "typeset",
536
+ "unset",
537
+ "eval",
538
+ "exec",
539
+ "source",
540
+ "true",
541
+ "false"
542
+ ]), W = /* @__PURE__ */ new Set([
543
+ "select",
544
+ "from",
545
+ "where",
546
+ "insert",
547
+ "update",
548
+ "delete",
549
+ "into",
550
+ "values",
551
+ "set",
552
+ "create",
553
+ "table",
554
+ "drop",
555
+ "alter",
556
+ "index",
557
+ "view",
558
+ "join",
559
+ "inner",
560
+ "left",
561
+ "right",
562
+ "outer",
563
+ "full",
564
+ "cross",
565
+ "on",
566
+ "group",
567
+ "by",
568
+ "order",
569
+ "having",
570
+ "limit",
571
+ "offset",
572
+ "union",
573
+ "all",
574
+ "distinct",
575
+ "as",
576
+ "and",
577
+ "or",
578
+ "not",
579
+ "null",
580
+ "true",
581
+ "false",
582
+ "is",
583
+ "in",
584
+ "between",
585
+ "like",
586
+ "exists",
587
+ "primary",
588
+ "key",
589
+ "foreign",
590
+ "references",
591
+ "unique",
592
+ "default",
593
+ "check",
594
+ "constraint",
595
+ "database",
596
+ "schema",
597
+ "with",
598
+ "case",
599
+ "when",
600
+ "then",
601
+ "else",
602
+ "end",
603
+ "cast",
604
+ "count",
605
+ "sum",
606
+ "avg",
607
+ "min",
608
+ "max",
609
+ "asc",
610
+ "desc"
611
+ ]), E = /* @__PURE__ */ new Set(["true", "false", "null"]), y = [
612
+ {
613
+ id: "plaintext",
614
+ label: "Plain Text",
615
+ keywords: /* @__PURE__ */ new Set()
616
+ },
617
+ {
618
+ id: "javascript",
619
+ label: "JavaScript",
620
+ keywords: g,
621
+ ...h,
622
+ stringDelims: ['"', "'", "`"]
623
+ },
624
+ {
625
+ id: "typescript",
626
+ label: "TypeScript",
627
+ keywords: k,
628
+ ...h,
629
+ stringDelims: ['"', "'", "`"]
630
+ },
631
+ {
632
+ id: "python",
633
+ label: "Python",
634
+ keywords: S,
635
+ builtins: x,
636
+ lineComment: "#",
637
+ stringDelims: ['"', "'"]
638
+ },
639
+ {
640
+ id: "json",
641
+ label: "JSON",
642
+ keywords: E,
643
+ stringDelims: ['"']
644
+ },
645
+ {
646
+ id: "html",
647
+ label: "HTML",
648
+ keywords: /* @__PURE__ */ new Set(),
649
+ custom: (e) => T(e)
650
+ },
651
+ {
652
+ id: "css",
653
+ label: "CSS",
654
+ keywords: /* @__PURE__ */ new Set(),
655
+ custom: (e) => M(e)
656
+ },
657
+ {
658
+ id: "bash",
659
+ label: "Bash",
660
+ keywords: D,
661
+ lineComment: "#",
662
+ stringDelims: ['"', "'"]
663
+ },
664
+ {
665
+ id: "sql",
666
+ label: "SQL",
667
+ keywords: W,
668
+ caseInsensitiveKeywords: !0,
669
+ lineComment: "--",
670
+ blockComment: { start: "/*", end: "*/" },
671
+ stringDelims: ['"', "'"]
672
+ },
673
+ {
674
+ id: "markdown",
675
+ label: "Markdown",
676
+ keywords: /* @__PURE__ */ new Set(),
677
+ custom: (e) => N(e)
678
+ },
679
+ { id: "c", label: "C", keywords: b, ...h },
680
+ { id: "cpp", label: "C++", keywords: v, ...h },
681
+ { id: "csharp", label: "C#", keywords: _, ...h },
682
+ { id: "java", label: "Java", keywords: $, ...h },
683
+ { id: "kotlin", label: "Kotlin", keywords: O, ...h },
684
+ { id: "go", label: "Go", keywords: C, ...h },
685
+ { id: "rust", label: "Rust", keywords: A, ...h }
686
+ ], R = (() => {
687
+ const e = /* @__PURE__ */ new Map();
688
+ for (const t of y) e.set(t.id, t);
689
+ return e;
690
+ })(), K = "plaintext";
691
+ function Y(e, t) {
692
+ if (!t || t === K) return a(e);
693
+ const n = R.get(t);
694
+ return n ? n.custom ? n.custom(e) : z(e, n) : a(e);
695
+ }
696
+ function z(e, t) {
697
+ var c, i;
698
+ const n = !!t.caseInsensitiveKeywords;
699
+ let o = "", s = 0;
700
+ const l = e.length;
701
+ for (; s < l; ) {
702
+ if (t.lineComment && e.startsWith(t.lineComment, s)) {
703
+ const r = e.indexOf(`
704
+ `, s), p = r === -1 ? l : r;
705
+ o += `<span class="hl-comment">${a(e.slice(s, p))}</span>`, s = p;
706
+ continue;
707
+ }
708
+ if (t.blockComment && e.startsWith(t.blockComment.start, s)) {
709
+ const r = e.indexOf(t.blockComment.end, s + t.blockComment.start.length), p = r === -1 ? l : r + t.blockComment.end.length;
710
+ o += `<span class="hl-comment">${a(e.slice(s, p))}</span>`, s = p;
711
+ continue;
712
+ }
713
+ const u = (c = t.stringDelims) == null ? void 0 : c.find((r) => e.startsWith(r, s));
714
+ if (u) {
715
+ let r = s + u.length;
716
+ for (; r < l; ) {
717
+ const p = e[r] ?? "";
718
+ if (p === "\\") {
719
+ r += 2;
720
+ continue;
721
+ }
722
+ if (e.startsWith(u, r)) {
723
+ r += u.length;
724
+ break;
725
+ }
726
+ if (p === `
727
+ ` && u !== "`") break;
728
+ r++;
729
+ }
730
+ o += `<span class="hl-string">${a(e.slice(s, r))}</span>`, s = r;
731
+ continue;
732
+ }
733
+ const f = e[s] ?? "";
734
+ if (/[0-9]/.test(f)) {
735
+ const r = L.exec(e.slice(s));
736
+ if (r) {
737
+ o += `<span class="hl-number">${a(r[0])}</span>`, s += r[0].length;
738
+ continue;
739
+ }
740
+ }
741
+ if (/[a-zA-Z_$]/.test(f)) {
742
+ let r = s + 1;
743
+ for (; r < l && /[a-zA-Z0-9_$]/.test(e[r] ?? ""); ) r++;
744
+ const p = e.slice(s, r), w = n ? p.toLowerCase() : p;
745
+ if (t.keywords.has(w))
746
+ o += `<span class="hl-keyword">${a(p)}</span>`;
747
+ else if ((i = t.builtins) != null && i.has(w))
748
+ o += `<span class="hl-builtin">${a(p)}</span>`;
749
+ else {
750
+ let d = r;
751
+ for (; d < l && (e[d] === " " || e[d] === " "); ) d++;
752
+ e[d] === "(" ? o += `<span class="hl-fn">${a(p)}</span>` : o += a(p);
753
+ }
754
+ s = r;
755
+ continue;
756
+ }
757
+ o += a(f), s++;
758
+ }
759
+ return o;
760
+ }
761
+ const L = /^(0[xX][0-9a-fA-F_]+|0[bB][01_]+|0[oO][0-7_]+|[0-9][0-9_]*(?:\.[0-9_]+)?(?:[eE][-+]?[0-9_]+)?)[a-zA-Z]*/;
762
+ function T(e) {
763
+ let t = "", n = 0;
764
+ const o = e.length;
765
+ for (; n < o; ) {
766
+ if (e.startsWith("<!--", n)) {
767
+ const s = e.indexOf("-->", n + 4), l = s === -1 ? o : s + 3;
768
+ t += `<span class="hl-comment">${a(e.slice(n, l))}</span>`, n = l;
769
+ continue;
770
+ }
771
+ if (e[n] === "<") {
772
+ const s = e.indexOf(">", n);
773
+ if (s === -1) {
774
+ t += a(e.slice(n));
775
+ break;
776
+ }
777
+ const l = e.slice(n, s + 1);
778
+ t += j(l), n = s + 1;
779
+ continue;
780
+ }
781
+ t += a(e[n] ?? ""), n++;
782
+ }
783
+ return t;
784
+ }
785
+ function j(e) {
786
+ const t = e.slice(1, -1);
787
+ let n = '<span class="hl-punct">&lt;</span>';
788
+ const o = /^\/?[a-zA-Z][a-zA-Z0-9-]*/.exec(t);
789
+ if (o) {
790
+ n += `<span class="hl-tag">${a(o[0])}</span>`;
791
+ let s = t.slice(o[0].length);
792
+ const l = /\s+([a-zA-Z_:][a-zA-Z0-9_:.-]*)(\s*=\s*("([^"]*)"|'([^']*)'|([^\s>]+)))?/g;
793
+ let c = 0, i;
794
+ for (; i = l.exec(s); ) {
795
+ n += a(s.slice(c, i.index)), n += a(s.slice(i.index, i.index + i[0].indexOf(i[1] ?? ""))), n += `<span class="hl-attr">${a(i[1] ?? "")}</span>`;
796
+ const u = s.slice(i.index + (i[0].indexOf(i[1] ?? "") + (i[1] ?? "").length), i.index + i[0].length);
797
+ if (u.includes("=")) {
798
+ const f = u.indexOf("=");
799
+ n += a(u.slice(0, f + 1));
800
+ const r = u.slice(f + 1);
801
+ n += `<span class="hl-string">${a(r)}</span>`;
802
+ }
803
+ c = i.index + i[0].length;
804
+ }
805
+ n += a(s.slice(c));
806
+ } else
807
+ n += a(t);
808
+ return n += '<span class="hl-punct">&gt;</span>', n;
809
+ }
810
+ function M(e) {
811
+ let t = "", n = 0;
812
+ const o = e.length;
813
+ let s = !1;
814
+ for (; n < o; ) {
815
+ if (e.startsWith("/*", n)) {
816
+ const c = e.indexOf("*/", n + 2), i = c === -1 ? o : c + 2;
817
+ t += `<span class="hl-comment">${a(e.slice(n, i))}</span>`, n = i;
818
+ continue;
819
+ }
820
+ const l = e[n] ?? "";
821
+ if (l === "{") {
822
+ s = !0, t += a(l), n++;
823
+ continue;
824
+ }
825
+ if (l === "}") {
826
+ s = !1, t += a(l), n++;
827
+ continue;
828
+ }
829
+ if (l === '"' || l === "'") {
830
+ const c = l;
831
+ let i = n + 1;
832
+ for (; i < o && e[i] !== c; )
833
+ e[i] === "\\" ? i += 2 : i++;
834
+ i = Math.min(i + 1, o), t += `<span class="hl-string">${a(e.slice(n, i))}</span>`, n = i;
835
+ continue;
836
+ }
837
+ if (/[a-zA-Z_-]/.test(l) || l === "@" || l === "#" || l === "." || l === ":") {
838
+ let c = n + 1;
839
+ for (; c < o && /[a-zA-Z0-9_-]/.test(e[c] ?? ""); ) c++;
840
+ const i = e.slice(n, c);
841
+ if (l === "@")
842
+ t += `<span class="hl-keyword">${a(i)}</span>`;
843
+ else if (s && /^[a-zA-Z-]+$/.test(i)) {
844
+ let u = c;
845
+ for (; u < o && (e[u] === " " || e[u] === " "); ) u++;
846
+ e[u] === ":" ? t += `<span class="hl-prop">${a(i)}</span>` : t += a(i);
847
+ } else
848
+ t += `<span class="hl-tag">${a(i)}</span>`;
849
+ n = c;
850
+ continue;
851
+ }
852
+ if (/[0-9]/.test(l)) {
853
+ const c = /^[0-9.]+(px|em|rem|%|vh|vw|s|ms|deg|fr)?/.exec(e.slice(n));
854
+ if (c) {
855
+ t += `<span class="hl-number">${a(c[0])}</span>`, n += c[0].length;
856
+ continue;
857
+ }
858
+ }
859
+ t += a(l), n++;
860
+ }
861
+ return t;
862
+ }
863
+ function N(e) {
864
+ return e.split(`
865
+ `).map(Z).join(`
866
+ `);
867
+ }
868
+ function Z(e) {
869
+ const t = /^(#{1,6})\s+(.*)$/.exec(e);
870
+ if (t)
871
+ return `<span class="hl-keyword">${a(t[1] ?? "")}</span> <span class="hl-tag">${m(t[2] ?? "")}</span>`;
872
+ if (e.startsWith(">"))
873
+ return `<span class="hl-comment">${a(e)}</span>`;
874
+ if (e.startsWith("```"))
875
+ return `<span class="hl-keyword">${a(e)}</span>`;
876
+ const n = /^(\s*)([-*+]|\d+\.)\s+(.*)$/.exec(e);
877
+ return n ? `${n[1] ?? ""}<span class="hl-keyword">${a(n[2] ?? "")}</span> ${m(n[3] ?? "")}` : m(e);
878
+ }
879
+ function m(e) {
880
+ let t = a(e);
881
+ return t = t.replace(/\*\*([^*]+)\*\*/g, '<span class="hl-keyword">**$1**</span>'), t = t.replace(new RegExp("(?<!\\*)\\*([^*]+)\\*(?!\\*)", "g"), '<span class="hl-string">*$1*</span>'), t = t.replace(/`([^`]+)`/g, '<span class="hl-builtin">`$1`</span>'), t = t.replace(
882
+ /\[([^\]]+)\]\(([^)]+)\)/g,
883
+ '<span class="hl-tag">[$1]</span><span class="hl-string">($2)</span>'
884
+ ), t;
885
+ }
886
+ function a(e) {
887
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
888
+ }
889
+ const B = {
890
+ languages: y.map(({ id: e, label: t }) => ({ id: e, label: t })),
891
+ highlight: Y
892
+ };
893
+ export {
894
+ B as highlighter
895
+ };