dragon-editor 3.8.7 → 4.0.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.
Files changed (91) hide show
  1. package/README.md +10 -9
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +9 -7
  4. package/dist/runtime/components/Block/Code.d.vue.ts +13 -0
  5. package/dist/runtime/components/Block/Code.vue +193 -0
  6. package/dist/runtime/components/Block/Code.vue.d.ts +13 -0
  7. package/dist/runtime/components/Block/Custom.d.vue.ts +9 -0
  8. package/dist/runtime/components/Block/Custom.vue +28 -0
  9. package/dist/runtime/components/Block/Custom.vue.d.ts +9 -0
  10. package/dist/runtime/components/Block/Divider.d.vue.ts +9 -0
  11. package/dist/runtime/components/Block/Divider.vue +27 -0
  12. package/dist/runtime/components/Block/Divider.vue.d.ts +9 -0
  13. package/dist/runtime/components/Block/Heading.d.vue.ts +13 -0
  14. package/dist/runtime/components/Block/Heading.vue +84 -0
  15. package/dist/runtime/components/Block/Heading.vue.d.ts +13 -0
  16. package/dist/runtime/components/Block/Image.d.vue.ts +13 -0
  17. package/dist/runtime/components/Block/Image.vue +146 -0
  18. package/dist/runtime/components/Block/Image.vue.d.ts +13 -0
  19. package/dist/runtime/components/Block/List.d.vue.ts +13 -0
  20. package/dist/runtime/components/Block/List.vue +170 -0
  21. package/dist/runtime/components/Block/List.vue.d.ts +13 -0
  22. package/dist/runtime/components/Block/Text.d.vue.ts +13 -0
  23. package/dist/runtime/components/Block/Text.vue +84 -0
  24. package/dist/runtime/components/Block/Text.vue.d.ts +13 -0
  25. package/dist/runtime/components/DragonEditor.d.vue.ts +27 -22
  26. package/dist/runtime/components/DragonEditor.vue +311 -474
  27. package/dist/runtime/components/DragonEditor.vue.d.ts +27 -22
  28. package/dist/runtime/components/DragonEditorViewer.d.vue.ts +12 -5
  29. package/dist/runtime/components/DragonEditorViewer.vue +200 -227
  30. package/dist/runtime/components/DragonEditorViewer.vue.d.ts +12 -5
  31. package/dist/runtime/components/MenuBar.d.vue.ts +3 -0
  32. package/dist/runtime/components/MenuBar.vue +385 -0
  33. package/dist/runtime/components/MenuBar.vue.d.ts +3 -0
  34. package/dist/runtime/scss/editor.css +237 -283
  35. package/dist/runtime/scss/viewer.css +184 -210
  36. package/dist/runtime/store/editor.d.ts +2 -0
  37. package/dist/runtime/store/editor.js +59 -0
  38. package/dist/runtime/type.d.mts +101 -124
  39. package/dist/runtime/utils/data/block.d.ts +20 -0
  40. package/dist/runtime/utils/data/block.js +663 -0
  41. package/dist/runtime/utils/data/cursor.d.ts +9 -0
  42. package/dist/runtime/utils/data/cursor.js +137 -0
  43. package/dist/runtime/utils/data/index.d.ts +5 -0
  44. package/dist/runtime/utils/data/index.js +17 -0
  45. package/dist/runtime/utils/data/node.d.ts +9 -0
  46. package/dist/runtime/utils/data/node.js +101 -0
  47. package/dist/runtime/utils/event/cursor.d.ts +3 -6
  48. package/dist/runtime/utils/event/cursor.js +52 -105
  49. package/dist/runtime/utils/event/index.d.ts +2 -6
  50. package/dist/runtime/utils/event/index.js +48 -6
  51. package/dist/runtime/utils/event/keyboard.d.ts +22 -7
  52. package/dist/runtime/utils/event/keyboard.js +910 -1406
  53. package/dist/runtime/utils/layout/body.d.ts +3 -4
  54. package/dist/runtime/utils/layout/body.js +83 -51
  55. package/dist/runtime/utils/layout/icon.d.ts +1 -2
  56. package/dist/runtime/utils/layout/icon.js +64 -67
  57. package/dist/runtime/utils/layout/index.d.ts +0 -3
  58. package/dist/runtime/utils/layout/index.js +0 -3
  59. package/dist/runtime/utils/node/element.d.ts +4 -6
  60. package/dist/runtime/utils/node/element.js +58 -71
  61. package/dist/runtime/utils/node/index.d.ts +1 -1
  62. package/dist/runtime/utils/node/index.js +1 -1
  63. package/dist/runtime/utils/node/style.d.ts +5 -0
  64. package/dist/runtime/utils/node/style.js +702 -0
  65. package/package.json +32 -18
  66. package/dist/runtime/utils/event/block.d.ts +0 -7
  67. package/dist/runtime/utils/event/block.js +0 -110
  68. package/dist/runtime/utils/event/data.d.ts +0 -8
  69. package/dist/runtime/utils/event/data.js +0 -379
  70. package/dist/runtime/utils/event/mouse.d.ts +0 -11
  71. package/dist/runtime/utils/event/mouse.js +0 -85
  72. package/dist/runtime/utils/event/scroll.d.ts +0 -3
  73. package/dist/runtime/utils/event/scroll.js +0 -29
  74. package/dist/runtime/utils/event/touch.d.ts +0 -5
  75. package/dist/runtime/utils/event/touch.js +0 -10
  76. package/dist/runtime/utils/event/window.d.ts +0 -5
  77. package/dist/runtime/utils/event/window.js +0 -47
  78. package/dist/runtime/utils/layout/block.d.ts +0 -7
  79. package/dist/runtime/utils/layout/block.js +0 -123
  80. package/dist/runtime/utils/layout/controlbar.d.ts +0 -3
  81. package/dist/runtime/utils/layout/controlbar.js +0 -99
  82. package/dist/runtime/utils/layout/menuBar.d.ts +0 -3
  83. package/dist/runtime/utils/layout/menuBar.js +0 -408
  84. package/dist/runtime/utils/node/block.d.ts +0 -19
  85. package/dist/runtime/utils/node/block.js +0 -256
  86. package/dist/runtime/utils/style/anchor.d.ts +0 -5
  87. package/dist/runtime/utils/style/anchor.js +0 -245
  88. package/dist/runtime/utils/style/decoration.d.ts +0 -4
  89. package/dist/runtime/utils/style/decoration.js +0 -378
  90. package/dist/runtime/utils/style/index.d.ts +0 -2
  91. package/dist/runtime/utils/style/index.js +0 -2
