@ibiz-template/vue3-components 0.7.41-alpha.40 → 0.7.41-alpha.42

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 (66) hide show
  1. package/dist/ibiz-markdown-editor-pEdb_gS_.js +1 -0
  2. package/dist/index-BObZTN7-.js +11 -0
  3. package/dist/{index-BewO9StC.js → index-CD2XM6M6.js} +1 -1
  4. package/dist/{index-ClxO69TM.js → index-CaWTEUU1.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/wang-editor-Ck-JCWqK.js +1 -0
  8. package/dist/{xlsx-util-Cg5zMYCC.js → xlsx-util-B1eGfH7d.js} +1 -1
  9. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.mjs +18 -7
  10. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.css +1 -1
  11. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.mjs +12 -2
  12. package/es/editor/code/monaco-editor/monaco-editor.mjs +48 -33
  13. package/es/editor/html/wang-editor/config/index.mjs +3 -0
  14. package/es/editor/html/wang-editor/config/toolbar.mjs +90 -0
  15. package/es/editor/html/wang-editor/constants/svg.mjs +8 -0
  16. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  17. package/es/editor/html/wang-editor/wang-editor.mjs +63 -40
  18. package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +274 -3
  19. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  20. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +40 -7
  21. package/es/editor/markdown/ibiz-markdown-editor/render-util.mjs +33 -4
  22. package/es/editor/text-box/input/input.mjs +41 -32
  23. package/es/index.mjs +1 -1
  24. package/es/locale/en/index.mjs +3 -1
  25. package/es/locale/zh-CN/index.mjs +3 -1
  26. package/es/util/ai-chat-util/ai-chat-util.mjs +215 -0
  27. package/es/util/app-util/app-util.mjs +20 -48
  28. package/es/util/index.mjs +1 -1
  29. package/es/util/inline-ai-util/inline-ai-textarea/icon.mjs +75 -1
  30. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -1
  31. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +140 -43
  32. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.mjs +132 -48
  33. package/es/util/inline-ai-util/inline-ai-util.mjs +2 -1
  34. package/es/web-app/main.mjs +2 -0
  35. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.cjs +12 -2
  36. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.controller.cjs +18 -7
  37. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.css +1 -1
  38. package/lib/editor/code/monaco-editor/monaco-editor.cjs +47 -32
  39. package/lib/editor/html/wang-editor/config/index.cjs +7 -0
  40. package/lib/editor/html/wang-editor/config/toolbar.cjs +92 -0
  41. package/lib/editor/html/wang-editor/constants/svg.cjs +14 -0
  42. package/lib/editor/html/wang-editor/wang-editor.cjs +62 -39
  43. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  44. package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +274 -3
  45. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +40 -7
  46. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  47. package/lib/editor/markdown/ibiz-markdown-editor/render-util.cjs +33 -4
  48. package/lib/editor/text-box/input/input.cjs +40 -31
  49. package/lib/index.cjs +2 -2
  50. package/lib/locale/en/index.cjs +3 -1
  51. package/lib/locale/zh-CN/index.cjs +3 -1
  52. package/lib/util/ai-chat-util/ai-chat-util.cjs +217 -0
  53. package/lib/util/app-util/app-util.cjs +19 -47
  54. package/lib/util/index.cjs +2 -2
  55. package/lib/util/inline-ai-util/inline-ai-textarea/icon.cjs +78 -0
  56. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.cjs +131 -47
  57. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -1
  58. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +139 -42
  59. package/lib/util/inline-ai-util/inline-ai-util.cjs +2 -1
  60. package/lib/web-app/main.cjs +2 -0
  61. package/package.json +5 -5
  62. package/dist/ibiz-markdown-editor-CxFS8frQ.js +0 -1
  63. package/dist/index-2eZnbrr4.js +0 -11
  64. package/dist/wang-editor-BPl509oX.js +0 -1
  65. package/es/util/ai-util/ai-util.mjs +0 -68
  66. package/lib/util/ai-util/ai-util.cjs +0 -71
@@ -841,7 +841,9 @@ var index = {
841
841
  info: "\u5185\u5BB9\u7531 AI \u751F\u6210\uFF0C\u8BF7\u4ED4\u7EC6\u7504\u522B\u3002",
842
842
  stopEdit: "\u7EC8\u6B62\u7F16\u8F91",
843
843
  warningTitle: "\u786E\u8BA4\u4E2D\u6B62",
844
- warningDesc: "\u786E\u8BA4\u4E2D\u6B62\u521B\u4F5C\u5417\uFF1F"
844
+ warningDesc: "\u786E\u8BA4\u4E2D\u6B62\u521B\u4F5C\u5417\uFF1F",
845
+ thinking: "\u6DF1\u5EA6\u601D\u8003\u4E2D",
846
+ thinked: "\u5DF2\u6DF1\u5EA6\u601D\u8003"
845
847
  }
846
848
  },
847
849
  // runTime
