@ibiz-template/vue3-components 0.7.41-alpha.145 → 0.7.41-alpha.147

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 (107) hide show
  1. package/dist/{index-B_sVovOS.js → index-B-mkNJ8X.js} +1 -1
  2. package/dist/index-BAfdAw1V.js +339 -0
  3. package/dist/{index-Qf-i9QxK.js → index-DA2x586m.js} +1 -1
  4. package/dist/{index.es-CfZdec4G.js → index.es-CSMb33DK.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-CUGqp4Uw.js → wang-editor-LyrHDNOt.js} +1 -1
  8. package/dist/{xlsx-util-C9Q58lgT.js → xlsx-util-DcIFyyjA.js} +1 -1
  9. package/es/common/html-doc-preview/html-doc-preview.mjs +3 -0
  10. package/es/common/no-data/no-data.css +1 -1
  11. package/es/common/no-data/no-data.mjs +3 -4
  12. package/es/control/app-menu/app-menu.css +1 -1
  13. package/es/control/app-menu/app-menu.mjs +40 -8
  14. package/es/control/calendar/calendar.mjs +17 -21
  15. package/es/control/drbar/drbar.controller.mjs +12 -1
  16. package/es/control/drtab/drtab.controller.mjs +12 -1
  17. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +1 -14
  18. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +44 -9
  19. package/es/control/tree/tree.mjs +7 -1
  20. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.mjs +2 -1
  21. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.mjs +2 -1
  22. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.mjs +2 -1
  23. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.mjs +50 -14
  24. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.mjs +40 -8
  25. package/es/editor/ai-chat/embed-ai-chat/embed-ai-chat.mjs +24 -1
  26. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  27. package/es/editor/text-box/input/input.mjs +8 -1
  28. package/es/locale/en/index.mjs +0 -6
  29. package/es/locale/zh-CN/index.mjs +0 -6
  30. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.mjs +1 -0
  31. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +6 -0
  32. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  33. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.mjs +38 -4
  34. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.mjs +29 -1
  35. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -1
  36. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.mjs +45 -7
  37. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.mjs +1 -0
  38. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.mjs +1 -0
  39. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.mjs +1 -0
  40. package/es/util/ai-chat-util/ai-chat-util.mjs +124 -24
  41. package/lib/common/html-doc-preview/html-doc-preview.cjs +3 -0
  42. package/lib/common/no-data/no-data.cjs +3 -4
  43. package/lib/common/no-data/no-data.css +1 -1
  44. package/lib/control/app-menu/app-menu.cjs +40 -8
  45. package/lib/control/app-menu/app-menu.css +1 -1
  46. package/lib/control/calendar/calendar.cjs +17 -21
  47. package/lib/control/drbar/drbar.controller.cjs +12 -1
  48. package/lib/control/drtab/drtab.controller.cjs +12 -1
  49. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +1 -14
  50. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +42 -7
  51. package/lib/control/tree/tree.cjs +7 -1
  52. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.cjs +2 -1
  53. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.cjs +2 -1
  54. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.cjs +2 -1
  55. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.cjs +49 -13
  56. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.cjs +39 -7
  57. package/lib/editor/ai-chat/embed-ai-chat/embed-ai-chat.cjs +23 -0
  58. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  59. package/lib/editor/text-box/input/input.cjs +8 -1
  60. package/lib/locale/en/index.cjs +0 -6
  61. package/lib/locale/zh-CN/index.cjs +0 -6
  62. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.cjs +1 -0
  63. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +6 -0
  64. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.cjs +38 -4
  65. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  66. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.cjs +28 -0
  67. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.cjs +45 -7
  68. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -1
  69. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.cjs +1 -0
  70. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.cjs +1 -0
  71. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.cjs +1 -0
  72. package/lib/util/ai-chat-util/ai-chat-util.cjs +124 -24
  73. package/package.json +5 -5
  74. package/src/common/html-doc-preview/html-doc-preview.tsx +4 -0
  75. package/src/common/no-data/no-data.scss +1 -1
  76. package/src/common/no-data/no-data.tsx +4 -5
  77. package/src/control/app-menu/app-menu.scss +4 -0
  78. package/src/control/app-menu/app-menu.tsx +39 -11
  79. package/src/control/calendar/calendar.tsx +24 -27
  80. package/src/control/drbar/drbar.controller.ts +12 -0
  81. package/src/control/drtab/drtab.controller.ts +12 -0
  82. package/src/control/grid/grid-column/grid-field-column/grid-field-column.tsx +2 -19
  83. package/src/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.tsx +60 -13
  84. package/src/control/tree/tree.tsx +8 -1
  85. package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.ts +1 -0
  86. package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.ts +1 -0
  87. package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/row-edit.ts +1 -0
  88. package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.tsx +60 -14
  89. package/src/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.tsx +44 -4
  90. package/src/editor/ai-chat/embed-ai-chat/embed-ai-chat.tsx +37 -2
  91. package/src/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.scss +2 -1
  92. package/src/editor/text-box/input/input.tsx +10 -1
  93. package/src/locale/en/index.ts +0 -8
  94. package/src/locale/zh-CN/index.ts +0 -6
  95. package/src/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.tsx +1 -0
  96. package/src/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.tsx +7 -0
  97. package/src/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.scss +4 -0
  98. package/src/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.tsx +30 -1
  99. package/src/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.controller.ts +29 -0
  100. package/src/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.ts +3 -0
  101. package/src/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.scss +4 -0
  102. package/src/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.tsx +43 -5
  103. package/src/panel-component/app-extend-menu/left-side-menu/left-side-menu.tsx +1 -0
  104. package/src/panel-component/app-extend-menu/right-side-menu/right-side-menu.tsx +1 -0
  105. package/src/panel-component/app-extend-menu/top-side-menu/top-side-menu.tsx +1 -0
  106. package/src/util/ai-chat-util/ai-chat-util.ts +161 -25
  107. package/dist/index-DrjG63wY.js +0 -339
@@ -6,8 +6,8 @@ var vue = require('vue');
6
6
  var vue3Util = require('@ibiz-template/vue3-util');
7
7
  var runtime = require('@ibiz-template/runtime');
8
8
  var ramda = require('ramda');
9
- require('./tree-grid-ex-field-column.css');
10
9
  var core = require('@ibiz-template/core');
10
+ require('./tree-grid-ex-field-column.css');
11
11
 
12
12
  "use strict";
13
13
  const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
@@ -41,6 +41,11 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
41
41
  const onInfoTextChange = (text) => {
42
42
  codeListText.value = text;
43
43
  };