@@ -1,33 +1,38 @@
1
- import type { DEBlockData, DEContentData, DEDecoration, DETextalign } from "../type.d.mts.js";
2
- interface DEOption {
1
+ import { _addBlock, _addImageBlock, _checkDataIsEmpty } from "../utils/data/index.js";
2
+ import { _editorMountedEvent } from "../utils/event/index.js";
3
+ import { _setAlign } from "../utils/node/index.js";
4
+ import type { DEContentData } from "../type.d.mts.js";
5
+ interface DragonEditorOption {
3
6
  modelValue: DEContentData;
4
7
  useMenuBar?: boolean;
5
- imageHostURL?: string;
6
- screenChangePoint?: number;
8
+ mediaHostURL?: string;
9
+ isMobile?: boolean;
10
+ theme?: "dark" | "white";
11
+ codeBlockSpaces?: number;
12
+ acceptImageFormat?: string;
13
+ anchorTagTarget?: string;
7
14
  }
8
- declare function addBlock(data: DEBlockData): void;
9
- declare function setDecoration(style: DEDecoration): void;
10
- declare function setAlign(align: DETextalign): void;
11
- declare function changeEditorData(data: DEContentData): void;
12
- declare function updateLayout(): void;
13
- declare function checkDataEmpty(data?: DEContentData): boolean;
14
- declare const __VLS_export: import("vue").DefineComponent<DEOption, {
15
- addBlock: typeof addBlock;
16
- setDecoration: typeof setDecoration;
17
- setAlign: typeof setAlign;
18
- changeEditorData: typeof changeEditorData;
19
- updateLayout: typeof updateLayout;
20
- checkDataEmpty: typeof checkDataEmpty;
15
+ declare const __VLS_export: import("vue").DefineComponent<DragonEditorOption, {
16
+ addBlock: typeof _addBlock;
17
+ addImageBlock: typeof _addImageBlock;
18
+ updateLayout: typeof _editorMountedEvent;
19
+ checkDataIsEmpty: typeof _checkDataIsEmpty;
20
+ setDecoration: (type: "bold" | "italic" | "underline" | "strikethrough" | "code") => void;
21
+ setAlign: typeof _setAlign;
21
22
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
22
23
  "update:modelValue": (data: DEContentData) => any;
23
- uploadImageEvent: (file: File) => any;
24
- }, string, import("vue").PublicProps, Readonly<DEOption> & Readonly<{
24
+ uploadImageEvent: (files: File[]) => any;
25
+ }, string, import("vue").PublicProps, Readonly<DragonEditorOption> & Readonly<{
25
26
  "onUpdate:modelValue"?: ((data: DEContentData) => any) | undefined;
26
- onUploadImageEvent?: ((file: File) => any) | undefined;
27
+ onUploadImageEvent?: ((files: File[]) => any) | undefined;
27
28
  }>, {
28
- imageHostURL: string;
29
+ mediaHostURL: string;
30
+ isMobile: boolean;
31
+ codeBlockSpaces: number;
32
+ acceptImageFormat: string;
33
+ anchorTagTarget: string;
34
+ theme: "dark" | "white";
29
35
  useMenuBar: boolean;
30
- screenChangePoint: number;
31
36
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
37
  declare const _default: typeof __VLS_export;
33
38
  export default _default;
@@ -1,9 +1,16 @@
1
- type __VLS_Props = {
1
+ import type { DEContentData } from "../type.d.mts.js";
2
+ interface DragonEditorViewerOption {
2
3
  content: DEContentData;
3
- imageHostURL?: string;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- imageHostURL: string;
4
+ mediaHostURL?: string;
5
+ isMobile?: boolean;
6
+ theme?: "dark" | "white";
7
+ codeBlockSpaces?: number;
8
+ }
9
+ declare const __VLS_export: import("vue").DefineComponent<DragonEditorViewerOption, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DragonEditorViewerOption> & Readonly<{}>, {
10
+ mediaHostURL: string;
11
+ isMobile: boolean;
12
+ codeBlockSpaces: number;
13
+ theme: "dark" | "white";
7
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
15
  declare const _default: typeof __VLS_export;
9
16
  export default _default;
@@ -1,34 +1,100 @@
1
1
  <template>
2
- <component :is="structure()"></component>
2
+ <div
3
+ class="dragon-editor-viewer"
4
+ :data-theme="props.theme"
5
+ >
6
+ <component :is="_getBody(props.content)"
7
+ /></div>
3
8
  </template>
4
9
 
5
10
  <script setup>
6
- import { h } from "vue";
7
- import { _createBlockList } from "../utils/layout";
11
+ import { _getBody } from "../utils/layout";
12
+ import { useEditorStore } from "../store/editor";
13
+ const editorStore = useEditorStore();
8
14
  const props = defineProps({
9
15
  content: { type: null, required: true },
10
- imageHostURL: { type: String, required: false, default: "" }
16
+ mediaHostURL: { type: String, required: false, default: "" },
17
+ isMobile: { type: Boolean, required: false, default: false },
18
+ theme: { type: String, required: false, default: "white" },
19
+ codeBlockSpaces: { type: Number, required: false, default: 4 }
11
20
  });
12
- function structure() {
13
- return h(
14
- "div",
15
- {
16
- class: ["dragon-editor-viewer"]
17
- },
18
- _createBlockList({
19
- blockList: props.content,
20
- isEditable: false,
21
- imageHostURL: props.imageHostURL
22
- })
23
- );
24
- }
21
+ editorStore.option.isMobile = props.isMobile;
22
+ editorStore.option.mediaHostURL = props.mediaHostURL;
23
+ editorStore.option.codeBlockSpaces = props.codeBlockSpaces;
25
24
  </script>
26
25
 
27
26
  <style>
28
27
  @charset "UTF-8";
29
28
  .dragon-editor,
30
29
  .dragon-editor-viewer {
31
- --radius-default: 4px;
30
+ --editor-radius-default: 4px;
31
+ }
32
+ .dragon-editor[data-theme=dark],
33
+ .dragon-editor-viewer[data-theme=dark] {
34
+ --editor-text: #dfdfe1;
35
+ --editor-text-disabled: #768390;
36
+ --editor-background: #09090b;
37
+ --editor-border: #555;
38
+ --editor-divider: #333;
39
+ --editor-decoration-code-color:#fff;
40
+ --editor-decoration-code-bg:#555;
41
+ --editor-code-color: #adbac7;
42
+ --editor-code-bg: #22272e;
43
+ --editor-code-file-bg: #494e54;
44
+ --editor-code-placeholder: #96a0aa;
45
+ --editor-code-number: #555;
46
+ --editor-code-number-bg: #e5e5e5;
47
+ --editor-code-keyword: #f47067;
48
+ --editor-code-entity: #dcbdfb;
49
+ --editor-code-constant: #6cb6ff;
50
+ --editor-code-string: #96d0ff;
51
+ --editor-code-variable: #f69d50;
52
+ --editor-code-comment: #768390;
53
+ --editor-code-entity-tag: #8ddb8c;
54
+ --editor-code-storage-modifier-import: #adbac7;
55
+ --editor-code-markup-heading: #316dca;
56
+ --editor-code-markup-list: #eac55f;
57
+ --editor-code-markup-italic: #adbac7;
58
+ --editor-code-markup-bold: #adbac7;
59
+ --editor-code-markup-inserted: #b4f1b4;
60
+ --editor-code-markup-inserted-bg: #1b4721;
61
+ --editor-code-markup-deleted: #ffd8d3;
62
+ --editor-code-markup-deleted-bg: #78191b;
63
+ }
64
+ .dragon-editor[data-theme=white],
65
+ .dragon-editor-viewer[data-theme=white] {
66
+ --editor-text: #333;
67
+ --editor-text-disabled: #ccc;
68
+ --editor-background: #f9f9f9;
69
+ --editor-border: #ccc;
70
+ --editor-divider: #e5e5e5;
71
+ --editor-decoration-code-color:#ff0000;
72
+ --editor-decoration-code-bg:#f1f1f1;
73
+ --editor-code-color: #24292e;
74
+ --editor-code-bg: #f1f1f1;
75
+ --editor-code-file-bg: #ccc;
76
+ --editor-code-placeholder: #8b8d8f;
77
+ --editor-code-number: #e5e5e5;
78
+ --editor-code-number-bg: #8c8c8c;
79
+ --editor-code-keyword: #d73a49;
80
+ --editor-code-entity: #6f42c1;
81
+ --editor-code-constant: #005cc5;
82
+ --editor-code-string: #032f62;
83
+ --editor-code-variable: #e36209;
84
+ --editor-code-comment: #6a737d;
85
+ --editor-code-entity-tag: #22863a;
86
+ --editor-code-storage-modifier-import: #24292e;
87
+ --editor-code-markup-heading: #005cc5;
88
+ --editor-code-markup-list: #735c0f;
89
+ --editor-code-markup-italic: #24292e;
90
+ --editor-code-markup-bold: #24292e;
91
+ --editor-code-markup-inserted: #22863a;
92
+ --editor-code-markup-inserted-bg: #f0fff4;
93
+ --editor-code-markup-deleted: #b31d28;
94
+ --editor-code-markup-deleted-bg: #ffeef0;
95
+ }
96
+ .dragon-editor,
97
+ .dragon-editor-viewer {
32
98
  /**
33
99
  * Reset style start
34
100
  */
@@ -161,26 +227,6 @@ function structure() {
161
227
  .dragon-editor-viewer .de-block[data-depth="5"] {
162
228
  padding-left: 150px;
163
229
  }
164
- .dragon-editor .de-block.de-list-block[data-depth="1"],
165
- .dragon-editor-viewer .de-block.de-list-block[data-depth="1"] {
166
- padding-left: 54px;
167
- }
168
- .dragon-editor .de-block.de-list-block[data-depth="2"],
169
- .dragon-editor-viewer .de-block.de-list-block[data-depth="2"] {
170
- padding-left: 84px;
171
- }
172
- .dragon-editor .de-block.de-list-block[data-depth="3"],
173
- .dragon-editor-viewer .de-block.de-list-block[data-depth="3"] {
174
- padding-left: 114px;
175
- }
176
- .dragon-editor .de-block.de-list-block[data-depth="4"],
177
- .dragon-editor-viewer .de-block.de-list-block[data-depth="4"] {
178
- padding-left: 144px;
179
- }
180
- .dragon-editor .de-block.de-list-block[data-depth="5"],
181
- .dragon-editor-viewer .de-block.de-list-block[data-depth="5"] {
182
- padding-left: 174px;
183
- }
184
230
 
185
231
  /**
186
232
  * 노드 스타일
@@ -221,32 +267,52 @@ function structure() {
221
267
  row-gap: 4px;
222
268
  padding-left: 24px;
223
269
  }
224
- .dragon-editor-viewer .de-list-block[data-style=disc] {
270
+ .dragon-editor-viewer .de-list-block[data-type=unordered] {
225
271
  list-style: disc;
226
272
  }
227
- .dragon-editor-viewer .de-list-block[data-style=square] {
273
+ .dragon-editor-viewer .de-list-block[data-type=unordered] .de-list-sub {
274
+ list-style: circle;
275
+ }
276
+ .dragon-editor-viewer .de-list-block[data-type=unordered] .de-list-sub .de-list-sub {
228
277
  list-style: square;
229
278
  }
230
- .dragon-editor-viewer .de-list-block[data-style=decimal] {
279
+ .dragon-editor-viewer .de-list-block[data-type=unordered] .de-list-sub .de-list-sub .de-list-sub {
280
+ list-style: disclosure-closed;
281
+ }
282
+ .dragon-editor-viewer .de-list-block[data-type=unordered] .de-list-sub .de-list-sub .de-list-sub .de-list-sub {
283
+ list-style: "- ";
284
+ }
285
+ .dragon-editor-viewer .de-list-block[data-type=unordered] .de-list-sub .de-list-sub .de-list-sub .de-list-sub .de-list-sub {
286
+ list-style: "* ";
287
+ }
288
+ .dragon-editor-viewer .de-list-block[data-type=ordered] {
231
289
  list-style: decimal;
232
290
  }
233
- .dragon-editor-viewer .de-list-block[data-style=lower-alpha] {
291
+ .dragon-editor-viewer .de-list-block[data-type=ordered] .de-list-sub {
234
292
  list-style: lower-alpha;
235
293
  }
236
- .dragon-editor-viewer .de-list-block[data-style=upper-alpha] {
237
- list-style: upper-alpha;
238
- }
239
- .dragon-editor-viewer .de-list-block[data-style=lower-roman] {
294
+ .dragon-editor-viewer .de-list-block[data-type=ordered] .de-list-sub .de-list-sub {
240
295
  list-style: lower-roman;
241
296
  }
242
- .dragon-editor-viewer .de-list-block[data-style=upper-roman] {
297
+ .dragon-editor-viewer .de-list-block[data-type=ordered] .de-list-sub .de-list-sub .de-list-sub {
298
+ list-style: upper-alpha;
299
+ }
300
+ .dragon-editor-viewer .de-list-block[data-type=ordered] .de-list-sub .de-list-sub .de-list-sub .de-list-sub {
243
301
  list-style: upper-roman;
244
302
  }
303
+ .dragon-editor-viewer .de-list-block[data-type=ordered] .de-list-sub .de-list-sub .de-list-sub .de-list-sub .de-list-sub {
304
+ list-style: decimal;
305
+ }
245
306
  .dragon-editor-viewer .de-list-block .de-item {
307
+ list-style: inherit;
308
+ }
309
+ .dragon-editor-viewer .de-list-block .de-item-text {
246
310
  min-height: 1.6em;
247
311
  word-break: break-all;
248
312
  outline: 0;
249
- list-style: inherit;
313
+ }
314
+ .dragon-editor-viewer .de-list-block .de-list-sub {
315
+ padding-left: 30px;
250
316
  }
251
317
  .dragon-editor-viewer .de-image-block {
252
318
  display: flex;
@@ -501,7 +567,7 @@ function structure() {
501
567
  .dragon-editor-viewer .de-image-block .de-image-area .de-img {
502
568
  width: 100%;
503
569
  height: auto;
504
- border-radius: var(--radius-default);
570
+ border-radius: var(--editor-radius-default);
505
571
  }
506
572
  .dragon-editor-viewer .de-image-block .de-image-area .de-btn {
507
573
  position: absolute;
@@ -510,7 +576,7 @@ function structure() {
510
576
  height: 15%;
511
577
  background: #f1f1f1;
512
578
  border: 1px solid #ccc;
513
- border-radius: var(--radius-default);
579
+ border-radius: var(--editor-radius-default);
514
580
  transform: translate(-50%, -50%);
515
581
  cursor: col-resize;
516
582
  user-select: none;
@@ -535,13 +601,16 @@ function structure() {
535
601
  flex-wrap: wrap;
536
602
  margin: 2px 0;
537
603
  padding: 0;
538
- border-radius: var(--radius-default);
539
- overflow: hidden;
604
+ color: var(--editor-code-color);
605
+ background: var(--editor-code-bg);
606
+ border-radius: var(--editor-radius-default);
540
607
  }
541
608
  .dragon-editor-viewer .de-code-block .de-filename {
542
609
  flex: 1;
543
610
  max-width: calc(100% - 120px);
544
611
  padding: 5px 10px;
612
+ color: var(--editor-code-color);
613
+ background: var(--editor-code-file-bg);
545
614
  box-sizing: border-box;
546
615
  outline: 0;
547
616
  }
@@ -549,219 +618,123 @@ function structure() {
549
618
  width: 120px;
550
619
  text-align: right;
551
620
  padding: 5px 10px;
621
+ color: var(--editor-code-color);
622
+ background: var(--editor-code-file-bg);
552
623
  box-sizing: border-box;
553
624
  }
554
- .dragon-editor-viewer .de-code-block .de-pre {
625
+ .dragon-editor-viewer .de-code-block .de-pre-wrap {
626
+ display: flex;
555
627
  width: 100%;
628
+ overflow-x: auto;
629
+ }
630
+ .dragon-editor-viewer .de-code-block .de-pre-wrap .de-number {
631
+ padding: 10px 4px;
632
+ background: var(--editor-code-number);
633
+ color: var(--editor-code-number-bg);
634
+ }
635
+ .dragon-editor-viewer .de-code-block .de-pre-wrap .de-number .de-number-item {
636
+ min-height: 1.6em;
637
+ font-family: Inconsolata, monospace, sans-serif;
638
+ text-align: right;
639
+ }
640
+ .dragon-editor-viewer .de-code-block .de-pre {
641
+ flex: 1;
556
642
  padding: 10px;
557
643
  box-sizing: border-box;
558
- white-space: pre-wrap;
559
644
  }
560
645
  .dragon-editor-viewer .de-code-block .de-pre .de-code-content {
561
646
  display: block;
562
647
  min-height: 1.6em;
563
- width: 100%;
648
+ min-width: 100%;
564
649
  font-family: Inconsolata, monospace, sans-serif;
565
- word-break: break-word;
566
650
  outline: 0;
567
651
  }
568
- .dragon-editor-viewer .de-code-block[data-theme=github-light] {
569
- color: #24292e;
570
- background: #f1f1f1;
571
- }
572
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .de-filename {
573
- color: #24292e;
574
- background: #ccc;
575
- }
576
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .de-language {
577
- color: #24292e;
578
- background: #ccc;
579
- }
580
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-doctag,
581
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-keyword,
582
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-meta .hljs-keyword,
583
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-template-tag,
584
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-template-variable,
585
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-type,
586
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-variable.language_ {
652
+ .dragon-editor-viewer .de-code-block .hljs-doctag,
653
+ .dragon-editor-viewer .de-code-block .hljs-keyword,
654
+ .dragon-editor-viewer .de-code-block .hljs-meta .hljs-keyword,
655
+ .dragon-editor-viewer .de-code-block .hljs-template-tag,
656
+ .dragon-editor-viewer .de-code-block .hljs-template-variable,
657
+ .dragon-editor-viewer .de-code-block .hljs-type,
658
+ .dragon-editor-viewer .de-code-block .hljs-variable.language_ {
587
659
  /* prettylights-syntax-keyword */
588
- color: #d73a49;
660
+ color: var(--editor-code-keyword);
589
661
  }
590
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-title,
591
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-title.class_,
592
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-title.class_.inherited__,
593
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-title.function_ {
662
+ .dragon-editor-viewer .de-code-block .hljs-title,
663
+ .dragon-editor-viewer .de-code-block .hljs-title.class_,
664
+ .dragon-editor-viewer .de-code-block .hljs-title.class_.inherited__,
665
+ .dragon-editor-viewer .de-code-block .hljs-title.function_ {
594
666
  /* prettylights-syntax-entity */
595
- color: #6f42c1;
596
- }
597
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-attr,
598
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-attribute,
599
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-literal,
600
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-meta,
601
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-number,
602
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-operator,
603
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-variable,
604
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-selector-attr,
605
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-selector-class,
606
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-selector-id {
667
+ color: var(--editor-code-entity);
668
+ }
669
+ .dragon-editor-viewer .de-code-block .hljs-attr,
670
+ .dragon-editor-viewer .de-code-block .hljs-attribute,
671
+ .dragon-editor-viewer .de-code-block .hljs-literal,
672
+ .dragon-editor-viewer .de-code-block .hljs-meta,
673
+ .dragon-editor-viewer .de-code-block .hljs-number,
674
+ .dragon-editor-viewer .de-code-block .hljs-operator,
675
+ .dragon-editor-viewer .de-code-block .hljs-variable,
676
+ .dragon-editor-viewer .de-code-block .hljs-selector-attr,
677
+ .dragon-editor-viewer .de-code-block .hljs-selector-class,
678
+ .dragon-editor-viewer .de-code-block .hljs-selector-id {
607
679
  /* prettylights-syntax-constant */
608
- color: #005cc5;
680
+ color: var(--editor-code-constant);
609
681
  }
610
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-regexp,
611
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-string,
612
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-meta .hljs-string {
682
+ .dragon-editor-viewer .de-code-block .hljs-regexp,
683
+ .dragon-editor-viewer .de-code-block .hljs-string,
684
+ .dragon-editor-viewer .de-code-block .hljs-meta .hljs-string {
613
685
  /* prettylights-syntax-string */
614
- color: #032f62;
686
+ color: var(--editor-code-string);
615
687
  }
616
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-built_in,
617
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-symbol {
688
+ .dragon-editor-viewer .de-code-block .hljs-built_in,
689
+ .dragon-editor-viewer .de-code-block .hljs-symbol {
618
690
  /* prettylights-syntax-variable */
619
- color: #e36209;
691
+ color: var(--editor-code-variable);
620
692
  }
621
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-comment,
622
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-code,
623
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-formula {
693
+ .dragon-editor-viewer .de-code-block .hljs-comment,
694
+ .dragon-editor-viewer .de-code-block .hljs-code,
695
+ .dragon-editor-viewer .de-code-block .hljs-formula {
624
696
  /* prettylights-syntax-comment */
625
- color: #6a737d;
697
+ color: var(--editor-code-comment);
626
698
  }
627
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-name,
628
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-quote,
629
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-selector-tag,
630
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-selector-pseudo {
699
+ .dragon-editor-viewer .de-code-block .hljs-name,
700
+ .dragon-editor-viewer .de-code-block .hljs-quote,
701
+ .dragon-editor-viewer .de-code-block .hljs-selector-tag,
702
+ .dragon-editor-viewer .de-code-block .hljs-selector-pseudo {
631
703
  /* prettylights-syntax-entity-tag */
632
- color: #22863a;
704
+ color: var(--editor-code-entity-tag);
633
705
  }
634
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-subst {
706
+ .dragon-editor-viewer .de-code-block .hljs-subst {
635
707
  /* prettylights-syntax-storage-modifier-import */
636
- color: #24292e;
708
+ color: var(--editor-code-storage-modifier-import);
637
709
  }
638
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-section {
710
+ .dragon-editor-viewer .de-code-block .hljs-section {
639
711
  /* prettylights-syntax-markup-heading */
640
- color: #005cc5;
712
+ color: var(--editor-code-markup-heading);
641
713
  font-weight: bold;
642
714
  }
643
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-bullet {
715
+ .dragon-editor-viewer .de-code-block .hljs-bullet {
644
716
  /* prettylights-syntax-markup-list */
645
- color: #735c0f;
717
+ color: var(--editor-code-markup-list);
646
718
  }
647
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-emphasis {
719
+ .dragon-editor-viewer .de-code-block .hljs-emphasis {
648
720
  /* prettylights-syntax-markup-italic */
649
- color: #24292e;
721
+ color: var(--editor-code-markup-italic);
650
722
  font-style: italic;
651
723
  }
652
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-strong {
724
+ .dragon-editor-viewer .de-code-block .hljs-strong {
653
725
  /* prettylights-syntax-markup-bold */
654
- color: #24292e;
726
+ color: var(--editor-code-markup-bold);
655
727
  font-weight: bold;
656
728
  }
657
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-addition {
729
+ .dragon-editor-viewer .de-code-block .hljs-addition {
658
730
  /* prettylights-syntax-markup-inserted */
659
- color: #22863a;
660
- background-color: #f0fff4;
731
+ color: var(--editor-code-markup-inserted);
732
+ background-color: var(--editor-code-markup-inserted-bg);
661
733
  }
662
- .dragon-editor-viewer .de-code-block[data-theme=github-light] .hljs-deletion {
734
+ .dragon-editor-viewer .de-code-block .hljs-deletion {
663
735
  /* prettylights-syntax-markup-deleted */
664
- color: #b31d28;
665
- background-color: #ffeef0;
666
- }
667
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] {
668
- color: #adbac7;
669
- background: #22272e;
670
- }
671
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .de-filename {
672
- color: #adbac7;
673
- background: #494e54;
674
- }
675
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .de-language {
676
- color: #adbac7;
677
- background: #494e54;
678
- }
679
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-doctag,
680
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-keyword,
681
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-meta .hljs-keyword,
682
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-template-tag,
683
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-template-variable,
684
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-type,
685
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-variable.language_ {
686
- /* prettylights-syntax-keyword */
687
- color: #f47067;
688
- }
689
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-title,
690
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-title.class_,
691
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-title.class_.inherited__,
692
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-title.function_ {
693
- /* prettylights-syntax-entity */
694
- color: #dcbdfb;
695
- }
696
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-attr,
697
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-attribute,
698
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-literal,
699
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-meta,
700
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-number,
701
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-operator,
702
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-variable,
703
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-selector-attr,
704
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-selector-class,
705
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-selector-id {
706
- /* prettylights-syntax-constant */
707
- color: #6cb6ff;
708
- }
709
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-regexp,
710
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-string,
711
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-meta .hljs-string {
712
- /* prettylights-syntax-string */
713
- color: #96d0ff;
714
- }
715
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-built_in,
716
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-symbol {
717
- /* prettylights-syntax-variable */
718
- color: #f69d50;
719
- }
720
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-comment,
721
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-code,
722
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-formula {
723
- /* prettylights-syntax-comment */
724
- color: #768390;
725
- }
726
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-name,
727
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-quote,
728
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-selector-tag,
729
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-selector-pseudo {
730
- /* prettylights-syntax-entity-tag */
731
- color: #8ddb8c;
732
- }
733
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-subst {
734
- /* prettylights-syntax-storage-modifier-import */
735
- color: #adbac7;
736
- }
737
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-section {
738
- /* prettylights-syntax-markup-heading */
739
- color: #316dca;
740
- font-weight: bold;
741
- }
742
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-bullet {
743
- /* prettylights-syntax-markup-list */
744
- color: #eac55f;
745
- }
746
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-emphasis {
747
- /* prettylights-syntax-markup-italic */
748
- color: #adbac7;
749
- font-style: italic;
750
- }
751
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-strong {
752
- /* prettylights-syntax-markup-bold */
753
- color: #adbac7;
754
- font-weight: bold;
755
- }
756
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-addition {
757
- /* prettylights-syntax-markup-inserted */
758
- color: #b4f1b4;
759
- background-color: #1b4721;
760
- }
761
- .dragon-editor-viewer .de-code-block[data-theme=github-dark-dimmed] .hljs-deletion {
762
- /* prettylights-syntax-markup-deleted */
763
- color: #ffd8d3;
764
- background-color: #78191b;
736
+ color: var(--editor-code-markup-deleted);
737
+ background-color: var(--editor-code-markup-deleted-bg);
765
738
  }
766
739
  .dragon-editor-viewer .de-divider-block {
767
740
  display: flex;
@@ -774,7 +747,7 @@ function structure() {
774
747
  width: 100%;
775
748
  height: 2px;
776
749
  padding: 0;
777
- background: #e5e5e5;
750
+ background: var(--editor-divider);
778
751
  border-radius: 2px;
779
752
  }
780
753
  .dragon-editor-viewer .de-bold {
@@ -798,8 +771,8 @@ function structure() {
798
771
  .dragon-editor-viewer .de-code {
799
772
  display: inline-block;
800
773
  padding: 2px 4px;
801
- background: #f1f1f1;
802
- color: #ff0000;
774
+ background: var(--editor-decoration-code-bg);
775
+ color: var(--editor-decoration-code-color);
803
776
  border-radius: 5px;
804
777
  }
805
778
  .dragon-editor-viewer .de-align-left {
@@ -1,9 +1,16 @@
1
- type __VLS_Props = {
1
+ import type { DEContentData } from "../type.d.mts.js";
2
+ interface DragonEditorViewerOption {
2
3
  content: DEContentData;
3
- imageHostURL?: string;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- imageHostURL: string;
4
+ mediaHostURL?: string;
5
+ isMobile?: boolean;
6
+ theme?: "dark" | "white";
7
+ codeBlockSpaces?: number;
8
+ }
9
+ declare const __VLS_export: import("vue").DefineComponent<DragonEditorViewerOption, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<DragonEditorViewerOption> & Readonly<{}>, {
10
+ mediaHostURL: string;
11
+ isMobile: boolean;
12
+ codeBlockSpaces: number;
13
+ theme: "dark" | "white";
7
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
15
  declare const _default: typeof __VLS_export;
9
16
  export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;