@tmagic/editor 1.7.5-beta.1 → 1.7.6

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.
@@ -15,7 +15,7 @@ import { emmetHTML, emmetCSS } from 'emmet-monaco-es';
15
15
  import * as monaco from 'monaco-editor';
16
16
  import { HookCodeType, HookType, NODE_DISABLE_CODE_BLOCK_KEY, NODE_DISABLE_DATA_SOURCE_KEY, NODE_CONDS_RESULT_KEY, NODE_CONDS_KEY, Target, Watcher, NodeType, ActionType, DepTargetType, traverseTarget, createCodeBlockTarget, createDataSourceTarget, createDataSourceCondTarget, createDataSourceMethodTarget, updateNode } from '@tmagic/core';
17
17
  export { DepTargetType } from '@tmagic/core';
18
- import { isPage, isPageFragment, isPop, getNodePath, isNumber, getElById, calcValueByFontsize, isValueIncludeDataSource, toLine, guid, getValueByKeyPath, setValueByKeyPath, getNodeInfo, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, dataSourceTemplateRegExp, getKeysArray, getKeys, convertToNumber, getIdFromEl, traverseNode, getDefaultValueFromFields, DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, removeClassName, addClassName, removeClassNameByClassName, getNodes, getDepNodeIds } from '@tmagic/utils';
18
+ import { isPage, isPageFragment, isPop, getNodePath, isNumber, getElById, calcValueByFontsize, isValueIncludeDataSource, toLine, guid, getValueByKeyPath, setValueByKeyPath, getNodeInfo, dataSourceTemplateRegExp, getKeysArray, getKeys, convertToNumber, getIdFromEl, traverseNode, getDefaultValueFromFields, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, removeDataSourceFieldPrefix, DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, removeClassName, addClassName, removeClassNameByClassName, getNodes, getDepNodeIds } from '@tmagic/utils';
19
19
  export * from '@tmagic/utils';
20
20
  import VanillaMoveable from 'moveable';
21
21
  import StageCore__default, { isFixed, GuidesType, getOffset, ContainerHighlightType, CONTAINER_HIGHLIGHT_CLASS_NAME, RenderType } from '@tmagic/stage';
@@ -89,9 +89,7 @@ const getEditorConfig = (key) => $TMAGIC_EDITOR[key];
89
89
  emmetHTML(monaco);
90
90
  emmetCSS(monaco, ["css", "scss"]);
91
91
 
92
- const _hoisted_1$_ = {
93
- class: /* @__PURE__ */ normalizeClass(`magic-code-editor`)
94
- };
92
+ const _hoisted_1$_ = { class: "magic-code-editor" };
95
93
  const _hoisted_2$o = {
96
94
  ref: "codeEditor",
97
95
  class: "magic-code-editor-content"
@@ -113,13 +111,15 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
113
111
  autoSave: { type: Boolean, default: true },
114
112
  parse: { type: Boolean, default: false },
115
113
  disabledFullScreen: { type: Boolean, default: false },
116
- autosize: {}
114
+ autosize: {},
115
+ editorCustomType: {}
117
116
  },
118
117
  emits: ["initd", "save"],