@@ -0,0 +1,215 @@
1
+ import { UtilService } from '@ibiz-template/runtime';
2
+ import { StringUtil } from '@ibiz-template/core';
3
+
4
+ "use strict";
5
+ class AIChatUtil {
6
+ /**
7
+ * 获取AI聊天对象
8
+ */
9
+ async getAIChat() {
10
+ const module = await import('@ibiz-template-plugin/ai-chat');
11
+ const chatInstance = module.chat || module.default.chat;
12
+ return chatInstance;
13
+ }
14
+ /**
15
+ * 获取编辑器扩展AI聊天参数
16
+ * @param editorParams
17
+ * @param context
18
+ * @param params
19
+ * @param data
20
+ */
21
+ getEditorExAIChatParams(editorParams, context, params, data) {
22
+ const containerOptions = {};
23
+ if (editorParams.enableaiminimize) {
24
+ containerOptions.enableAIMinimize = editorParams.enableaiminimize === "true";
25
+ }
26
+ if (editorParams.openmode) {
27
+ containerOptions.openMode = containerOptions.enableAIMinimize ? editorParams.openmode : "default";
28
+ } else {
29
+ containerOptions.enableAIMinimize = ibiz.config.common.enableAIMinimize;
30
+ }
31
+ if (editorParams.autoclose) {
32
+ try {
33
+ const autoClose = JSON.parse(editorParams.autoclose);
34
+ if (!containerOptions.enableAIMinimize && autoClose && autoClose.mode === "minimize") {
35
+ autoClose.mode = "close";
36
+ }
37
+ containerOptions.autoClose = autoClose;
38
+ } catch (error) {
39
+ ibiz.log.error(error);
40
+ }
41
+ }
42
+ const chatOptions = {};
43
+ if (editorParams.srfaiappendcurdata) {
44
+ chatOptions.appendCurData = editorParams.srfaiappendcurdata === "true" ? data : void 0;
45
+ }
46
+ chatOptions.appendCurContent = editorParams.srfaiappendcurcontent ? StringUtil.fill(
47
+ editorParams.srfaiappendcurcontent,
48
+ context,
49
+ params,
50
+ data
51
+ ) : void 0;
52
+ chatOptions.autoQuestion = editorParams.autoquestion !== "false";
53
+ chatOptions.autoFill = editorParams.autofill === "true";
54
+ chatOptions.appendCurResource = editorParams.srfaiappendresource ? StringUtil.fill(editorParams.srfaiappendresource, context, params, data) : void 0;
55
+ if (editorParams.srfmode) {
56
+ chatOptions.srfMode = editorParams.srfmode;
57
+ }
58
+ return { containerOptions, chatOptions };
59
+ }
60
+ /**
61
+ * 获取界面行为扩展AI聊天参数
62
+ * @param context
63
+ * @param params
64
+ * @param data
65
+ */
66
+ getUIActionExAIChatParams(context, params, data) {
67
+ const containerOptions = {};
68
+ if (params.hasOwnProperty("enableaiminimize")) {
69
+ containerOptions.enableAIMinimize = params.enableaiminimize === "true";
70
+ delete params.disableminimize;
71
+ } else {
72
+ containerOptions.enableAIMinimize = ibiz.config.common.enableAIMinimize;
73
+ }
74
+ if (params.hasOwnProperty("openmode")) {
75
+ containerOptions.openMode = containerOptions.enableAIMinimize ? params.openmode : "default";
76
+ delete params.openmode;
77
+ }
78
+ if (params.hasOwnProperty("autoclose")) {
79
+ try {
80
+ const autoClose = JSON.parse(params.autoclose);
81
+ if (!containerOptions.enableAIMinimize && autoClose && autoClose.mode === "minimize") {
82
+ autoClose.mode = "close";
83
+ }
84
+ containerOptions.autoClose = autoClose;
85
+ delete params.autoclose;
86
+ } catch (error) {
87
+ ibiz.log.error(error);
88
+ }
89
+ }
90
+ const chatOptions = {};
91
+ if (context.srfaiappendcurdata === "true") {
92
+ chatOptions.appendCurData = data;
93
+ } else if (params.hasOwnProperty("srfaiappendcurdata")) {
94
+ chatOptions.appendCurData = params.srfaiappendcurdata === "true" ? data : void 0;
95
+ delete params.srfaiappendcurdata;
96
+ }
97
+ if (params.hasOwnProperty("srfaiappendcurcontent")) {
98
+ chatOptions.appendCurContent = StringUtil.fill(
99
+ params.srfaiappendcurcontent,
100
+ context,
101
+ params,
102
+ data
103
+ );
104
+ delete params.srfaiappendcurcontent;
105
+ }
106
+ if (params.hasOwnProperty("autoquestion")) {
107
+ chatOptions.autoQuestion = params.autoquestion !== "false";
108
+ delete params.autoquestion;
109
+ }
110
+ if (params.hasOwnProperty("srfaiappendresource")) {
111
+ chatOptions.appendCurResource = StringUtil.fill(
112
+ params.srfaiappendresource,
113
+ context,
114
+ params,
115
+ data
116
+ );
117
+ delete params.srfaiappendresource;
118
+ }
119
+ if (params.hasOwnProperty("srfmode")) {
120
+ chatOptions.srfMode = params.srfmode;
121
+ delete params.srfmode;
122
+ }
123
+ return { containerOptions, chatOptions };
124
+ }
125
+ /**
126
+ * 计算界面行为扩展AI聊天工具栏项
127
+ * @param deACMode 自填模式
128
+ */
129
+ calcAiToolbarItemsByAc(deACMode) {
130
+ var _a;
131
+ const contentToolbarItems = [];
132
+ const footerToolbarItems = [];
133
+ const questionToolbarItems = [];
134
+ const functionToolbarItems = [];
135
+ const inlineToolbarItems = [];
136
+ const otherToolbarItems = [];
137
+ if (!deACMode || !deACMode.deuiactionGroup) {
138
+ return {
139
+ contentToolbarItems,
140
+ footerToolbarItems,
141
+ questionToolbarItems,
142
+ otherToolbarItems,
143
+ functionToolbarItems,
144
+ inlineToolbarItems
145
+ };
146
+ }
147
+ (_a = deACMode.deuiactionGroup.uiactionGroupDetails) == null ? void 0 : _a.forEach(
148
+ (item) => {
149
+ var _a2, _b, _c, _d, _e, _f, _g, _h;
150
+ const toolbarItem = {
151
+ appId: item.appId,
152
+ id: item.uiactionId,
153
+ label: item.showCaption ? item.caption : "",
154
+ title: item.tooltip,
155
+ icon: {
156
+ showIcon: item.showIcon,
157
+ cssClass: (_a2 = item.sysImage) == null ? void 0 : _a2.cssClass,
158
+ imagePath: (_b = item.sysImage) == null ? void 0 : _b.imagePath
159
+ }
160
+ };
161
+ if (item.sysImage && item.sysImage.imagePath && !item.sysImage.imagePath.startsWith("http")) {
162
+ toolbarItem.icon.imagePath = "".concat(ibiz.env.assetsUrl, "/images/").concat(item.sysImage.imagePath);
163
+ }
164
+ if ((_c = item.uiactionId) == null ? void 0 : _c.startsWith("msg_content_")) {
165
+ contentToolbarItems.push(toolbarItem);
166
+ } else if ((_d = item.uiactionId) == null ? void 0 : _d.startsWith("msg_footer_")) {
167
+ footerToolbarItems.push(toolbarItem);
168
+ } else if ((_e = item.uiactionId) == null ? void 0 : _e.startsWith("question_")) {
169
+ questionToolbarItems.push(toolbarItem);
170
+ } else if ((_f = item.uiactionId) == null ? void 0 : _f.startsWith("function_")) {
171
+ functionToolbarItems.push(toolbarItem);
172
+ } else if (((_g = item.uiactionId) == null ? void 0 : _g.startsWith("inline")) || item.refUIActionGroup && ((_h = item.refUIActionGroup.id) == null ? void 0 : _h.startsWith("inline"))) {
173
+ inlineToolbarItems.push(toolbarItem);
174
+ } else {
175
+ otherToolbarItems.push(toolbarItem);
176
+ }
177
+ }
178
+ );
179
+ return {
180
+ contentToolbarItems,
181
+ footerToolbarItems,
182
+ questionToolbarItems,
183
+ otherToolbarItems,
184
+ functionToolbarItems,
185
+ inlineToolbarItems
186
+ };
187
+ }
188
+ /**
189
+ * 获取AI代理列表
190
+ * @param context
191
+ * @param params
192
+ */
193
+ async getAIAgentList(context, params, editorParams) {
194
+ const emptyList = [];
195
+ const app = ibiz.hub.getApp(ibiz.env.appId);
196
+ const aiAgentUtil = app.getAppUtil("DYNAMICAIGENT", "CUSTOM");
197
+ if (!aiAgentUtil) {
198
+ return emptyList;
199
+ }
200
+ const utilService = new UtilService(aiAgentUtil);
201
+ const resultParams = { ...params };
202
+ if (editorParams && editorParams.srfaiagentscope) {
203
+ Object.assign(resultParams, {
204
+ srfaiagentscope: editorParams.srfaiagentscope
205
+ });
206
+ }
207
+ const data = await utilService.load("", context, resultParams);
208
+ if (!data || data.length === 0) {
209
+ return emptyList;
210
+ }
211
+ return data;
212
+ }
213
+ }
214
+
215
+ export { AIChatUtil };
@@ -1,8 +1,7 @@
1
1
  import { getDeACMode, calcDeCodeNameById, UIActionUtil, SysUIActionTag, ConfigService } from '@ibiz-template/runtime';
