@blueking/ai-ui-sdk 0.1.12-beta.8 → 0.1.12

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 (142) hide show
  1. package/dist/common/chart-helper.d.ts +8 -1
  2. package/dist/common/chart-helper.ts.js +32 -9
  3. package/dist/common/util.d.ts +7 -0
  4. package/dist/common/util.ts.js +8 -0
  5. package/dist/components/render-aside/index.script.vue.js +1 -1
  6. package/dist/components/render-aside/index.vue.css +9 -9
  7. package/dist/components/render-aside/index.vue.js +1 -1
  8. package/dist/components/render-auto-height-textarea/index.script.vue.js.js +1 -1
  9. package/dist/components/render-auto-height-textarea/index.vue.css +11 -11
  10. package/dist/components/render-auto-height-textarea/index.vue.js +1 -1
  11. package/dist/components/render-auto-refresh/index.vue.css +8 -8
  12. package/dist/components/render-auto-refresh/index.vue.js +1 -1
  13. package/dist/components/render-checkbox/index.vue.css +9 -9
  14. package/dist/components/render-checkbox/index.vue.js +1 -1
  15. package/dist/components/render-choose-tag/index.script.vue.js.js +0 -1
  16. package/dist/components/render-choose-tag/index.vue.css +7 -7
  17. package/dist/components/render-choose-tag/index.vue.js +1 -1
  18. package/dist/components/render-collapse/index.script.vue.js.js +1 -1
  19. package/dist/components/render-collapse/index.vue.css +2 -2
  20. package/dist/components/render-collapse/index.vue.js +1 -1
  21. package/dist/components/render-dataset/components/batch-review-dataset-data/index.script.vue.js.js +3 -3
  22. package/dist/components/render-dataset/components/batch-review-dataset-data/index.vue.d.ts +1 -2
  23. package/dist/components/render-dataset/components/dataset-data-level/index.script.vue.js +46 -0
  24. package/dist/components/render-dataset/components/dataset-data-level/index.vue.d.ts +1 -0
  25. package/dist/components/render-dataset/components/dataset-data-level/index.vue.js +1 -1
  26. package/dist/components/render-dataset/components/dataset-data-tool-icons/index.script.vue.js +1 -1
  27. package/dist/components/render-dataset/components/edit-dataset-data/index.script.vue.js.js +37 -12
  28. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.css +3 -3
  29. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.d.ts +2 -0
  30. package/dist/components/render-dataset/components/edit-dataset-data/index.vue.js +1 -1
  31. package/dist/components/render-dataset/components/operation-record/index.vue.css +4 -4
  32. package/dist/components/render-dataset/components/operation-record/index.vue.js +1 -1
  33. package/dist/components/render-dataset/components/operation-record/table/index.vue.css +1 -1
  34. package/dist/components/render-dataset/components/operation-record/table/index.vue.js +1 -1
  35. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.css +2 -2
  36. package/dist/components/render-dataset/components/operation-record/view-op-result/index.vue.js +1 -1
  37. package/dist/components/render-dataset/components/plus-dataset/dataset-form.script.vue.js +12 -23
  38. package/dist/components/render-dataset/components/plus-dataset/dataset-form.vue.d.ts +2 -0
  39. package/dist/components/render-dataset/components/plus-dataset/index.script.vue.js.js +17 -5
  40. package/dist/components/render-dataset/components/plus-dataset/index.vue.css +2 -2
  41. package/dist/components/render-dataset/components/plus-dataset/index.vue.d.ts +2 -0
  42. package/dist/components/render-dataset/components/plus-dataset/index.vue.js +1 -1
  43. package/dist/components/render-dataset/components/plus-dataset-data/form/api.script.vue.js.js +137 -0
  44. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.css +10 -0
  45. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.d.ts +8 -0
  46. package/dist/components/render-dataset/components/plus-dataset-data/form/api.vue.js +5 -0
  47. package/dist/components/render-dataset/components/plus-dataset-data/form/category.script.vue.js.js +10 -1
  48. package/dist/components/render-dataset/components/plus-dataset-data/form/category.vue.d.ts +1 -0
  49. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.script.vue.js.js +7 -5
  50. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.css +1 -1
  51. package/dist/components/render-dataset/components/plus-dataset-data/form/footer.vue.js +1 -1
  52. package/dist/components/render-dataset/components/plus-dataset-data/form/index.script.vue.js.js +27 -14
  53. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.css +2 -2
  54. package/dist/components/render-dataset/components/plus-dataset-data/form/index.vue.js +1 -1
  55. package/dist/components/render-dataset/components/plus-dataset-data/form/manual.script.vue.js.js +9 -3
  56. package/dist/components/render-dataset/components/review-dataset-data/index.script.vue.js.js +2 -2
  57. package/dist/components/render-dataset/components/review-dataset-data/index.vue.css +10 -10
  58. package/dist/components/render-dataset/components/review-dataset-data/index.vue.js +1 -1
  59. package/dist/components/render-dataset/components/search-dataset/index.script.vue.js.js +1 -3
  60. package/dist/components/render-dataset/components/source-type-icon/index.script.vue.js.js +3 -0
  61. package/dist/components/render-dataset/index.vue.css +1 -1
  62. package/dist/components/render-dataset/index.vue.js +1 -1
  63. package/dist/components/render-dataset-detail/components/header.script.vue.js.js +81 -3
  64. package/dist/components/render-dataset-detail/components/header.vue.d.ts +6 -1
  65. package/dist/components/render-dataset-detail/index.script.vue.js.js +18 -5
  66. package/dist/components/render-dataset-detail-origin-data/components/batch-operation/index.script.vue.js.js +8 -8
  67. package/dist/components/render-dataset-detail-origin-data/components/batch-operation/index.vue.d.ts +3 -4
  68. package/dist/components/render-dataset-detail-origin-data/components/table/index.script.vue.js +247 -87
  69. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.d.ts +6 -4
  70. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.js +0 -2
  71. package/dist/components/render-dataset-detail-origin-data/index.script.vue.js.js +37 -17
  72. package/dist/components/render-dataset-detail-origin-data/index.vue.css +3 -3
  73. package/dist/components/render-dataset-detail-origin-data/index.vue.d.ts +5 -1
  74. package/dist/components/render-dataset-detail-origin-data/index.vue.js +1 -1
  75. package/dist/components/render-dataset-list/components/main.script.vue.js.js +13 -2
  76. package/dist/components/render-dataset-list/components/main.vue.css +3 -3
  77. package/dist/components/render-dataset-list/components/main.vue.d.ts +3 -0
  78. package/dist/components/render-dataset-list/components/main.vue.js +1 -1
  79. package/dist/components/render-dataset-list/components/table.script.vue.js.js +44 -52
  80. package/dist/components/render-dataset-list/components/table.vue.d.ts +1 -0
  81. package/dist/components/render-dataset-list/index.script.vue.js.js +13 -2
  82. package/dist/components/render-dataset-list/index.vue.d.ts +3 -0
  83. package/dist/components/render-expand-collapse/index.vue.css +3 -3
  84. package/dist/components/render-expand-collapse/index.vue.js +1 -1
  85. package/dist/components/render-file-card/index.vue.css +11 -11
  86. package/dist/components/render-file-card/index.vue.js +1 -1
  87. package/dist/components/render-file-type-icon/index.vue.css +5 -5
  88. package/dist/components/render-file-type-icon/index.vue.js +1 -1
  89. package/dist/components/render-header/index.script.vue.js.js +3 -3
  90. package/dist/components/render-header/index.vue.css +5 -5
  91. package/dist/components/render-header/index.vue.d.ts +3 -3
  92. package/dist/components/render-header/index.vue.js +1 -1
  93. package/dist/components/render-markdown/mark-down-code.d.ts +2 -0
  94. package/dist/components/render-markdown/mark-down-code.ts.js +171 -0
  95. package/dist/components/render-markdown/mark-down-emoji.d.ts +2 -0
  96. package/dist/components/render-markdown/mark-down-emoji.ts.js +4 -0
  97. package/dist/components/render-markdown/mark-down.d.ts +49 -0
  98. package/dist/components/render-markdown/mark-down.postcss.css +153 -0
  99. package/dist/components/render-markdown/mark-down.ts.js +145 -0
  100. package/dist/components/render-router-tab/index.vue.css +3 -3
  101. package/dist/components/render-router-tab/index.vue.js +1 -1
  102. package/dist/components.d.ts +3 -1
  103. package/dist/components.ts.js +3 -1
  104. package/dist/css/fonts/iconcool.eot +0 -0
  105. package/dist/css/fonts/iconcool.svg +3 -0
  106. package/dist/css/fonts/iconcool.ttf +0 -0
  107. package/dist/css/fonts/iconcool.woff +0 -0
  108. package/dist/css/iconcool.js +2 -2
  109. package/dist/css/style.css +3 -0
  110. package/dist/hooks/use-chat.d.ts +38 -3
  111. package/dist/hooks/use-chat.ts.js +16 -3
  112. package/dist/hooks/use-dataset-http.d.ts +5 -1
  113. package/dist/hooks/use-dataset-http.ts.js +28 -1
  114. package/dist/hooks/use-form-rule.d.ts +1 -1
  115. package/dist/hooks/use-form-rule.ts.js +101 -0
  116. package/dist/hooks/use-session-http.d.ts +8 -1
  117. package/dist/hooks/use-session-http.ts.js +51 -15
  118. package/dist/http/fetch/index.d.ts +3 -0
  119. package/dist/http/fetch/index.ts.js +23 -5
  120. package/dist/http/helper/agent.ts.js +27 -3
  121. package/dist/http/helper/dataset.d.ts +7 -1
  122. package/dist/http/helper/dataset.ts.js +17 -0
  123. package/dist/http/helper/knowledge.ts.js +7 -2
  124. package/dist/http/helper/permission.ts.js +4 -1
  125. package/dist/http/helper/session.ts.js +5 -2
  126. package/dist/http/helper/tool.ts.js +4 -0
  127. package/dist/types/agent.d.ts +53 -0
  128. package/dist/types/agent.ts.js +1 -0
  129. package/dist/types/common.d.ts +6 -1
  130. package/dist/types/common.ts.js +1 -0
  131. package/dist/types/dataset.d.ts +23 -0
  132. package/dist/types/enum.d.ts +28 -3
  133. package/dist/types/enum.ts.js +28 -0
  134. package/dist/types/knowledge.d.ts +5 -1
  135. package/dist/types/permission.d.ts +6 -0
  136. package/dist/types/session.d.ts +5 -2
  137. package/dist/types/tool.d.ts +7 -3
  138. package/dist/types.d.ts +2 -0
  139. package/dist/types.ts.js +2 -0
  140. package/package.json +6 -4
  141. package/dist/components/render-dataset/components/dataset-data-level/index.script.vue.js.js +0 -19
  142. package/dist/components/render-dataset-detail-origin-data/components/table/index.vue.css +0 -10