119
118
  setup(__props, { expose: __expose, emit: __emit }) {
120
119
  const props = __props;
121
120
  const emit = __emit;
122
121
  const autoHeight = ref("");
122
+ let cachedExtraHeight = null;
123
123
  const computeHeight = computed(() => {
124
124
  if (fullScreen.value) {
125
125
  return "100%";
@@ -132,6 +132,30 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
132
132
  }
133
133
  return "100%";
134
134
  });
135
+ const calculateExtraHeight = () => {
136
+ let extraHeight = 10;
137
+ if (vsEditor && codeEditorEl.value) {
138
+ try {
139
+ const editorElement = codeEditorEl.value.querySelector(".monaco-editor");
140
+ const scrollableElement = codeEditorEl.value.querySelector(".monaco-scrollable-element");
141
+ if (editorElement && scrollableElement) {
142
+ const editorRect = editorElement.getBoundingClientRect();
143
+ const scrollableRect = scrollableElement.getBoundingClientRect();
144
+ extraHeight = Math.max(editorRect.height - scrollableRect.height, 0);
145
+ if (extraHeight === 0) {
146
+ const editorOptions = vsEditor.getOptions();
147
+ const scrollBeyondLastLine = editorOptions.get(monaco.editor.EditorOption.scrollBeyondLastLine);
148
+ const padding = editorOptions.get(monaco.editor.EditorOption.padding);
149
+ const lineHeight = editorOptions.get(monaco.editor.EditorOption.lineHeight) || 20;
150
+ extraHeight = (scrollBeyondLastLine ? lineHeight : 0) + (padding?.top || 0) + (padding?.bottom || 0) + 10;
151
+ }
152
+ }
153
+ } catch (error) {
154
+ console.warn("Failed to calculate editor extra height:", error);
155
+ }
156
+ }
157
+ return extraHeight;
158
+ };
135
159
  const setAutoHeight = (v = "") => {
136
160
  let lines = Math.max(v.split("\n").length, props.autosize?.minRows || 1);
137
161
  if (v) {
@@ -144,7 +168,10 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
144
168
  const editorOptions = vsEditor.getOptions();
145
169
  lineHeight = editorOptions.get(monaco.editor.EditorOption.lineHeight) || 20;
146
170
  }
147
- const newHeight = `${lines * lineHeight + 10}px`;
171
+ if (cachedExtraHeight === null) {
172
+ cachedExtraHeight = calculateExtraHeight();
173
+ }
174
+ const newHeight = `${lines * lineHeight + cachedExtraHeight}px`;
148
175
  if (autoHeight.value !== newHeight) {
149
176
  autoHeight.value = newHeight;
150
177
  nextTick(() => {
@@ -235,10 +262,12 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
235
262
  if (codeEditorEl.value.clientHeight === 0) {
236
263
  await nextTick();
237
264
  }
265
+ cachedExtraHeight = null;
238
266
  const options = {
239
267
  value: values.value,
240
268
  language: props.language,
241
269
  theme: "vs-dark",
270
+ editorCustomType: props.editorCustomType,
242
271
  ...props.options
243
272
  };
244
273
  if (props.type === "diff") {
@@ -303,6 +332,7 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
303
332
  vsDiffEditor?.dispose();
304
333
  vsEditor = null;
305
334
  vsDiffEditor = null;
335
+ cachedExtraHeight = null;
306
336
  });
307
337
  onUnmounted(() => {
308
338
  codeEditorEl.value?.removeEventListener("keydown", handleKeyDown);
@@ -412,8 +442,9 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
412
442
  },
413
443
  autosize: __props.config.autosize,
414
444
  parse: __props.config.parse,
445
+ "editor-custom-type": __props.config.mFormItemType,
415
446
  onSave: save
416
- }, null, 8, ["height", "init-values", "language", "options", "autosize", "parse"]);
447
+ }, null, 8, ["height", "init-values", "language", "options", "autosize", "parse", "editor-custom-type"]);
417
448
  };
418
449
  }
419
450
  });
@@ -1221,6 +1252,23 @@ const isIncludeDataSource = (node, oldNode) => {
1221
1252
  }
1222
1253
  return isIncludeDataSource2;
1223
1254
  };
1255
+ const buildChangeRecords = (value, basePath) => {
1256
+ const changeRecords = [];
1257
+ const buildChangeRecords2 = (obj, basePath2) => {
1258
+ Object.entries(obj).forEach(([key, value2]) => {
1259
+ if (value2 !== void 0) {
1260
+ const currentPath = basePath2 ? `${basePath2}.${key}` : key;
1261
+ if (typeof value2 === "object" && value2 !== null && !Array.isArray(value2)) {
1262
+ buildChangeRecords2(value2, currentPath);
1263
+ } else {
1264
+ changeRecords.push({ propPath: currentPath, value: value2 });
1265
+ }
1266
+ }
1267
+ });
1268
+ };
1269
+ buildChangeRecords2(value, basePath);
1270
+ return changeRecords;
1271
+ };
1224
1272
 