44
+ const CustomHtml = vue3Util.computedAsync(async () => {
45
+ var _a;
46
+ const html = await ((_a = nodeColumn.value) == null ? void 0 : _a.getCustomHtml(props.row));
47
+ return html;
48
+ });
44
49
  const showText = vue.computed(() => {
45
50
  var _a, _b;
46
51
  const nodeColumnC = nodeColumn.value;
@@ -80,6 +85,14 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
80
85
  var _a;
81
86
  await ((_a = nodeColumn.value) == null ? void 0 : _a.onActionClick(detail, props.row, event));
82
87
  };
88
+ const findLayoutPanel = () => {
89
+ var _a, _b;
90
+ const {
91
+ controlRenders = [],
92
+ id
93
+ } = ((_a = nodeColumn.value) == null ? void 0 : _a.nodeColumn) || {};
94
+ return (_b = controlRenders.find((renderItem) => renderItem.renderType === "LAYOUTPANEL" && !["".concat(id == null ? void 0 : id.toLowerCase(), "_tooltip"), "".concat(id == null ? void 0 : id.toLowerCase(), "_edit_tooltip")].includes(renderItem.id))) == null ? void 0 : _b.layoutPanel;
95
+ };
83
96
  return {
84
97
  ns,
85
98
  zIndex,
@@ -88,20 +101,39 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
88
101
  clickable,
89
102
  nodeColumn,
90
103
  fieldValue,
104
+ CustomHtml,
91
105
  onTextClick,
92
106
  onActionClick,
93
- onInfoTextChange
107
+ onInfoTextChange,
108
+ findLayoutPanel
94
109
  };
95
110
  },
