@blueking/ai-ui-sdk 0.0.15-beta.5 → 0.0.15-beta.7

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 (28) hide show
  1. package/dist/component/render-input/index.vue.css +17 -17
  2. package/dist/component/render-input/index.vue.js +1 -1
  3. package/dist/component/render-input/render-drag.vue.css +5 -5
  4. package/dist/component/render-input/render-drag.vue.js +1 -1
  5. package/dist/component/render-input/render-quill.script.vue.js +0 -3
  6. package/dist/component/render-input/render-quill.vue.d.ts +0 -1
  7. package/dist/component/render-knowledge-icon/index.vue.css +1 -1
  8. package/dist/component/render-knowledge-icon/index.vue.js +1 -1
  9. package/dist/component/render-message/image-not-supported-message.vue.css +10 -10
  10. package/dist/component/render-message/image-not-supported-message.vue.js +1 -1
  11. package/dist/component/render-message/openai-message.vue.css +15 -15
  12. package/dist/component/render-message/openai-message.vue.js +1 -1
  13. package/dist/component/render-message/skeleton-message.script.vue.js +7 -0
  14. package/dist/component/render-message/skeleton-message.vue.css +1 -1
  15. package/dist/component/render-message/skeleton-message.vue.js +3 -1
  16. package/dist/component/render-message/system-message.vue.css +2 -2
  17. package/dist/component/render-message/system-message.vue.js +1 -1
  18. package/dist/component/render-message/time-message.vue.css +1 -1
  19. package/dist/component/render-message/time-message.vue.js +1 -1
  20. package/dist/component/render-message/token-expired-message.vue.css +9 -9
  21. package/dist/component/render-message/token-expired-message.vue.js +1 -1
  22. package/dist/component/render-message/user-message.vue.css +15 -15
  23. package/dist/component/render-message/user-message.vue.js +1 -1
  24. package/dist/node_modules/x-mavon-editor/dist/highlightjs/highlight.min.js +2 -1
  25. package/package.json +3 -4
  26. package/dist/node_modules/quill-image-uploader/dist/blots/image.js +0 -30
  27. package/dist/node_modules/quill-image-uploader/dist/quill.imageUploader.js +0 -198
  28. package/dist/node_modules/quill-image-uploader/dist/quill.imageUploader.min.css +0 -33
@@ -1,37 +1,37 @@
1
1
 
