@ibiz-template/vue3-components 0.7.41-alpha.37 → 0.7.41-alpha.39

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 (70) hide show
  1. package/dist/ibiz-markdown-editor-D4Og0fLv.js +1 -0
  2. package/dist/{index-BiFsbM1Y.js → index-BewO9StC.js} +1 -1
  3. package/dist/{index-BFGNWF-0.js → index-ClxO69TM.js} +1 -1
  4. package/dist/index-DHKZJQyN.js +11 -0
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/wang-editor-BYeoazrn.js +1 -0
  8. package/dist/{xlsx-util-DZ5-cWNj.js → xlsx-util-DpgMzatq.js} +1 -1
  9. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +42 -8
  10. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs +10 -0
  11. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.css +1 -0
  12. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.mjs +309 -0
  13. package/es/editor/code/code-editor.controller.mjs +223 -1
  14. package/es/editor/code/monaco-editor/monaco-editor.css +1 -1
  15. package/es/editor/code/monaco-editor/monaco-editor.mjs +132 -10
  16. package/es/editor/html/html-editor.controller.mjs +122 -2
  17. package/es/editor/html/wang-editor/index.mjs +1 -0
  18. package/es/editor/html/wang-editor/module/index.mjs +1 -0
  19. package/es/editor/html/wang-editor/module/inline-ai-module.mjs +95 -0
  20. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  21. package/es/editor/html/wang-editor/wang-editor.mjs +41 -4
  22. package/es/editor/markdown/ibiz-markdown-editor/custom-menu.mjs +43 -0
  23. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  24. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +143 -9
  25. package/es/editor/markdown/markdown-editor.controller.mjs +218 -1
  26. package/es/index.mjs +1 -0
  27. package/es/locale/en/index.mjs +18 -2
  28. package/es/locale/zh-CN/index.mjs +18 -2
  29. package/es/util/ai-util/ai-util.mjs +6 -2
  30. package/es/util/app-util/app-util.mjs +41 -2
  31. package/es/util/index.mjs +1 -0
  32. package/es/util/inline-ai-util/inline-ai-textarea/icon.mjs +142 -0
  33. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -0
  34. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +217 -0
  35. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.mjs +220 -0
  36. package/es/util/inline-ai-util/inline-ai-util.mjs +145 -0
  37. package/es/web-app/main.mjs +2 -0
  38. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +42 -8
  39. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.cjs +10 -0
  40. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.cjs +311 -0
  41. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid2/repeater-grid2.css +1 -0
  42. package/lib/editor/code/code-editor.controller.cjs +222 -0
  43. package/lib/editor/code/monaco-editor/monaco-editor.cjs +132 -10
  44. package/lib/editor/code/monaco-editor/monaco-editor.css +1 -1
  45. package/lib/editor/html/html-editor.controller.cjs +120 -0
  46. package/lib/editor/html/wang-editor/index.cjs +3 -0
  47. package/lib/editor/html/wang-editor/module/index.cjs +3 -0
  48. package/lib/editor/html/wang-editor/module/inline-ai-module.cjs +98 -0
  49. package/lib/editor/html/wang-editor/wang-editor.cjs +41 -4
  50. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  51. package/lib/editor/markdown/ibiz-markdown-editor/custom-menu.cjs +45 -0
  52. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +143 -9
  53. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  54. package/lib/editor/markdown/markdown-editor.controller.cjs +217 -0
  55. package/lib/index.cjs +2 -0
  56. package/lib/locale/en/index.cjs +18 -2
  57. package/lib/locale/zh-CN/index.cjs +18 -2
  58. package/lib/util/ai-util/ai-util.cjs +6 -2
  59. package/lib/util/app-util/app-util.cjs +40 -1
  60. package/lib/util/index.cjs +2 -0
  61. package/lib/util/inline-ai-util/inline-ai-textarea/icon.cjs +151 -0
  62. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.cjs +222 -0
  63. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.css +1 -0
  64. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +222 -0
  65. package/lib/util/inline-ai-util/inline-ai-util.cjs +147 -0
  66. package/lib/web-app/main.cjs +2 -0
  67. package/package.json +5 -5
  68. package/dist/ibiz-markdown-editor-Cs1m7gKI.js +0 -1
  69. package/dist/index-Dds3BDDF.js +0 -11
  70. package/dist/wang-editor-4cJ6X_hb.js +0 -1
@@ -77,6 +77,34 @@ class MarkDownEditorController extends runtime.EditorController {
77
77
  * @type {boolean}
78
78
  */
79
79
  __publicField(this, "chatCompletion", false);
80
+ /**
81
+ * 编辑器实例
82
+ *
83
+ * @type {IData}
84
+ * @memberof MarkDownEditorController
85
+ */
86
+ __publicField(this, "mdeditor", null);
87
+ /**
88
+ * 选区位置缓存
89
+ *
90
+ * @type {(IData | null)}
91
+ * @memberof MarkDownEditorController
92
+ */
93
+ __publicField(this, "selectionAreaPosition", null);
94
+ /**
95
+ * 选区方向 true表示正向,从左到右;false表示反向,从右到左
96
+ *
97
+ * @type {boolean}
98
+ * @memberof MarkDownEditorController
99
+ */
100
+ __publicField(this, "selectionDirection", true);
101
+ /**
102
+ * 当前编辑器使用主题
103
+ *
104
+ * @type {string}
105
+ * @memberof MarkDownEditorController
106
+ */
107
+ __publicField(this, "currentEditorTheme", "light");
80
108
  }