96
111
  render() {
97
- var _a, _b, _c, _d;
112
+ var _a, _b, _c, _d, _e;
98
113
  let content = null;
114
+ const panel = this.findLayoutPanel();
99
115
  if ((_a = this.nodeColumn) == null ? void 0 : _a.nodeEditItem) {
100
116
  content = vue.createVNode(vue.resolveComponent("iBizTreeGridExEditColumn"), {
101
117
  "controller": this.nodeColumn,
102
- "row": this.row
118
+ "row": this.row,
119
+ "panelModel": panel,
120
+ "customHtml": this.CustomHtml,
121
+ "isCustomCode": this.nodeColumn.isCustomCode
122
+ }, null);
123
+ } else if ((_b = this.nodeColumn) == null ? void 0 : _b.isCustomCode) {
124
+ content = vue.createVNode("span", {
125
+ "class": this.ns.e("script"),
126
+ "innerHTML": this.CustomHtml
127
+ }, null);
128
+ } else if (panel) {
129
+ content = vue.createVNode(vue.resolveComponent("iBizControlShell"), {
130
+ "data": this.row.data,
131
+ "modelData": panel,
132
+ "class": this.ns.e("panel"),
133
+ "context": this.controller.context,
134
+ "params": this.controller.params
103
135
  }, null);
104
- } else if ((_b = this.nodeColumn) == null ? void 0 : _b.codeList) {
136
+ } else if ((_c = this.nodeColumn) == null ? void 0 : _c.codeList) {
105
137
  content = vue.createVNode(vue.resolveComponent("iBizCodeList"), {
106
138
  "class": this.ns.e("text"),
107
139
  "codeListItems": this.nodeColumn.codeListItems,
@@ -125,7 +157,7 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
125
157
  actions = vue.createVNode(vue.resolveComponent("iBizActionToolbar"), {
126
158
  "zIndex": this.zIndex,
127
159
  "class": this.ns.e("toolbar"),
128
- "action-details": (_c = this.nodeColumn) == null ? void 0 : _c.nodeColumn.deuiactionGroup.uiactionGroupDetails,
160
+ "action-details": (_d = this.nodeColumn) == null ? void 0 : _d.nodeColumn.deuiactionGroup.uiactionGroupDetails,
129
161
  "actions-state": this.row.columnActionsStates[this.controller.name],
130
162
  "groupLevelKeys": [50, 100],
131
163
  "nowrap": this.nowrap,
@@ -133,7 +165,7 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
133
165
  }, null);
134
166
  }
135
167
  return vue.createVNode("div", {
136
- "class": [this.ns.b(), this.clickable && this.ns.m("clickable"), this.ns.m(this.controller.treeGrid.overflowMode), (_d = this.controller.model.cellSysCss) == null ? void 0 : _d.cssName, this.ns.is("has-action", !!actions)]
168
+ "class": [this.ns.b(), this.clickable && this.ns.m("clickable"), this.ns.m(this.controller.treeGrid.overflowMode), (_e = this.controller.model.cellSysCss) == null ? void 0 : _e.cssName, this.ns.is("has-action", !!actions)]
137
169
  }, [vue.createVNode("div", {
138
170
  "class": this.ns.b("text-container")
139
171
  }, [content]), vue.createVNode("div", {
@@ -17,6 +17,7 @@ const IBizEmbedAIChat = /* @__PURE__ */ vue.defineComponent({
17
17
  const ctrl = c.ctrl;
18
18
  const agentMap = /* @__PURE__ */ new Map();
19
19
  const knowledgeMap = /* @__PURE__ */ new Map();
20
+ const projectMap = /* @__PURE__ */ new Map();
20
21
  const aiChatElementRef = vue.ref(null);
21
22
  let mountedFlag = false;
22
23
  const mountedAIChat = async () => {
@@ -133,6 +134,16 @@ const IBizEmbedAIChat = /* @__PURE__ */ vue.defineComponent({
133
134
  knowledgeMap.set(key, knowledge);
134
135
  return knowledge;
135
136
  },
137
+ fetchProject: async (ctx, param, other) => {
138
+ const key = JSON.stringify(other);
139
+ let projects = projectMap.get(key);
140
+ if (projects == null ? void 0 : projects.length)
141
+ return projects;
142
+ projects = await chatOptions.fetchProject(ctx, param, other);
143
+ if (projects)
144
+ projectMap.set(key, projects);
145
+ return projects;
146
+ },
136
147
  action: (action, message) => {
137
148
  if (action === "send")
138
149
  ctrl.evt.emit("onFormDetailEvent", {
@@ -182,6 +193,18 @@ const IBizEmbedAIChat = /* @__PURE__ */ vue.defineComponent({
182
193
  }
183
194
  mountedFlag = false;
184
195
  });
196
+ vue.onDeactivated(() => {
197
+ const chatInstance = c.chatInstance;
198
+ if (chatInstance) {
199
+ chatInstance.onDeactivated();
200
+ }
201
+ });
202
+ vue.onActivated(() => {
203
+ const chatInstance = c.chatInstance;
204
+ if (chatInstance) {
205
+ chatInstance.onActivated();
206
+ }
207
+ });
185
208
  return {
186
209
  c,
187
210
  ns,
@@ -1 +1 @@
1
- .ibiz-markdown{--ibiz-markdown-light-thumb-bg-color:rgb(var(--ibiz-grey-4));--ibiz-markdown-light-thumb-hover-bg-color:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-border-color:var(--ibiz-color-border);--ibiz-markdown-dark-border-color:rgb(var(--ibiz-grey-2));--ibiz-markdown-dark-thumb-bg-color:rgb(var(--ibiz-grey-4));--ibiz-markdown-dark-thumb-hover-bg-color:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-placeholder-color:var(--ibiz-form-item-placeholder-color);--ibiz-markdown-disabled-font-size:var(--ibiz-font-size-regular);--ibiz-markdown-disabled-color:var(--ibiz-color-text-0);--ibiz-markdown-disabled-hover-bg-color:var(--ibiz-color-bg-3);--ibiz-markdown-text-color:var(--ibiz-form-item-text-color);--ibiz-markdown-diff-inserted-color:var(--ibiz-color-success-text);--ibiz-markdown-diff-inserted-bg-color:var(--ibiz-color-success);--ibiz-markdown-diff-deleted-color:var(--ibiz-color-danger-text);--ibiz-markdown-diff-deleted-bg-color:var(--ibiz-color-danger);--ibiz-markdown-header-gap:var(--ibiz-spacing-base);--ibiz-markdown-header-height:var(--ibiz-height-control-default);--ibiz-markdown-header-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-footer-gap:var(--ibiz-spacing-base);--ibiz-markdown-footer-height:var(--ibiz-height-control-default);--ibiz-markdown-footer-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-footer-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-toolbar-light-bg-color:var(--ibiz-color-bg-0);--ibiz-markdown-toolbar-dark-bg-color:var(--ibiz-color-shadow);--ibiz-markdown-toc-color:var(--ibiz-color-black);--ibiz-markdown-toc-head-color:var(--ibiz-color-primary);--ibiz-markdown-toc-light-color:var(--ibiz-color-text-0);--ibiz-markdown-toc-dark-color:var(--ibiz-color-fill-0);--ibiz-markdown-footer-button-height:var(--ibiz-height-control-default);--ibiz-markdown-footer-button-save-color:var(--ibiz-color-primary-active-text);--ibiz-markdown-footer-button-save-bg-color:var(--ibiz-color-primary);--ibiz-markdown-footer-button-save-border-radius:var(--ibiz-border-radius-small);--ibiz-markdown-footer-button-cancel-color:var(--ibiz-color-text-1);--ibiz-markdown-footer-button-cancel-hover-color:var(--ibiz-color-primary)}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-header-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-header-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:1000;width:100%;height:var(--ibiz-markdown-header-height);padding:var(--ibiz-markdown-header-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:var(--ibiz-spacing-super-loose);height:calc(100% - var(--ibiz-spacing-super-loose))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-footer-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-footer-height);margin:var(--ibiz-markdown-footer-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-footer-button-height);padding:0 var(--ibiz-spacing-base);line-height:var(--ibiz-markdown-footer-button-height);color:var(--ibiz-markdown-footer-button-save-color);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-footer-button-save-bg-color);border-radius:var(--ibiz-markdown-footer-button-border-radius)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-footer-button-cancel-color);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-footer-button-cancel-hover-color)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:1000;width:100%;height:calc(var(--ibiz-markdown-footer-height) * 2);padding:var(--ibiz-markdown-footer-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-footer-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:-32px;right:-36px;width:32px;height:32px}.ibiz-markdown .ibiz-markdown-cherry{width:100%;outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-markdown-border-color);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-markdown-border-color);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-floatmenu{left:50%!important;margin:0;transform:translateX(-50%)}.ibiz-markdown .ibiz-markdown-cherry .cherry .CodeMirror-placeholder{color:var(--ibiz-markdown-placeholder-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-dropdown{width:-moz-min-content;width:min-content}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-dropdown-item{white-space:nowrap}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-markdown-disabled-font-size);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-markdown-disabled-color)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-markdown-disabled-hover-bg-color)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-height-control-default))!important}.ibiz-markdown.is-manual .cherry.fullscreen .cherry-previewer{padding-top:var(--ibiz-spacing-extra-loose)}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual.is-editing .cherry.fullscreen{height:calc(100% - var(--ibiz-height-control-default) * 2)}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-composite-form-item-ex-menu-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-markdown-border-color);border-left:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .cherry-flex-toc__fixed{color:var(--ibiz-markdown-toc-color)}.ibiz-markdown .cherry-flex-toc__fixed.cherry-flex-toc__pure .cherry-toc-head{color:var(--ibiz-markdown-toc-head-color)}.ibiz-markdown .cherry-flex-toc__fixed:hover{z-index:100}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-markdown-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff{display:inline-block;width:100%}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line{display:inline-block;width:100%;line-height:1.3em}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token{display:flex}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token .line{display:inline-block}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token .line:empty{display:none}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .token.inserted{color:var(--ibiz-markdown-diff-inserted-color);background:var(--ibiz-markdown-diff-inserted-bg-color)}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .token.deleted{color:var(--ibiz-markdown-diff-deleted-color);background:var(--ibiz-markdown-diff-deleted-bg-color)}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-markdown-toolbar-light-bg-color)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-toc-light-color)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-light-thumb-bg-color)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-light-thumb-hover-bg-color)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-dark-border-color)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-markdown-toolbar-dark-bg-color)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-toc-dark-color)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-dark-thumb-bg-color)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-dark-thumb-hover-bg-color)}
1
+ .ibiz-markdown{--ibiz-markdown-light-thumb-bg-color:rgb(var(--ibiz-grey-4));--ibiz-markdown-light-thumb-hover-bg-color:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-border-color:var(--ibiz-color-border);--ibiz-markdown-dark-border-color:rgb(var(--ibiz-grey-2));--ibiz-markdown-dark-thumb-bg-color:rgb(var(--ibiz-grey-4));--ibiz-markdown-dark-thumb-hover-bg-color:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-placeholder-color:var(--ibiz-form-item-placeholder-color);--ibiz-markdown-disabled-font-size:var(--ibiz-font-size-regular);--ibiz-markdown-disabled-color:var(--ibiz-color-text-0);--ibiz-markdown-disabled-hover-bg-color:var(--ibiz-color-bg-3);--ibiz-markdown-text-color:var(--ibiz-form-item-text-color);--ibiz-markdown-diff-inserted-color:var(--ibiz-color-success-text);--ibiz-markdown-diff-inserted-bg-color:var(--ibiz-color-success);--ibiz-markdown-diff-deleted-color:var(--ibiz-color-danger-text);--ibiz-markdown-diff-deleted-bg-color:var(--ibiz-color-danger);--ibiz-markdown-header-gap:var(--ibiz-spacing-base);--ibiz-markdown-header-height:var(--ibiz-height-control-default);--ibiz-markdown-header-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-footer-gap:var(--ibiz-spacing-base);--ibiz-markdown-footer-height:var(--ibiz-height-control-default);--ibiz-markdown-footer-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-footer-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-toolbar-light-bg-color:var(--ibiz-color-bg-0);--ibiz-markdown-toolbar-dark-bg-color:var(--ibiz-color-shadow);--ibiz-markdown-toc-color:var(--ibiz-color-black);--ibiz-markdown-toc-head-color:var(--ibiz-color-primary);--ibiz-markdown-toc-light-color:var(--ibiz-color-text-0);--ibiz-markdown-toc-dark-color:var(--ibiz-color-fill-0);--ibiz-markdown-footer-button-height:var(--ibiz-height-control-default);--ibiz-markdown-footer-button-save-color:var(--ibiz-color-primary-active-text);--ibiz-markdown-footer-button-save-bg-color:var(--ibiz-color-primary);--ibiz-markdown-footer-button-save-border-radius:var(--ibiz-border-radius-small);--ibiz-markdown-footer-button-cancel-color:var(--ibiz-color-text-1);--ibiz-markdown-footer-button-cancel-hover-color:var(--ibiz-color-primary)}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-header-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-header-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:1000;width:100%;height:var(--ibiz-markdown-header-height);padding:var(--ibiz-markdown-header-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:var(--ibiz-spacing-super-loose);height:calc(100% - var(--ibiz-spacing-super-loose))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-footer-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-footer-height);margin:var(--ibiz-markdown-footer-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-footer-button-height);padding:0 var(--ibiz-spacing-base);line-height:var(--ibiz-markdown-footer-button-height);color:var(--ibiz-markdown-footer-button-save-color);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-footer-button-save-bg-color);border-radius:var(--ibiz-markdown-footer-button-border-radius)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-footer-button-cancel-color);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-footer-button-cancel-hover-color)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:1000;width:100%;height:calc(var(--ibiz-markdown-footer-height) * 2);padding:var(--ibiz-markdown-footer-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-footer-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:-32px;right:-36px;width:32px;height:32px}.ibiz-markdown .ibiz-markdown-cherry{width:100%;outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-markdown-border-color);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{min-height:58px;border-top:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-markdown-border-color);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-floatmenu{left:50%!important;margin:0;transform:translateX(-50%)}.ibiz-markdown .ibiz-markdown-cherry .cherry .CodeMirror-placeholder{color:var(--ibiz-markdown-placeholder-color)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-dropdown{width:-moz-min-content;width:min-content}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-dropdown-item{white-space:nowrap}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-markdown-disabled-font-size);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-markdown-disabled-color)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-markdown-disabled-hover-bg-color)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-height-control-default))!important}.ibiz-markdown.is-manual .cherry.fullscreen .cherry-previewer{padding-top:var(--ibiz-spacing-extra-loose)}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual.is-editing .cherry.fullscreen{height:calc(100% - var(--ibiz-height-control-default) * 2)}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-composite-form-item-ex-menu-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-markdown-border-color);border-left:1px solid var(--ibiz-markdown-border-color)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .cherry-flex-toc__fixed{color:var(--ibiz-markdown-toc-color)}.ibiz-markdown .cherry-flex-toc__fixed.cherry-flex-toc__pure .cherry-toc-head{color:var(--ibiz-markdown-toc-head-color)}.ibiz-markdown .cherry-flex-toc__fixed:hover{z-index:100}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-markdown-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff{display:inline-block;width:100%}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line{display:inline-block;width:100%;line-height:1.3em}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token{display:flex}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token .line{display:inline-block}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .code-line>.token .line:empty{display:none}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .token.inserted{color:var(--ibiz-markdown-diff-inserted-color);background:var(--ibiz-markdown-diff-inserted-bg-color)}.ibiz-markdown .cherry-markdown div[data-type=codeBlock] code.language-diff .token.deleted{color:var(--ibiz-markdown-diff-deleted-color);background:var(--ibiz-markdown-diff-deleted-bg-color)}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-markdown-toolbar-light-bg-color)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-toc-light-color)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-light-thumb-bg-color)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-light-thumb-hover-bg-color)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-dark-border-color)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-markdown-toolbar-dark-bg-color)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-toc-dark-color)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-dark-thumb-bg-color)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-dark-thumb-hover-bg-color)}
@@ -89,6 +89,12 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
89
89
  return "string";