1225
1273
  const compose = (middleware, isAsync) => {
1226
1274
  if (!Array.isArray(middleware)) throw new TypeError("Middleware 必须是一个数组!");
@@ -3028,36 +3076,36 @@ const getDisplayField = (dataSources, key) => {
3028
3076
  return displayState;
3029
3077
  };
3030
3078
  const getCascaderOptionsFromFields = (fields = [], dataSourceFieldType = ["any"]) => {
3031
- const child = [];
3032
- fields.forEach((field) => {
3033
- if (!dataSourceFieldType.length) {
3034
- dataSourceFieldType.push("any");
3035
- }
3036
- let children = [];
3037
- if (field.type && ["any", "array", "object"].includes(field.type)) {
3038
- children = getCascaderOptionsFromFields(field.fields, dataSourceFieldType);
3039
- }
3040
- const item = {
3041
- label: `${field.title || field.name}(${field.type})`,
3042
- value: field.name,
3043
- children
3044
- };
3079
+ const typeSet = new Set(dataSourceFieldType.length ? dataSourceFieldType : ["any"]);
3080
+ const includesAny = typeSet.has("any");
3081
+ const result = [];
3082
+ for (const field of fields) {
3045
3083
  const fieldType = field.type || "any";
3046
- if (dataSourceFieldType.includes("any") || dataSourceFieldType.includes(fieldType)) {
3047
- child.push(item);
3048
- return;
3049
- }
3050
- if (!dataSourceFieldType.includes(fieldType) && !["array", "object", "any"].includes(fieldType)) {
3051
- return;
3052
- }
3053
- if (!children.length && ["object", "array", "any"].includes(field.type || "")) {
3054
- return;
3084
+ const isContainerType = fieldType === "any" || fieldType === "array" || fieldType === "object";
3085
+ const children = isContainerType ? getCascaderOptionsFromFields(field.fields, dataSourceFieldType) : [];
3086
+ const matchesType = includesAny || typeSet.has(fieldType);
3087
+ if (matchesType || isContainerType && children.length) {
3088
+ result.push({
3089
+ label: `${field.title || field.name}(${field.type})`,
3090
+ value: field.name,
3091
+ children
3092
+ });
3055
3093
  }
3056
- child.push(item);
3057
- });
3058
- return child;
3094
+ }
3095
+ return result;
3096
+ };
3097
+ const getFieldType = (ds, fieldNames) => {
3098
+ let fields = ds?.fields;
3099
+ let type = "";
3100
+ for (const fieldName of fieldNames) {
3101
+ if (!fields?.length) return "";
3102
+ const field = fields.find((f) => f.name === fieldName);
3103
+ if (!field) return "";
3104
+ type = field.type || "";
3105
+ fields = field.fields;
3106
+ }
3107
+ return type;
3059
3108
  };
3060
- const removeDataSourceFieldPrefix = (id) => id?.replace(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, "") || "";
3061
3109
 
3062
3110
  globalThis.requestIdleCallback = globalThis.requestIdleCallback || function(cb) {
3063
3111
  const start = Date.now();
@@ -3516,17 +3564,11 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
3516
3564
  const options = computed(() => {
3517
3565
  const [id, ...fieldNames] = [...props.config.parentFields || [], ...props.model.field];
3518
3566
  const ds = dataSourceService.getDataSourceById(id);
3519
- let fields = ds?.fields || [];
3520
- let type = "";
3521
- (fieldNames || []).forEach((fieldName) => {
3522
- const field = fields.find((f) => f.name === fieldName);
3523
- fields = field?.fields || [];
3524
- type = field?.type || "";
3525
- });
3567
+ const type = getFieldType(ds, fieldNames);
3526
3568
  if (type === "array") {
3527
3569
  return arrayOptions;
3528
3570
  }
3529
- if (type === "boolean") {
3571
+ if (type === "boolean" || type === "null") {
3530
3572
  return [
3531
3573
  { text: "是", value: "is" },
3532
3574
  { text: "不是", value: "not" }
@@ -4013,7 +4055,12 @@ const useStage = (stageOptions) => {
4013
4055
  }
4014
4056
  return;
4015
4057
  }
4016
- editorService.update(ev.data.map((data) => ({ id: getIdFromEl()(data.el) || "", style: data.style })));
4058
+ ev.data.forEach((data) => {
4059
+ const id = getIdFromEl()(data.el);
4060
+ if (!id) return;
4061
+ const { style = {} } = data;
4062
+ editorService.update({ id, style }, { changeRecords: buildChangeRecords(style, "style") });
4063
+ });
4017
4064
  });
4018
4065
  stage.on("sort", (ev) => {
4019
4066
  editorService.sort(ev.src, ev.dist);
@@ -4463,6 +4510,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
4463
4510
  name: "defaultValue",
4464
4511
  text: "默认值",
4465
4512
  parse: true,
4513
+ mFormItemType: "data-source-field-defaultValue",
4466
4514
  type: (mForm, { model }) => {
4467
4515
  if (model.type === "number") return "number";
4468
4516
  if (model.type === "boolean") return "select";
@@ -6351,6 +6399,21 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent({
6351
6399
  const { dataSourceService } = useServices();
6352
6400
  const mForm = inject("mForm");
6353
6401
  const parentFields = computed(() => filterFunction(mForm, props.config.parentFields, props) || []);
6402
+ const fieldOnChange = (_formState, v, { model }) => {
6403
+ const [id, ...fieldNames] = [...parentFields.value, ...v];
6404
+ const ds = dataSourceService.getDataSourceById(id);
6405
+ const type = getFieldType(ds, fieldNames);
6406
+ if (type === "number") {
6407
+ model.value = Number(model.value);
6408
+ } else if (type === "boolean") {
6409
+ model.value = Boolean(model.value);
6410
+ } else if (type === "null") {
6411
+ model.value = null;
6412
+ } else {
6413
+ model.value = `${model.value}`;
6414
+ }
6415
+ return v;
6416
+ };
6354
6417
  const config = computed(() => ({
6355
6418
  type: "groupList",
6356
6419
  name: props.name,
@@ -6381,14 +6444,16 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent({
6381
6444
  name: "field",
6382
6445
  value: "key",
6383
6446
  label: "字段",
6384
- checkStrictly: false
6447
+ checkStrictly: false,
6448
+ onChange: fieldOnChange
6385
6449
  } : {
6386
6450
  type: "data-source-field-select",
6387
6451
  name: "field",
6388
6452
  value: "key",
6389
6453
  label: "字段",
6390
6454
  checkStrictly: false,
6391
- dataSourceFieldType: ["string", "number", "boolean", "any"]
6455
+ dataSourceFieldType: ["string", "number", "boolean", "any"],
6456
+ onChange: fieldOnChange
6392
6457
  },
6393
6458
  {
6394
6459
  type: "cond-op-select",
@@ -6403,29 +6468,32 @@ const _sfc_main$1a = /* @__PURE__ */ defineComponent({
6403
6468
  items: [
6404
6469
  {
6405
6470
  name: "value",
6406
- type: (mForm2, { model }) => {
6471
+ type: (_mForm, { model }) => {
6407
6472
  const [id, ...fieldNames] = [...parentFields.value, ...model.field];
6408
6473
  const ds = dataSourceService.getDataSourceById(id);
6409
- let fields = ds?.fields || [];
6410
- let type = "";
6411
- (fieldNames || []).forEach((fieldName) => {
6412
- const field = fields.find((f) => f.name === fieldName);
6413
- fields = field?.fields || [];
6414
- type = field?.type || "";
6415
- });
6474
+ const type = getFieldType(ds, fieldNames);
6416
6475
  if (type === "number") {
6417
6476
  return "number";
6418
6477
  }
6419
6478
  if (type === "boolean") {
6420
6479
  return "select";
6421
6480
  }
6481
+ if (type === "null") {
6482
+ return "display";
6483
+ }
6422
6484
  return "text";
6423
6485
  },
6424
6486
  options: [
6425
6487
  { text: "true", value: true },
6426
6488
  { text: "false", value: false }
6427
6489
  ],
6428
- display: (vm, { model }) => !["between", "not_between"].includes(model.op)
6490
+ display: (_mForm, { model }) => !["between", "not_between"].includes(model.op),
6491
+ displayText: (_mForm, { model }) => {
6492
+ if (model.value === null) {
6493
+ return "null";
6494
+ }
6495
+ return model.value;
6496
+ }
6429
6497
  },
6430
6498
  {
6431
6499
  name: "range",
@@ -6969,8 +7037,9 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
6969
7037
  ])) : createCommentVNode("v-if", true),
6970
7038
  __props.config.advanced && showCode.value ? (openBlock(), createBlock(_sfc_main$1r, {
6971
7039
  key: 1,
6972
- "init-values": __props.model[__props.name],
7040
+ "editor-custom-type": "m-fields-key-value",
6973
7041
  language: "javascript",
7042
+ "init-values": __props.model[__props.name],
6974
7043
  options: {
6975
7044
  readOnly: __props.disabled
6976
7045
  },
@@ -9652,6 +9721,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
9652
9721
  showSrc.value ? renderSlot(_ctx.$slots, "src-code", { key: 0 }, () => [
9653
9722
  createVNode(_sfc_main$1r, {
9654
9723
  class: "m-editor-content",
9724
+ "editor-custom-type": "m-editor-content",
9655
9725
  "init-values": root.value,
9656
9726
  options: unref(codeOptions),
9657
9727
  onSave: saveCode
@@ -10032,6 +10102,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10032
10102
  showSrc.value ? (openBlock(), createBlock(_sfc_main$1r, {
10033
10103
  key: 1,
10034
10104
  class: "m-editor-props-panel-src-code",
10105
+ "editor-custom-type": "m-editor-props-panel-src-code",
10035
10106
  height: `${unref(editorContentHeight)}px`,
10036
10107
  "init-values": __props.codeValueKey ? __props.values[__props.codeValueKey] : __props.values,
10037
10108
  options: unref(codeOptions),
@@ -16963,4 +17034,4 @@ const index = {
16963
17034
  }
16964
17035
  };
16965
17036
 
16966
- export { CODE_DRAFT_STORAGE_KEY, COPY_CODE_STORAGE_KEY, COPY_DS_STORAGE_KEY, COPY_STORAGE_KEY, _sfc_main$1f as CodeBlockEditor, _sfc_main$l as CodeBlockList, _sfc_main$k as CodeBlockListPanel, CodeDeleteErrorType, _sfc_main$1o as CodeSelect, _sfc_main$1m as CodeSelectCol, ColumnLayout, _sfc_main$b as ComponentListPanel, _sfc_main$1l as CondOpSelect, _sfc_main$p as ContentMenu, DEFAULT_LEFT_COLUMN_WIDTH, DEFAULT_RIGHT_COLUMN_WIDTH, _sfc_main$j as DataSourceAddButton, _sfc_main$i as DataSourceConfigPanel, _sfc_main$1h as DataSourceFieldSelect, _sfc_main$1j as DataSourceFields, _sfc_main$1g as DataSourceInput, _sfc_main$1d as DataSourceMethodSelect, _sfc_main$1e as DataSourceMethods, _sfc_main$1c as DataSourceMocks, _sfc_main$1b as DataSourceSelect, _sfc_main$1a as DisplayConds, DragType, _sfc_main$19 as EventSelect, Fixed2Other, _sfc_main$1k as FloatingBox, H_GUIDE_LINE_STORAGE_KEY, _sfc_main$1s as Icon, IdleTask, KeyBindingCommand, _sfc_main$17 as KeyValue, Keys, LEFT_COLUMN_WIDTH_STORAGE_KEY, LayerOffset, _sfc_main$c as LayerPanel, Layout, _sfc_main$B as LayoutContainer, MIN_CENTER_COLUMN_WIDTH, MIN_LEFT_COLUMN_WIDTH, MIN_RIGHT_COLUMN_WIDTH, PROPS_PANEL_WIDTH_STORAGE_KEY, _sfc_main$16 as PageFragmentSelect, _sfc_main$r as PropsFormPanel, _sfc_main$q as PropsPanel, RIGHT_COLUMN_WIDTH_STORAGE_KEY, _sfc_main$C as Resizer, ScrollViewer, SideItemKey, _sfc_main$B as SplitView, _sfc_main$E as StyleSetter, _sfc_main$1r as TMagicCodeEditor, _sfc_main as TMagicEditor, _sfc_main$A as ToolButton, _sfc_main$m as Tree, _sfc_main$n as TreeNode, UI_SELECT_MODE_EVENT_NAME, UndoRedo, V_GUIDE_LINE_STORAGE_KEY, advancedTabConfig, arrayOptions, beforePaste, change2Fixed, codeBlockService, dataSourceService, debug, index as default, depService, displayTabConfig, editorService, eqOptions, error, eventTabConfig, eventsService, fillConfig$1 as fillConfig, fixNodeLeft, fixNodePosition, generatePageName, generatePageNameByApp, getAddParent, getCascaderOptionsFromFields, getDefaultConfig, getDisplayField, getEditorConfig, getFormConfig, getFormValue, getGuideLineFromCache, getInitPositionStyle, getNodeIndex, getPageFragmentList, getPageList, getPageNameList, getPositionInContainer, getRelativeStyle, historyService, info, isIncludeDataSource, log, moveItemsInContainer, numberOptions, propsService, removeDataSourceFieldPrefix, serializeConfig, setChildrenLayout, setEditorConfig, setLayout, stageOverlayService, storageService, styleTabConfig, uiService, updateStatus, useCodeBlockEdit, useEditorContentHeight, useFilter, useFloatBox, useGetSo, useNextFloatBoxPosition, useNodeStatus$1 as useNodeStatus, useServices, useStage, useWindowRect, warn };
17037
+ export { CODE_DRAFT_STORAGE_KEY, COPY_CODE_STORAGE_KEY, COPY_DS_STORAGE_KEY, COPY_STORAGE_KEY, _sfc_main$1f as CodeBlockEditor, _sfc_main$l as CodeBlockList, _sfc_main$k as CodeBlockListPanel, CodeDeleteErrorType, _sfc_main$1o as CodeSelect, _sfc_main$1m as CodeSelectCol, ColumnLayout, _sfc_main$b as ComponentListPanel, _sfc_main$1l as CondOpSelect, _sfc_main$p as ContentMenu, DEFAULT_LEFT_COLUMN_WIDTH, DEFAULT_RIGHT_COLUMN_WIDTH, _sfc_main$j as DataSourceAddButton, _sfc_main$i as DataSourceConfigPanel, _sfc_main$1h as DataSourceFieldSelect, _sfc_main$1j as DataSourceFields, _sfc_main$1g as DataSourceInput, _sfc_main$1d as DataSourceMethodSelect, _sfc_main$1e as DataSourceMethods, _sfc_main$1c as DataSourceMocks, _sfc_main$1b as DataSourceSelect, _sfc_main$1a as DisplayConds, DragType, _sfc_main$19 as EventSelect, Fixed2Other, _sfc_main$1k as FloatingBox, H_GUIDE_LINE_STORAGE_KEY, _sfc_main$1s as Icon, IdleTask, KeyBindingCommand, _sfc_main$17 as KeyValue, Keys, LEFT_COLUMN_WIDTH_STORAGE_KEY, LayerOffset, _sfc_main$c as LayerPanel, Layout, _sfc_main$B as LayoutContainer, MIN_CENTER_COLUMN_WIDTH, MIN_LEFT_COLUMN_WIDTH, MIN_RIGHT_COLUMN_WIDTH, PROPS_PANEL_WIDTH_STORAGE_KEY, _sfc_main$16 as PageFragmentSelect, _sfc_main$r as PropsFormPanel, _sfc_main$q as PropsPanel, RIGHT_COLUMN_WIDTH_STORAGE_KEY, _sfc_main$C as Resizer, ScrollViewer, SideItemKey, _sfc_main$B as SplitView, _sfc_main$E as StyleSetter, _sfc_main$1r as TMagicCodeEditor, _sfc_main as TMagicEditor, _sfc_main$A as ToolButton, _sfc_main$m as Tree, _sfc_main$n as TreeNode, UI_SELECT_MODE_EVENT_NAME, UndoRedo, V_GUIDE_LINE_STORAGE_KEY, advancedTabConfig, arrayOptions, beforePaste, buildChangeRecords, change2Fixed, codeBlockService, dataSourceService, debug, index as default, depService, displayTabConfig, editorService, eqOptions, error, eventTabConfig, eventsService, fillConfig$1 as fillConfig, fixNodeLeft, fixNodePosition, generatePageName, generatePageNameByApp, getAddParent, getCascaderOptionsFromFields, getDefaultConfig, getDisplayField, getEditorConfig, getFieldType, getFormConfig, getFormValue, getGuideLineFromCache, getInitPositionStyle, getNodeIndex, getPageFragmentList, getPageList, getPageNameList, getPositionInContainer, getRelativeStyle, historyService, info, isIncludeDataSource, log, moveItemsInContainer, numberOptions, propsService, serializeConfig, setChildrenLayout, setEditorConfig, setLayout, stageOverlayService, storageService, styleTabConfig, uiService, updateStatus, useCodeBlockEdit, useEditorContentHeight, useFilter, useFloatBox, useGetSo, useNextFloatBoxPosition, useNodeStatus$1 as useNodeStatus, useServices, useStage, useWindowRect, warn };