81
109
  async onInit() {
82
110
  await super.onInit();
@@ -143,6 +171,195 @@ class MarkDownEditorController extends runtime.EditorController {
143
171
  }
144
172
  }
145
173
  }
174
+ /**
175
+ * 设置编辑器实例
176
+ *
177
+ * @param {IData} mdeditor
178
+ * @memberof MarkDownEditorController
179
+ */
180
+ setMDEditor(mdeditor) {
181
+ this.mdeditor = mdeditor;
182
+ }
183
+ /**
184
+ * 设置保存当前选区位置
185
+ *
186
+ * @param {IData} start
187
+ * @param {IData} end
188
+ * @memberof MarkDownEditorController
189
+ */
190
+ setCursorPos(start, end) {
191
+ this.selectionAreaPosition = { start, end };
192
+ }
193
+ /**
194
+ * 设置当前编辑器的主题
195
+ *
196
+ * @param {string} theme
197
+ * @memberof MarkDownEditorController
198
+ */
199
+ setCurrentEditorTheme(theme) {
200
+ this.currentEditorTheme = theme;
201
+ }
202
+ /**
203
+ * 设置当前选区方向
204
+ *
205
+ * @param {boolean} direction
206
+ * @memberof MarkDownEditorController
207
+ */
208
+ setSelectionDirection(direction) {
209
+ this.selectionDirection = direction;
210
+ }
211
+ /**
212
+ * 获取当前主题
213
+ *
214
+ * @return {*} {('light' | 'dark')}
215
+ * @memberof MarkDownEditorController
216
+ */
217
+ getCurrentTheme() {
218
+ return this.currentEditorTheme === "dark" ? "dark" : "light";
219
+ }
220
+ /**
221
+ * 获取选中文本
222
+ *
223
+ * @return {*} {string}
224
+ * @memberof MarkDownEditorController
225
+ */
226
+ getSelectionText() {
227
+ var _a;
228
+ return (_a = this.mdeditor) == null ? void 0 : _a.editor.editor.getSelection();
229
+ }
230
+ /**
231
+ * 获取内联AI编辑器主题
232
+ *
233
+ * @return {*} {('light' | 'dark')}
234
+ * @memberof MarkDownEditorController
235
+ */
236
+ getInLineAiEditorTheme() {
237
+ return this.getCurrentTheme();
238
+ }
239
+ /**
240
+ * 判断选区方向
241
+ *
242
+ * @param {IData} posA
243
+ * @param {IData} posB
244
+ * @return {*} {boolean}
245
+ * @memberof MarkDownEditorController
246
+ */
247
+ isPositionBefore(posA, posB) {
248
+ if (posA.line < posB.line)
249
+ return true;
250
+ if (posA.line > posB.line)
251
+ return false;
252
+ return posA.ch < posB.ch;
253
+ }
254
+ /**
255
+ * 插入文本
256
+ *
257
+ * @param {string} text
258
+ * @memberof MarkDownEditorController
259
+ */
260
+ insertText(text) {
261
+ var _a, _b, _c;
262
+ if (this.selectionAreaPosition) {
263
+ const { start, end } = this.selectionAreaPosition;
264
+ const contentToInsert = "\n".concat(text, "\n");
265
+ const hasSelection = !(start.line === end.line && start.ch === end.ch);
266
+ if (!hasSelection) {
267
+ (_a = this.mdeditor) == null ? void 0 : _a.editor.editor.replaceSelection(contentToInsert);
268
+ return;
269
+ }
270
+ let insetPos;
271
+ if (this.selectionDirection) {
272
+ insetPos = end;
273
+ } else {
274
+ insetPos = start;
275
+ }
276
+ (_b = this.mdeditor) == null ? void 0 : _b.editor.editor.setCursor(insetPos);
277
+ (_c = this.mdeditor) == null ? void 0 : _c.editor.editor.replaceSelection(contentToInsert);
278
+ if (this.selectionDirection === false) {
279
+ const index = (contentToInsert.match(/\n/g) || []).length;
280
+ this.selectionAreaPosition.start.line += index;
281
+ this.selectionAreaPosition.end.line += index;
282
+ this.selectionAreaPosition.end.ch -= this.selectionAreaPosition.start.ch;
283
+ this.selectionAreaPosition.start.ch = 0;
284
+ }
285
+ this.restoreSelection();
286
+ }
287
+ }
288
+ /**
289
+ * 替换选中文本
290
+ *
291
+ * @param {string} text
292
+ * @memberof MarkDownEditorController
293
+ */
294
+ replaceSelectionText(text) {
295
+ var _a;
296
+ (_a = this.mdeditor) == null ? void 0 : _a.editor.editor.replaceSelection(text);
297
+ }
298
+ /**
299
+ * 恢复选区
300
+ *
301
+ * @memberof MarkDownEditorController
302
+ */
303
+ restoreSelection() {
304
+ var _a, _b, _c;
305
+ (_c = this.mdeditor) == null ? void 0 : _c.editor.editor.setSelection(
306
+ (_a = this.selectionAreaPosition) == null ? void 0 : _a.start,
307
+ (_b = this.selectionAreaPosition) == null ? void 0 : _b.end
308
+ );
309
+ }
310
+ /**
311
+ * 获取内联AI参数
312
+ *
313
+ * @return {*} {IData}
314
+ * @memberof MarkDownEditorController
315
+ */
316
+ getInLineAiChatOptions() {
317
+ var _a, _b, _c;
318
+ const editorRect = (_a = this.mdeditor) == null ? void 0 : _a.wrapperDom.getBoundingClientRect();
319
+ const bubbleRect = (_b = this.mdeditor) == null ? void 0 : _b.bubble.bubbleDom.getBoundingClientRect();
320
+ return {
321
+ // 编辑器的左侧距离 + 10px
322
+ left: editorRect.left + 10,
323
+ // 浮动工具栏的顶部距离位置
324
+ top: bubbleRect.top,
325
+ // 编辑器的宽度 - 右侧工具栏的宽度(38px) - 左侧边距(10px)- 右侧边距(10px)
326
+ width: editorRect.width - 58,
327
+ editorElement: (_c = this.mdeditor) == null ? void 0 : _c.wrapperDom,
328
+ editorTheme: this.getCurrentTheme()
329
+ };
330
+ }
331
+ /**
332
+ * 返回内联AI编辑器元素
333
+ *
334
+ * @return {*} {Element}
335
+ * @memberof MarkDownEditorController
336
+ */
337
+ getInLineAiEditorElement() {
338
+ var _a;
339
+ return (_a = this.mdeditor) == null ? void 0 : _a.wrapperDom;
340
+ }
341
+ /**
342
+ * 执行内联AIUI操作
343
+ *
344
+ * @param {string} _uiAction
345
+ * @param {string} _appId
346
+ * @return {*} {Promise<void>}
347
+ * @memberof MarkDownEditorController
348
+ */
349
+ async doInLineAIUIAction(uiActionId, appId) {
350
+ const eventArgs = this.ctrl.getEventArgs();
351
+ eventArgs.params.editor = this;
352
+ if (this.editorParams.srfaiappendcurdata && this.editorParams.srfaiappendcurdata === "true") {
353
+ eventArgs.context.srfaiappendcurdata = true;
354
+ }
355
+ await runtime.UIActionUtil.exec(
356
+ uiActionId,
357
+ {
358
+ ...eventArgs
359
+ },
360
+ appId
361
+ );
362
+ }
146
363
  }