90
90
  }
91
91
  });
92
+ const showPassword = vue.computed(() => {
93
+ if (c.editorParams.showpassword) {
94
+ return c.toBoolean(c.editorParams.showpassword);
95
+ }
96
+ return type.value === "password";
97
+ });
92
98
  const showFormDefaultContent = vue.computed(() => {
93
99
  if (props.controlParams && props.controlParams.editmode === "hover" && !props.readonly) {
94
100
  return true;
@@ -307,6 +313,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
307
313
  isAuto,
308
314
  editorRef,
309
315
  showLimit,
316
+ showPassword,
310
317
  childClass,
311
318
  childStyle,
312
319
  isEditable,
@@ -397,7 +404,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
397
404
  "class": [this.ns.b("input"), this.semanticClass("editor.content")],
398
405
  "disabled": this.disabled,
399
406
  "style": this.semanticStyle("editor.content"),
400
- "show-password": this.type === "password",
407
+ "show-password": this.showPassword,
401
408
  "autocomplete": this.shouldAutoComplete,
402
409
  "id": this.curInstanceUUID
403
410
  }, this.$attrs), _isSlot(slots) ? slots : {
@@ -884,12 +884,6 @@ var index = {
884
884
  failed: "File upload failure",
885
885
  title: "Process manager"
886
886
  },
887
- appUtil: {
888
- aiTitle: "delete conversation",
889
- aiDesc: "After deletion, the conversation will not be recoverable. Are you sure to delete?",
890
- clearTopic: "Clear conversation",
891
- clearTopicDesc: "Are you sure to clear all conversation data except for the current activation item?"
892
- },
893
887
  appModal: {
894
888
  prev: "Previous record",
895
889
  next: "Next record"
@@ -880,12 +880,6 @@ var index = {
880
880
  failed: "\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25",
881
881
  title: "\u8FDB\u7A0B\u7BA1\u7406\u5668"
882
882
  },
883
- appUtil: {
884
- aiTitle: "\u5220\u9664\u5BF9\u8BDD",
885
- aiDesc: "\u5220\u9664\u540E\uFF0C\u8BE5\u5BF9\u8BDD\u5C06\u4E0D\u53EF\u6062\u590D\u3002\u786E\u8BA4\u5220\u9664\u5417\uFF1F",
886
- clearTopic: "\u6E05\u7A7A\u4F1A\u8BDD",
887
- clearTopicDesc: "\u786E\u8BA4\u6E05\u7A7A\u9664\u5F53\u524D\u6FC0\u6D3B\u9879\u5916\u7684\u6240\u6709\u4F1A\u8BDD\u6570\u636E\uFF1F"
888
- },
889
883
  appModal: {
890
884
  prev: "\u4E0A\u4E00\u4E2A\u8BB0\u5F55",
891
885
  next: "\u4E0B\u4E00\u4E2A\u8BB0\u5F55"
@@ -50,6 +50,7 @@ const BottomSideMenu = /* @__PURE__ */ vue.defineComponent({
50
50
  }, [vue.createVNode(vue.resolveComponent("iBizCommonExtendMenu"), {
51
51
  "renderMode": this.controller.rawItemParams.rendermode,
52
52
  "items": this.state.items,
53
+ "controller": this.controller,
53
54
  "menuItemsState": this.state.menuItemsState,
54
55
  "providers": this.controller.itemProviders,
55
56
  "position": "BOTTOM",
@@ -61,6 +61,10 @@ const CommonExtendMenu = /* @__PURE__ */ vue.defineComponent({
61
61
  */
62
62
  layout: {
63
63
  type: Object
64
+ },
65
+ controller: {
66
+ type: Object,
67
+ required: true
64
68
  }
65
69
  },
66
70
  emits: {
@@ -88,6 +92,7 @@ const CommonExtendMenu = /* @__PURE__ */ vue.defineComponent({
88
92
  var _a;
89
93
  let content = vue.createVNode(extendButtonMenu.ExtendButtonMenu, vue.mergeProps({
90
94
  "items": this.items,
95
+ "controller": this.controller,
91
96
  "menuItemsState": this.menuItemsState,
92
97
  "providers": this.providers,
93
98
  "position": this.position,
@@ -98,6 +103,7 @@ const CommonExtendMenu = /* @__PURE__ */ vue.defineComponent({
98
103
  if (((_a = this.renderMode) == null ? void 0 : _a.toLocaleUpperCase()) === "MENU") {
99
104
  content = vue.createVNode(extendStandardMenu.ExtendStandardMenu, vue.mergeProps({
100
105
  "items": this.items,
106
+ "controller": this.controller,
101
107
  "menuItemsState": this.menuItemsState,
102
108
  "providers": this.providers,
103
109
  "position": this.position,
@@ -17,6 +17,28 @@ const rightArrow = () => vue.createVNode("svg", {
17
17
  "fill": "currentColor",
18
18
  "d": "M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"
19
19
  }, null)]);
20
+ function renderItemRender(params) {
21
+ var _a, _b;
22
+ const {
23
+ ns,
24
+ menu,
25
+ controller
26
+ } = params;
27
+ const panel = (_b = (_a = menu.controlRenders) == null ? void 0 : _a.find((render) => render.renderType === "LAYOUTPANEL")) == null ? void 0 : _b.layoutPanel;
28
+ if (panel)
29
+ return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
30
+ "class": ns.e("panel"),
31
+ "modelData": panel,
32
+ "context": controller.context,
33
+ "params": controller.params
34
+ }, null);
35
+ const htmlCode = controller.getCustomHtml(menu);
36
+ if (htmlCode)
37
+ return vue.createVNode("div", {
38
+ "class": ns.e("script"),
39
+ "innerHTML": htmlCode
40
+ }, null);
41
+ }
20
42
  function renderMenuItem(params) {
21
43
  var _a, _b, _c;
22
44
  const {
@@ -28,6 +50,9 @@ function renderMenuItem(params) {
28
50
  } = params;
29
51
  if (!menu.id || !((_a = menuItemsState[menu.id]) == null ? void 0 : _a.visible))
30
52
  return;
53
+ const render = renderItemRender(params);
54
+ if (render)
55
+ return render;
31
56
  if (menu.itemType === "MENUITEM") {
32
57
  return vue.createVNode(vue.resolveComponent("el-button"), {
33
58
  "class": [ns.e("menuitem"), "".concat(((_b = menu.sysCss) == null ? void 0 : _b.cssName) || ""), semantic.semanticClass("item", {
@@ -98,6 +123,7 @@ function renderMenuContent(_params) {
98
123
  menuItemsState,
99
124
  showCascaderArrow,
100
125
  semantic,
126
+ controller,
101
127
  handleMenuItemClick,
102
128
  handleMenuItemMouseEnter,
103
129
  handleMenuItemMouseLeave
@@ -114,7 +140,8 @@ function renderMenuContent(_params) {
114
140
  ns,
115
141
  menuAlign,
116
142
  menuItemsState,
117
- semantic
143
+ semantic,
144
+ controller
118
145
  });
119
146
  if (!menuItem)
120
147
  return;
@@ -174,6 +201,10 @@ const ExtendButtonMenu = /* @__PURE__ */ vue.defineComponent({
174
201
  semanticClass: () => "",
175
202
  semanticStyle: () => ""
176
203
  })
204
+ },
205
+ controller: {
206
+ type: Object,
207
+ required: true
177
208
  }
178
209
  },
179
210
  emits: {
@@ -199,7 +230,8 @@ const ExtendButtonMenu = /* @__PURE__ */ vue.defineComponent({
199
230
  handleMenuItemMouseLeave,
200
231
  showCascaderArrow: true,
201
232
  isLayout: false,
202
- semantic: props.semantic
233
+ semantic: props.semantic,
234
+ controller: props.controller
203
235
  });
204
236
  };
205
237
  const renderBorderContent = () => {
@@ -214,7 +246,8 @@ const ExtendButtonMenu = /* @__PURE__ */ vue.defineComponent({
214
246
  handleMenuItemMouseLeave,
215
247
  showCascaderArrow: true,
216
248
  isLayout: false,
217
- semantic: props.semantic
249
+ semantic: props.semantic,
250
+ controller: props.controller
218
251
  });
219
252
  };
220
253
  const {
@@ -267,7 +300,8 @@ const ExtendButtonMenu = /* @__PURE__ */ vue.defineComponent({
267
300
  handleMenuItemClick: this.handleMenuItemClick,
268
301
  handleMenuItemMouseEnter: this.handleMenuItemMouseEnter,
269
302
  handleMenuItemMouseLeave: this.handleMenuItemMouseLeave,
270
- semantic: this.semantic
303
+ semantic: this.semantic,
304
+ controller: this.controller
271
305
  })]);
272
306
  }
273
307
  });
@@ -1 +1 @@
1
- .ibiz-extend-menu-button{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-color:var(--ibiz-extend-menu-button-color);width:100%;height:100%;padding:var(--ibiz-extend-menu-button-padding)}.ibiz-extend-menu-button__menuitem{width:100%;height:100%;font-size:var(--ibiz-extend-menu-button-item-font-size)}.ibiz-extend-menu-button__rawitem{width:100%;height:100%}.ibiz-extend-menu-button__rawitem .ibiz-rawitem{min-width:var(--ibiz-extend-menu-button-rawitem-min-width);font-size:initial;color:var(--ibiz-extend-menu-button-color)}.ibiz-extend-menu-button__separator--horizontal{margin:0}.ibiz-extend-menu-button__separator--vertical{margin:0}.ibiz-extend-menu-button__icon{display:flex;align-items:center;width:var(--ibiz-extend-menu-button-item-icon-width);height:var(--ibiz-extend-menu-button-item-icon-height);font-size:var(--ibiz-extend-menu-button-item-icon-size)}.ibiz-extend-menu-button__icon+.ibiz-extend-menu-button__caption{margin-left:var(--ibiz-extend-menu-button-item-icon-gap)}.ibiz-extend-menu-button__content{display:flex;flex-wrap:nowrap;height:100%;padding:var(--ibiz-extend-menu-button-content-padding);overflow:auto}.ibiz-extend-menu-button__content--item{display:flex;align-items:center}.ibiz-extend-menu-button__content--item.is-show-arrow{position:relative}.ibiz-extend-menu-button__content--item.is-show-arrow .ibiz-extend-menu-button__menuitem::after{display:block;width:1em;height:1em;margin-left:auto;content:""}.ibiz-extend-menu-button__content--item.is-rotate-arrow svg{transform:rotate(180deg)}.ibiz-extend-menu-button__content--item-container{display:flex;align-items:center;height:100%}.ibiz-extend-menu-button__content--menuitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--rawitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--item-arrow{position:absolute;top:50%;right:15px;display:flex;align-items:center;justify-content:center;color:var(--ibiz-extend-menu-button-color);transform:translateY(-50%)}.ibiz-extend-menu-button__content--item-arrow svg{transition:transform .3s ease}.ibiz-extend-menu-button__content.is-horizontal{align-items:center}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item:first-child{margin-left:0}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-container:not(:has(.el-divider)){min-width:var(--ibiz-extend-menu-button-item-horizontal-min-width)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator{width:auto;margin:var(--ibiz-extend-menu-button-divider-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-left:0}.ibiz-extend-menu-button__content.is-vertical{flex-direction:column}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item:first-child{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator{margin:var(--ibiz-extend-menu-button-divider-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__menuitem{justify-content:flex-start}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__rawitem{justify-content:flex-start}.ibiz-extend-menu-button__content .el-button{--ibiz-color-primary-hover:var(--ibiz-extend-menu-button-active-bg-color);--ibiz-color-primary-hover-text:var(--ibiz-extend-menu-button-active-color);--ibiz-color-primary-active:var(--ibiz-extend-menu-button-hover-bg-color);--ibiz-color-primary-active-text:var(--ibiz-extend-menu-button-hover-color);--el-button-text-color:var(--ibiz-extend-menu-button-color)}.ibiz-extend-menu-button__content .el-button:focus{background-color:var(--ibiz-extend-menu-button-hover-bg-color)}.ibiz-extend-menu-button__content .el-button:hover{background-color:var(--ibiz-extend-menu-button-active-bg-color)}.ibiz-extend-menu-button.is-vertical{--ibiz-extend-menu-button-padding:var(--ibiz-extend-menu-button-item-vertical-padding)}.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button.is-horizontal .ibiz-extend-menu-button__menuitem{font-size:var(--ibiz-extend-menu-button-item-horizontal-font-size)}.ibiz-extend-menu-button.is-horizontal .ibiz-extend-menu-button__icon{justify-content:center}.ibiz-extend-menu-button-cascader-popover{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-popover-box-shadow:var(--ibiz-shadow-elevated);--ibiz-extend-menu-button-divider-color:var(--ibiz-color-scroll-menu);--ibiz-extend-menu-button-divider-horizontal-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-divider-vertical-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-extend-menu-button-popover-box-shadow)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-extend-menu-button-divider-color)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-popover-box-shadow:var(--ibiz-shadow-elevated);--ibiz-extend-menu-button-divider-color:var(--ibiz-color-scroll-menu);--ibiz-extend-menu-button-divider-horizontal-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-divider-vertical-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-extend-menu-button-popover-box-shadow)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-extend-menu-button-divider-color)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-arrow{transform:translateY(-50%) rotate(90deg)}.ibiz-extend-menu-button-border-popover.is-horizontal .ibiz-extend-menu-button__menuitem{font-size:var(--ibiz-extend-menu-button-item-horizontal-font-size)}.ibiz-extend-menu-button-border-popover.is-horizontal .ibiz-extend-menu-button__icon{justify-content:center}.ibiz-extend-menu-button-placehold{position:fixed;z-index:3;display:flex;align-items:center;justify-content:center;cursor:pointer}.ibiz-extend-menu-button-placehold__line{position:absolute}.ibiz-extend-menu-button-placehold__arrow{color:var(--ibiz-color-text-2)}.ibiz-extend-menu-button-placehold.is-left .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right .ibiz-extend-menu-button-placehold__line{top:0;right:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right svg{transform:rotate(180deg)}.ibiz-extend-menu-button-placehold.is-top .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-top svg{transform:rotate(90deg)}.ibiz-extend-menu-button-placehold.is-bottom .ibiz-extend-menu-button-placehold__line{bottom:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-bottom svg{transform:rotate(-90deg)}
1
+ .ibiz-extend-menu-button{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-color:var(--ibiz-extend-menu-button-color);width:100%;height:100%;padding:var(--ibiz-extend-menu-button-padding)}.ibiz-extend-menu-button__panel{line-height:normal}.ibiz-extend-menu-button__menuitem{width:100%;height:100%;font-size:var(--ibiz-extend-menu-button-item-font-size)}.ibiz-extend-menu-button__rawitem{width:100%;height:100%}.ibiz-extend-menu-button__rawitem .ibiz-rawitem{min-width:var(--ibiz-extend-menu-button-rawitem-min-width);font-size:initial;color:var(--ibiz-extend-menu-button-color)}.ibiz-extend-menu-button__separator--horizontal{margin:0}.ibiz-extend-menu-button__separator--vertical{margin:0}.ibiz-extend-menu-button__icon{display:flex;align-items:center;width:var(--ibiz-extend-menu-button-item-icon-width);height:var(--ibiz-extend-menu-button-item-icon-height);font-size:var(--ibiz-extend-menu-button-item-icon-size)}.ibiz-extend-menu-button__icon+.ibiz-extend-menu-button__caption{margin-left:var(--ibiz-extend-menu-button-item-icon-gap)}.ibiz-extend-menu-button__content{display:flex;flex-wrap:nowrap;height:100%;padding:var(--ibiz-extend-menu-button-content-padding);overflow:auto}.ibiz-extend-menu-button__content--item{display:flex;align-items:center}.ibiz-extend-menu-button__content--item.is-show-arrow{position:relative}.ibiz-extend-menu-button__content--item.is-show-arrow .ibiz-extend-menu-button__menuitem::after{display:block;width:1em;height:1em;margin-left:auto;content:""}.ibiz-extend-menu-button__content--item.is-rotate-arrow svg{transform:rotate(180deg)}.ibiz-extend-menu-button__content--item-container{display:flex;align-items:center;height:100%}.ibiz-extend-menu-button__content--menuitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--rawitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--item-arrow{position:absolute;top:50%;right:15px;display:flex;align-items:center;justify-content:center;color:var(--ibiz-extend-menu-button-color);transform:translateY(-50%)}.ibiz-extend-menu-button__content--item-arrow svg{transition:transform .3s ease}.ibiz-extend-menu-button__content.is-horizontal{align-items:center}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item:first-child{margin-left:0}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-container:not(:has(.el-divider)){min-width:var(--ibiz-extend-menu-button-item-horizontal-min-width)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator{width:auto;margin:var(--ibiz-extend-menu-button-divider-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-left:0}.ibiz-extend-menu-button__content.is-vertical{flex-direction:column}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item:first-child{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator{margin:var(--ibiz-extend-menu-button-divider-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__menuitem{justify-content:flex-start}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__rawitem{justify-content:flex-start}.ibiz-extend-menu-button__content .el-button{--ibiz-color-primary-hover:var(--ibiz-extend-menu-button-active-bg-color);--ibiz-color-primary-hover-text:var(--ibiz-extend-menu-button-active-color);--ibiz-color-primary-active:var(--ibiz-extend-menu-button-hover-bg-color);--ibiz-color-primary-active-text:var(--ibiz-extend-menu-button-hover-color);--el-button-text-color:var(--ibiz-extend-menu-button-color)}.ibiz-extend-menu-button__content .el-button:focus{background-color:var(--ibiz-extend-menu-button-hover-bg-color)}.ibiz-extend-menu-button__content .el-button:hover{background-color:var(--ibiz-extend-menu-button-active-bg-color)}.ibiz-extend-menu-button.is-vertical{--ibiz-extend-menu-button-padding:var(--ibiz-extend-menu-button-item-vertical-padding)}.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button.is-horizontal .ibiz-extend-menu-button__menuitem{font-size:var(--ibiz-extend-menu-button-item-horizontal-font-size)}.ibiz-extend-menu-button.is-horizontal .ibiz-extend-menu-button__icon{justify-content:center}.ibiz-extend-menu-button-cascader-popover{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-popover-box-shadow:var(--ibiz-shadow-elevated);--ibiz-extend-menu-button-divider-color:var(--ibiz-color-scroll-menu);--ibiz-extend-menu-button-divider-horizontal-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-divider-vertical-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-extend-menu-button-popover-box-shadow)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-extend-menu-button-divider-color)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover{--ibiz-extend-menu-button-color:var(--ibiz-color-text-menu);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-font-size:var(--ibiz-extend-menu-button-font-size);--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-font-size:var(--ibiz-font-size-header-5);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-padding:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-item-icon-width:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-height:var(--ibiz-width-icon-large);--ibiz-extend-menu-button-item-icon-size:var(--ibiz-width-icon-medium);--ibiz-extend-menu-button-item-icon-gap:var(--ibiz-spacing-tight);--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-popover-box-shadow:var(--ibiz-shadow-elevated);--ibiz-extend-menu-button-divider-color:var(--ibiz-color-scroll-menu);--ibiz-extend-menu-button-divider-horizontal-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-divider-vertical-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-extend-menu-button-popover-box-shadow)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-extend-menu-button-divider-color)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-arrow{transform:translateY(-50%) rotate(90deg)}.ibiz-extend-menu-button-border-popover.is-horizontal .ibiz-extend-menu-button__menuitem{font-size:var(--ibiz-extend-menu-button-item-horizontal-font-size)}.ibiz-extend-menu-button-border-popover.is-horizontal .ibiz-extend-menu-button__icon{justify-content:center}.ibiz-extend-menu-button-placehold{position:fixed;z-index:3;display:flex;align-items:center;justify-content:center;cursor:pointer}.ibiz-extend-menu-button-placehold__line{position:absolute}.ibiz-extend-menu-button-placehold__arrow{color:var(--ibiz-color-text-2)}.ibiz-extend-menu-button-placehold.is-left .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right .ibiz-extend-menu-button-placehold__line{top:0;right:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right svg{transform:rotate(180deg)}.ibiz-extend-menu-button-placehold.is-top .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-top svg{transform:rotate(90deg)}.ibiz-extend-menu-button-placehold.is-bottom .ibiz-extend-menu-button-placehold__line{bottom:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-bottom svg{transform:rotate(-90deg)}
@@ -287,6 +287,34 @@ class ExtendMenuBaseController extends runtime.PanelItemController {
287
287
  }
288
288
  );
289
289
  }
290
+ /**
291
+ * @description 解析获取脚本代码html
292
+ * @param {IAppMenuItem} menuItem
293
+ * @returns {*} {(string | undefined)}
294
+ * @memberof ExtendMenuBaseController
295
+ */
296
+ getCustomHtml(menuItem) {
297
+ var _a;
298
+ const { controlRenders = [] } = menuItem;
299
+ let scriptCode = (_a = controlRenders.find(
300
+ (render) => render.renderType === "LAYOUTPANEL_MODEL"
301
+ )) == null ? void 0 : _a.layoutPanelModel;
302
+ if (scriptCode) {
303
+ if (!scriptCode.includes("return"))
304
+ scriptCode = "return (".concat(scriptCode, ")");
305
+ return runtime.ScriptFactory.execScriptFn(
306
+ {
307
+ context: this.context,
308
+ params: this.params,
309
+ ctrl: this,
310
+ view: this.view,
311
+ metadata: { model: menuItem }
312
+ },
313
+ scriptCode,
314
+ { isAsync: false }
315
+ );
316
+ }
317
+ }
290
318
  }
291
319
 
292
320
  exports.ExtendMenuBaseController = ExtendMenuBaseController;
@@ -16,6 +16,28 @@ const ellipsisSvg = () => {
16
16
  "name": "ellipsis-horizontal"
17
17
  }, null);
18
18
  };
19
+ function renderItemRender(params) {
20
+ var _a, _b;
21
+ const {
22
+ ns,
23
+ menu,
24
+ controller
25
+ } = params;
26
+ const panel = (_b = (_a = menu.controlRenders) == null ? void 0 : _a.find((render) => render.renderType === "LAYOUTPANEL")) == null ? void 0 : _b.layoutPanel;
27
+ if (panel)
28
+ return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
29
+ "class": ns.e("panel"),
30
+ "modelData": panel,
31
+ "context": controller.context,
32
+ "params": controller.params
33
+ }, null);
34
+ const htmlCode = controller.getCustomHtml(menu);
35
+ if (htmlCode)
36
+ return vue.createVNode("div", {
37
+ "class": ns.e("script"),
38
+ "innerHTML": htmlCode
39
+ }, null);
40
+ }
19
41
  function renderMenuItem(_params) {
20
42
  var _a, _b, _c, _d;
21
43
  const {
@@ -30,6 +52,7 @@ function renderMenuItem(_params) {
30
52
  if (!menu.id || menuItemsState && !((_a = menuItemsState[menu.id]) == null ? void 0 : _a.visible)) {
31
53
  return;
32
54
  }
55
+ const render = renderItemRender(_params);
33
56
  if (menu.itemType === "MENUITEM") {
34
57
  let content;
35
58
  if (!(isFirst && collapse)) {
@@ -67,6 +90,8 @@ function renderMenuItem(_params) {
67
90
  })
68
91
  }, [(_b = menu.caption) == null ? void 0 : _b.slice(0, 1)])];
69
92
  }
93
+ if (render)
94
+ content = render;
70
95
  return !(isFirst && collapse) ? vue.createVNode(vue.resolveComponent("el-menu-item"), {
71
96
  "class": [ns.e("item"), "".concat(((_c = menu.sysCss) == null ? void 0 : _c.cssName) || ""), semantic.semanticClass("item", {
72
97
  item: menu
@@ -102,6 +127,8 @@ function renderMenuItem(_params) {
102
127
  }
103
128
  if (menu.itemType === "SEPERATOR") {
104
129
  const direction = menuAlign === "horizontal" && isFirst ? "vertical" : "horizontal";
130
+ if (render)
131
+ return render;
105
132
  return vue.createVNode(vue.resolveComponent("el-divider"), {
106
133
  "direction": direction,
107
134
  "class": [ns.em("separator", direction), semantic.semanticClass("divider", {
@@ -124,7 +151,7 @@ function renderMenuItem(_params) {
124
151
  item: menu
125
152
  })
126
153
  }, {
127
- default: () => [vue.createVNode(vue.resolveComponent("iBizRawItem"), {
154
+ default: () => [render || vue.createVNode(vue.resolveComponent("iBizRawItem"), {
128
155
  "rawItem": menu
129
156
  }, null)]
130
157
  });
@@ -139,7 +166,8 @@ function renderSubmenu(_params) {
139
166
  ns,
140
167
  menuAlign,
141
168
  menuItemsState,
142
- semantic
169
+ semantic,
170
+ controller
143
171
  } = _params;
144
172
  if (!menu.id || menuItemsState && !((_a = menuItemsState[menu.id]) == null ? void 0 : _a.visible)) {
145
173
  return;
@@ -166,7 +194,8 @@ function renderSubmenu(_params) {
166
194
  ns,
167
195
  menuAlign,
168
196
  menuItemsState,
169
- semantic
197
+ semantic,
198
+ controller
170
199
  });
171
200
  }
172
201
  return renderMenuItem({
@@ -176,7 +205,8 @@ function renderSubmenu(_params) {
176
205
  ns,
177
206
  menuAlign,
178
207
  menuItemsState,
179
- semantic
208
+ semantic,
209
+ controller
180
210
  });
181
211
  }),
182
212
  title: () => {
@@ -226,6 +256,7 @@ function renderMenuContent(_params) {
226
256
  menus,
227
257
  menuItemsState,
228
258
  semantic,
259
+ controller,
229
260
  handleMenuSelect
230
261
  } = _params;
231
262
  return vue.createVNode("div", {
@@ -252,7 +283,8 @@ function renderMenuContent(_params) {
252
283
  ns,
253
284
  menuAlign,
254
285
  menuItemsState,
255
- semantic
286
+ semantic,
287
+ controller
256
288
  });
257
289
  }
258
290
  return renderMenuItem({
@@ -262,7 +294,8 @@ function renderMenuContent(_params) {
262
294
  ns,
263
295
  menuAlign,
264
296
  menuItemsState,
265
- semantic
297
+ semantic,
298
+ controller
266
299
  });
267
300
  });
268
301
  }
@@ -300,6 +333,10 @@ const ExtendStandardMenu = /* @__PURE__ */ vue.defineComponent({
300
333
  semanticClass: () => "",
301
334
  semanticStyle: () => ""
302
335
  })
336
+ },
337
+ controller: {
338
+ type: Object,
339
+ required: true
303
340
  }
304
341
  },
305
342
  emits: {
@@ -350,7 +387,8 @@ const ExtendStandardMenu = /* @__PURE__ */ vue.defineComponent({
350
387
  menuLayout: this.layout,
351
388
  menuItemsState: this.menuItemsState,
352
389
  handleMenuSelect: this.handleMenuSelect,
353
- semantic: this.semantic
390
+ semantic: this.semantic,
391
+ controller: this.controller
354
392
  })]);
355
393
  }
356
394
  });