@@ -1,16 +1,16 @@
1
1
 
2
- .ai-ui-sdk-icon.ai-ui-sdk-pdf[data-v-k4h48a42] {
2
+ .ai-ui-sdk-icon.ai-ui-sdk-pdf[data-v-h1qzbbv2] {
3
3
  color: #EA3636;
4
4
  }
5
- .ai-ui-sdk-icon.ai-ui-sdk-doc-2[data-v-k4h48a42], .ai-ui-sdk-icon.ai-ui-sdk-ppt-2[data-v-k4h48a42], .ai-ui-sdk-icon.ai-ui-sdk-markdown[data-v-k4h48a42] {
5
+ .ai-ui-sdk-icon.ai-ui-sdk-doc-2[data-v-h1qzbbv2], .ai-ui-sdk-icon.ai-ui-sdk-ppt-2[data-v-h1qzbbv2], .ai-ui-sdk-icon.ai-ui-sdk-markdown[data-v-h1qzbbv2] {
6
6
  color: #3A84FF;
7
7
  }
8
- .ai-ui-sdk-icon.ai-ui-sdk-folder-fill[data-v-k4h48a42] {
8
+ .ai-ui-sdk-icon.ai-ui-sdk-folder-fill[data-v-h1qzbbv2] {
9
9
  color: #C4C6CC;
10
10
  }
11
- .ai-ui-sdk-icon.ai-ui-sdk-excel[data-v-k4h48a42] {
11
+ .ai-ui-sdk-icon.ai-ui-sdk-excel[data-v-h1qzbbv2] {
12
12
  color: #2DCB56;
13
13
  }
14
- .ai-ui-sdk-icon.ai-ui-sdk-wangye[data-v-k4h48a42] {
14
+ .ai-ui-sdk-icon.ai-ui-sdk-wangye[data-v-h1qzbbv2] {
15
15
  color: #14A568;
16
16
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-k4h48a42";
2
+ script.__scopeId = "data-v-h1qzbbv2";
3
3
  script.__file = "./src/components/render-file-type-icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -23,9 +23,9 @@ export default /*@__PURE__*/ _defineComponent({
23
23
  type: Boolean,
24
24
  default: true
25
25
  },
26
- isCodeReviewHistory: {
26
+ showHeaderTool: {
27
27
  type: Boolean,
28
- default: false
28
+ default: true
29
29
  }
30
30
  },
31
31
  emits: [
@@ -46,7 +46,7 @@ export default /*@__PURE__*/ _defineComponent({
46
46
  _renderSlot(_ctx.$slots, "title", {}, ()=>[
47
47
  _createElementVNode("span", _hoisted_2, _toDisplayString(__props.title), 1 /* TEXT */ )
48
48
  ], true),
49
- !__props.isCodeReviewHistory ? (_openBlock(), _createElementBlock("section", _hoisted_3, [
49
+ __props.showHeaderTool ? (_openBlock(), _createElementBlock("section", _hoisted_3, [
50
50
  _renderSlot(_ctx.$slots, "search", {}, undefined, true),
51
51
  __props.showTag ? (_openBlock(), _createBlock(_component_bk_input, {
52
52
  key: 0,
@@ -1,5 +1,5 @@
1
1
 
2
- .header-home[data-v-px9g8c8e] {
2
+ .header-home[data-v-nxo1wwre] {
3
3
  width: 100%;
4
4
  height: 52px;
5
5
  background: #FFFFFF;
@@ -7,14 +7,14 @@
7
7
  position: relative;
8
8
  z-index: 2;
9
9
  }
10
- .header-title[data-v-px9g8c8e] {
10
+ .header-title[data-v-nxo1wwre] {
11
11
  position: absolute;
12
12
  left: 24px;
13
13
  top: 14px;
14
14
  font-size: 16px;
15
15
  color: #313238;
16
16
  }
17
- .header-main[data-v-px9g8c8e] {
17
+ .header-main[data-v-nxo1wwre] {
18
18
  display: flex;
19
19
  align-items: center;
20
20
  justify-content: flex-end;
@@ -22,13 +22,13 @@
22
22
  height: 100%;
23
23
  margin: 0 auto;
24
24
  }
25
- .header-select[data-v-px9g8c8e] {
25
+ .header-select[data-v-nxo1wwre] {
26
26
  width: 300px;
27
27
  margin-right: 8px;
28
28
  z-index: 9;
29
29
  font-size: 12px;
30
30
  }
31
- .header-input[data-v-px9g8c8e] {
31
+ .header-input[data-v-nxo1wwre] {
32
32
  width: 300px;
33
33
  font-size: 12px;
34
34
  }
@@ -18,7 +18,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
18
18
  type: BooleanConstructor;
19
19
  default: boolean;
20
20
  };
21
- isCodeReviewHistory: {
21
+ showHeaderTool: {
22
22
  type: BooleanConstructor;
23
23
  default: boolean;
24
24
  };
@@ -37,7 +37,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
37
37
  type: BooleanConstructor;
38
38
  default: boolean;
39
39
  };
40
- isCodeReviewHistory: {
40
+ showHeaderTool: {
41
41
  type: BooleanConstructor;
42
42
  default: boolean;
43
43
  };
@@ -47,7 +47,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
47
47
  }>, {
48
48
  showTag: boolean;
49
49
  showSearch: boolean;
50
- isCodeReviewHistory: boolean;
50
+ showHeaderTool: boolean;
51
51
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
52
52
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
53
53
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-px9g8c8e";
2
+ script.__scopeId = "data-v-nxo1wwre";
3
3
  script.__file = "./src/components/render-header/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -0,0 +1,2 @@
1
+ import type MarkdownIt from 'markdown-it';
2
+ export declare const MarkDownCodePlugin: (markdownIt: MarkdownIt) => void;
@@ -0,0 +1,171 @@
1
+ const languageSuffixMap = {
2
+ c: '.c',
3
+ 'c++': '.cpp',
4
+ java: '.java',
5
+ python: '.py',
6
+ html: '.html',
7
+ css: '.css',
8
+ javascript: '.js',
9
+ js: '.js',
10
+ php: '.php',
11
+ ruby: '.rb',
12
+ swift: '.swift',
13
+ go: '.go',
14
+ perl: '.pl',
15
+ sql: '.sql',
16
+ xml: '.xml',
17
+ json: '.json',
18
+ vue: '.vue',
19
+ rust: '.rs',
20
+ jsx: '.jsx',
21
+ tsx: '.tsx',
22
+ typescript: '.ts',
23
+ ts: '.ts',
24
+ bash: '.sh'
25
+ };
26
+ const getLanguageSuffix = (name)=>languageSuffixMap[name.toLowerCase()] || '.txt';
27
+ let originalFence;
28
+ // 自定义代码块
29
+ export const MarkDownCodePlugin = (markdownIt)=>{
30
+ // 如果 originalFence 不存在,则获取原始的 fence 函数,防止嵌套调用
31
+ if (!originalFence) {
32
+ originalFence = markdownIt.renderer.rules.fence;
33
+ }
34
+ // 重写 fence 规则
35
+ markdownIt.block.ruler.at('fence', (state, startLine, endLine, silent)=>{
36
+ let pos = state.bMarks[startLine] + state.tShift[startLine];
37
+ let max = state.eMarks[startLine];
38
+ // 检查是否缩进过多
39
+ if (state.sCount[startLine] - state.blkIndent >= 4) {
40
+ return false;
41
+ }
42
+ // 检查是否有足够的字符
43
+ if (pos + 3 > max) {
44
+ return false;
45
+ }
46
+ const marker = state.src.charCodeAt(pos);
47
+ // 检查是否是有效的标记字符
48
+ if (marker !== 0x7E /* ~ */ && marker !== 0x60 /* ` */ ) {
49
+ return false;
50
+ }
51
+ // 获取标记的长度
52
+ let mem = pos;
53
+ pos = state.skipChars(pos, marker);
54
+ const len = pos - mem;
55
+ if (len < 3) {
56
+ return false;
57
+ }
58
+ const markup = state.src.slice(mem, pos);
59
+ const params = state.src.slice(pos, max);
60
+ // 检查参数中是否包含标记字符
61
+ if (marker === 0x60 /* ` */ ) {
62
+ if (params.indexOf(String.fromCharCode(marker)) >= 0) {
63
+ return false;
64
+ }
65
+ }
66
+ // 验证模式直接返回
67
+ if (silent) {
68
+ return true;
69
+ }
70
+ // 寻找结束标记
71
+ let nextLine = startLine;
72
+ let haveEndMarker = false;
73
+ for(;;){
74
+ nextLine += 1;
75
+ if (nextLine >= endLine) {
76
+ break;
77
+ }
78
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
79
+ mem = pos;
80
+ max = state.eMarks[nextLine];
81
+ if (pos < max && state.sCount[nextLine] < state.blkIndent) {
82
+ break;
83
+ }
84
+ // 如果不是标记字符,继续
85
+ if (state.src.charCodeAt(pos) !== marker) {
86
+ continue;
87
+ }
88
+ // 检查标记长度
89
+ if (state.sCount[nextLine] - state.blkIndent >= 4) {
90
+ continue;
91
+ }
92
+ pos = state.skipChars(pos, marker);
93
+ // 结束标记必须至少和开始标记一样长
94
+ if (pos - mem < len) {
95
+ continue;
96
+ }
97
+ // 检查标记后是否只有空格
98
+ pos = state.skipSpaces(pos);
99
+ if (pos < max) {
100
+ continue;
101
+ }
102
+ haveEndMarker = true;
103
+ break;
104
+ }
105
+ // 设置结束行
106
+ state.line = nextLine + (haveEndMarker ? 1 : 0);
107
+ // 创建 token
108
+ const token = state.push('fence', 'code', 0);
109
+ token.info = params;
110
+ token.content = state.getLines(startLine + 1, nextLine, state.sCount[startLine], true);
111
+ token.markup = markup;
112
+ token.map = [
113
+ startLine,
114
+ state.line
115
+ ];
116
+ token.haveEndMarker = haveEndMarker;
117
+ return true;
118
+ }, {
119
+ alt: [
120
+ 'paragraph',
121
+ 'reference',
122
+ 'blockquote',
123
+ 'list'
124
+ ]
125
+ });
126
+ // 自定义代码块渲染
127
+ markdownIt.renderer.rules.fence = (tokens, idx, options, env, self)=>{
128
+ const token = tokens[idx];
129
+ const hasEndBlock = token.haveEndMarker;
130
+ let language = token.info.trim();
131
+ let code = token.content;
132
+ // 原始渲染
133
+ const originalCode = originalFence(tokens, idx, options, env, self);
134
+ // 1. 如果代码块和语言不为空,则渲染代码块
135
+ if (code.trim() && language && hasEndBlock) {
136
+ const encodeCode = encodeURIComponent(code);
137
+ return `<section class="full-screen-wrap markdown-body" style="background-color: #2e2e2e;">
138
+ <section class="code-header g-flex-row">
139
+ <span>${language}</span>
140
+ <span class="g-flex-row">
141
+ <i class="ai-ui-sdk-icon ai-ui-sdk-un-full-screen click-un-full-screen"></i>
142
+ <i class="ai-ui-sdk-icon ai-ui-sdk-full-screen click-full-screen"></i>
143
+ <i class="ai-ui-sdk-icon ai-ui-sdk-copy click-copy" data-clipboard-text="${encodeCode}"></i>
144
+ <i class="ai-ui-sdk-icon ai-ui-sdk-dongzuo-xiazai click-download" data-clipboard-text="${encodeCode}" data-file-name="ai${getLanguageSuffix(language)}"></i>
145
+ </span>
146
+ </section>
147
+ ${originalCode}
148
+ </section>`;
149
+ }
150
+ // 2. 如果有结束标记并且有代码内容,则返回原始代码块
151
+ if (code.trim() && hasEndBlock) {
152
+ return originalCode;
153
+ }
154
+ // 3. 否则返回原始内容
155
+ // 开始标记
156
+ const start = token.markup;
157
+ // 结束标记
158
+ let end = '';
159
+ // 如果代码块长度大于行数,则添加结束标记(markdown不封闭语法)
160
+ if (hasEndBlock) {
161
+ end = '```';
162
+ }
163
+ // 如果代码块不为空,则添加换行符
164
+ if (code) {
165
+ code = code.replace(/\n/g, '<br>');
166
+ }
167
+ language = `${language}<br>`;
168
+ // 返回原始字符串
169
+ return `${start}${language}${code}${end}`;
170
+ };
171
+ };
@@ -0,0 +1,2 @@
1
+ import type MarkdownIt from 'markdown-it';
2
+ export declare const MarkDownEmojiPlugin: (markdownIt: MarkdownIt) => void;
@@ -0,0 +1,4 @@
1
+ // 关闭emoji
2
+ export const MarkDownEmojiPlugin = (markdownIt)=>{
3
+ markdownIt.core.ruler.disable('emoji');
4
+ };
@@ -0,0 +1,49 @@
1
+ import type MarkdownIt from 'markdown-it';
2
+ import 'x-mavon-editor/dist/css/index.css';
3
+ import 'x-mavon-editor/dist/highlightjs/styles/atom-one-dark.min.css';
4
+ import './mark-down.postcss';
5
+ export type MdProp = {
6
+ modelValue?: string;
7
+ codeStyle?: string;
8
+ previewBackground?: string;
9
+ defaultOpen: string;
10
+ editable: boolean;
11
+ subfield: boolean;
12
+ toolbarsFlag: boolean;
13
+ boxShadow: boolean;
14
+ ref?: (elm: MdRef) => void;
15
+ xssOptions: {
16
+ whiteList: {
17
+ [key: string]: string[];
18
+ };
19
+ };
20
+ externalLink: {
21
+ [key: string]: (param?: string) => string;
22
+ };
23
+ };
24
+ type MdRef = {
25
+ $paste: () => void;
26
+ markdownIt: MarkdownIt;
27
+ };
28
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
+ value: {
30
+ type: StringConstructor;
31
+ };
32
+ previewBackground: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
+ value: {
40
+ type: StringConstructor;
41
+ };
42
+ previewBackground: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ }>> & Readonly<{}>, {
47
+ previewBackground: string;
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
49
+ export default _default;
@@ -0,0 +1,153 @@
1
+ .v-note-wrapper.markdown-body {
2
+ border: none !important;
3
+ min-height: auto;
4
+ background: transparent;
5
+ }
6
+
7
+ .v-note-wrapper.markdown-body li {
8
+ list-style: inherit !important;
9
+ }
10
+
11
+ .v-note-wrapper.markdown-body ul,
12
+ .v-note-wrapper.markdown-body ol {
13
+ padding-left: 2em !important;
14
+ }
15
+
16
+ .v-note-show::-webkit-scrollbar {
17
+ width: 8px;
18
+ height: 8px;
19
+ }
20
+
21
+ .v-note-show::-webkit-scrollbar-thumb {
22
+ width: 8px;
23
+ height: 8px;
24
+ border-radius: 3px;
25
+ background-color: #dcdee5;
26
+ }
27
+
28
+ .v-note-show::-webkit-scrollbar-thumb:hover {
29
+ background-color: #979ba5;
30
+ }
31
+
32
+ .v-show-content {
33
+ height: auto !important;
34
+ font-size: 14px !important;
35
+ padding: 8px 25px !important;
36
+ }
37
+
38
+ .v-show-content p {
39
+ margin-bottom: 0 !important;
40
+ }
41
+
42
+ .v-show-content p + p {
43
+ margin-top: 16px;
44
+ }
45
+
46
+ .full-screen-wrap.markdown-body .code-header {
47
+ height: 40px;
48
+ justify-content: space-between;
49
+ background: #2e2e2e;
50
+ border-radius: 2px 2px 0 0;
51
+ padding: 0 18px;
52
+ color: #c4c6cc;
53
+ }
54
+
55
+ .full-screen-wrap.markdown-body .code-header .ai-ui-sdk-un-full-screen,
56
+ .full-screen-wrap.markdown-body .code-header .ai-ui-sdk-full-screen,
57
+ .full-screen-wrap.markdown-body .code-header .ai-ui-sdk-copy {
58
+ margin-right: 12px;
59
+ }
60
+
61
+ .full-screen-wrap.markdown-body .code-header .ai-ui-sdk-icon {
62
+ color: #979ba5;
63
+ cursor: pointer;
64
+ }
65
+
66
+ .full-screen-wrap.markdown-body .code-header .ai-ui-sdk-icon:hover {
67
+ color: #3a84ff;
68
+ }
69
+
70
+ .full-screen-wrap.markdown-body .code-header + pre {
71
+ max-height: 500px;
72
+ overflow-y: auto;
73
+ color: #abb2bf !important;
74
+ background: #1a1a1a !important;
75
+ border-radius: 0 0 2px 2px !important;
76
+ font-size: 14px !important;
77
+ padding: 16px;
78
+ line-height: 1.45;
79
+ }
80
+
81
+ .full-screen-wrap.markdown-body .code-header + pre code {
82
+ font-size: 14px !important;
83
+ }
84
+
85
+ .full-screen-wrap.markdown-body .code-header + pre .hljs-comment {
86
+ color: #6a9954;
87
+ font-style: inherit;
88
+ }
89
+
90
+ .full-screen-wrap.markdown-body .code-header + pre .hljs {
91
+ overflow: initial;
92
+ background: #1a1a1a !important;
93
+ }
94
+
95
+ .full-screen-wrap.markdown-body .code-header + pre::-webkit-scrollbar-track {
96
+ background: #2e2e2e;
97
+ border-left: 1px solid #3d3d3d;
98
+ border-top: 1px solid #3d3d3d;
99
+ }
100
+
101
+ .full-screen-wrap.markdown-body .code-header + pre::-webkit-scrollbar {
102
+ width: 14px;
103
+ height: 14px;
104
+ }
105
+
106
+ .full-screen-wrap.markdown-body .code-header + pre::-webkit-scrollbar-corner {
107
+ background: #2e2e2e !important;
108
+ }
109
+
110
+ .full-screen-wrap.markdown-body .code-header + pre::-webkit-scrollbar-thumb {
111
+ height: 5px;
112
+ border-radius: 1px;
113
+ background: rgb(121 121 121 / 40%);
114
+ border: 1px solid #4d4f56;
115
+ }
116
+
117
+ .full-screen-wrap.markdown-body:not(:first-child) {
118
+ margin-top: 8px !important;
119
+ }
120
+
121
+ .full-screen-wrap.markdown-body:not(:last-child) {
122
+ margin-bottom: 8px !important;
123
+ }
124
+
125
+ .full-screen-wrap.markdown-body.full-screen {
126
+ margin-top: 0 !important;
127
+ }
128
+
129
+ .full-screen-wrap.markdown-body.full-screen .code-header {
130
+ margin: 0;
131
+ }
132
+
133
+ .full-screen-wrap.markdown-body.full-screen pre {
134
+ max-height: calc(100vh - 40px);
135
+ height: calc(100vh - 40px);
136
+ }
137
+
138
+ .full-screen-wrap.markdown-body .full-screen-wrap.full-screen {
139
+ margin-top: 0 !important;
140
+ }
141
+
142
+ .full-screen-wrap.markdown-body .full-screen-wrap.full-screen .code-header {
143
+ margin: 0;
144
+ }
145
+
146
+ .full-screen-wrap.markdown-body .full-screen-wrap.full-screen pre {
147
+ max-height: calc(100vh - 40px);
148
+ height: calc(100vh - 40px);
149
+ }
150
+
151
+ .v-note-img-wrapper {
152
+ display: none !important;
153
+ }
@@ -0,0 +1,145 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _object_spread_props(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ import { defineComponent, h } from 'vue';
54
+ import Mavon from 'x-mavon-editor';
55
+ import { MarkDownCodePlugin } from './mark-down-code.ts.js';
56
+ import { MarkDownEmojiPlugin } from './mark-down-emoji.ts.js';
57
+ import 'x-mavon-editor/dist/css/index.css';
58
+ import 'x-mavon-editor/dist/highlightjs/styles/atom-one-dark.min.css';
59
+ import './mark-down.postcss.css';
60
+ const defaultMDProps = {
61
+ defaultOpen: 'preview',
62
+ editable: false,
63
+ subfield: false,
64
+ toolbarsFlag: false,
65
+ boxShadow: false,
66
+ xssOptions: {
67
+ whiteList: {
68
+ a: [
69
+ 'href',
70
+ 'target',
71
+ 'class',
72
+ 'title'
73
+ ],
74
+ section: [
75
+ 'class'
76
+ ],
77
+ i: [
78
+ 'class'
79
+ ],
80
+ span: [
81
+ 'class',
82
+ 'data-variable-index'
83
+ ],
84
+ svg: [
85
+ 'class'
86
+ ],
87
+ use: [
88
+ 'href'
89
+ ],
90
+ ul: [
91
+ 'class'
92
+ ],
93
+ li: [
94
+ 'class',
95
+ 'title'
96
+ ]
97
+ }
98
+ },
99
+ externalLink: {
100
+ markdown_css () {
101
+ return `${window.SITE_URL}/static/markdown/github-markdown.min.css`;
102
+ },
103
+ hljs_js () {
104
+ return `${window.SITE_URL}/static/highlightjs/highlight.min.js`;
105
+ },
106
+ hljs_css (css) {
107
+ return `${window.SITE_URL}/static/highlightjs/styles/${css}.min.css`;
108
+ },
109
+ hljs_lang (lang) {
110
+ return `${window.SITE_URL}/static/highlightjs/languages/${lang}.min.js`;
111
+ },
112
+ katex_css () {
113
+ return `${window.SITE_URL}/static/katex/katex.min.css`;
114
+ },
115
+ katex_js () {
116
+ return `${window.SITE_URL}/static/katex/katex.min.js`;
117
+ }
118
+ }
119
+ };
120
+ export default defineComponent({
121
+ props: {
122
+ value: {
123
+ type: String
124
+ },
125
+ previewBackground: {
126
+ type: String,
127
+ default: '#fff'
128
+ }
129
+ },
130
+ setup (props) {
131
+ const mdRef = (md)=>{
132
+ if (!md) return;
133
+ // 注册代码块插件
134
+ MarkDownCodePlugin(md.markdownIt);
135
+ // 注册表情插件
136
+ MarkDownEmojiPlugin(md.markdownIt);
137
+ };
138
+ return ()=>h(Mavon.mavonEditor, _object_spread_props(_object_spread({}, defaultMDProps), {
139
+ previewBackground: props.previewBackground,
140
+ modelValue: props.value,
141
+ codeStyle: 'atom-one-dark',
142
+ ref: mdRef
143
+ }));
144
+ }
145
+ });
@@ -1,12 +1,12 @@
1
1
 
2
- .router-tab[data-v-2lnqgz9g] {
2
+ .router-tab[data-v-8b7cy3ku] {
3
3
  margin-top: 2px;
4
4
  height: 42px;
5
5
  background: #FFFFFF;
6
6
  box-shadow: 0 2px 4px 0 #1919290d;
7
7
  padding: 0 45px;
8
8
  }
9
- .router-tab a[data-v-2lnqgz9g] {
9
+ .router-tab a[data-v-8b7cy3ku] {
10
10
  padding: 0 8px;
11
11
  margin-right: 24px;
12
12
  font-size: 14px;
@@ -15,7 +15,7 @@
15
15
  color: #4D4F56;
16
16
  box-sizing: border-box;
17
17
  }
18
- .router-tab a.router-link-exact-active[data-v-2lnqgz9g] {
18
+ .router-tab a.router-link-exact-active[data-v-8b7cy3ku] {
19
19
  color: #3A84FF;
20
20
  border-bottom: 2px solid #3A84FF;
21
21
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js.js';
2
- script.__scopeId = "data-v-2lnqgz9g";
2
+ script.__scopeId = "data-v-8b7cy3ku";
3
3
  script.__file = "./src/components/render-router-tab/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;