147
364
 
148
365
  exports.MarkDownEditorController = MarkDownEditorController;
package/lib/index.cjs CHANGED
@@ -182,6 +182,7 @@ var fullscreenUtil = require('./util/fullscreen/fullscreen-util.cjs');
182
182
  var keydownUtil = require('./util/keydown-util/keydown-util.cjs');
183
183
  var aiUtil = require('./util/ai-util/ai-util.cjs');
184
184
  var buttonUtil = require('./util/button-util/button-util.cjs');
185
+ var inlineAiUtil = require('./util/inline-ai-util/inline-ai-util.cjs');
185
186
  var wangEditorUtil = require('./util/wang-editor-util/wang-editor-util.cjs');
186
187
  var icon = require('./util/icon/icon.cjs');
187
188
  var authGuard = require('./web-app/guard/auth-guard/auth-guard.cjs');
@@ -372,6 +373,7 @@ exports.FullscreenUtil = fullscreenUtil.FullscreenUtil;
372
373
  exports.useFocusByEnter = keydownUtil.useFocusByEnter;
373
374
  exports.calcAiToolbarItemsByAc = aiUtil.calcAiToolbarItemsByAc;
374
375
  exports.convertBtnType = buttonUtil.convertBtnType;
376
+ exports.InLineAIUtil = inlineAiUtil.InLineAIUtil;
375
377
  exports.parseHtml = wangEditorUtil.parseHtml;
376
378
  exports.ArrowLeftBold = icon.ArrowLeftBold;
377
379
  exports.ArrowRightBold = icon.ArrowRightBold;
@@ -625,7 +625,12 @@ var index = {
625
625
  }
626
626
  },
627
627
  code: {
628
- readOnlyPrompt: "Currently in read-only mode, not editable"
628
+ readOnlyPrompt: "Currently in read-only mode, not editable",
629
+ noEditorArea: "Editor content area not found",
630
+ noSelStart: "No start position of current selection",
631
+ noEditorRect: "No editor DOM node position info",
632
+ noSelCoords: "No scroll coordinates of selection",
633
+ editorNotInit: "Editor not initialized"
629
634
  },