2
2
  import { createUUID } from 'qx-util';
3
- import { StringUtil, IBizContext } from '@ibiz-template/core';
3
+ import { IBizContext } from '@ibiz-template/core';
4
4
  import { route2routePath, useUIStore, routePath2string } from '@ibiz-template/vue3-util';
5
- import { getAIAgentList, calcAiToolbarItemsByAc } from '../ai-util/ai-util.mjs';
6
5
 
7
6
  "use strict";
8
7
  var __defProp = Object.defineProperty;
@@ -184,42 +183,6 @@ class AppUtil {
184
183
  }
185
184
  return true;
186
185
  }
187
- /**
188
- * 计算AI扩展参数
189
- *
190
- * @private
191
- * @param {IData} params
192
- * @return {*} {IData}
193
- */
194
- computeAiExParams(context, params, data) {
195
- const exParams = {};
196
- if (params.hasOwnProperty("autoquestion")) {
197
- exParams.autoQuestion = params.autoquestion !== "false";
198
- delete params.autoquestion;
199
- }
200
- if (params.hasOwnProperty("openmode")) {
201
- exParams.openMode = params.openmode;
202
- delete params.openmode;
203
- }
204
- if (params.hasOwnProperty("autoclose")) {
205
- try {
206
- exParams.autoClose = JSON.parse(params.autoclose);
207
- delete params.autoclose;
208
- } catch (error) {
209
- ibiz.log.error(error);
210
- }
211
- }
212
- if (params.hasOwnProperty("srfaiappendcurcontent")) {
213
- exParams.appendCurContent = StringUtil.fill(
214
- params.srfaiappendcurcontent,
215
- context,
216
- params,
217
- data
218
- );
219
- delete params.srfaiappendcurcontent;
220
- }
221
- return exParams;
222
- }
223
186
  /**
224
187
  * 打开AI聊天
225
188
  *
@@ -237,8 +200,11 @@ class AppUtil {
237
200
  appDEACModeId,
238
201
  appDataEntityId
239
202
  } = chartParams;
240
- const aiAgentlist = await getAIAgentList(context, params);
241
- const exParams = this.computeAiExParams(context, params, data);
203
+ const { containerOptions, chatOptions } = ibiz.aiChatUtil.getUIActionExAIChatParams(context, params, data);
204
+ const aiAgentlist = await ibiz.aiChatUtil.getAIAgentList(
205
+ context,
206
+ params
207
+ );
242
208
  const deACMode = await getDeACMode(
243
209
  appDEACModeId,
244
210
  appDataEntityId,
@@ -251,9 +217,8 @@ class AppUtil {
251
217
  footerToolbarItems,
252
218
  questionToolbarItems,
253
219
  otherToolbarItems
254
- } = calcAiToolbarItemsByAc(deACMode);
255
- const module = await import('@ibiz-template-plugin/ai-chat');
256
- const chatInstance = module.chat || module.default.chat;
220
+ } = ibiz.aiChatUtil.calcAiToolbarItemsByAc(deACMode);
221
+ const chatInstance = await ibiz.aiChatUtil.getAIChat();
257
222
  const messages = [];
258
223
  const appDataEntityName = calcDeCodeNameById(appDataEntityId);
259
224
  let topicId = "".concat(context.srfsystemid, "_").concat(context.srfappid, "_").concat(appDataEntityId, "_").concat(appDEACModeId, "_");
@@ -269,7 +234,8 @@ class AppUtil {
269
234
  mode: "TOPIC",
270
235
  containerOptions: {
271
236
  zIndex: containerZIndex,
272
- enableBackFill: false
237
+ enableBackFill: false,
238
+ ...containerOptions
273
239
  },
274
240
  topicOptions: {
275
241
  appid: ibiz.env.appId,
@@ -303,15 +269,13 @@ class AppUtil {
303
269
  caption: deACMode.logicName,
304
270
  context: { ...context },
305
271
  params: tempParams,
306
- // 界面行为导航上下文参数srfaiappendcurdata,是否传入对象参数,用于历史查询传参
307
- appendCurData: context.srfaiappendcurdata === "true" ? data : void 0,
308
272
  appDataEntityId,
309
273
  contentToolbarItems,
310
274
  footerToolbarItems,
311
275
  questionToolbarItems,
312
276
  otherToolbarItems,
313
277
  aiAgentlist,
314
- question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent) => {
278
+ question: async (aiChat, ctx, param, other, arr, sessionid, srfaiagent, srfmode) => {
315
279
  id = createUUID();
316
280
  abortController = new AbortController();
317
281
  const deService = await ibiz.hub.getApp(ctx.srfappid).deService.getService(ctx, other.appDataEntityId);
@@ -323,6 +287,9 @@ class AppUtil {
323
287
  if (srfaiagent) {
324
288
  questionRequestData.srfaiagent = srfaiagent;
325
289
  }
290
+ if (srfmode) {
291
+ questionRequestData.mode = srfmode;
292
+ }
326
293
  await deService.aiChatSse(
327
294
  (msg) => {
328
295
  if (msg.actionstate === 20 && msg.actionresult) {
@@ -401,6 +368,11 @@ class AppUtil {
401
368
  srfaiagent: other.srfaiagent
402
369
  });
403
370
  }
371
+ if (other.srfmode) {
372
+ Object.assign(historyRequestData, {
373
+ mode: other.srfmode
374
+ });
375
+ }
404
376
  const result = await deService.aiChatHistory(
405
377
  ctx,
406
378
  param,
@@ -504,7 +476,7 @@ class AppUtil {
504
476
  return result;
505
477
  },
506
478
  // 扩展参数
507
- ...exParams
479
+ ...chatOptions
508
480
  }
509
481
  });
510
482
  });
package/es/util/index.mjs CHANGED
@@ -12,9 +12,9 @@ export { AppUtil } from './app-util/app-util.mjs';
12
12
  export { FullscreenUtil } from './fullscreen/fullscreen-util.mjs';
13
13
  export { parseHtml } from './wang-editor-util/wang-editor-util.mjs';
14
14
  export { useFocusByEnter } from './keydown-util/keydown-util.mjs';
15
- export { calcAiToolbarItemsByAc } from './ai-util/ai-util.mjs';
16
15
  export { convertBtnType } from './button-util/button-util.mjs';
17
16
  export { ArrowLeftBold, ArrowRightBold } from './icon/icon.mjs';
18
17
  export { InLineAIUtil } from './inline-ai-util/inline-ai-util.mjs';
18
+ export { AIChatUtil } from './ai-chat-util/ai-chat-util.mjs';
19
19
 
20
20
  "use strict";
@@ -138,5 +138,79 @@ const CancelIcon = createVNode("svg", {
138
138
  "d": "M4.002 3.403V1a1 1 0 011-1h6.003a1 1 0 011 1v2.403h3.396a.6.6 0 110 1.2h-1.395V15a1 1 0 01-1 1H3a1 1 0 01-1-1V4.603H.6a.6.6 0 110-1.2h3.4zm8.804 1.205H3.2V14.8h9.605V4.608zM5.202 1.2v2.155h5.603V1.2H5.202zm.6 6.417a.6.6 0 011.201 0v4.758a.6.6 0 01-1.2 0V7.617zm3.202 0a.6.6 0 011.2 0v4.758a.6.6 0 01-1.2 0V7.617z",
139
139
  "id": "bbh\u5220\u9664"
140
140
  }, null)])]);
141
+ const LoadingIcon = createVNode("svg", {
142
+ "width": "16",
143
+ "height": "16",
144
+ "viewBox": "0 0 50 50",
145
+ "xmlns": "http://www.w3.org/2000/svg"
146
+ }, [createVNode("circle", {
147
+ "cx": "25",
148
+ "cy": "25",
149
+ "r": "20",
150
+ "fill": "none",
151
+ "stroke": "currentColor",
152
+ "stroke-width": "5",
153
+ "stroke-dasharray": "31.415, 31.415",
154
+ "stroke-linecap": "round"
155
+ }, [createVNode("animateTransform", {
156
+ "attributeName": "transform",
157
+ "type": "rotate",
158
+ "from": "0 25 25",
159
+ "to": "360 25 25",
160
+ "dur": "1s",
161
+ "repeatCount": "indefinite"
162
+ }, null)])]);
163
+ const ThinkSuccessIcon = createVNode("svg", {
164
+ "viewBox": "0 0 16 16",
165
+ "xmlns": "http://www.w3.org/2000/svg",
166
+ "width": "16",
167
+ "height": "16",
168
+ "fill": "currentColor",
169
+ "preserveAspectRatio": "xMidYMid meet",
170
+ "focusable": "false"
171
+ }, [createVNode("g", {
172
+ "id": "agptips/check-circle",
173
+ "stroke-width": "1",
174
+ "fill-rule": "evenodd"
175
+ }, [createVNode("path", {
176
+ "d": "M8 16A8 8 0 118 0a8 8 0 010 16zm0-1.2A6.8 6.8 0 108 1.2a6.8 6.8 0 000 13.6zM5.666 7.207l1.8 1.845 3.482-3.554.857.84-4.34 4.43-2.658-2.723.86-.838z",
177
+ "id": "agp\u5F62\u72B6\u7ED3\u5408"
178
+ }, null)])]);
179
+ const UpIcon = createVNode("svg", {
180
+ "viewBox": "0 0 16 16",
181
+ "xmlns": "http://www.w3.org/2000/svg",
182
+ "width": "16",
183
+ "height": "16",
184
+ "fill": "currentColor",
185
+ "preserveAspectRatio": "xMidYMid meet",
186
+ "focusable": "false",
187
+ "style": "transform: rotate(-90deg);"
188
+ }, [createVNode("g", {
189
+ "id": "abfnavigation/angle-right",
190
+ "stroke-width": "1",
191
+ "fill-rule": "evenodd"
192
+ }, [createVNode("path", {
193
+ "d": "M7.978 11.498l-.005.005L2.3 5.831 3.13 5l4.848 4.848L12.826 5l.83.831-5.673 5.672-.005-.005z",
194
+ "id": "abf\u5F62\u72B6\u7ED3\u5408",
195
+ "transform": "rotate(-90 7.978 8.252)"
196
+ }, null)])]);
197
+ const DownIcon = createVNode("svg", {
198
+ "viewBox": "0 0 16 16",
199
+ "xmlns": "http://www.w3.org/2000/svg",
200
+ "width": "16",
201
+ "height": "16",
202
+ "fill": "currentColor",
203
+ "preserveAspectRatio": "xMidYMid meet",
204
+ "focusable": "false",
205
+ "style": "transform: rotate(90deg);"
206
+ }, [createVNode("g", {
207
+ "id": "abfnavigation/angle-right",
208
+ "stroke-width": "1",
209
+ "fill-rule": "evenodd"
210
+ }, [createVNode("path", {
211
+ "d": "M7.978 11.498l-.005.005L2.3 5.831 3.13 5l4.848 4.848L12.826 5l.83.831-5.673 5.672-.005-.005z",
212
+ "id": "abf\u5F62\u72B6\u7ED3\u5408",
213
+ "transform": "rotate(-90 7.978 8.252)"
214
+ }, null)])]);
141
215
 
142
- export { AIIcon, CancelIcon, CopyTextIcon, RegenerateIcon, ReplaceTextIcon, SendIcon, StopIcon, insertTextIcon };
216
+ export { AIIcon, CancelIcon, CopyTextIcon, DownIcon, LoadingIcon, RegenerateIcon, ReplaceTextIcon, SendIcon, StopIcon, ThinkSuccessIcon, UpIcon, insertTextIcon };
@@ -1 +1 @@
1
- .ibiz-inline-ai-container-context-menu{--ibiz-inline-ai-context-menu-color-bg:var(--ibiz-color-bg-2);--ibiz-inline-ai-context-menu-color-text:var(--ibiz-color-text-0);--ibiz-inline-ai-context-menu-color-bg-active:var(--ibiz-color-fill-0);--mx-menu-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-backgroud:var(--ibiz-inline-ai-context-menu-color-bg);--mx-menu-hover-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-hover-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-open-hover-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-hover-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-active-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-active-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-backgroud-radius:0}.ibiz-inline-ai-container-context-menu .scroll-content{pointer-events:unset}.ibiz-inline-ai-container-context-menu .mx-context-menu-item{cursor:pointer}.ibiz-inline-ai-textarea-container{--ibiz-inline-ai-textarea-container-color-bg-0:rgb(255, 255, 255);--ibiz-inline-ai-textarea-container-color-bg-1:rgb(249, 249, 249);--ibiz-inline-ai-textarea-container-color-border:rgba(29, 31, 35, 0.1);--ibiz-inline-ai-textarea-container-color-text-0:rgb(29, 31, 35);--ibiz-inline-ai-textarea-container-color-text-1:rgba(29, 31, 35, 0.35);--ibiz-inline-ai-textarea-container-color-text-2:rgb(85, 125, 165);--ibiz-inline-ai-textarea-container-color-text-hove-1:rgb(105, 148, 190);--ibiz-inline-ai-textarea-container-color-bg-hover-1:rgb(217, 236, 255);--ibiz-inline-ai-textarea-container-color-bg-hover-2:rgba(46, 50, 55, 0.05);--ibiz-inline-ai-textarea-container-color-loading:#65b3fc}.ibiz-inline-ai-textarea-container--dark{--ibiz-inline-ai-textarea-container-color-bg-0:rgb(28, 28, 28);--ibiz-inline-ai-textarea-container-color-bg-1:rgb(53, 54, 60);--ibiz-inline-ai-textarea-container-color-border:rgba(255, 255, 255, 0.08);--ibiz-inline-ai-textarea-container-color-text-0:rgb(255, 255, 255);--ibiz-inline-ai-textarea-container-color-text-1:rgba(249, 249, 249, 0.35);--ibiz-inline-ai-textarea-container-color-text-2:rgb(70, 107, 144);--ibiz-inline-ai-textarea-container-color-text-hove-1:rgb(105, 148, 190);--ibiz-inline-ai-textarea-container-color-bg-hover-1:rgba(85, 125, 165, 0.2);--ibiz-inline-ai-textarea-container-color-bg-hover-2:rgb(67, 68, 74);--ibiz-inline-ai-textarea-container-color-loading:rgba(204, 204, 204, 0.6)}.ibiz-inline-ai-textarea-container{position:absolute;z-index:2000;color:var(--ibiz-inline-ai-textarea-container-color-text-0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-inline-ai-textarea-container .ibiz-inline-ai-textarea-container__content{border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container.is-show-ai{border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container.is-show-ai .ibiz-inline-ai-textarea-container__content{border:none;border-radius:var(--ibiz-border-radius-small) var(--ibiz-border-radius-small) 0 0;box-shadow:none}.ibiz-inline-ai-textarea-container.is-show-ai .ibiz-inline-ai-textarea-container__footer{border-radius:0 0 var(--ibiz-border-radius-small) var(--ibiz-border-radius-small)}.ibiz-inline-ai-textarea-container__content{position:relative;display:flex;gap:var(--ibiz-spacing-tight);padding:var(--ibiz-spacing-base-tight);background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0)}.ibiz-inline-ai-textarea-container__content--prefix{flex-shrink:0;color:var(--ibiz-inline-ai-textarea-container-color-text-1)}.ibiz-inline-ai-textarea-container__content--textarea{position:relative;flex-grow:1}.ibiz-inline-ai-textarea-container__content--textarea textarea{width:100%;height:100%;padding:0;color:var(--ibiz-inline-ai-textarea-container-color-text-0);resize:none;background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0);border:none;outline:0}.ibiz-inline-ai-textarea-container__content--textarea textarea:disabled{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0)}.ibiz-inline-ai-textarea-container__content--suffix{display:flex;flex-direction:column-reverse;flex-shrink:0}.ibiz-inline-ai-textarea-container__content--sand-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--ibiz-inline-ai-textarea-container-color-text-2);cursor:pointer;border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-inline-ai-textarea-container__content--sand-icon:hover{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-hover-1)}.ibiz-inline-ai-textarea-container__content--stop-icon{display:flex;gap:var(--ibiz-spacing-extra-tight);align-items:center;font-size:var(--ibiz-font-size-small);color:var(--ibiz-inline-ai-textarea-container-color-text-1);cursor:pointer}.ibiz-inline-ai-textarea-container__content--stop-icon:hover{color:var(--ibiz-inline-ai-textarea-container-color-text-hove-1)}.ibiz-inline-ai-textarea-container__footer{padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-small);color:var(--ibiz-inline-ai-textarea-container-color-text-1);visibility:hidden;background-color:var(--ibiz-inline-ai-textarea-container-color-bg-1);border-top:1px solid var(--ibiz-inline-ai-textarea-container-color-border)}.ibiz-inline-ai-textarea-container__footer.is-show{visibility:visible}.ibiz-inline-ai-textarea-container__actions{position:absolute;width:240px;padding:var(--ibiz-spacing-base-tight) 0;font-size:var(--ibiz-font-size-regular);visibility:hidden;background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0);border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container__actions.is-show{visibility:visible}.ibiz-inline-ai-textarea-container__actions--action{display:flex;gap:var(--ibiz-spacing-tight);align-items:center;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);cursor:pointer}.ibiz-inline-ai-textarea-container__actions--action:hover{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-hover-2)}.ibiz-inline-ai-textarea-container__actions--action.is-danger:hover{color:var(--ibiz-color-danger)}.ibiz-inline-ai-textarea-container__actions--divider{margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-base-loose);border-top:1px solid var(--ibiz-inline-ai-textarea-container-color-border)}.ibiz-inline-ai-textarea-container__loading{position:absolute;top:0;left:0;display:flex;gap:8px;align-items:center;width:100%;height:100%;overflow:hidden}@keyframes bounce{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.ibiz-inline-ai-textarea-container__loading--dot{width:12px;height:12px;background:var(--ibiz-inline-ai-textarea-container-color-loading);border-radius:50%;animation:bounce 1.5s infinite ease-in-out}.ibiz-inline-ai-textarea-container__loading--dot:nth-child(2){animation-delay:.2s}.ibiz-inline-ai-textarea-container__loading--dot:nth-child(3){animation-delay:.4s}
1
+ .ibiz-inline-ai-container-context-menu{--ibiz-inline-ai-context-menu-color-bg:var(--ibiz-color-bg-2);--ibiz-inline-ai-context-menu-color-text:var(--ibiz-color-text-0);--ibiz-inline-ai-context-menu-color-bg-active:var(--ibiz-color-fill-0);--mx-menu-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-backgroud:var(--ibiz-inline-ai-context-menu-color-bg);--mx-menu-hover-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-hover-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-open-hover-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-open-hover-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-active-backgroud:var(--ibiz-inline-ai-context-menu-color-bg-active);--mx-menu-active-text:var(--ibiz-inline-ai-context-menu-color-text);--mx-menu-backgroud-radius:0}.ibiz-inline-ai-container-context-menu .scroll-content{pointer-events:unset}.ibiz-inline-ai-container-context-menu .mx-context-menu-item{cursor:pointer}.ibiz-inline-ai-textarea-container{--ibiz-inline-ai-textarea-container-color-bg-0:rgb(255, 255, 255);--ibiz-inline-ai-textarea-container-color-bg-1:rgb(249, 249, 249);--ibiz-inline-ai-textarea-container-color-border:rgba(29, 31, 35, 0.1);--ibiz-inline-ai-textarea-container-color-text-0:rgb(29, 31, 35);--ibiz-inline-ai-textarea-container-color-text-1:rgba(0, 0, 0, 0.45);--ibiz-inline-ai-textarea-container-color-text-2:rgb(85, 125, 165);--ibiz-inline-ai-textarea-container-color-text-hove-1:rgb(105, 148, 190);--ibiz-inline-ai-textarea-container-color-bg-hover-1:rgb(217, 236, 255);--ibiz-inline-ai-textarea-container-color-bg-hover-2:rgba(46, 50, 55, 0.05);--ibiz-inline-ai-textarea-container-color-loading:#65b3fc}.ibiz-inline-ai-textarea-container--dark{--ibiz-inline-ai-textarea-container-color-bg-0:rgb(28, 28, 28);--ibiz-inline-ai-textarea-container-color-bg-1:rgb(53, 54, 60);--ibiz-inline-ai-textarea-container-color-border:rgba(255, 255, 255, 0.08);--ibiz-inline-ai-textarea-container-color-text-0:rgb(255, 255, 255);--ibiz-inline-ai-textarea-container-color-text-1:rgba(249, 249, 249, 0.35);--ibiz-inline-ai-textarea-container-color-text-2:rgb(70, 107, 144);--ibiz-inline-ai-textarea-container-color-text-hove-1:rgb(105, 148, 190);--ibiz-inline-ai-textarea-container-color-bg-hover-1:rgba(85, 125, 165, 0.2);--ibiz-inline-ai-textarea-container-color-bg-hover-2:rgb(67, 68, 74);--ibiz-inline-ai-textarea-container-color-loading:rgba(204, 204, 204, 0.6)}.ibiz-inline-ai-textarea-container{position:absolute;color:var(--ibiz-inline-ai-textarea-container-color-text-0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ibiz-inline-ai-textarea-container .ibiz-inline-ai-textarea-container__content{border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container.is-show-ai{border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container.is-show-ai .ibiz-inline-ai-textarea-container__content{border:none;border-radius:var(--ibiz-border-radius-small) var(--ibiz-border-radius-small) 0 0;box-shadow:none}.ibiz-inline-ai-textarea-container.is-show-ai .ibiz-inline-ai-textarea-container__footer{border-radius:0 0 var(--ibiz-border-radius-small) var(--ibiz-border-radius-small)}.ibiz-inline-ai-textarea-container__content{position:relative;display:flex;gap:var(--ibiz-spacing-tight);padding:var(--ibiz-spacing-base-tight);background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0)}.ibiz-inline-ai-textarea-container__content--prefix{flex-shrink:0;color:var(--ibiz-inline-ai-textarea-container-color-text-1)}.ibiz-inline-ai-textarea-container__content--textarea{position:relative;display:flex;flex-direction:column;flex-grow:1;gap:var(--ibiz-spacing-tight);overflow-y:auto}.ibiz-inline-ai-textarea-container__content--textarea textarea{flex-shrink:0;padding:0;overflow:hidden;color:var(--ibiz-inline-ai-textarea-container-color-text-0);resize:none;background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0);border:none;outline:0;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.ibiz-inline-ai-textarea-container__content--textarea textarea:disabled{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0)}.ibiz-inline-ai-textarea-container__content--textarea textarea.is-hidden{display:none}.ibiz-inline-ai-textarea-container__content--suffix{display:flex;flex-direction:column-reverse;flex-shrink:0}.ibiz-inline-ai-textarea-container__content--sand-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--ibiz-inline-ai-textarea-container-color-text-2);cursor:pointer;border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-inline-ai-textarea-container__content--sand-icon:hover{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-hover-1)}.ibiz-inline-ai-textarea-container__content--stop-icon{display:flex;gap:var(--ibiz-spacing-extra-tight);align-items:center;font-size:var(--ibiz-font-size-small);color:var(--ibiz-inline-ai-textarea-container-color-text-1);cursor:pointer}.ibiz-inline-ai-textarea-container__content--stop-icon:hover{color:var(--ibiz-inline-ai-textarea-container-color-text-hove-1)}.ibiz-inline-ai-textarea-container__footer{padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-small);color:var(--ibiz-inline-ai-textarea-container-color-text-1);background-color:var(--ibiz-inline-ai-textarea-container-color-bg-1);border-top:1px solid var(--ibiz-inline-ai-textarea-container-color-border)}.ibiz-inline-ai-textarea-container__actions{position:absolute;width:240px;padding:var(--ibiz-spacing-base-tight) 0;font-size:var(--ibiz-font-size-regular);background-color:var(--ibiz-inline-ai-textarea-container-color-bg-0);border:1px solid var(--ibiz-inline-ai-textarea-container-color-border);border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 16px var(--ibiz-color-shadow)}.ibiz-inline-ai-textarea-container__actions--action{display:flex;gap:var(--ibiz-spacing-tight);align-items:center;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);cursor:pointer}.ibiz-inline-ai-textarea-container__actions--action:hover{background-color:var(--ibiz-inline-ai-textarea-container-color-bg-hover-2)}.ibiz-inline-ai-textarea-container__actions--action.is-danger:hover{color:var(--ibiz-color-danger)}.ibiz-inline-ai-textarea-container__actions--divider{margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-base-loose);border-top:1px solid var(--ibiz-inline-ai-textarea-container-color-border)}.ibiz-inline-ai-textarea-container__error{flex-grow:1;color:var(--ibiz-color-danger)}.ibiz-inline-ai-textarea-container__think{flex-shrink:0;width:100%;height:auto;font-size:var(--ibiz-font-size-small);color:var(--ibiz-inline-ai-textarea-container-color-text-1)}.ibiz-inline-ai-textarea-container__think--header{display:flex;gap:var(--ibiz-spacing-extra-tight);align-items:center;margin-bottom:var(--ibiz-spacing-tight);cursor:pointer}.ibiz-inline-ai-textarea-container__think--header:hover{color:var(--ibiz-inline-ai-textarea-container-color-text-hove-1)}.ibiz-inline-ai-textarea-container__think--state-icon{display:flex;align-items:center;color:var(--ibiz-color-success)}.ibiz-inline-ai-textarea-container__think--state-icon.is-loading{color:var(--ibiz-inline-ai-textarea-container-color-loading)}.ibiz-inline-ai-textarea-container__think--collapse-icon{display:flex;align-items:center}.ibiz-inline-ai-textarea-container__think--content{position:relative;padding-left:var(--ibiz-spacing-tight);word-wrap:break-word;white-space:pre-wrap;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.ibiz-inline-ai-textarea-container__think--content::before{position:absolute;top:0;bottom:0;left:0;width:2px;content:"";background-color:var(--ibiz-inline-ai-textarea-container-color-border)}.ibiz-inline-ai-textarea-container__loading{position:absolute;top:0;left:0;display:flex;gap:8px;align-items:center;width:100%;height:100%;overflow:hidden}@keyframes bounce{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.ibiz-inline-ai-textarea-container__loading--dot{width:12px;height:12px;background:var(--ibiz-inline-ai-textarea-container-color-loading);border-radius:50%;animation:bounce 1.5s infinite ease-in-out}.ibiz-inline-ai-textarea-container__loading--dot:nth-child(2){animation-delay:.2s}.ibiz-inline-ai-textarea-container__loading--dot:nth-child(3){animation-delay:.4s}