2
2
  .send-prompt-container {
3
- &[data-v-j3s5zrta] {
3
+ &[data-v-39tav9ya] {
4
4
  width: 800px;
5
5
  z-index: 1501;
6
6
  overflow: visible;
7
7
  position: relative;
8
8
  }
9
- [data-v-j3s5zrta] .textarea-list {
9
+ [data-v-39tav9ya] .textarea-list {
10
10
  bottom: var(--textarea-bottom);
11
11
  }
12
12
  &:hover {
13
- .clear-icon[data-v-j3s5zrta] {
13
+ .clear-icon[data-v-39tav9ya] {
14
14
  display: inline-flex !important;
15
15
  }
16
16
  }
17
17
  }
18
18
  .quill-container {
19
- &[data-v-j3s5zrta] {
19
+ &[data-v-39tav9ya] {
20
20
  background: #fff;
21
21
  box-shadow: 0 0 6px 0 #0000001a;
22
22
  border-radius: 4px;
23
23
  box-sizing: border-box !important;
24
24
  border: 1px solid transparent;
25
25
  }
26
- &.active[data-v-j3s5zrta] {
26
+ &.active[data-v-39tav9ya] {
27
27
  border: 1px solid #3A84FF !important;
28
28
  }
29
- &[data-v-j3s5zrta]:has(.ql-editor:focus) {
29
+ &[data-v-39tav9ya]:has(.ql-editor:focus) {
30
30
  border: 1px solid #3A84FF !important;
31
31
  }
32
32
  }
33
33
  .send-prompt {
34
- &[data-v-j3s5zrta] {
34
+ &[data-v-39tav9ya] {
35
35
  width: 800px;
36
36
  border: 1px solid transparent;
37
37
  flex-direction: row;
@@ -41,28 +41,28 @@
41
41
  border-radius: 4px;
42
42
  border: 1px solid transparent !important;
43
43
  }
44
- [data-v-j3s5zrta] .content-input-wrapper {
44
+ [data-v-39tav9ya] .content-input-wrapper {
45
45
  padding: 0 !important;
46
46
  height: 100% !important;
47
47
  }
48
- [data-v-j3s5zrta] .auto-textarea-wrapper {
48
+ [data-v-39tav9ya] .auto-textarea-wrapper {
49
49
  height: 100% !important;
50
50
  }
51
- [data-v-j3s5zrta] .v-note-panel {
51
+ [data-v-39tav9ya] .v-note-panel {
52
52
  border-radius: 4px;
53
53
  }
54
- [data-v-j3s5zrta] .scroll-style {
54
+ [data-v-39tav9ya] .scroll-style {
55
55
  overflow-y: hidden !important;
56
56
  }
57
- [data-v-j3s5zrta] .auto-textarea-block {
57
+ [data-v-39tav9ya] .auto-textarea-block {
58
58
  display: none;
59
59
  }
60
- &[data-v-j3s5zrta]:has(.ql-editor:focus) {
60
+ &[data-v-39tav9ya]:has(.ql-editor:focus) {
61
61
  height: var(--text-height);
62
62
  }
63
63
  }
64
64
  .bkaidev-fasong {
65
- &[data-v-j3s5zrta] {
65
+ &[data-v-39tav9ya] {
66
66
  width: 28px;
67
67
  height: 28px;
68
68
  line-height: 28px;
@@ -76,16 +76,16 @@
76
76
  text-align: center;
77
77
  z-index: 1501;
78
78
  }
79
- &[data-v-j3s5zrta]:hover {
79
+ &[data-v-39tav9ya]:hover {
80
80
  background: #F0F5FF;
81
81
  color: #3a84ff;
82
82
  }
83
- &.disable[data-v-j3s5zrta] {
83
+ &.disable[data-v-39tav9ya] {
84
84
  color: #dcdee5;
85
85
  cursor: not-allowed;
86
86
  }
87
87
  }
88
- .clear-icon[data-v-j3s5zrta] {
88
+ .clear-icon[data-v-39tav9ya] {
89
89
  display: none !important;
90
90
  position: absolute;
91
91
  bottom: 42px;
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-j3s5zrta";
2
+ script.__scopeId = "data-v-39tav9ya";
3
3
  script.__file = "./src/component/render-input/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,6 +1,6 @@
1
1
 
2
2
  .send-tool-container {
3
- &[data-v-knxkov78] {
3
+ &[data-v-rioxjjuu] {
4
4
  position: absolute;
5
5
  left: 50%;
6
6
  top: 16px;
@@ -14,18 +14,18 @@
14
14
  z-index: 15001;
15
15
  }
16
16
  &.bottom {
17
- &[data-v-knxkov78] {
17
+ &[data-v-rioxjjuu] {
18
18
  bottom: 0;
19
19
  top: auto;
20
20
  }
21
- .bkaidev-gengduo[data-v-knxkov78] {
21
+ .bkaidev-gengduo[data-v-rioxjjuu] {
22
22
  margin-top: -10px;
23
23
  }
24
24
  }
25
- &[data-v-knxkov78]:hover, &.is-dragging[data-v-knxkov78] {
25
+ &[data-v-rioxjjuu]:hover, &.is-dragging[data-v-rioxjjuu] {
26
26
  background: #3A84FF;
27
27
  }
28
- .bkaidev-gengduo[data-v-knxkov78] {
28
+ .bkaidev-gengduo[data-v-rioxjjuu] {
29
29
  margin-top: -2px;
30
30
  color: #63656E;
31
31
  }
@@ -1,5 +1,5 @@
1
1
  import script from './render-drag.script.vue.js';
2
- script.__scopeId = "data-v-knxkov78";
2
+ script.__scopeId = "data-v-rioxjjuu";
3
3
  script.__file = "./src/component/render-input/render-drag.vue";
4
4
  import './render-drag.vue.css';
5
5
  export default script;
@@ -2,10 +2,8 @@ import { defineComponent as _defineComponent } from 'vue';
2
2
  import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
3
3
  import Quill from '../../../dist/node_modules/quill/dist/quill.js';
4
4
  import Delta from '../../../dist/node_modules/quill-delta/lib/delta.js';
5
- import ImageUploader from '../../../dist/node_modules/quill-image-uploader/src/quill.imageUploader.js';
6
5
  import { getCurrentInstance, onMounted, watch } from 'vue';
7
6
  import '../../../dist/node_modules/quill/dist/quill.snow.css';
8
- import '../../../dist/node_modules/quill-image-uploader/dist/quill.imageUploader.min.css';
9
7
  export default /*@__PURE__*/ _defineComponent({
10
8
  props: {
11
9
  placeholder: {},
@@ -25,7 +23,6 @@ export default /*@__PURE__*/ _defineComponent({
25
23
  setup (__props, { expose: __expose, emit: __emit }) {
26
24
  const props = __props;
27
25
  const emits = __emit;
28
- Quill.register('modules/imageUploader', ImageUploader);
29
26
  const vm = getCurrentInstance();
30
27
  let quill;
31
28
  const allowedImageType = [
@@ -1,6 +1,5 @@
1
1
  import type { RangeStatic } from 'quill';
2
2
  import 'quill/dist/quill.snow.css';
3
- import 'quill-image-uploader/dist/quill.imageUploader.min.css';
4
3
  interface IProps {
5
4
  placeholder: string;
6
5
  value?: string;
@@ -1,4 +1,4 @@
1
1
 
2
- .bkaidev-icon[data-v-u969inz8] {
2
+ .bkaidev-icon[data-v-kzopr7h4] {
3
3
  color: #C4C6CC;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import script from './index.script.vue.js';
2
- script.__scopeId = "data-v-u969inz8";
2
+ script.__scopeId = "data-v-kzopr7h4";
3
3
  script.__file = "./src/component/render-knowledge-icon/index.vue";
4
4
  import './index.vue.css';
5
5
  export default script;
@@ -1,11 +1,11 @@
1
1
 
2
- .ai-message-home[data-v-cky65qsy] {
2
+ .ai-message-home[data-v-y2pggdmo] {
3
3
  justify-content: center;
4
4
  align-items: flex-start;
5
5
  width: 100%;
6
6
  }
7
7
  .ai-content {
8
- &[data-v-cky65qsy] {
8
+ &[data-v-y2pggdmo] {
9
9
  flex: 1;
10
10
  background: #FFFFFF;
11
11
  line-height: 22px;
@@ -17,17 +17,17 @@
17
17
  padding-top: 12px;
18
18
  margin-right: 52px;
19
19
  }
20
- .bkaidev-warning-circle-fill[data-v-cky65qsy] {
20
+ .bkaidev-warning-circle-fill[data-v-y2pggdmo] {
21
21
  color: #EA3636;
22
22
  font-size: 18px;
23
23
  margin-right: 2px;
24
24
  }
25
- .message-check[data-v-cky65qsy] {
25
+ .message-check[data-v-y2pggdmo] {
26
26
  position: absolute;
27
27
  top: 0;
28
28
  left: -80px;
29
29
  }
30
- &[data-v-cky65qsy]::before {
30
+ &[data-v-y2pggdmo]::before {
31
31
  position: absolute;
32
32
  content: '';
33
33
  width: 15px;
@@ -37,17 +37,17 @@
37
37
  rotate: 45deg;
38
38
  background: #FFFFFF;
39
39
  }
40
- &.fail[data-v-cky65qsy] {
40
+ &.fail[data-v-y2pggdmo] {
41
41
  padding: 12px;
42
42
  }
43
43
  }
44
44
  .message-photo {
45
- &[data-v-cky65qsy] {
45
+ &[data-v-y2pggdmo] {
46
46
  width: 52px;
47
47
  text-align: right;
48
48
  user-select: none;
49
49
  }
50
- img[data-v-cky65qsy] {
50
+ img[data-v-y2pggdmo] {
51
51
  margin-right: 16px;
52
52
  margin-top: 5px;
53
53
  width: 36px;
@@ -55,11 +55,11 @@ img[data-v-cky65qsy] {
55
55
  }
56
56
  }
57
57
  .model-message {
58
- &[data-v-cky65qsy] {
58
+ &[data-v-y2pggdmo] {
59
59
  color: #3a84ff;
60
60
  cursor: pointer;
61
61
  }
62
- &.disabled[data-v-cky65qsy] {
62
+ &.disabled[data-v-y2pggdmo] {
63
63
  cursor: not-allowed;
64
64
  color: #C4C6CC;
65
65
  }
@@ -1,5 +1,5 @@
1
1
  import script from './image-not-supported-message.script.vue.js';
2
- script.__scopeId = "data-v-cky65qsy";
2
+ script.__scopeId = "data-v-y2pggdmo";
3
3
  script.__file = "./src/component/render-message/image-not-supported-message.vue";
4
4
  import './image-not-supported-message.vue.css';
5
5
  export default script;
@@ -1,11 +1,11 @@
1
1
 
2
- .ai-message-home[data-v-7zejfbev] {
2
+ .ai-message-home[data-v-yn9cw0x1] {
3
3
  justify-content: center;
4
4
  align-items: flex-start;
5
5
  width: 100%;
6
6
  }
7
7
  .ai-content {
8
- &[data-v-7zejfbev] {
8
+ &[data-v-yn9cw0x1] {
9
9
  flex: 1;
10
10
  max-width: calc(100% - 104px);
11
11
  background: #FFFFFF;
@@ -18,12 +18,12 @@
18
18
  padding-top: 12px;
19
19
  margin-right: 52px;
20
20
  }
21
- .bkaidev-warning-circle-fill[data-v-7zejfbev] {
21
+ .bkaidev-warning-circle-fill[data-v-yn9cw0x1] {
22
22
  color: #EA3636;
23
23
  font-size: 18px;
24
24
  margin-right: 2px;
25
25
  }
26
- .bkaidev-quanquan[data-v-7zejfbev] {
26
+ .bkaidev-quanquan[data-v-yn9cw0x1] {
27
27
  display: inline-block;
28
28
  color: #3A84FF;
29
29
  animation: rotate 800ms linear infinite;
@@ -32,12 +32,12 @@
32
32
  top: 23px;
33
33
  z-index: 1501;
34
34
  }
35
- .message-check[data-v-7zejfbev] {
35
+ .message-check[data-v-yn9cw0x1] {
36
36
  position: absolute;
37
37
  top: 0;
38
38
  left: -80px;
39
39
  }
40
- &[data-v-7zejfbev]::before {
40
+ &[data-v-yn9cw0x1]::before {
41
41
  position: absolute;
42
42
  content: '';
43
43
  width: 15px;
@@ -47,25 +47,25 @@
47
47
  rotate: 45deg;
48
48
  background: #FFFFFF;
49
49
  }
50
- &.fail[data-v-7zejfbev] {
50
+ &.fail[data-v-yn9cw0x1] {
51
51
  padding: 12px;
52
52
  word-break: break-all;
53
53
  }
54
- &.loading[data-v-7zejfbev] {
54
+ &.loading[data-v-yn9cw0x1] {
55
55
  padding: 12px 0;
56
56
  word-break: break-all;
57
57
  }
58
58
  }
59
- .skeleton-message[data-v-7zejfbev] {
59
+ .skeleton-message[data-v-yn9cw0x1] {
60
60
  margin-right: 52px;
61
61
  }
62
62
  .message-photo {
63
- &[data-v-7zejfbev] {
63
+ &[data-v-yn9cw0x1] {
64
64
  width: 52px;
65
65
  text-align: right;
66
66
  user-select: none;
67
67
  }
68
- img[data-v-7zejfbev] {
68
+ img[data-v-yn9cw0x1] {
69
69
  margin-right: 16px;
70
70
  margin-top: 5px;
71
71
  width: 36px;
@@ -73,24 +73,24 @@ img[data-v-7zejfbev] {
73
73
  }
74
74
  }
75
75
  .message-tools {
76
- &[data-v-7zejfbev] {
76
+ &[data-v-yn9cw0x1] {
77
77
  margin: 12px 12px 12px;
78
78
  padding-top: 10px;
79
79
  justify-content: space-between;
80
80
  border-top: 1px solid #EAEBF0;
81
81
  }
82
- .rate-tip[data-v-7zejfbev] {
82
+ .rate-tip[data-v-yn9cw0x1] {
83
83
  font-size: 12px;
84
84
  color: #979BA5;
85
85
  margin-left: 7px;
86
86
  }
87
87
  .tool-icons {
88
88
  .bkaidev-icon {
89
- &[data-v-7zejfbev] {
89
+ &[data-v-yn9cw0x1] {
90
90
  cursor: pointer;
91
91
  color: #979BA5;
92
92
  }
93
- &[data-v-7zejfbev]:hover {
93
+ &[data-v-yn9cw0x1]:hover {
94
94
  color: #3A84FF;
95
95
  }
96
96
  }
@@ -1,5 +1,5 @@
1
1
  import script from './openai-message.script.vue.js';
2
- script.__scopeId = "data-v-7zejfbev";
2
+ script.__scopeId = "data-v-yn9cw0x1";
3
3
  script.__file = "./src/component/render-message/openai-message.vue";
4
4
  import './openai-message.vue.css';
5
5
  export default script;
@@ -0,0 +1,7 @@
1
+ import { openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
2
+ const _hoisted_1 = {
3
+ class: "skeleton-message"
4
+ };
5
+ export function render(_ctx, _cache) {
6
+ return _openBlock(), _createElementBlock("section", _hoisted_1);
7
+ }
@@ -1,5 +1,5 @@
1
1
 
2
- .skeleton-message[data-v-rx95bvvu] {
2
+ .skeleton-message[data-v-p6w0b3m0] {
3
3
  height: 50px;
4
4
  flex: 1;
5
5
  background-color: #EBECF3;
@@ -1,4 +1,6 @@
1
- script.__scopeId = "data-v-rx95bvvu";
1
+ import { render } from './skeleton-message.script.vue.js';
2
+ const script = { render };
3
+ script.__scopeId = "data-v-p6w0b3m0";
2
4
  script.__file = "./src/component/render-message/skeleton-message.vue";
3
5
  import './skeleton-message.vue.css';
4
6
  export default script;
@@ -1,6 +1,6 @@
1
1
 
2
2
  .system-message {
3
- &[data-v-pkzo2kux] {
3
+ &[data-v-qtg9olxv] {
4
4
  position: relative;
5
5
  width: calc(100% - 204px) !important;
6
6
  max-width: 800px !important;
@@ -8,7 +8,7 @@
8
8
  border-bottom: 1px dashed #DCDEE5;
9
9
  margin: 24px 0 40px !important;
10
10
  }
11
- span[data-v-pkzo2kux] {
11
+ span[data-v-qtg9olxv] {
12
12
  position: absolute;
13
13
  left: 50%;
14
14
  top: 50%;
@@ -1,5 +1,5 @@
1
1
  import script from './system-message.script.vue.js';
2
- script.__scopeId = "data-v-pkzo2kux";
2
+ script.__scopeId = "data-v-qtg9olxv";
3
3
  script.__file = "./src/component/render-message/system-message.vue";
4
4
  import './system-message.vue.css';
5
5
  export default script;
@@ -1,5 +1,5 @@
1
1
 
2
- .time-message[data-v-jscyqeo2] {
2
+ .time-message[data-v-fdghey84] {
3
3
  position: relative;
4
4
  padding: 0 8px !important;
5
5
  height: 22px;
@@ -1,5 +1,5 @@
1
1
  import script from './time-message.script.vue.js';
2
- script.__scopeId = "data-v-jscyqeo2";
2
+ script.__scopeId = "data-v-fdghey84";
3
3
  script.__file = "./src/component/render-message/time-message.vue";
4
4
  import './time-message.vue.css';
5
5
  export default script;
@@ -1,11 +1,11 @@
1
1
 
2
- .ai-message-home[data-v-kmn8lwps] {
2
+ .ai-message-home[data-v-72qjwxkg] {
3
3
  justify-content: center;
4
4
  align-items: flex-start;
5
5
  width: 100%;
6
6
  }
7
7
  .ai-content {
8
- &[data-v-kmn8lwps] {
8
+ &[data-v-72qjwxkg] {
9
9
  flex: 1;
10
10
  background: #FFFFFF;
11
11
  line-height: 22px;
@@ -17,17 +17,17 @@
17
17
  padding-top: 12px;
18
18
  margin-right: 52px;
19
19
  }
20
- .bkaidev-warning-circle-fill[data-v-kmn8lwps] {
20
+ .bkaidev-warning-circle-fill[data-v-72qjwxkg] {
21
21
  color: #EA3636;
22
22
  font-size: 18px;
23
23
  margin-right: 2px;
24
24
  }
25
- .message-check[data-v-kmn8lwps] {
25
+ .message-check[data-v-72qjwxkg] {
26
26
  position: absolute;
27
27
  top: 0;
28
28
  left: -80px;
29
29
  }
30
- &[data-v-kmn8lwps]::before {
30
+ &[data-v-72qjwxkg]::before {
31
31
  position: absolute;
32
32
  content: '';
33
33
  width: 15px;
@@ -37,24 +37,24 @@
37
37
  rotate: 45deg;
38
38
  background: #FFFFFF;
39
39
  }
40
- &.fail[data-v-kmn8lwps] {
40
+ &.fail[data-v-72qjwxkg] {
41
41
  padding: 12px;
42
42
  }
43
43
  }
44
44
  .message-photo {
45
- &[data-v-kmn8lwps] {
45
+ &[data-v-72qjwxkg] {
46
46
  width: 52px;
47
47
  text-align: right;
48
48
  user-select: none;
49
49
  }
50
- img[data-v-kmn8lwps] {
50
+ img[data-v-72qjwxkg] {
51
51
  margin-right: 16px;
52
52
  margin-top: 5px;
53
53
  width: 36px;
54
54
  height: 36px;
55
55
  }
56
56
  }
57
- .clear-message[data-v-kmn8lwps] {
57
+ .clear-message[data-v-72qjwxkg] {
58
58
  color: #3a84ff;
59
59
  cursor: pointer;
60
60
  }
@@ -1,5 +1,5 @@
1
1
  import script from './token-expired-message.script.vue.js';
2
- script.__scopeId = "data-v-kmn8lwps";
2
+ script.__scopeId = "data-v-72qjwxkg";
3
3
  script.__file = "./src/component/render-message/token-expired-message.vue";
4
4
  import './token-expired-message.vue.css';
5
5
  export default script;
@@ -1,23 +1,23 @@
1
1
 
2
- .user-message-home[data-v-pjx0o13x] {
2
+ .user-message-home[data-v-dl9c8rnp] {
3
3
  align-items: flex-start;
4
4
  justify-content: flex-end;
5
5
  }
6
6
  .user-message-extra {
7
- &[data-v-pjx0o13x] {
7
+ &[data-v-dl9c8rnp] {
8
8
  padding: 0 52px;
9
9
  }
10
- &[data-v-pjx0o13x]:after {
10
+ &[data-v-dl9c8rnp]:after {
11
11
  content: '';
12
12
  display: table;
13
13
  clear: both;
14
14
  }
15
- .bkaidev-icon[data-v-pjx0o13x] {
15
+ .bkaidev-icon[data-v-dl9c8rnp] {
16
16
  font-size: 14px;
17
17
  }
18
18
  }
19
19
  .user-content {
20
- &[data-v-pjx0o13x] {
20
+ &[data-v-dl9c8rnp] {
21
21
  flex: 1;
22
22
  max-width: calc(100% - 104px);
23
23
  background: #E1ECFF;
@@ -30,7 +30,7 @@
30
30
  margin-left: 52px;
31
31
  }
32
32
  .bkaidev-icon {
33
- &[data-v-pjx0o13x] {
33
+ &[data-v-dl9c8rnp] {
34
34
  width: 28px;
35
35
  height: 28px;
36
36
  background: #FFFFFF;
@@ -45,20 +45,20 @@
45
45
  margin-right: 8px;
46
46
  margin-top: 8px;
47
47
  }
48
- &.hover-show[data-v-pjx0o13x] {
48
+ &.hover-show[data-v-dl9c8rnp] {
49
49
  display: none;
50
50
  }
51
- &.bkaidev-yinyong-2[data-v-pjx0o13x]:hover, &.bkaidev-copy[data-v-pjx0o13x]:hover, &.bkaidev-baocun[data-v-pjx0o13x]:hover, &.bkaidev-delete[data-v-pjx0o13x]:hover {
51
+ &.bkaidev-yinyong-2[data-v-dl9c8rnp]:hover, &.bkaidev-copy[data-v-dl9c8rnp]:hover, &.bkaidev-baocun[data-v-dl9c8rnp]:hover, &.bkaidev-delete[data-v-dl9c8rnp]:hover {
52
52
  color: #3A84FF;
53
53
  border-color: #3A84FF;
54
54
  }
55
55
  }
56
56
  &:hover {
57
- .hover-show[data-v-pjx0o13x] {
57
+ .hover-show[data-v-dl9c8rnp] {
58
58
  display: flex;
59
59
  }
60
60
  }
61
- &[data-v-pjx0o13x]::after {
61
+ &[data-v-dl9c8rnp]::after {
62
62
  position: absolute;
63
63
  content: '';
64
64
  width: 15px;
@@ -69,24 +69,24 @@
69
69
  background: #E1ECFF;
70
70
  }
71
71
  }
72
- .message-tools[data-v-pjx0o13x] {
72
+ .message-tools[data-v-dl9c8rnp] {
73
73
  justify-content: flex-end;
74
74
  position: absolute;
75
75
  width: 150px;
76
76
  left: -150px;
77
77
  top: 2px;
78
78
  }
79
- .message-check[data-v-pjx0o13x] {
79
+ .message-check[data-v-dl9c8rnp] {
80
80
  position: absolute;
81
81
  top: 0;
82
82
  left: -80px;
83
83
  }
84
84
  .message-photo {
85
- &[data-v-pjx0o13x] {
85
+ &[data-v-dl9c8rnp] {
86
86
  width: 52px;
87
87
  user-select: none;
88
88
  }
89
- img[data-v-pjx0o13x] {
89
+ img[data-v-dl9c8rnp] {
90
90
  margin-left: 16px;
91
91
  margin-top: 5px;
92
92
  width: 36px;
@@ -95,6 +95,6 @@ img[data-v-pjx0o13x] {
95
95
  border-radius: 100%;
96
96
  }
97
97
  }
98
- .skeleton-message[data-v-pjx0o13x] {
98
+ .skeleton-message[data-v-dl9c8rnp] {
99
99
  margin-left: 52px;
100
100
  }
@@ -1,5 +1,5 @@
1
1
  import script from './user-message.script.vue.js';
2
- script.__scopeId = "data-v-pjx0o13x";
2
+ script.__scopeId = "data-v-dl9c8rnp";
3
3
  script.__file = "./src/component/render-message/user-message.vue";
4
4
  import './user-message.vue.css';
5
5
  export default script;
@@ -1146,4 +1146,5 @@ begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0
1146
1146
  aliases:["yml"],contains:l}}});const je=ne;for(const e of Object.keys(Ue)){
1147
1147
  const n=e.replace("grmr_","").replace("_","-");je.registerLanguage(n,Ue[e])}
1148
1148
  return je}()
1149
- ;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);
1149
+ ;
1150
+ window.hljs = hljs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blueking/ai-ui-sdk",
3
- "version": "0.0.15-beta.5",
3
+ "version": "0.0.15-beta.7",
4
4
  "description": "蓝鲸AI UI SDK",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -14,15 +14,14 @@
14
14
  "author": "",
15
15
  "license": "ISC",
16
16
  "dependencies": {
17
- "@blueking/cli-service": "0.1.0-beta.9",
17
+ "@blueking/cli-service": "0.1.0-beta.11",
18
18
  "@types/quill": "^1.3.10",
19
19
  "bkui-vue": "^2.0.1-beta.100",
20
20
  "dayjs": "^1.11.13",
21
21
  "quill": "^1.3.7",
22
- "quill-image-uploader": "^1.3.0",
23
22
  "vue": "^3.5.13",
24
23
  "vue-tsc": "^2.2.10",
25
- "x-mavon-editor": "^0.0.14"
24
+ "x-mavon-editor": "^0.0.15"
26
25
  },
27
26
  "devDependencies": {
28
27
  "@types/markdown-it": "^14.1.2",
@@ -1,30 +0,0 @@
1
- import Quill from '../../../quill/dist/quill.js';
2
-
3
- const InlineBlot = Quill.import("blots/block");
4
-
5
- class LoadingImage extends InlineBlot {
6
- static create(src) {
7
- const node = super.create(src);
8
- if (src === true) return node;
9
-
10
- const image = document.createElement("img");
11
- image.setAttribute("src", src);
12
- node.appendChild(image);
13
- return node;
14
- }
15
- deleteAt(index, length) {
16
- super.deleteAt(index, length);
17
- this.cache = {};
18
- }
19
- static value(domNode) {
20
- const { src, custom } = domNode.dataset;
21
- return { src, custom };
22
- }
23
- }
24
-
25
- LoadingImage.blotName = "imageBlot";
26
- LoadingImage.className = "image-uploading";
27
- LoadingImage.tagName = "span";
28
- Quill.register({ "formats/imageBlot": LoadingImage });
29
-
30
- export default LoadingImage;
@@ -1,198 +0,0 @@
1
- import LoadingImage from './blots/image.js';
2
-
3
- class ImageUploader {
4
- constructor(quill, options) {
5
- this.quill = quill;
6
- this.options = options;
7
- this.range = null;
8
- this.placeholderDelta = null;
9
-
10
- if (typeof this.options.upload !== "function")
11
- console.warn(
12
- "[Missing config] upload function that returns a promise is required"
13
- );
14
-
15
- var toolbar = this.quill.getModule("toolbar");
16
- if (toolbar) {
17
- toolbar.addHandler("image", this.selectLocalImage.bind(this));
18
- }
19
-
20
- this.handleDrop = this.handleDrop.bind(this);
21
- this.handlePaste = this.handlePaste.bind(this);
22
-
23
- this.quill.root.addEventListener("drop", this.handleDrop, false);
24
- this.quill.root.addEventListener("paste", this.handlePaste, false);
25
- }
26
-
27
- selectLocalImage() {
28
- this.quill.focus();
29
- this.range = this.quill.getSelection();
30
- this.fileHolder = document.createElement("input");
31
- this.fileHolder.setAttribute("type", "file");
32
- this.fileHolder.setAttribute("accept", "image/*");
33
- this.fileHolder.setAttribute("style", "visibility:hidden");
34
-
35
- this.fileHolder.onchange = this.fileChanged.bind(this);
36
-
37
- document.body.appendChild(this.fileHolder);
38
-
39
- this.fileHolder.click();
40
-
41
- window.requestAnimationFrame(() => {
42
- document.body.removeChild(this.fileHolder);
43
- });
44
- }
45
-
46
- handleDrop(evt) {
47
- if (
48
- evt.dataTransfer &&
49
- evt.dataTransfer.files &&
50
- evt.dataTransfer.files.length
51
- ) {
52
- evt.stopPropagation();
53
- evt.preventDefault();
54
- if (document.caretRangeFromPoint) {
55
- const selection = document.getSelection();
56
- const range = document.caretRangeFromPoint(evt.clientX, evt.clientY);
57
- if (selection && range) {
58
- selection.setBaseAndExtent(
59
- range.startContainer,
60
- range.startOffset,
61
- range.startContainer,
62
- range.startOffset
63
- );
64
- }
65
- } else {
66
- const selection = document.getSelection();
67
- const range = document.caretPositionFromPoint(evt.clientX, evt.clientY);
68
- if (selection && range) {
69
- selection.setBaseAndExtent(
70
- range.offsetNode,
71
- range.offset,
72
- range.offsetNode,
73
- range.offset
74
- );
75
- }
76
- }
77
-
78
- this.quill.focus();
79
- this.range = this.quill.getSelection();
80
- let file = evt.dataTransfer.files[0];
81
-
82
- setTimeout(() => {
83
- this.quill.focus();
84
- this.range = this.quill.getSelection();
85
- this.readAndUploadFile(file);
86
- }, 0);
87
- }
88
- }
89
-
90
- handlePaste(evt) {
91
- let clipboard = evt.clipboardData || window.clipboardData;
92
-
93
- // IE 11 is .files other browsers are .items
94
- if (clipboard && (clipboard.items || clipboard.files)) {
95
- let items = clipboard.items || clipboard.files;
96
- const IMAGE_MIME_REGEX = /^image\/(jpe?g|gif|png|svg|webp)$/i;
97
-
98
- for (let i = 0; i < items.length; i++) {
99
- if (IMAGE_MIME_REGEX.test(items[i].type)) {
100
- let file = items[i].getAsFile ? items[i].getAsFile() : items[i];
101
-
102
- if (file) {
103
- this.quill.focus();
104
- this.range = this.quill.getSelection();
105
- evt.preventDefault();
106
- setTimeout(() => {
107
- this.quill.focus();
108
- this.range = this.quill.getSelection();
109
- this.readAndUploadFile(file);
110
- }, 0);
111
- }
112
- }
113
- }
114
- }
115
- }
116
-
117
- readAndUploadFile(file) {
118
- let isUploadReject = false;
119
-
120
- const fileReader = new FileReader();
121
-
122
- fileReader.addEventListener(
123
- "load",
124
- () => {
125
- if (!isUploadReject) {
126
- let base64ImageSrc = fileReader.result;
127
- this.insertBase64Image(base64ImageSrc);
128
- }
129
- },
130
- false
131
- );
132
-
133
- if (file) {
134
- fileReader.readAsDataURL(file);
135
- }
136
-
137
- this.options.upload(file).then(
138
- (imageUrl) => {
139
- this.insertToEditor(imageUrl);
140
- },
141
- (error) => {
142
- isUploadReject = true;
143
- this.removeBase64Image();
144
- console.warn(error);
145
- }
146
- );
147
- }
148
-
149
- fileChanged() {
150
- const file = this.fileHolder.files[0];
151
- this.readAndUploadFile(file);
152
- }
153
-
154
- insertBase64Image(url) {
155
- const range = this.range;
156
-
157
- this.placeholderDelta = this.quill.insertEmbed(
158
- range.index,
159
- LoadingImage.blotName,
160
- `${url}`,
161
- "user"
162
- );
163
- }
164
-
165
- insertToEditor(url) {
166
- const range = this.range;
167
-
168
- const lengthToDelete = this.calculatePlaceholderInsertLength();
169
-
170
- // Delete the placeholder image
171
- this.quill.deleteText(range.index, lengthToDelete, "user");
172
- // Insert the server saved image
173
- this.quill.insertEmbed(range.index, "image", `${url}`, "user");
174
-
175
- range.index++;
176
- this.quill.setSelection(range, "user");
177
- }
178
-
179
- // The length of the insert delta from insertBase64Image can vary depending on what part of the line the insert occurs
180
- calculatePlaceholderInsertLength() {
181
- return this.placeholderDelta.ops.reduce((accumulator, deltaOperation) => {
182
- if (deltaOperation.hasOwnProperty('insert'))
183
- accumulator++;
184
-
185
- return accumulator;
186
- }, 0);
187
- }
188
-
189
- removeBase64Image() {
190
- const range = this.range;
191
- const lengthToDelete = this.calculatePlaceholderInsertLength();
192
-
193
- this.quill.deleteText(range.index, lengthToDelete, "user");
194
- }
195
- }
196
-
197
- window.ImageUploader = ImageUploader;
198
- export default ImageUploader;
@@ -1,33 +0,0 @@
1
- .image-uploading {
2
- position: relative;
3
- display: inline-block;
4
- }
5
-
6
- .image-uploading img {
7
- max-width: 98% !important;
8
- filter: blur(5px);
9
- opacity: 0.3;
10
- }
11
-
12
- .image-uploading::before {
13
- content: "";
14
- box-sizing: border-box;
15
- position: absolute;
16
- top: 50%;
17
- left: 50%;
18
- width: 30px;
19
- height: 30px;
20
- margin-top: -15px;
21
- margin-left: -15px;
22
- border-radius: 50%;
23
- border: 3px solid #ccc;
24
- border-top-color: #1e986c;
25
- z-index: 1;
26
- animation: spinner 0.6s linear infinite;
27
- }
28
-
29
- @keyframes spinner {
30
- to {
31
- transform: rotate(360deg);
32
- }
33
- }