630
635
  dateRange: {
631
636
  rangeSeparator: "To"
@@ -661,7 +666,8 @@ var index = {
661
666
  },
662
667
  markdown: {
663
668
  uploadJsonFormatErr: "The configuration of uploadparams did not follow the standard JSON format",
664
- exportJsonFormatErr: "The configuration of exportparams did not follow the standard JSON format"
669
+ exportJsonFormatErr: "The configuration of exportparams did not follow the standard JSON format",
670
+ edit: "Edit"
665
671
  },
666
672
  notSupportedEditor: {
667
673
  unsupportedType: "Unsupported editor types - {editorType}"
@@ -834,6 +840,16 @@ var index = {
834
840
  appModal: {
835
841
  prev: "Previous record",
836
842
  next: "Next record"
843
+ },
844
+ inlineAiUtil: {
845
+ regenerate: "Regenerate",
846
+ insertText: "Insert Text",
847
+ replaceText: "Replace Text",
848
+ copyText: "Copy Text",
849
+ info: "The content is generated by AI, please carefully discern.",
850
+ stopEdit: "Terminate editing",
851
+ warningTitle: "Confirm termination",
852
+ warningDesc: "Are you sure to terminate the creation?"
837
853
  }
838
854
  },
839
855
  // runTime
@@ -621,7 +621,12 @@ var index = {
621
621
  }
622
622
  },
623
623
  code: {
624
- readOnlyPrompt: "\u5F53\u524D\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u4E0D\u53EF\u7F16\u8F91"
624
+ readOnlyPrompt: "\u5F53\u524D\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u4E0D\u53EF\u7F16\u8F91",
625
+ noEditorArea: "\u672A\u627E\u5230\u7F16\u8F91\u5668\u5185\u5BB9\u533A\u57DF",
626
+ noSelStart: "\u672A\u83B7\u53D6\u5230\u5F53\u524D\u9009\u4E2D\u533A\u57DF\u7684\u8D77\u59CB\u4F4D\u7F6E",
627
+ noEditorRect: "\u672A\u83B7\u53D6\u5230\u7F16\u8F91\u5668DOM\u8282\u70B9\u7684\u4F4D\u7F6E\u4FE1\u606F",
628
+ noSelCoords: "\u672A\u8BA1\u7B97\u51FA\u9009\u4E2D\u4F4D\u7F6E\u7684\u6EDA\u52A8\u53EF\u89C6\u5750\u6807",
629
+ editorNotInit: "\u7F16\u8F91\u5668\u672A\u521D\u59CB\u5316"
625
630
  },
626
631
  dateRange: {
627
632
  rangeSeparator: "\u81F3"
@@ -657,7 +662,8 @@ var index = {
657
662
  },
658
663
  markdown: {
659
664
  uploadJsonFormatErr: "\u914D\u7F6Euploadparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F",
660
- exportJsonFormatErr: "\u914D\u7F6Eexportparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
665
+ exportJsonFormatErr: "\u914D\u7F6Eexportparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F",
666
+ edit: "\u7F16\u8F91"
661
667
  },
662
668
  notSupportedEditor: {
663
669
  unsupportedType: "\u672A\u652F\u6301\u7684\u7F16\u8F91\u5668\u7C7B\u578B - {type}"
@@ -830,6 +836,16 @@ var index = {
830
836
  appModal: {
831
837
  prev: "\u4E0A\u4E00\u4E2A\u8BB0\u5F55",
832
838
  next: "\u4E0B\u4E00\u4E2A\u8BB0\u5F55"
839
+ },
840
+ inlineAiUtil: {
841
+ regenerate: "\u91CD\u65B0\u751F\u6210",
842
+ insertText: "\u63D2\u5165\u6587\u672C",
843
+ replaceText: "\u66FF\u6362\u6587\u672C",
844
+ copyText: "\u590D\u5236\u6587\u672C",
845
+ info: "\u5185\u5BB9\u7531 AI \u751F\u6210\uFF0C\u8BF7\u4ED4\u7EC6\u7504\u522B\u3002",
846
+ stopEdit: "\u7EC8\u6B62\u7F16\u8F91",
847
+ warningTitle: "\u786E\u8BA4\u4E2D\u6B62",
848
+ warningDesc: "\u786E\u8BA4\u4E2D\u6B62\u521B\u4F5C\u5417\uFF1F"
833
849
  }
834
850
  },
835
851
  // runTime
@@ -7,10 +7,11 @@ function calcAiToolbarItemsByAc(deACMode) {
7
7
  const footerToolbarItems = [];
8
8
  const questionToolbarItems = [];
9
9
  const functionToolbarItems = [];
10
+ const inlineToolbarItems = [];
10
11
  const otherToolbarItems = [];
11
12
  (_b = (_a = deACMode.deuiactionGroup) == null ? void 0 : _a.uiactionGroupDetails) == null ? void 0 : _b.forEach(
12
13
  (item) => {
13
- var _a2, _b2, _c, _d, _e, _f;
14
+ var _a2, _b2, _c, _d, _e, _f, _g, _h;
14
15
  const toolbarItem = {
15
16
  appId: item.appId,
16
17
  id: item.uiactionId,
@@ -33,6 +34,8 @@ function calcAiToolbarItemsByAc(deACMode) {
33
34
  questionToolbarItems.push(toolbarItem);
34
35
  } else if ((_f = item.uiactionId) == null ? void 0 : _f.startsWith("function_")) {
35
36
  functionToolbarItems.push(toolbarItem);
37
+ } else if (((_g = item.uiactionId) == null ? void 0 : _g.startsWith("inline")) || item.refUIActionGroup && ((_h = item.refUIActionGroup.id) == null ? void 0 : _h.startsWith("inline"))) {
38
+ inlineToolbarItems.push(toolbarItem);
36
39
  } else {
37
40
  otherToolbarItems.push(toolbarItem);
38
41
  }
@@ -43,7 +46,8 @@ function calcAiToolbarItemsByAc(deACMode) {
43
46
  footerToolbarItems,
44
47
  questionToolbarItems,
45
48
  otherToolbarItems,
46
- functionToolbarItems
49
+ functionToolbarItems,
50
+ inlineToolbarItems
47
51
  };
48
52
  }
49
53
 
@@ -186,6 +186,42 @@ class AppUtil {
186
186
  }
187
187
  return true;
188
188
  }
189
+ /**
190
+ * 计算AI扩展参数
191
+ *
192
+ * @private
193
+ * @param {IData} params
194
+ * @return {*} {IData}
195
+ */
196
+ computeAiExParams(context, params, data) {
197
+ const exParams = {};
198
+ if (params.hasOwnProperty("autoquestion")) {
199
+ exParams.autoQuestion = params.autoquestion !== "false";
200
+ delete params.autoquestion;
201
+ }
202
+ if (params.hasOwnProperty("openmode")) {
203
+ exParams.openMode = params.openmode;
204
+ delete params.openmode;
205
+ }
206
+ if (params.hasOwnProperty("autoclose")) {
207
+ try {
208
+ exParams.autoClose = JSON.parse(params.autoclose);
209
+ delete params.autoclose;
210
+ } catch (error) {
211
+ ibiz.log.error(error);
212
+ }
213
+ }
214
+ if (params.hasOwnProperty("srfaiappendcurcontent")) {
215
+ exParams.appendCurContent = core.StringUtil.fill(
216
+ params.srfaiappendcurcontent,
217
+ context,
218
+ params,
219
+ data
220
+ );
221
+ delete params.srfaiappendcurcontent;
222
+ }
223
+ return exParams;
224
+ }
189
225
  /**
190
226
  * 打开AI聊天
191
227
  *
@@ -203,6 +239,7 @@ class AppUtil {
203
239
  appDEACModeId,
204
240
  appDataEntityId
205
241
  } = chartParams;
242
+ const exParams = this.computeAiExParams(context, params, data);
206
243
  const deACMode = await runtime.getDeACMode(
207
244
  appDEACModeId,
208
245
  appDataEntityId,
@@ -451,7 +488,9 @@ class AppUtil {
451
488
  }
452
489
  }
453
490
  return result;
454
- }
491
+ },
492
+ // 扩展参数
493
+ ...exParams
455
494
  }
456
495
  });
457
496
  });
@@ -17,6 +17,7 @@ var keydownUtil = require('./keydown-util/keydown-util.cjs');
17
17
  var aiUtil = require('./ai-util/ai-util.cjs');
18
18
  var buttonUtil = require('./button-util/button-util.cjs');
19
19
  var icon = require('./icon/icon.cjs');
20
+ var inlineAiUtil = require('./inline-ai-util/inline-ai-util.cjs');
20
21
 
21
22
  "use strict";
22
23
 
@@ -38,3 +39,4 @@ exports.calcAiToolbarItemsByAc = aiUtil.calcAiToolbarItemsByAc;
38
39
  exports.convertBtnType = buttonUtil.convertBtnType;
39
40
  exports.ArrowLeftBold = icon.ArrowLeftBold;
40
41
  exports.ArrowRightBold = icon.ArrowRightBold;
42
+ exports.InLineAIUtil = inlineAiUtil.InLineAIUtil;
@@ -0,0 +1,151 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+
5
+ "use strict";
6
+ const StopIcon = vue.createVNode("svg", {
7
+ "class": "icon",
8
+ "viewBox": "0 0 1040 1024",
9
+ "version": "1.1",
10
+ "xmlns": "http://www.w3.org/2000/svg",
11
+ "p-id": "12982",
12
+ "width": "16",
13
+ "height": "16",
14
+ "fill": "currentColor"
15
+ }, [vue.createVNode("path", {
16
+ "d": "M528 960C280.576 960 80 759.424 80 512S280.576 64 528 64s448 200.576 448 448-200.576 448-448 448z m-80-592a64 64 0 0 0-64 64v160a64 64 0 0 0 64 64h160a64 64 0 0 0 64-64V432a64 64 0 0 0-64-64H448z",
17
+ "p-id": "12983"
18
+ }, null)]);
19
+ const AIIcon = vue.createVNode("svg", {
20
+ "id": "ai",
21
+ "viewBox": "0 0 16 16",
22
+ "xmlns": "http://www.w3.org/2000/svg",
23
+ "width": "16",
24
+ "height": "16",
25
+ "preserveAspectRatio": "xMidYMid meet",
26
+ "focusable": "false",
27
+ "fill": "currentColor"
28
+ }, [vue.createVNode("g", {
29
+ "id": "aae1.Base\u57FA\u7840/1.icon\u56FE\u6807/2.normal/ai-star",
30
+ "stroke-width": "1",
31
+ "fill-rule": "evenodd"
32
+ }, [vue.createVNode("path", {
33
+ "d": "M5.817 1.53l3.158 8.797h.054v.152l1.443 4.021-1.402.001-1.041-2.982H2.495l-1.03 2.982L0 14.5 4.671 1.533l1.146-.003zm7.86 5.424V14.5h-1.213V6.954h1.212zM5.248 3.549l-2.342 6.778h4.706L5.249 3.55zM13.046 0c.075 0 .147.02.204.071a.318.318 0 01.094.181l.064.273c.097.417.17.727.255.968.084.24.177.4.31.523.134.124.318.218.599.306.281.088.65.166 1.15.265a.358.358 0 01.195.095c.056.057.083.13.083.213a.289.289 0 01-.083.21.362.362 0 01-.197.094c-.528.093-.918.167-1.214.255-.295.088-.485.187-.621.324-.137.138-.23.324-.31.606-.08.283-.145.651-.23 1.147a.329.329 0 01-.093.184.293.293 0 01-.206.075.308.308 0 01-.207-.072.322.322 0 01-.1-.188l-.006-.033c-.085-.486-.149-.845-.228-1.12-.079-.274-.17-.452-.305-.585-.135-.133-.323-.23-.618-.32s-.683-.168-1.21-.273a.353.353 0 01-.2-.096.29.29 0 01-.08-.208c0-.079.023-.153.079-.211a.35.35 0 01.2-.097c.5-.098.869-.176 1.15-.263.282-.087.465-.18.597-.302.132-.12.224-.278.306-.511.082-.236.151-.539.244-.947l.071-.312a.312.312 0 01.102-.183.311.311 0 01.205-.069z",
34
+ "id": "aae\u5F62\u72B6\u7ED3\u5408"
35
+ }, null)])]);
36
+ const SendIcon = vue.createVNode("svg", {
37
+ "id": "send",
38
+ "viewBox": "0 0 16 16",
39
+ "version": "1.1",
40
+ "xmlns": "http://www.w3.org/2000/svg",
41
+ "width": "16",
42
+ "height": "16",
43
+ "preserveAspectRatio": "xMidYMid meet",
44
+ "focusable": "false",
45
+ "fill": "currentColor"
46
+ }, [vue.createVNode("g", {
47
+ "id": "az1.Base\u57FA\u7840/1.icon\u56FE\u6807/2.normal/airplane-fill",
48
+ "stroke-width": "1",
49
+ "fill-rule": "evenodd"
50
+ }, [vue.createVNode("path", {
51
+ "d": "M9.09609607,13.5642768 L13.2170975,15.5669393 C13.4741816,15.6766453 13.7609293,15.517073 13.8004807,15.2378214 L15.9955838,0.48735567 C16.0450231,0.138291234 15.6692847,-0.121013775 15.3726492,0.0585050774 L0.20432945,7.12444843 C-0.0824182488,7.29399401 -0.0626425454,7.7228446 0.233993005,7.87244365 L4.41476499,10.6518549 C4.57297062,10.7216678 4.75095195,10.7017213 4.87949402,10.5820421 L11.7317893,4.66709687 C11.7735964,4.63100873 11.8367429,4.63564485 11.872831,4.67745192 C11.9046123,4.71426959 11.9052944,4.76861446 11.8744472,4.80621817 L5.83087229,12.1735275 L5.83087229,12.1735275 C5.77154518,12.2433404 5.74188162,12.3330998 5.74188162,12.4228593 L5.3388256,15.5669393 C5.32893775,15.9658701 5.82333033,16.1553622 6.08041448,15.8461909 L8.63136704,13.683956 C8.73024556,13.5443302 8.92800259,13.4944639 9.09609607,13.5642768 Z",
52
+ "id": "az\u8DEF\u5F84"
53
+ }, null)])]);
54
+ const RegenerateIcon = vue.createVNode("svg", {
55
+ "viewBox": "0 0 16 16",
56
+ "xmlns": "http://www.w3.org/2000/svg",
57
+ "width": "16",
58
+ "height": "16",
59
+ "preserveAspectRatio": "xMidYMid meet",
60
+ "focusable": "false",
61
+ "fill": "currentColor"
62
+ }, [vue.createVNode("g", {
63
+ "id": "avf1.Base\u57FA\u7840/1.icon\u56FE\u6807/11.editor/redo",
64
+ "stroke-width": "1",
65
+ "fill-rule": "evenodd"
66
+ }, [vue.createVNode("g", {
67
+ "id": "avf\u7F16\u7EC4",
68
+ "transform": "matrix(-1 0 0 1 15.015 1)"
69
+ }, [vue.createVNode("path", {
70
+ "d": "M3.84 5.825a.6.6 0 01.063.774l-.064.075a.6.6 0 01-.774.063l-.074-.063L.176 3.859a.6.6 0 01-.064-.775l.064-.074L3.01.176a.6.6 0 01.912.774l-.063.074-1.795 1.794h6.851a5.1 5.1 0 01.216 10.196l-.216.004h-4a.6.6 0 01-.097-1.192l.097-.008h4a3.9 3.9 0 00.201-7.795l-.2-.005H2.033l1.805 1.807z",
71
+ "id": "avf\u5F62\u72B6\u7ED3\u5408"
72
+ }, null)])])]);
73
+ const insertTextIcon = vue.createVNode("svg", {
74
+ "viewBox": "0 0 16 16",
75
+ "version": "1.1",
76
+ "xmlns": "http://www.w3.org/2000/svg",
77
+ "fill": "currentColor",
78
+ "width": "16",
79
+ "height": "16",
80
+ "preserveAspectRatio": "xMidYMid meet",
81
+ "focusable": "false"
82
+ }, [vue.createVNode("g", {
83
+ "id": "ae1.Base\u57FA\u7840/1.icon\u56FE\u6807/2.normal/insert-below",
84
+ "stroke-width": "1",
85
+ "fill-rule": "evenodd"
86
+ }, [vue.createVNode("path", {
87
+ "d": "M13.4,12.7902394 C13.7313708,12.7902394 14,13.0588685 14,13.3902394 C14,13.7216102 13.7313708,13.9902394 13.4,13.9902394 L9.61247231,13.9902394 C9.28110146,13.9902394 9.01247231,13.7216102 9.01247231,13.3902394 C9.01247231,13.0588685 9.28110146,12.7902394 9.61247231,12.7902394 L13.4,12.7902394 Z M2.64424308,9.33926858 C2.97561393,9.33926858 3.24424308,9.60789773 3.24424308,9.93926858 L3.24424308,11.3602686 L5.96531725,11.3599906 L5.33280173,10.7263268 C5.12191861,10.5154437 5.1008303,10.1866372 5.2695368,9.95216939 L5.33280173,9.87779866 C5.56711631,9.64348408 5.94701529,9.64348408 6.18132987,9.87779866 L7.8400676,11.5365364 C8.07438217,11.770851 8.07438217,12.1507499 7.8400676,12.3850645 L6.4106287,13.8145034 C6.17631412,14.048818 5.79641514,14.048818 5.56210056,13.8145034 C5.32778599,13.5801888 5.32778599,13.2002899 5.56210056,12.9659753 L5.96631725,12.5599906 L2.64424308,12.5608005 C2.31287223,12.5608005 2.04424308,12.2921713 2.04424308,11.9608005 L2.04424308,9.93926858 C2.04424308,9.60789773 2.31287223,9.33926858 2.64424308,9.33926858 Z M13.4,9.19548978 C13.7313708,9.19548978 14,9.46411893 14,9.79548978 C14,10.1268606 13.7313708,10.3954898 13.4,10.3954898 L9.61247231,10.3954898 C9.28110146,10.3954898 9.01247231,10.1268606 9.01247231,9.79548978 C9.01247231,9.46411893 9.28110146,9.19548978 9.61247231,9.19548978 L13.4,9.19548978 Z M13.4,5.60074021 C13.7313708,5.60074021 14,5.86936936 14,6.20074021 C14,6.53211106 13.7313708,6.80074021 13.4,6.80074021 L2.61931725,6.80074021 C2.2879464,6.80074021 2.01931725,6.53211106 2.01931725,6.20074021 C2.01931725,5.86936936 2.2879464,5.60074021 2.61931725,5.60074021 L13.4,5.60074021 Z M13.4,2.00599065 C13.7313708,2.00599065 14,2.2746198 14,2.60599065 C14,2.9373615 13.7313708,3.20599065 13.4,3.20599065 L2.61931725,3.20599065 C2.2879464,3.20599065 2.01931725,2.9373615 2.01931725,2.60599065 C2.01931725,2.2746198 2.2879464,2.00599065 2.61931725,2.00599065 L13.4,2.00599065 Z",
88
+ "id": "ae\u5F62\u72B6\u7ED3\u5408"
89
+ }, null)])]);
90
+ const ReplaceTextIcon = vue.createVNode("svg", {
91
+ "viewBox": "0 0 16 16",
92
+ "version": "1.1",
93
+ "xmlns": "http://www.w3.org/2000/svg",
94
+ "fill": "currentColor",
95
+ "width": "16",
96
+ "height": "16",
97
+ "preserveAspectRatio": "xMidYMid meet",
98
+ "focusable": "false"
99
+ }, [vue.createVNode("g", {
100
+ "id": "ao1.Base\u57FA\u7840/1.icon\u56FE\u6807/2.normal/replace-selection",
101
+ "stroke-width": "1",
102
+ "fill-rule": "evenodd"
103
+ }, [vue.createVNode("path", {
104
+ "d": "M6.61931725,12.8 C6.9506881,12.8 7.21931725,13.0686292 7.21931725,13.4 C7.21931725,13.7313708 6.9506881,14 6.61931725,14 L2.61931725,14 C2.2879464,14 2.01931725,13.7313708 2.01931725,13.4 C2.01931725,13.0686292 2.2879464,12.8 2.61931725,12.8 L6.61931725,12.8 Z M13.882771,9.53617937 L13.9544547,9.59882598 C14.2050411,9.8494124 14.2259233,10.2427187 14.0171013,10.5170918 L13.9544547,10.5887755 L10.6802912,13.862939 C10.6039101,13.93932 10.4806802,13.9412495 10.4019453,13.8672971 L8.52941673,12.1085105 C8.24762538,11.8438358 8.23374956,11.4008376 8.49842422,11.1190462 C8.74104265,10.8607375 9.13350242,10.8275522 9.41427862,11.027682 L9.48788845,11.0880537 L10.5124867,12.0507581 L12.9645052,9.59882598 C13.2150916,9.34823956 13.608398,9.32735736 13.882771,9.53617937 Z M6.61931725,9.20415791 C6.9506881,9.20415791 7.21931725,9.47278706 7.21931725,9.80415791 C7.21931725,10.1355288 6.9506881,10.4041579 6.61931725,10.4041579 L2.61931725,10.4041579 C2.2879464,10.4041579 2.01931725,10.1355288 2.01931725,9.80415791 C2.01931725,9.47278706 2.2879464,9.20415791 2.61931725,9.20415791 L6.61931725,9.20415791 Z M13.4,5.60831582 C13.7313708,5.60831582 14,5.87694497 14,6.20831582 C14,6.53968667 13.7313708,6.80831582 13.4,6.80831582 L2.61931725,6.80831582 C2.2879464,6.80831582 2.01931725,6.53968667 2.01931725,6.20831582 C2.01931725,5.87694497 2.2879464,5.60831582 2.61931725,5.60831582 L13.4,5.60831582 Z M13.4,2.01247373 C13.7313708,2.01247373 14,2.28110288 14,2.61247373 C14,2.94384458 13.7313708,3.21247373 13.4,3.21247373 L2.61931725,3.21247373 C2.2879464,3.21247373 2.01931725,2.94384458 2.01931725,2.61247373 C2.01931725,2.28110288 2.2879464,2.01247373 2.61931725,2.01247373 L13.4,2.01247373 Z",
105
+ "id": "ao\u5F62\u72B6\u7ED3\u5408"
106
+ }, null)])]);
107
+ const CopyTextIcon = vue.createVNode("svg", {
108
+ "viewBox": "0 0 16 16",
109
+ "xmlns": "http://www.w3.org/2000/svg",
110
+ "fill": "currentColor",
111
+ "width": "16",
112
+ "height": "16",
113
+ "preserveAspectRatio": "xMidYMid meet",
114
+ "focusable": "false"
115
+ }, [vue.createVNode("g", {
116
+ "id": "aiqaction/copy",
117
+ "stroke-width": "1",
118
+ "fill-rule": "evenodd"
119
+ }, [vue.createVNode("g", {
120
+ "id": "aiq\u590D\u5236",
121
+ "transform": "translate(2 -.27)",
122
+ "fill-rule": "nonzero"
123
+ }, [vue.createVNode("path", {
124
+ "d": "M5.6 8.47v-1.2h4.174v1.2H5.6zm0 3v-1.2h4.174v1.2H5.6zm-4.4-10v10.075H0L.003 2.27c0-1.088.895-2 1.997-2h7.585v1.2H1.2zm1.8.8h9a1 1 0 011 1v12a1 1 0 01-1 1H3a1 1 0 01-1-1v-12a1 1 0 011-1zm.2 1.2v11.6h8.6V3.47H3.2z",
125
+ "id": "aiq\u5F62\u72B6\u7ED3\u5408"
126
+ }, null)])])]);
127
+ const CancelIcon = vue.createVNode("svg", {
128
+ "viewBox": "0 0 16 16",
129
+ "xmlns": "http://www.w3.org/2000/svg",
130
+ "fill": "currentColor",
131
+ "width": "16",
132
+ "height": "16",
133
+ "preserveAspectRatio": "xMidYMid meet",
134
+ "focusable": "false"
135
+ }, [vue.createVNode("g", {
136
+ "id": "bbhaction/trash",
137
+ "stroke-width": "1",
138
+ "fill-rule": "evenodd"
139
+ }, [vue.createVNode("path", {
140
+ "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",
141
+ "id": "bbh\u5220\u9664"
142
+ }, null)])]);
143
+
144
+ exports.AIIcon = AIIcon;
145
+ exports.CancelIcon = CancelIcon;
146
+ exports.CopyTextIcon = CopyTextIcon;
147
+ exports.RegenerateIcon = RegenerateIcon;
148
+ exports.ReplaceTextIcon = ReplaceTextIcon;
149
+ exports.SendIcon = SendIcon;
150
+ exports.StopIcon = StopIcon;
151
+ exports.insertTextIcon = insertTextIcon;