@tmagic/editor 1.8.0-beta.13 → 1.8.0-beta.15

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 (127) hide show
  1. package/dist/es/Editor.vue_vue_type_script_setup_true_lang.js +15 -3
  2. package/dist/es/components/ContentMenu.vue_vue_type_script_setup_true_lang.js +31 -8
  3. package/dist/es/components/FloatingBox.vue_vue_type_script_setup_true_lang.js +7 -2
  4. package/dist/es/fields/Code.vue_vue_type_script_setup_true_lang.js +15 -4
  5. package/dist/es/fields/CodeLink.vue_vue_type_script_setup_true_lang.js +4 -1
  6. package/dist/es/fields/CodeSelect.vue_vue_type_script_setup_true_lang.js +80 -55
  7. package/dist/es/fields/CodeSelectCol.vue_vue_type_script_setup_true_lang.js +5 -1
  8. package/dist/es/fields/CondOpSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  9. package/dist/es/fields/DataSourceFieldSelect/Index.vue_vue_type_script_setup_true_lang.js +10 -7
  10. package/dist/es/fields/DataSourceFields.vue_vue_type_script_setup_true_lang.js +4 -1
  11. package/dist/es/fields/DataSourceInput.vue_vue_type_script_setup_true_lang.js +4 -1
  12. package/dist/es/fields/DataSourceMethodSelect.vue_vue_type_script_setup_true_name_true_lang.js +4 -1
  13. package/dist/es/fields/DataSourceMethods.vue_vue_type_script_setup_true_lang.js +4 -1
  14. package/dist/es/fields/DataSourceMocks.vue_vue_type_script_setup_true_lang.js +4 -1
  15. package/dist/es/fields/DataSourceSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  16. package/dist/es/fields/DisplayConds.vue_vue_type_script_setup_true_lang.js +8 -2
  17. package/dist/es/fields/EventSelect.vue_vue_type_script_setup_true_lang.js +99 -64
  18. package/dist/es/fields/KeyValue.vue_vue_type_script_setup_true_lang.js +4 -1
  19. package/dist/es/fields/PageFragmentSelect.vue_vue_type_script_setup_true_lang.js +4 -1
  20. package/dist/es/fields/StyleSetter/Index.vue_vue_type_script_setup_true_lang.js +5 -4
  21. package/dist/es/fields/StyleSetter/components/BackgroundPosition.vue_vue_type_script_setup_true_lang.js +4 -1
  22. package/dist/es/fields/StyleSetter/components/Border.vue_vue_type_script_setup_true_lang.js +1 -1
  23. package/dist/es/fields/StyleSetter/icons/align-items/Center.js +31 -0
  24. package/dist/es/fields/StyleSetter/icons/align-items/FlexEnd.js +31 -0
  25. package/dist/es/fields/StyleSetter/icons/align-items/FlexStart.js +31 -0
  26. package/dist/es/fields/StyleSetter/icons/align-items/SpaceAround.js +50 -0
  27. package/dist/es/fields/StyleSetter/icons/align-items/SpaceBetween.js +50 -0
  28. package/dist/es/fields/StyleSetter/icons/background-repeat/NoRepeat.js +6 -6
  29. package/dist/es/fields/StyleSetter/icons/background-repeat/Repeat.js +5 -2
  30. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatX.js +28 -5
  31. package/dist/es/fields/StyleSetter/icons/background-repeat/RepeatY.js +31 -5
  32. package/dist/es/fields/StyleSetter/icons/flex-direction/Column.js +10 -2
  33. package/dist/es/fields/StyleSetter/icons/flex-direction/ColumnReverse.js +10 -2
  34. package/dist/es/fields/StyleSetter/icons/flex-direction/Row.js +10 -2
  35. package/dist/es/fields/StyleSetter/icons/flex-direction/RowReverse.js +10 -2
  36. package/dist/es/fields/StyleSetter/icons/justify-content/Center.js +16 -2
  37. package/dist/es/fields/StyleSetter/icons/justify-content/FlexEnd.js +18 -2
  38. package/dist/es/fields/StyleSetter/icons/justify-content/FlexStart.js +18 -2
  39. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceAround.js +36 -2
  40. package/dist/es/fields/StyleSetter/icons/justify-content/SpaceBetween.js +32 -2
  41. package/dist/es/fields/StyleSetter/pro/Background.vue_vue_type_script_setup_true_lang.js +7 -6
  42. package/dist/es/fields/StyleSetter/pro/Font.vue_vue_type_script_setup_true_lang.js +6 -3
  43. package/dist/es/fields/StyleSetter/pro/Layout.vue_vue_type_script_setup_true_lang.js +47 -25
  44. package/dist/es/fields/UISelect.vue_vue_type_script_setup_true_lang.js +4 -1
  45. package/dist/es/icons/DatasourceIcon.js +17 -0
  46. package/dist/es/index.js +2 -2
  47. package/dist/es/layouts/Framework.vue_vue_type_script_setup_true_lang.js +14 -10
  48. package/dist/es/layouts/props-panel/PropsPanel.vue_vue_type_script_setup_true_lang.js +13 -4
  49. package/dist/es/layouts/sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +3 -3
  50. package/dist/es/plugin.js +2 -1
  51. package/dist/es/services/editor.js +86 -24
  52. package/dist/es/services/history.js +16 -0
  53. package/dist/es/services/ui.js +5 -3
  54. package/dist/es/style.css +307 -40
  55. package/dist/es/utils/config.js +4 -1
  56. package/dist/es/utils/const.js +2 -2
  57. package/dist/es/utils/data-source/index.js +4 -2
  58. package/dist/es/utils/props.js +43 -29
  59. package/dist/es/utils/type-match-rules.js +12 -5
  60. package/dist/style.css +307 -40
  61. package/dist/themes/magic-admin.css +3004 -0
  62. package/dist/tmagic-editor.umd.cjs +1161 -476
  63. package/package.json +7 -7
  64. package/src/Editor.vue +22 -1
  65. package/src/components/ContentMenu.vue +44 -8
  66. package/src/components/FloatingBox.vue +8 -2
  67. package/src/editorProps.ts +4 -0
  68. package/src/fields/Code.vue +10 -2
  69. package/src/fields/CodeSelect.vue +54 -43
  70. package/src/fields/CodeSelectCol.vue +1 -0
  71. package/src/fields/DataSourceFieldSelect/Index.vue +14 -5
  72. package/src/fields/DisplayConds.vue +4 -1
  73. package/src/fields/EventSelect.vue +56 -32
  74. package/src/fields/StyleSetter/Index.vue +1 -4
  75. package/src/fields/StyleSetter/components/Border.vue +1 -1
  76. package/src/fields/StyleSetter/icons/align-items/Center.vue +19 -0
  77. package/src/fields/StyleSetter/icons/align-items/FlexEnd.vue +19 -0
  78. package/src/fields/StyleSetter/icons/align-items/FlexStart.vue +19 -0
  79. package/src/fields/StyleSetter/icons/align-items/SpaceAround.vue +34 -0
  80. package/src/fields/StyleSetter/icons/align-items/SpaceBetween.vue +34 -0
  81. package/src/fields/StyleSetter/icons/align-items/index.ts +5 -0
  82. package/src/fields/StyleSetter/icons/background-repeat/NoRepeat.vue +20 -4
  83. package/src/fields/StyleSetter/icons/background-repeat/Repeat.vue +10 -28
  84. package/src/fields/StyleSetter/icons/background-repeat/RepeatX.vue +4 -5
  85. package/src/fields/StyleSetter/icons/background-repeat/RepeatY.vue +4 -5
  86. package/src/fields/StyleSetter/icons/flex-direction/Column.vue +4 -3
  87. package/src/fields/StyleSetter/icons/flex-direction/ColumnReverse.vue +4 -3
  88. package/src/fields/StyleSetter/icons/flex-direction/Row.vue +4 -3
  89. package/src/fields/StyleSetter/icons/flex-direction/RowReverse.vue +4 -3
  90. package/src/fields/StyleSetter/icons/justify-content/Center.vue +5 -2
  91. package/src/fields/StyleSetter/icons/justify-content/FlexEnd.vue +15 -2
  92. package/src/fields/StyleSetter/icons/justify-content/FlexStart.vue +15 -2
  93. package/src/fields/StyleSetter/icons/justify-content/SpaceAround.vue +28 -3
  94. package/src/fields/StyleSetter/icons/justify-content/SpaceBetween.vue +28 -2
  95. package/src/fields/StyleSetter/pro/Background.vue +7 -2
  96. package/src/fields/StyleSetter/pro/Font.vue +3 -3
  97. package/src/fields/StyleSetter/pro/Layout.vue +98 -28
  98. package/src/icons/DatasourceIcon.vue +7 -0
  99. package/src/index.ts +3 -0
  100. package/src/layouts/Framework.vue +7 -1
  101. package/src/layouts/props-panel/PropsPanel.vue +38 -12
  102. package/src/layouts/sidebar/Sidebar.vue +3 -3
  103. package/src/plugin.ts +3 -2
  104. package/src/services/editor.ts +76 -11
  105. package/src/services/history.ts +22 -1
  106. package/src/services/ui.ts +20 -5
  107. package/src/theme/code-block.scss +37 -0
  108. package/src/theme/common/var.scss +1 -1
  109. package/src/theme/component-list-panel.scss +2 -2
  110. package/src/theme/data-source-field.scss +4 -0
  111. package/src/theme/display-conds.scss +11 -0
  112. package/src/theme/event.scss +58 -4
  113. package/src/theme/framework.scss +4 -1
  114. package/src/theme/history-list-panel.scss +9 -9
  115. package/src/theme/nav-menu.scss +5 -1
  116. package/src/theme/props-panel.scss +2 -1
  117. package/src/theme/style-setter/border.scss +14 -5
  118. package/src/theme/theme.scss +1 -0
  119. package/src/theme/themes/magic-admin/index.scss +214 -0
  120. package/src/theme/ui-select.scss +1 -1
  121. package/src/type.ts +33 -6
  122. package/src/utils/config.ts +9 -1
  123. package/src/utils/const.ts +3 -2
  124. package/src/utils/data-source/index.ts +3 -3
  125. package/src/utils/props.ts +22 -9
  126. package/src/utils/type-match-rules.ts +11 -5
  127. package/types/index.d.ts +114 -35
@@ -5053,11 +5053,13 @@
5053
5053
  };
5054
5054
  //#endregion
5055
5055
  //#region packages/editor/src/utils/config.ts
5056
- var $TMAGIC_EDITOR, setEditorConfig, getEditorConfig;
5056
+ var $TMAGIC_EDITOR, isGlobalFlat, setEditorConfig, getEditorConfig;
5057
5057
  var init_config = __esmMin((() => {
5058
5058
  $TMAGIC_EDITOR = {};
5059
+ isGlobalFlat = (0, vue.ref)(false);
5059
5060
  setEditorConfig = (option) => {
5060
5061
  $TMAGIC_EDITOR = option;
5062
+ isGlobalFlat.value = option.flat ?? false;
5061
5063
  };
5062
5064
  getEditorConfig = (key) => $TMAGIC_EDITOR[key];
5063
5065
  }));
@@ -5324,6 +5326,7 @@
5324
5326
  name: _tmagic_core.NODE_DISABLE_CODE_BLOCK_KEY,
5325
5327
  text: "禁用代码块",
5326
5328
  type: "switch",
5329
+ labelPosition: "left",
5327
5330
  defaultValue: false,
5328
5331
  extra: "开启后,配置的代码块将不会被执行"
5329
5332
  },
@@ -5331,15 +5334,16 @@
5331
5334
  name: _tmagic_core.NODE_DISABLE_DATA_SOURCE_KEY,
5332
5335
  text: "禁用数据源",
5333
5336
  type: "switch",
5337
+ labelPosition: "left",
5334
5338
  defaultValue: false,
5335
5339
  extra: "开启后,组件内配置的数据源相关配置将不会被编译,显隐条件将失效"
5336
5340
  },
5337
5341
  {
5338
5342
  name: "created",
5339
- text: "created",
5343
+ text: "Created",
5340
5344
  labelPosition: "top",
5341
5345
  type: "code-select",
5342
- extra: "组件初始化时执行",
5346
+ titleExtra: "组件初始化时执行",
5343
5347
  rules: [{
5344
5348
  typeMatch: true,
5345
5349
  trigger: "change"
@@ -5350,10 +5354,10 @@
5350
5354
  },
5351
5355
  {
5352
5356
  name: "mounted",
5353
- text: "mounted",
5357
+ text: "Mounted",
5354
5358
  labelPosition: "top",
5355
5359
  type: "code-select",
5356
- extra: "组件挂载到dom时执行",
5360
+ titleExtra: "组件挂载到dom时执行",
5357
5361
  rules: [{
5358
5362
  typeMatch: true,
5359
5363
  trigger: "change"
@@ -5364,8 +5368,8 @@
5364
5368
  },
5365
5369
  {
5366
5370
  name: "display",
5367
- text: "display",
5368
- extra: "控制组件是否渲染,关系的代码块返回值为false时不渲染",
5371
+ text: "Display",
5372
+ titleExtra: "控制组件是否渲染,关系的代码块返回值为false时不渲染",
5369
5373
  labelPosition: "top",
5370
5374
  type: "code-select",
5371
5375
  rules: [{
@@ -5381,26 +5385,36 @@
5381
5385
  displayTabConfig = {
5382
5386
  title: "显示条件",
5383
5387
  display: (_state, { model }) => model.type !== "page",
5384
- items: [{
5385
- name: _tmagic_core.NODE_CONDS_RESULT_KEY,
5386
- type: "select",
5387
- text: "条件成立时",
5388
- defaultValue: false,
5389
- options: [{
5390
- text: "显示",
5391
- value: false
5392
- }, {
5393
- text: "隐藏",
5394
- value: true
5395
- }],
5396
- extra: (_state, { model }) => `条件成立时${model[_tmagic_core.NODE_CONDS_RESULT_KEY] ? "隐藏" : "显示"},不成立时${model[_tmagic_core.NODE_CONDS_RESULT_KEY] ? "显示" : "隐藏"};<br />同一条件组内的所有条件配置同时成立时表示该条件组成立,任意一个条件组成立时表示条件成立(条件组内为且的关系,条件组间为或的关系);<br />条件为空时表示成立;`
5397
- }, {
5398
- type: "display-conds",
5399
- name: _tmagic_core.NODE_CONDS_KEY,
5400
- titlePrefix: "条件组",
5401
- defaultValue: [],
5402
- rules: [{ typeMatch: true }]
5403
- }]
5388
+ items: [
5389
+ {
5390
+ name: _tmagic_core.NODE_CONDS_RESULT_KEY,
5391
+ type: "select",
5392
+ text: "条件成立时",
5393
+ defaultValue: false,
5394
+ options: [{
5395
+ text: "显示",
5396
+ value: false
5397
+ }, {
5398
+ text: "隐藏",
5399
+ value: true
5400
+ }],
5401
+ extra: (_state, { model }) => `条件成立时${model[_tmagic_core.NODE_CONDS_RESULT_KEY] ? "隐藏" : "显示"},不成立时${model[_tmagic_core.NODE_CONDS_RESULT_KEY] ? "显示" : "隐藏"};<br />同一条件组内的所有条件配置同时成立时表示该条件组成立,任意一个条件组成立时表示条件成立(条件组内为且的关系,条件组间为或的关系);<br />条件为空时表示成立;`
5402
+ },
5403
+ {
5404
+ text: "条件组配置",
5405
+ static: true,
5406
+ className: "display-conds-title"
5407
+ },
5408
+ {
5409
+ type: "display-conds",
5410
+ name: _tmagic_core.NODE_CONDS_KEY,
5411
+ titlePrefix: "条件组",
5412
+ fixed: "right",
5413
+ operateColWidth: 112,
5414
+ defaultValue: [],
5415
+ rules: [{ typeMatch: true }]
5416
+ }
5417
+ ]
5404
5418
  };
5405
5419
  fillConfig = (config = [], { labelWidth = "80px", disabledDataSource = false, disabledCodeBlock = false } = {}) => {
5406
5420
  const propsConfig = [];
@@ -5413,10 +5427,11 @@
5413
5427
  name: "id",
5414
5428
  text: "ID",
5415
5429
  type: "text",
5416
- disabled: true,
5430
+ static: true,
5417
5431
  append: {
5418
- type: "button",
5419
- text: "复制",
5432
+ type: "icon",
5433
+ text: "https://vip.image.video.qpic.cn/vupload/20260615/36cf7e1781493669935.svg",
5434
+ extra: "复制",
5420
5435
  handler: (vm, { model }) => {
5421
5436
  navigator.clipboard.writeText(`${model.id}`).then(() => {
5422
5437
  _tmagic_design.tMagicMessage.success("已复制");
@@ -5435,6 +5450,7 @@
5435
5450
  const tabConfig = {
5436
5451
  type: "tab",
5437
5452
  labelWidth,
5453
+ className: "magic-right-panel-tabs-top",
5438
5454
  items: [
5439
5455
  {
5440
5456
  title: "属性",
@@ -6589,6 +6605,22 @@
6589
6605
  });
6590
6606
  }
6591
6607
  /**
6608
+ * 派发「页面 / 页面片结构变更」事件(`page-structure-change`)。
6609
+ *
6610
+ * 常规 `editorService.add` / `remove` 页面节点不会写入 `page` 历史栈(见 editor.add / remove 中
6611
+ * 对 isPage / isPageFragment 的分支),因此不会产生任何 historyService 事件。该方法用于在这些
6612
+ * 场景(以及 setRoot 整体替换 DSL 增删页面)下,向外统一通知页面结构的增删变化,供业务方感知。
6613
+ *
6614
+ * 一次操作涉及多个页面时,调用方应把本次增删的页面**合并为一个 change 一次性传入**,
6615
+ * 使一次操作只派发一个事件;`add` / `remove` 分别为本次新增与删除的页面列表(其一可为空数组)。
6616
+ *
6617
+ * @param change 本次结构变更:{ add: 新增的页面列表, remove: 删除的页面列表 }
6618
+ */
6619
+ notifyPageStructureChange(change) {
6620
+ if (!change.add.length && !change.remove.length) return;
6621
+ this.emit("page-structure-change", change);
6622
+ }
6623
+ /**
6592
6624
  * 把当前内存中的全部历史栈(页面 / 代码块 / 数据源 / 扩展类型)序列化后写入本地 IndexedDB。
6593
6625
  *
6594
6626
  * - 每个 UndoRedo 栈连同其游标、容量一并保存,恢复后可继续 undo/redo;
@@ -7681,7 +7713,14 @@
7681
7713
  data: newNodes.map((node) => ({
7682
7714
  node,
7683
7715
  page: this.getPageOfNode(node.id)
7684
- }))
7716
+ })),
7717
+ historySource,
7718
+ doNotPushHistory
7719
+ });
7720
+ const addedPages = newNodes.filter((node) => (0, _tmagic_utils.isPage)(node) || (0, _tmagic_utils.isPageFragment)(node));
7721
+ if (addedPages.length) history_default.notifyPageStructureChange({
7722
+ add: addedPages,
7723
+ remove: []
7685
7724
  });
7686
7725
  return Array.isArray(addNode) ? newNodes : newNodes[0];
7687
7726
  }
@@ -7782,7 +7821,14 @@
7782
7821
  this.emit("remove", nodes);
7783
7822
  this.emit("change", {
7784
7823
  type: "remove",
7785
- data: changeItems
7824
+ data: changeItems,
7825
+ historySource,
7826
+ doNotPushHistory
7827
+ });
7828
+ const removedPages = nodes.filter((node) => (0, _tmagic_utils.isPage)(node) || (0, _tmagic_utils.isPageFragment)(node));
7829
+ if (removedPages.length) history_default.notifyPageStructureChange({
7830
+ add: [],
7831
+ remove: removedPages
7786
7832
  });
7787
7833
  }
7788
7834
  async doUpdate(config, { changeRecords = [], historySource } = {}) {
@@ -7875,7 +7921,9 @@
7875
7921
  data: updateData.map((node) => ({
7876
7922
  node,
7877
7923
  page: this.getPageOfNode(node.newNode.id)
7878
- }))
7924
+ })),
7925
+ historySource,
7926
+ doNotPushHistory
7879
7927
  });
7880
7928
  return Array.isArray(config) ? updateData.map((item) => item.newNode) : updateData[0].newNode;
7881
7929
  }
@@ -8048,7 +8096,9 @@
8048
8096
  node,
8049
8097
  page: this.getPageOfNode(node.id)
8050
8098
  }],
8051
- offset
8099
+ offset,
8100
+ historySource,
8101
+ doNotPushHistory
8052
8102
  });
8053
8103
  }
8054
8104
  /**
@@ -8186,7 +8236,9 @@
8186
8236
  page: this.getPageOfNode(node.id)
8187
8237
  })),
8188
8238
  targetIndex,
8189
- targetParent
8239
+ targetParent,
8240
+ historySource,
8241
+ doNotPushHistory
8190
8242
  });
8191
8243
  }
8192
8244
  /**
@@ -8562,24 +8614,35 @@
8562
8614
  const prevMap = new Map(prevPages.map((p) => [`${p.id}`, p]));
8563
8615
  const nextMap = new Map(nextPages.map((p) => [`${p.id}`, p]));
8564
8616
  const indexInItems = (root, id) => (root.items ?? []).findIndex((item) => `${item.id}` === `${id}`);
8617
+ const addedPages = [];
8618
+ const removedPages = [];
8565
8619
  nextPages.forEach((nextPage) => {
8566
8620
  const prevPage = prevMap.get(`${nextPage.id}`);
8567
- if (!prevPage) this.pushPageDiffStep("add", nextPage, {
8568
- newSchema: cloneDeep$1((0, vue.toRaw)(nextPage)),
8569
- parentId: nextRoot.id,
8570
- index: indexInItems(nextRoot, nextPage.id)
8571
- }, source);
8572
- else if (!isEqual((0, vue.toRaw)(prevPage), (0, vue.toRaw)(nextPage))) this.pushPageDiffStep("update", nextPage, {
8621
+ if (!prevPage) {
8622
+ this.pushPageDiffStep("add", nextPage, {
8623
+ newSchema: cloneDeep$1((0, vue.toRaw)(nextPage)),
8624
+ parentId: nextRoot.id,
8625
+ index: indexInItems(nextRoot, nextPage.id)
8626
+ }, source);
8627
+ addedPages.push(nextPage);
8628
+ } else if (!isEqual((0, vue.toRaw)(prevPage), (0, vue.toRaw)(nextPage))) this.pushPageDiffStep("update", nextPage, {
8573
8629
  oldSchema: cloneDeep$1((0, vue.toRaw)(prevPage)),
8574
8630
  newSchema: cloneDeep$1((0, vue.toRaw)(nextPage))
8575
8631
  }, source);
8576
8632
  });
8577
8633
  prevPages.forEach((prevPage) => {
8578
- if (!nextMap.has(`${prevPage.id}`)) this.pushPageDiffStep("remove", prevPage, {
8579
- oldSchema: cloneDeep$1((0, vue.toRaw)(prevPage)),
8580
- parentId: preRoot.id,
8581
- index: indexInItems(preRoot, prevPage.id)
8582
- }, source);
8634
+ if (!nextMap.has(`${prevPage.id}`)) {
8635
+ this.pushPageDiffStep("remove", prevPage, {
8636
+ oldSchema: cloneDeep$1((0, vue.toRaw)(prevPage)),
8637
+ parentId: preRoot.id,
8638
+ index: indexInItems(preRoot, prevPage.id)
8639
+ }, source);
8640
+ removedPages.push(prevPage);
8641
+ }
8642
+ });
8643
+ if (addedPages.length || removedPages.length) history_default.notifyPageStructureChange({
8644
+ add: addedPages,
8645
+ remove: removedPages
8583
8646
  });
8584
8647
  }
8585
8648
  /**
@@ -8635,10 +8698,12 @@
8635
8698
  /**
8636
8699
  * 应用历史操作(撤销 / 重做)
8637
8700
  *
8638
- * 所有 DSL 修改都走 `editor.add / remove / update`,并通过 `doNotPushHistory` 阻止再次入栈、
8639
- * `doNotSelect / doNotSwitchPage` 让选区由方法末尾的统一逻辑兜底。
8701
+ * 删除 / 更新类修改走 `editor.remove / update`,并通过 `doNotPushHistory` 阻止再次入栈、
8702
+ * `doNotSelect / doNotSwitchPage` 让选区由方法末尾的统一逻辑兜底;
8703
+ * 「重新插回节点」(撤销 remove / 重做 add)需按 step 记录的 parentId / index 精确还原,
8704
+ * 不走 this.add,由手工 splice + stage.add 完成后补发等价的 add / change 事件(见 emitHistoryInsertEvents)。
8640
8705
  *
8641
- * 注意:这些公开方法会发出 add / remove / update 事件,业务侧若需要区分"用户操作"与"撤销重做触发",
8706
+ * 注意:这些路径都会发出 add / remove / update / change 事件,业务侧若需要区分"用户操作"与"撤销重做触发",
8642
8707
  * 请监听 `history-change` 事件配合判断。
8643
8708
  *
8644
8709
  * @param step 操作记录
@@ -8652,7 +8717,8 @@
8652
8717
  const commonOpts = {
8653
8718
  doNotSelect: true,
8654
8719
  doNotSwitchPage: true,
8655
- doNotPushHistory: true
8720
+ doNotPushHistory: true,
8721
+ historySource: step.source
8656
8722
  };
8657
8723
  switch (step.opType) {
8658
8724
  case "add": {
@@ -8664,12 +8730,15 @@
8664
8730
  }
8665
8731
  else {
8666
8732
  const sorted = [...items].sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
8733
+ const addedNodes = [];
8667
8734
  for (const { newSchema, parentId, index } of sorted) {
8668
8735
  if (!newSchema || parentId === void 0) continue;
8669
8736
  const parent = this.getNodeById(parentId, false);
8670
8737
  if (parent?.items) {
8671
- if (typeof index === "number" && index >= 0 && index < parent.items.length) parent.items.splice(index, 0, cloneDeep$1(newSchema));
8672
- else parent.items.push(cloneDeep$1(newSchema));
8738
+ const addedNode = cloneDeep$1(newSchema);
8739
+ if (typeof index === "number" && index >= 0 && index < parent.items.length) parent.items.splice(index, 0, addedNode);
8740
+ else parent.items.push(addedNode);
8741
+ addedNodes.push(addedNode);
8673
8742
  await stage?.add({
8674
8743
  config: cloneDeep$1(newSchema),
8675
8744
  parent: cloneDeep$1(parent),
@@ -8678,6 +8747,7 @@
8678
8747
  });
8679
8748
  }
8680
8749
  }
8750
+ this.emitHistoryInsertEvents(addedNodes, step.source);
8681
8751
  }
8682
8752
  break;
8683
8753
  }
@@ -8685,11 +8755,14 @@
8685
8755
  const items = step.diff ?? [];
8686
8756
  if (reverse) {
8687
8757
  const sorted = [...items].sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
8758
+ const addedNodes = [];
8688
8759
  for (const { oldSchema, parentId, index } of sorted) {
8689
8760
  if (!oldSchema || parentId === void 0) continue;
8690
8761
  const parent = this.getNodeById(parentId, false);
8691
8762
  if (parent?.items) {
8692
- parent.items.splice(index ?? parent.items.length, 0, cloneDeep$1(oldSchema));
8763
+ const addedNode = cloneDeep$1(oldSchema);
8764
+ parent.items.splice(index ?? parent.items.length, 0, addedNode);
8765
+ addedNodes.push(addedNode);
8693
8766
  await stage?.add({
8694
8767
  config: cloneDeep$1(oldSchema),
8695
8768
  parent: cloneDeep$1(parent),
@@ -8698,6 +8771,7 @@
8698
8771
  });
8699
8772
  }
8700
8773
  }
8774
+ this.emitHistoryInsertEvents(addedNodes, step.source);
8701
8775
  } else for (const { oldSchema } of items) {
8702
8776
  if (!oldSchema) continue;
8703
8777
  const existing = this.getNodeById(oldSchema.id, false);
@@ -8724,7 +8798,10 @@
8724
8798
  }
8725
8799
  return cloneDeep$1(reverse ? oldNode : newNode);
8726
8800
  });
8727
- if (configs.length) await this.update(configs, { doNotPushHistory: true });
8801
+ if (configs.length) await this.update(configs, {
8802
+ doNotPushHistory: true,
8803
+ historySource: step.source
8804
+ });
8728
8805
  break;
8729
8806
  }
8730
8807
  }
@@ -8748,6 +8825,23 @@
8748
8825
  selectedConfigExceptionHandler(config) {
8749
8826
  return resolveSelectedNode(config, (id) => this.getNodeInfo(id), this.state.root?.id);
8750
8827
  }
8828
+ /**
8829
+ * 撤销 remove / 重做 add 通过手工 splice 按 step 记录的 parentId / index 精确还原节点(不走 this.add,原因见调用处注释),
8830
+ * 这里补齐与 this.add 等价的 add / change 事件,保证撤销/重做路径的事件行为与正向操作一致。
8831
+ */
8832
+ emitHistoryInsertEvents(nodes, source) {
8833
+ if (!nodes.length) return;
8834
+ this.emit("add", nodes);
8835
+ this.emit("change", {
8836
+ type: "add",
8837
+ data: nodes.map((node) => ({
8838
+ node,
8839
+ page: this.getPageOfNode(node.id)
8840
+ })),
8841
+ historySource: source,
8842
+ doNotPushHistory: true
8843
+ });
8844
+ }
8751
8845
  };
8752
8846
  var editor_default = new Editor();
8753
8847
  //#endregion
@@ -8757,9 +8851,9 @@
8757
8851
  var LEFT_COLUMN_WIDTH_STORAGE_KEY = "$MagicEditorLeftColumnWidthData";
8758
8852
  var RIGHT_COLUMN_WIDTH_STORAGE_KEY = "$MagicEditorRightColumnWidthData";
8759
8853
  var PROPS_PANEL_WIDTH_STORAGE_KEY = "$MagicEditorPropsPanelWidthData";
8760
- var DEFAULT_LEFT_COLUMN_WIDTH = 310;
8854
+ var DEFAULT_LEFT_COLUMN_WIDTH = 345;
8761
8855
  var DEFAULT_RIGHT_COLUMN_WIDTH = 480;
8762
- var MIN_LEFT_COLUMN_WIDTH = 200;
8856
+ var MIN_LEFT_COLUMN_WIDTH = 345;
8763
8857
  var MIN_CENTER_COLUMN_WIDTH = 400;
8764
8858
  var MIN_RIGHT_COLUMN_WIDTH = 300;
8765
8859
  var H_GUIDE_LINE_STORAGE_KEY = "$MagicStageHorizontalGuidelinesData";
@@ -8780,11 +8874,11 @@
8780
8874
  height: 817
8781
8875
  },
8782
8876
  columnWidth: {
8783
- left: storage_default.getItem("$MagicEditorLeftColumnWidthData", { protocol: Protocol.NUMBER }) || 310,
8877
+ left: 0,
8784
8878
  center: 0,
8785
- right: storage_default.getItem("$MagicEditorRightColumnWidthData", { protocol: Protocol.NUMBER }) || 480
8879
+ right: 0
8786
8880
  },
8787
- minLeftColumnWidth: 200,
8881
+ minLeftColumnWidth: 345,
8788
8882
  minCenterColumnWidth: 400,
8789
8883
  minRightColumnWidth: 300,
8790
8884
  showGuides: true,
@@ -8809,6 +8903,8 @@
8809
8903
  top: 0
8810
8904
  }
8811
8905
  });
8906
+ state.columnWidth.left = Math.max(storage_default.getItem("$MagicEditorLeftColumnWidthData", { protocol: Protocol.NUMBER }) || 345, state.minLeftColumnWidth);
8907
+ state.columnWidth.right = Math.max(storage_default.getItem("$MagicEditorRightColumnWidthData", { protocol: Protocol.NUMBER }) || 480, state.minRightColumnWidth);
8812
8908
  var canUsePluginMethods$5 = {
8813
8909
  async: ["zoom", "calcZoom"],
8814
8910
  sync: []
@@ -9539,12 +9635,14 @@
9539
9635
  if (options.skipNumberIndices && (0, _tmagic_utils.isNumber)(name)) continue;
9540
9636
  if (!currentFields.length) return {
9541
9637
  ok: false,
9542
- fields: currentFields
9638
+ fields: currentFields,
9639
+ failedName: name
9543
9640
  };
9544
9641
  field = currentFields.find((item) => item.name === name);
9545
9642
  if (!field) return {
9546
9643
  ok: false,
9547
- fields: currentFields
9644
+ fields: currentFields,
9645
+ failedName: name
9548
9646
  };
9549
9647
  currentFields = field.fields || [];
9550
9648
  }
@@ -10870,10 +10968,10 @@
10870
10968
  fieldNames = path.slice(1);
10871
10969
  }
10872
10970
  const ds = findDataSource(`${dsId}`);
10873
- if (!ds) return defaultMessage(options.message, "值不在可选项中", dataSourceIdSuggestion());
10971
+ if (!ds) return defaultMessage(options.message, `数据源(${dsId})不存在`, dataSourceIdSuggestion());
10874
10972
  if (!fieldNames.length) return;
10875
- const { field, ok } = resolveFieldByPath(ds.fields, fieldNames);
10876
- if (!ok) return defaultMessage(options.message, "值不在可选项中", dataSourceIdSuggestion());
10973
+ const { field, ok, fields, failedName } = resolveFieldByPath(ds.fields, fieldNames);
10974
+ if (!ok) return defaultMessage(options.message, `数据源字段(${failedName})不存在`, listSuggestion(fields.map((item) => item.name)));
10877
10975
  const allowedTypes = options.dataSourceFieldType || ["any"];
10878
10976
  if (!allowedTypes.length || allowedTypes.includes("any")) return;
10879
10977
  const leafType = field?.type || "any";
@@ -10956,9 +11054,15 @@
10956
11054
  if (config.value === "key") return true;
10957
11055
  return `${value[0]}`.startsWith(_tmagic_utils.DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);
10958
11056
  };
10959
- var validateDataSourceFieldSelect = (value, { message, props }) => {
11057
+ var validateDataSourceFieldSelect = (value, { mForm, message, props }) => {
10960
11058
  const config = props.config || {};
10961
- if (config.fieldConfig && !isDataSourceFieldPathValue(value, config)) return;
11059
+ if (config.fieldConfig && !isDataSourceFieldPathValue(value, config)) return (0, _tmagic_form.validateTypeMatch)(value, mForm, {
11060
+ ...props,
11061
+ config: {
11062
+ name: config.name,
11063
+ ...config.fieldConfig
11064
+ }
11065
+ }, message);
10962
11066
  if (!Array.isArray(value) || value.some((item) => typeof item !== "string")) return defaultMessage(message, `${value}类型应为字符串数组`, dataSourceFieldPathSuggestion());
10963
11067
  return validateDataSourceFieldPath(value, {
10964
11068
  dataSourceId: config.dataSourceId,
@@ -11409,9 +11513,9 @@
11409
11513
  var SplitView_default = SplitView_vue_vue_type_script_setup_true_lang_default;
11410
11514
  //#endregion
11411
11515
  //#region packages/editor/src/components/Icon.vue?vue&type=script&setup=true&lang.ts
11412
- var _hoisted_1$72, Icon_vue_vue_type_script_setup_true_lang_default;
11516
+ var _hoisted_1$76, Icon_vue_vue_type_script_setup_true_lang_default;
11413
11517
  var init_Icon_vue_vue_type_script_setup_true_lang = __esmMin((() => {
11414
- _hoisted_1$72 = ["src"];
11518
+ _hoisted_1$76 = ["src"];
11415
11519
  Icon_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
11416
11520
  name: "MEditorIcon",
11417
11521
  __name: "Icon",
@@ -11429,7 +11533,7 @@
11429
11533
  key: 1,
11430
11534
  class: "magic-editor-icon"
11431
11535
  }, {
11432
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("img", { src: __props.icon }, null, 8, _hoisted_1$72)]),
11536
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("img", { src: __props.icon }, null, 8, _hoisted_1$76)]),
11433
11537
  _: 1
11434
11538
  })) : typeof __props.icon === "string" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("i", {
11435
11539
  key: 2,
@@ -11456,7 +11560,7 @@
11456
11560
  //#endregion
11457
11561
  //#region packages/editor/src/components/ToolButton.vue?vue&type=script&setup=true&lang.ts
11458
11562
  init_Icon();
11459
- var _hoisted_1$71 = {
11563
+ var _hoisted_1$75 = {
11460
11564
  key: 1,
11461
11565
  class: "menu-item-text"
11462
11566
  };
@@ -11519,7 +11623,7 @@
11519
11623
  }, [__props.data.type === "divider" ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicDivider), {
11520
11624
  key: 0,
11521
11625
  direction: __props.data.direction || "vertical"
11522
- }, null, 8, ["direction"])) : __props.data.type === "text" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$71, (0, vue.toDisplayString)(__props.data.text), 1)) : __props.data.type === "button" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [__props.data.tooltip ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
11626
+ }, null, 8, ["direction"])) : __props.data.type === "text" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$75, (0, vue.toDisplayString)(__props.data.text), 1)) : __props.data.type === "button" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 2 }, [__props.data.tooltip ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
11523
11627
  key: 0,
11524
11628
  effect: "dark",
11525
11629
  placement: "bottom-start",
@@ -11590,7 +11694,7 @@
11590
11694
  //#region packages/editor/src/layouts/page-bar/AddButton.vue?vue&type=script&setup=true&lang.ts
11591
11695
  init_Icon();
11592
11696
  init_editor();
11593
- var _hoisted_1$70 = {
11697
+ var _hoisted_1$74 = {
11594
11698
  key: 0,
11595
11699
  id: "m-editor-page-bar-add-icon",
11596
11700
  class: "m-editor-page-bar-item m-editor-page-bar-item-icon"
@@ -11616,7 +11720,7 @@
11616
11720
  editorService.add(pageConfig);
11617
11721
  };
11618
11722
  return (_ctx, _cache) => {
11619
- return showAddPageButton.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$70, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), { "popper-class": "data-source-list-panel-add-menu" }, {
11723
+ return showAddPageButton.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$74, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), { "popper-class": "data-source-list-panel-add-menu" }, {
11620
11724
  reference: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: (0, vue.unref)(_element_plus_icons_vue.Plus) }, null, 8, ["icon"])]),
11621
11725
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)(ToolButton_default, { data: {
11622
11726
  type: "button",
@@ -11642,7 +11746,7 @@
11642
11746
  //#endregion
11643
11747
  //#region packages/editor/src/layouts/page-bar/PageBarScrollContainer.vue?vue&type=script&setup=true&lang.ts
11644
11748
  init_Icon();
11645
- var _hoisted_1$69 = {
11749
+ var _hoisted_1$73 = {
11646
11750
  class: "m-editor-page-bar",
11647
11751
  ref: "pageBar"
11648
11752
  };
@@ -11736,7 +11840,7 @@
11736
11840
  }
11737
11841
  });
11738
11842
  return (_ctx, _cache) => {
11739
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$69, [
11843
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$73, [
11740
11844
  (0, vue.renderSlot)(_ctx.$slots, "prepend"),
11741
11845
  __props.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$29, [(0, vue.renderSlot)(_ctx.$slots, "default")], 512)) : (0, vue.createCommentVNode)("v-if", true),
11742
11846
  canScroll.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
@@ -11758,13 +11862,13 @@
11758
11862
  var PageBarScrollContainer_default = PageBarScrollContainer_vue_vue_type_script_setup_true_lang_default;
11759
11863
  //#endregion
11760
11864
  //#region packages/editor/src/layouts/page-bar/PageList.vue?vue&type=script&setup=true&lang.ts
11761
- var _hoisted_1$68 = {
11865
+ var _hoisted_1$72 = {
11762
11866
  key: 0,
11763
11867
  id: "m-editor-page-bar-list-icon",
11764
11868
  class: "m-editor-page-bar-item m-editor-page-bar-item-icon"
11765
11869
  };
11766
11870
  var _hoisted_2$28 = { class: "page-bar-popover-wrapper" };
11767
- var _hoisted_3$13 = { class: "page-bar-popover-inner" };
11871
+ var _hoisted_3$14 = { class: "page-bar-popover-inner" };
11768
11872
  var PageList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
11769
11873
  name: "MEditorPageList",
11770
11874
  __name: "PageList",
@@ -11777,7 +11881,7 @@
11777
11881
  await editorService.select(id);
11778
11882
  };
11779
11883
  return (_ctx, _cache) => {
11780
- return showPageListButton.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$68, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), {
11884
+ return showPageListButton.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$72, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), {
11781
11885
  "popper-class": "page-bar-popover",
11782
11886
  placement: "top",
11783
11887
  trigger: "hover",
@@ -11788,7 +11892,7 @@
11788
11892
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_element_plus_icons_vue.Files))]),
11789
11893
  _: 1
11790
11894
  })]),
11791
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_2$28, [(0, vue.createElementVNode)("div", _hoisted_3$13, [(0, vue.renderSlot)(_ctx.$slots, "page-list-popover", { list: __props.list }, () => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.list, (item, index) => {
11895
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_2$28, [(0, vue.createElementVNode)("div", _hoisted_3$14, [(0, vue.renderSlot)(_ctx.$slots, "page-list-popover", { list: __props.list }, () => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.list, (item, index) => {
11792
11896
  return (0, vue.openBlock)(), (0, vue.createBlock)(ToolButton_default, {
11793
11897
  data: {
11794
11898
  type: "button",
@@ -11810,7 +11914,7 @@
11810
11914
  //#endregion
11811
11915
  //#region packages/editor/src/layouts/page-bar/Search.vue?vue&type=script&setup=true&lang.ts
11812
11916
  init_Icon();
11813
- var _hoisted_1$67 = { class: "m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search" };
11917
+ var _hoisted_1$71 = { class: "m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search" };
11814
11918
  var Search_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
11815
11919
  __name: "Search",
11816
11920
  props: {
@@ -11843,7 +11947,7 @@
11843
11947
  emit("search", values);
11844
11948
  };
11845
11949
  return (_ctx, _cache) => {
11846
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$67, [(0, vue.createVNode)(Icon_default, {
11950
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$71, [(0, vue.createVNode)(Icon_default, {
11847
11951
  icon: (0, vue.unref)(_element_plus_icons_vue.Search),
11848
11952
  onClick: _cache[0] || (_cache[0] = ($event) => visible.value = !visible.value),
11849
11953
  class: (0, vue.normalizeClass)({ "icon-active": visible.value })
@@ -11867,10 +11971,10 @@
11867
11971
  var Search_default = Search_vue_vue_type_script_setup_true_lang_default;
11868
11972
  //#endregion
11869
11973
  //#region packages/editor/src/layouts/page-bar/PageBar.vue?vue&type=script&setup=true&lang.ts
11870
- var _hoisted_1$66 = { class: "m-editor-page-bar-tabs" };
11974
+ var _hoisted_1$70 = { class: "m-editor-page-bar-tabs" };
11871
11975
  var _hoisted_2$27 = ["data-page-id", "onClick"];
11872
- var _hoisted_3$12 = { class: "m-editor-page-bar-title" };
11873
- var _hoisted_4$9 = ["title"];
11976
+ var _hoisted_3$13 = { class: "m-editor-page-bar-title" };
11977
+ var _hoisted_4$10 = ["title"];
11874
11978
  var PageBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
11875
11979
  name: "MEditorPageBar",
11876
11980
  __name: "PageBar",
@@ -11936,7 +12040,7 @@
11936
12040
  }
11937
12041
  });
11938
12042
  return (_ctx, _cache) => {
11939
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$66, [(0, vue.createVNode)(PageBarScrollContainer_default, {
12043
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$70, [(0, vue.createVNode)(PageBarScrollContainer_default, {
11940
12044
  ref: "pageBarScrollContainer",
11941
12045
  "page-bar-sort-options": __props.pageBarSortOptions,
11942
12046
  length: list.value.length
@@ -11960,7 +12064,7 @@
11960
12064
  key: item.id,
11961
12065
  "data-page-id": item.id,
11962
12066
  onClick: ($event) => switchPage(item.id)
11963
- }, [(0, vue.createElementVNode)("div", _hoisted_3$12, [(0, vue.renderSlot)(_ctx.$slots, "page-bar-title", { page: item }, () => [(0, vue.createElementVNode)("span", { title: item.name }, (0, vue.toDisplayString)(item.name || item.id), 9, _hoisted_4$9)])]), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), {
12067
+ }, [(0, vue.createElementVNode)("div", _hoisted_3$13, [(0, vue.renderSlot)(_ctx.$slots, "page-bar-title", { page: item }, () => [(0, vue.createElementVNode)("span", { title: item.name }, (0, vue.toDisplayString)(item.name || item.id), 9, _hoisted_4$10)])]), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicPopover), {
11964
12068
  "popper-class": "page-bar-popover",
11965
12069
  placement: "top",
11966
12070
  trigger: "hover",
@@ -11998,7 +12102,7 @@
11998
12102
  //#region packages/editor/src/layouts/AddPageBox.vue?vue&type=script&setup=true&lang.ts
11999
12103
  init_Icon();
12000
12104
  init_editor();
12001
- var _hoisted_1$65 = { class: "m-editor-empty-panel" };
12105
+ var _hoisted_1$69 = { class: "m-editor-empty-panel" };
12002
12106
  var _hoisted_2$26 = { class: "m-editor-empty-content" };
12003
12107
  var AddPageBox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
12004
12108
  name: "MEditorAddPageBox",
@@ -12016,7 +12120,7 @@
12016
12120
  });
12017
12121
  };
12018
12122
  return (_ctx, _cache) => {
12019
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$65, [(0, vue.createElementVNode)("div", _hoisted_2$26, [(0, vue.createElementVNode)("div", {
12123
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$69, [(0, vue.createElementVNode)("div", _hoisted_2$26, [(0, vue.createElementVNode)("div", {
12020
12124
  class: "m-editor-empty-button",
12021
12125
  onClick: _cache[0] || (_cache[0] = ($event) => clickHandler((0, vue.unref)(_tmagic_core.NodeType).PAGE))
12022
12126
  }, [(0, vue.createElementVNode)("div", null, [(0, vue.createVNode)(Icon_default, { icon: (0, vue.unref)(_element_plus_icons_vue.Plus) }, null, 8, ["icon"])]), _cache[2] || (_cache[2] = (0, vue.createElementVNode)("p", null, "新增页面", -1))]), !__props.disabledPageFragment ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
@@ -12032,14 +12136,14 @@
12032
12136
  var AddPageBox_default = AddPageBox_vue_vue_type_script_setup_true_lang_default;
12033
12137
  //#endregion
12034
12138
  //#region packages/editor/src/layouts/CodeEditor.vue?vue&type=script&setup=true&lang.ts
12035
- var _hoisted_1$64, _hoisted_2$25, CodeEditor_vue_vue_type_script_setup_true_lang_default;
12139
+ var _hoisted_1$68, _hoisted_2$25, CodeEditor_vue_vue_type_script_setup_true_lang_default;
12036
12140
  var init_CodeEditor_vue_vue_type_script_setup_true_lang = __esmMin((() => {
12037
12141
  init_lodash();
12038
12142
  init_Icon();
12039
12143
  init_config();
12040
12144
  init_editor();
12041
12145
  init_monaco_editor();
12042
- _hoisted_1$64 = { class: "magic-code-editor" };
12146
+ _hoisted_1$68 = { class: "magic-code-editor" };
12043
12147
  _hoisted_2$25 = {
12044
12148
  ref: "codeEditor",
12045
12149
  class: "magic-code-editor-content"
@@ -12292,7 +12396,7 @@
12292
12396
  }
12293
12397
  });
12294
12398
  return (_ctx, _cache) => {
12295
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$64, [((0, vue.openBlock)(), (0, vue.createBlock)(vue.Teleport, {
12399
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$68, [((0, vue.openBlock)(), (0, vue.createBlock)(vue.Teleport, {
12296
12400
  to: "body",
12297
12401
  disabled: !fullScreen.value
12298
12402
  }, [(0, vue.createElementVNode)("div", {
@@ -12327,11 +12431,6 @@
12327
12431
  //#region packages/editor/src/layouts/Framework.vue?vue&type=script&setup=true&lang.ts
12328
12432
  init_config();
12329
12433
  init_CodeEditor();
12330
- var _hoisted_1$63 = {
12331
- class: "m-editor",
12332
- ref: "content",
12333
- style: { "min-width": "900px" }
12334
- };
12335
12434
  var Framework_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
12336
12435
  name: "MEditorFramework",
12337
12436
  __name: "Framework",
@@ -12339,7 +12438,8 @@
12339
12438
  disabledPageFragment: { type: Boolean },
12340
12439
  pageBarSortOptions: {},
12341
12440
  pageFilterFunction: { type: Function },
12342
- hideSidebar: { type: Boolean }
12441
+ hideSidebar: { type: Boolean },
12442
+ theme: {}
12343
12443
  },
12344
12444
  setup(__props) {
12345
12445
  const props = __props;
@@ -12361,7 +12461,7 @@
12361
12461
  (0, vue.watch)(() => uiService.get("hideSlideBar"), (hideSlideBar) => {
12362
12462
  uiService.set("columnWidth", {
12363
12463
  ...columnWidth.value,
12364
- left: hideSlideBar ? 0 : storageService.getItem("$MagicEditorLeftColumnWidthData", { protocol: Protocol.NUMBER }) || 310
12464
+ left: hideSlideBar ? 0 : storageService.getItem("$MagicEditorLeftColumnWidthData", { protocol: Protocol.NUMBER }) || 345
12365
12465
  });
12366
12466
  });
12367
12467
  const columnWidthChange = (columnW) => {
@@ -12394,7 +12494,15 @@
12394
12494
  }
12395
12495
  };
12396
12496
  return (_ctx, _cache) => {
12397
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$63, [
12497
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
12498
+ ref: "content",
12499
+ class: (0, vue.normalizeClass)([
12500
+ "m-editor",
12501
+ __props.theme ? `m-editor--${__props.theme}` : "",
12502
+ __props.theme ? `m-theme--${__props.theme}` : ""
12503
+ ]),
12504
+ style: { "min-width": "900px" }
12505
+ }, [
12398
12506
  (0, vue.renderSlot)(_ctx.$slots, "header"),
12399
12507
  (0, vue.renderSlot)(_ctx.$slots, "nav"),
12400
12508
  (0, vue.renderSlot)(_ctx.$slots, "content-before"),
@@ -12453,7 +12561,7 @@
12453
12561
  ]), [[vue.vShow, !showSrc.value]]),
12454
12562
  (0, vue.renderSlot)(_ctx.$slots, "content-after"),
12455
12563
  (0, vue.renderSlot)(_ctx.$slots, "footer")
12456
- ], 512);
12564
+ ], 2);
12457
12565
  };
12458
12566
  }
12459
12567
  });
@@ -12643,15 +12751,15 @@
12643
12751
  };
12644
12752
  //#endregion
12645
12753
  //#region packages/editor/src/layouts/history-list/GroupRow.vue?vue&type=script&setup=true&lang.ts
12646
- var _hoisted_1$62 = ["title"];
12754
+ var _hoisted_1$67 = ["title"];
12647
12755
  var _hoisted_2$24 = ["title"];
12648
- var _hoisted_3$11 = { class: "m-editor-history-list-item-desc" };
12649
- var _hoisted_4$8 = {
12756
+ var _hoisted_3$12 = { class: "m-editor-history-list-item-desc" };
12757
+ var _hoisted_4$9 = {
12650
12758
  key: 0,
12651
12759
  class: "m-editor-history-list-item-saved",
12652
12760
  title: "该记录为最近一次保存的状态"
12653
12761
  };
12654
- var _hoisted_5$4 = {
12762
+ var _hoisted_5$5 = {
12655
12763
  key: 1,
12656
12764
  class: "m-editor-history-list-item-actions"
12657
12765
  };
@@ -12811,9 +12919,9 @@
12811
12919
  title: headIndexTitle.value
12812
12920
  }, (0, vue.toDisplayString)(headIndexLabel.value), 9, _hoisted_2$24),
12813
12921
  (0, vue.createElementVNode)("span", { class: (0, vue.normalizeClass)(["m-editor-history-list-item-op", `op-${__props.group.opType}`]) }, (0, vue.toDisplayString)((0, vue.unref)(opLabel)(__props.group.opType)), 3),
12814
- (0, vue.createElementVNode)("span", _hoisted_3$11, (0, vue.toDisplayString)(__props.group.desc), 1),
12815
- headSaved.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$8, "已保存")) : (0, vue.createCommentVNode)("v-if", true),
12816
- !merged.value && (headRevertable.value || headDiffable.value || canHeadGoto.value) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$4, [
12922
+ (0, vue.createElementVNode)("span", _hoisted_3$12, (0, vue.toDisplayString)(__props.group.desc), 1),
12923
+ headSaved.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$9, "已保存")) : (0, vue.createCommentVNode)("v-if", true),
12924
+ !merged.value && (headRevertable.value || headDiffable.value || canHeadGoto.value) ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_5$5, [
12817
12925
  headRevertable.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
12818
12926
  key: 0,
12819
12927
  class: "m-editor-history-list-item-revert",
@@ -12853,7 +12961,7 @@
12853
12961
  key: 6,
12854
12962
  class: (0, vue.normalizeClass)(["m-editor-history-list-group-toggle", { "is-expanded": __props.expanded }])
12855
12963
  }, "▾", 2)) : (0, vue.createCommentVNode)("v-if", true)
12856
- ], 10, _hoisted_1$62), merged.value && __props.expanded ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("ul", _hoisted_10, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(subStepsDisplay.value, (s) => {
12964
+ ], 10, _hoisted_1$67), merged.value && __props.expanded ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("ul", _hoisted_10, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(subStepsDisplay.value, (s) => {
12857
12965
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("li", {
12858
12966
  key: s.index,
12859
12967
  class: (0, vue.normalizeClass)({
@@ -12912,18 +13020,18 @@
12912
13020
  var GroupRow_default = GroupRow_vue_vue_type_script_setup_true_lang_default;
12913
13021
  //#endregion
12914
13022
  //#region packages/editor/src/layouts/history-list/InitialRow.vue?vue&type=script&setup=true&lang.ts
12915
- var _hoisted_1$61 = ["title"];
13023
+ var _hoisted_1$66 = ["title"];
12916
13024
  var _hoisted_2$23 = { class: "m-editor-history-list-item-desc" };
12917
- var _hoisted_3$10 = {
13025
+ var _hoisted_3$11 = {
12918
13026
  key: 0,
12919
13027
  class: "m-editor-history-list-item-saved",
12920
13028
  title: "该记录为最近一次保存的状态"
12921
13029
  };
12922
- var _hoisted_4$7 = {
13030
+ var _hoisted_4$8 = {
12923
13031
  key: 1,
12924
13032
  class: "m-editor-history-list-item-actions"
12925
13033
  };
12926
- var _hoisted_5$3 = ["title"];
13034
+ var _hoisted_5$4 = ["title"];
12927
13035
  var InitialRow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
12928
13036
  name: "MEditorHistoryListInitialRow",
12929
13037
  __name: "InitialRow",
@@ -12975,8 +13083,8 @@
12975
13083
  }, "#0", -1)),
12976
13084
  _cache[1] || (_cache[1] = (0, vue.createElementVNode)("span", { class: "m-editor-history-list-item-op op-initial" }, "初始", -1)),
12977
13085
  (0, vue.createElementVNode)("span", _hoisted_2$23, (0, vue.toDisplayString)(desc.value), 1),
12978
- saved.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$10, "已保存")) : (0, vue.createCommentVNode)("v-if", true),
12979
- __props.gotoEnabled && !__props.isCurrent ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$7, [(0, vue.createElementVNode)("span", {
13086
+ saved.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$11, "已保存")) : (0, vue.createCommentVNode)("v-if", true),
13087
+ __props.gotoEnabled && !__props.isCurrent ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$8, [(0, vue.createElementVNode)("span", {
12980
13088
  class: "m-editor-history-list-item-goto",
12981
13089
  title: "回到该记录",
12982
13090
  onClick: (0, vue.withModifiers)(onClick, ["stop"])
@@ -12985,8 +13093,8 @@
12985
13093
  key: 2,
12986
13094
  class: "m-editor-history-list-item-time",
12987
13095
  title: timeTitle.value
12988
- }, (0, vue.toDisplayString)(time.value), 9, _hoisted_5$3)) : (0, vue.createCommentVNode)("v-if", true)
12989
- ], 10, _hoisted_1$61);
13096
+ }, (0, vue.toDisplayString)(time.value), 9, _hoisted_5$4)) : (0, vue.createCommentVNode)("v-if", true)
13097
+ ], 10, _hoisted_1$66);
12990
13098
  };
12991
13099
  }
12992
13100
  });
@@ -12995,10 +13103,10 @@
12995
13103
  var InitialRow_default = InitialRow_vue_vue_type_script_setup_true_lang_default;
12996
13104
  //#endregion
12997
13105
  //#region packages/editor/src/layouts/history-list/Bucket.vue?vue&type=script&setup=true&lang.ts
12998
- var _hoisted_1$60 = { class: "m-editor-history-list-bucket" };
13106
+ var _hoisted_1$65 = { class: "m-editor-history-list-bucket" };
12999
13107
  var _hoisted_2$22 = { class: "m-editor-history-list-bucket-title" };
13000
- var _hoisted_3$9 = { class: "m-editor-history-list-bucket-count" };
13001
- var _hoisted_4$6 = { class: "m-editor-history-list-ul" };
13108
+ var _hoisted_3$10 = { class: "m-editor-history-list-bucket-count" };
13109
+ var _hoisted_4$7 = { class: "m-editor-history-list-ul" };
13002
13110
  var Bucket_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
13003
13111
  name: "MEditorHistoryListBucket",
13004
13112
  __name: "Bucket",
@@ -13027,11 +13135,11 @@
13027
13135
  /** 该 bucket 是否处于初始状态(栈 cursor=0),等价于全部 group 都未 applied。 */
13028
13136
  const isInitial = (0, vue.computed)(() => props.groups.length > 0 && props.groups.every((g) => !g.applied));
13029
13137
  return (_ctx, _cache) => {
13030
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$60, [(0, vue.createElementVNode)("div", _hoisted_2$22, [
13138
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$65, [(0, vue.createElementVNode)("div", _hoisted_2$22, [
13031
13139
  (0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)(__props.config.title), 1),
13032
13140
  (0, vue.createElementVNode)("code", null, (0, vue.toDisplayString)(String(__props.bucketId)), 1),
13033
- (0, vue.createElementVNode)("span", _hoisted_3$9, (0, vue.toDisplayString)(__props.groups.length) + " 组", 1)
13034
- ]), (0, vue.createElementVNode)("ul", _hoisted_4$6, [
13141
+ (0, vue.createElementVNode)("span", _hoisted_3$10, (0, vue.toDisplayString)(__props.groups.length) + " 组", 1)
13142
+ ]), (0, vue.createElementVNode)("ul", _hoisted_4$7, [
13035
13143
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.groups, (group) => {
13036
13144
  return (0, vue.openBlock)(), (0, vue.createBlock)(GroupRow_default, {
13037
13145
  key: rowKey(group),
@@ -13064,7 +13172,7 @@
13064
13172
  var Bucket_default = Bucket_vue_vue_type_script_setup_true_lang_default;
13065
13173
  //#endregion
13066
13174
  //#region packages/editor/src/layouts/history-list/BucketTab.vue?vue&type=script&setup=true&lang.ts
13067
- var _hoisted_1$59 = {
13175
+ var _hoisted_1$64 = {
13068
13176
  key: 0,
13069
13177
  class: "m-editor-history-list-empty"
13070
13178
  };
@@ -13072,7 +13180,7 @@
13072
13180
  key: 0,
13073
13181
  class: "m-editor-history-list-toolbar"
13074
13182
  };
13075
- var _hoisted_3$8 = ["title"];
13183
+ var _hoisted_3$9 = ["title"];
13076
13184
  var BucketTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
13077
13185
  name: "MEditorHistoryListBucketTab",
13078
13186
  __name: "BucketTab",
@@ -13091,11 +13199,11 @@
13091
13199
  ],
13092
13200
  setup(__props) {
13093
13201
  return (_ctx, _cache) => {
13094
- return !__props.buckets.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$59, "暂无操作记录")) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [__props.config.showClear !== false ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$21, [(0, vue.createElementVNode)("span", {
13202
+ return !__props.buckets.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$64, "暂无操作记录")) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [__props.config.showClear !== false ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$21, [(0, vue.createElementVNode)("span", {
13095
13203
  class: "m-editor-history-list-clear",
13096
13204
  title: `清空${__props.config.title}的历史记录`,
13097
13205
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("clear"))
13098
- }, "清空", 8, _hoisted_3$8)])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), { "max-height": "360px" }, {
13206
+ }, "清空", 8, _hoisted_3$9)])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), { "max-height": "360px" }, {
13099
13207
  default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.buckets, (bucket) => {
13100
13208
  return (0, vue.openBlock)(), (0, vue.createBlock)(Bucket_default, {
13101
13209
  key: `${__props.config.prefix}-${bucket.id}`,
@@ -13125,7 +13233,7 @@
13125
13233
  var BucketTab_default = BucketTab_vue_vue_type_script_setup_true_lang_default;
13126
13234
  //#endregion
13127
13235
  //#region packages/editor/src/layouts/history-list/PageTab.vue?vue&type=script&setup=true&lang.ts
13128
- var _hoisted_1$58 = {
13236
+ var _hoisted_1$63 = {
13129
13237
  key: 0,
13130
13238
  class: "m-editor-history-list-empty"
13131
13239
  };
@@ -13133,7 +13241,7 @@
13133
13241
  key: 0,
13134
13242
  class: "m-editor-history-list-toolbar"
13135
13243
  };
13136
- var _hoisted_3$7 = { class: "m-editor-history-list-ul" };
13244
+ var _hoisted_3$8 = { class: "m-editor-history-list-ul" };
13137
13245
  var PageTab_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
13138
13246
  name: "MEditorHistoryListPageTab",
13139
13247
  __name: "PageTab",
@@ -13181,12 +13289,12 @@
13181
13289
  */
13182
13290
  const isInitial = (0, vue.computed)(() => props.list.every((g) => !g.applied));
13183
13291
  return (_ctx, _cache) => {
13184
- return !__props.list.length && !__props.marker ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$58, "暂无操作记录")) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [__props.list.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$20, [(0, vue.createElementVNode)("span", {
13292
+ return !__props.list.length && !__props.marker ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$63, "暂无操作记录")) : ((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: 1 }, [__props.list.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$20, [(0, vue.createElementVNode)("span", {
13185
13293
  class: "m-editor-history-list-clear",
13186
13294
  title: "清空当前页面的历史记录",
13187
13295
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("clear"))
13188
13296
  }, "清空")])) : (0, vue.createCommentVNode)("v-if", true), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), { "max-height": "360px" }, {
13189
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("ul", _hoisted_3$7, [
13297
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("ul", _hoisted_3$8, [
13190
13298
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.list, (group) => {
13191
13299
  return (0, vue.openBlock)(), (0, vue.createBlock)(GroupRow_default, {
13192
13300
  key: rowKey(group),
@@ -13367,12 +13475,12 @@
13367
13475
  }));
13368
13476
  //#endregion
13369
13477
  //#region packages/editor/src/layouts/history-list/HistoryDiffDialog.vue?vue&type=script&setup=true&lang.ts
13370
- var _hoisted_1$57, _hoisted_2$19, _hoisted_3$6, _hoisted_4$5, _hoisted_5$2, _hoisted_6$2, _hoisted_7, HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default;
13478
+ var _hoisted_1$62, _hoisted_2$19, _hoisted_3$7, _hoisted_4$6, _hoisted_5$3, _hoisted_6$2, _hoisted_7, HistoryDiffDialog_vue_vue_type_script_setup_true_lang_default;
13371
13479
  var init_HistoryDiffDialog_vue_vue_type_script_setup_true_lang = __esmMin((() => {
13372
13480
  init_lodash();
13373
13481
  init_CompareForm();
13374
13482
  init_CodeEditor();
13375
- _hoisted_1$57 = {
13483
+ _hoisted_1$62 = {
13376
13484
  key: 0,
13377
13485
  class: "m-editor-history-diff-dialog-body"
13378
13486
  };
@@ -13380,9 +13488,9 @@
13380
13488
  key: 0,
13381
13489
  class: "m-editor-history-diff-dialog-notice"
13382
13490
  };
13383
- _hoisted_3$6 = { class: "m-editor-history-diff-dialog-header" };
13384
- _hoisted_4$5 = { class: "m-editor-history-diff-dialog-target" };
13385
- _hoisted_5$2 = { class: "m-editor-history-diff-dialog-controls" };
13491
+ _hoisted_3$7 = { class: "m-editor-history-diff-dialog-header" };
13492
+ _hoisted_4$6 = { class: "m-editor-history-diff-dialog-target" };
13493
+ _hoisted_5$3 = { class: "m-editor-history-diff-dialog-controls" };
13386
13494
  _hoisted_6$2 = { class: "m-editor-history-diff-dialog-legend" };
13387
13495
  _hoisted_7 = {
13388
13496
  key: 0,
@@ -13560,9 +13668,9 @@
13560
13668
  default: (0, vue.withCtx)(() => [..._cache[12] || (_cache[12] = [(0, vue.createTextVNode)("关闭", -1)])]),
13561
13669
  _: 1
13562
13670
  }))]),
13563
- default: (0, vue.withCtx)(() => [payload.value && visible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$57, [
13671
+ default: (0, vue.withCtx)(() => [payload.value && visible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$62, [
13564
13672
  __props.onConfirm ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$19, "仅回滚有差异的字段")) : (0, vue.createCommentVNode)("v-if", true),
13565
- (0, vue.createElementVNode)("div", _hoisted_3$6, [(0, vue.createElementVNode)("span", _hoisted_4$5, (0, vue.toDisplayString)(targetText.value), 1), (0, vue.createElementVNode)("div", _hoisted_5$2, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicRadioGroup), {
13673
+ (0, vue.createElementVNode)("div", _hoisted_3$7, [(0, vue.createElementVNode)("span", _hoisted_4$6, (0, vue.toDisplayString)(targetText.value), 1), (0, vue.createElementVNode)("div", _hoisted_5$3, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicRadioGroup), {
13566
13674
  modelValue: viewMode.value,
13567
13675
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => viewMode.value = $event),
13568
13676
  size: "small",
@@ -13987,7 +14095,7 @@
13987
14095
  //#endregion
13988
14096
  //#region packages/editor/src/layouts/history-list/HistoryListPanel.vue?vue&type=script&setup=true&lang.ts
13989
14097
  init_Icon();
13990
- var _hoisted_1$56 = { class: "m-editor-history-list" };
14098
+ var _hoisted_1$61 = { class: "m-editor-history-list" };
13991
14099
  var HistoryListPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
13992
14100
  name: "MEditorHistoryListPanel",
13993
14101
  __name: "HistoryListPanel",
@@ -14186,7 +14294,7 @@
14186
14294
  })]),
14187
14295
  _: 1
14188
14296
  })]),
14189
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$56, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
14297
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$61, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
14190
14298
  effect: "dark",
14191
14299
  placement: "top",
14192
14300
  content: "关闭"
@@ -14306,7 +14414,7 @@
14306
14414
  var HistoryListPanel_default = HistoryListPanel_vue_vue_type_script_setup_true_lang_default;
14307
14415
  //#endregion
14308
14416
  //#region packages/editor/src/layouts/NavMenuColumn.vue?vue&type=script&setup=true&lang.ts
14309
- var _hoisted_1$55 = { class: "m-editor-nav-menu-overflow-list" };
14417
+ var _hoisted_1$60 = { class: "m-editor-nav-menu-overflow-list" };
14310
14418
  var NavMenuColumn_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
14311
14419
  name: "MEditorNavMenuColumn",
14312
14420
  __name: "NavMenuColumn",
@@ -14489,7 +14597,7 @@
14489
14597
  "bg",
14490
14598
  "type"
14491
14599
  ])], 512)]),
14492
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$55, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(overflowItems.value, (item, index) => {
14600
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$60, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(overflowItems.value, (item, index) => {
14493
14601
  return (0, vue.openBlock)(), (0, vue.createBlock)(ToolButton_default, {
14494
14602
  data: item,
14495
14603
  key: `o-${index}`
@@ -14734,7 +14842,7 @@
14734
14842
  init_Icon();
14735
14843
  init_props();
14736
14844
  init_CodeEditor();
14737
- var _hoisted_1$54 = { class: "m-editor-props-form-panel" };
14845
+ var _hoisted_1$59 = { class: "m-editor-props-form-panel" };
14738
14846
  var FormPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
14739
14847
  name: "MEditorFormPanel",
14740
14848
  __name: "FormPanel",
@@ -14831,7 +14939,7 @@
14831
14939
  submit
14832
14940
  });
14833
14941
  return (_ctx, _cache) => {
14834
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$54, [
14942
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$59, [
14835
14943
  (0, vue.renderSlot)(_ctx.$slots, "props-form-panel-header"),
14836
14944
  (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), null, {
14837
14945
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MForm), {
@@ -14932,7 +15040,7 @@
14932
15040
  //#region packages/editor/src/layouts/props-panel/PropsPanel.vue?vue&type=script&setup=true&lang.ts
14933
15041
  init_Icon();
14934
15042
  init_props();
14935
- var _hoisted_1$53 = {
15043
+ var _hoisted_1$58 = {
14936
15044
  ref: "propsPanel",
14937
15045
  class: "m-editor-props-panel"
14938
15046
  };
@@ -14962,18 +15070,27 @@
14962
15070
  tabPosition: "right",
14963
15071
  items: styleTabConfig.items
14964
15072
  }];
15073
+ let initSeq = 0;
15074
+ let mounted = true;
14965
15075
  const init = async () => {
15076
+ initSeq += 1;
15077
+ const seq = initSeq;
14966
15078
  if (!node.value) {
15079
+ if (seq !== initSeq || !mounted) return;
14967
15080
  curFormConfig.value = [];
14968
15081
  return;
14969
15082
  }
14970
15083
  const type = node.value.type || (node.value.items ? "container" : "text");
14971
- curFormConfig.value = await propsService.getPropsConfig(type, { node: node.value });
15084
+ const config = await propsService.getPropsConfig(type, { node: node.value });
15085
+ if (seq !== initSeq || !mounted) return;
15086
+ if (!node.value) return;
15087
+ curFormConfig.value = config;
14972
15088
  values.value = node.value;
14973
15089
  };
14974
15090
  (0, vue.watchEffect)(init);
14975
15091
  propsService.on("props-configs-change", init);
14976
15092
  (0, vue.onBeforeUnmount)(() => {
15093
+ mounted = false;
14977
15094
  propsService.off("props-configs-change", init);
14978
15095
  });
14979
15096
  const submit = async (v, eventData, error, source = "props") => {
@@ -14983,14 +15100,14 @@
14983
15100
  ...v,
14984
15101
  style: {}
14985
15102
  };
14986
- if (v.style) {
15103
+ if (v.style) if (eventData) {
14987
15104
  Object.entries(v.style).forEach(([key, value]) => {
14988
15105
  if (value !== "" && newValue.style) newValue.style[key] = value;
14989
15106
  });
14990
- eventData?.changeRecords?.forEach((record) => {
15107
+ eventData.changeRecords?.forEach((record) => {
14991
15108
  if (record.propPath?.startsWith("style") && record.value === "") (0, _tmagic_utils.setValueByKeyPath)(record.propPath, record.value, newValue);
14992
15109
  });
14993
- }
15110
+ } else newValue.style = { ...v.style };
14994
15111
  const historySource = eventData ? "props" : "code";
14995
15112
  editorService.update(newValue, {
14996
15113
  changeRecords: eventData?.changeRecords,
@@ -15041,7 +15158,7 @@
15041
15158
  submit
15042
15159
  });
15043
15160
  return (_ctx, _cache) => {
15044
- return (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$53, [
15161
+ return (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$58, [
15045
15162
  (0, vue.renderSlot)(_ctx.$slots, "props-panel-header"),
15046
15163
  (0, vue.createVNode)(FormPanel_default, {
15047
15164
  ref: "propertyFormPanel",
@@ -15112,7 +15229,7 @@
15112
15229
  //#endregion
15113
15230
  //#region packages/editor/src/components/FloatingBox.vue?vue&type=script&setup=true&lang.ts
15114
15231
  init_Icon();
15115
- var _hoisted_1$52 = {
15232
+ var _hoisted_1$57 = {
15116
15233
  ref: "title",
15117
15234
  class: "m-editor-float-box-title"
15118
15235
  };
@@ -15151,6 +15268,11 @@
15151
15268
  const props = __props;
15152
15269
  const targetEl = (0, vue.useTemplateRef)("target");
15153
15270
  const titleEl = (0, vue.useTemplateRef)("title");
15271
+ /**
15272
+ * 主题修饰类(来自最近的 `<MEditor>` / `<MForm>` 祖先 provide)。
15273
+ * 挂在 `Teleport` 出去的浮动面板根节点上,让主题级 CSS 变量在 portal 节点上也能命中。
15274
+ */
15275
+ const themeClass = (0, _tmagic_design.useThemeClass)();
15154
15276
  const zIndex = (0, _tmagic_design.useZIndex)();
15155
15277
  const curZIndex = (0, vue.ref)(0);
15156
15278
  const titleHeight = (0, vue.ref)(0);
@@ -15287,14 +15409,14 @@
15287
15409
  to: "body"
15288
15410
  }, [(0, vue.createElementVNode)("div", (0, vue.mergeProps)({
15289
15411
  ref: "target",
15290
- class: "m-editor-float-box"
15412
+ class: ["m-editor-float-box", (0, vue.unref)(themeClass)]
15291
15413
  }, _ctx.$attrs, {
15292
15414
  style: {
15293
15415
  ...style.value,
15294
15416
  zIndex: curZIndex.value
15295
15417
  },
15296
15418
  onMousedown: nextZIndex
15297
- }), [(0, vue.createElementVNode)("div", _hoisted_1$52, [(0, vue.renderSlot)(_ctx.$slots, "title", {}, () => [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)(__props.title), 1)]), (0, vue.createElementVNode)("div", null, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
15419
+ }), [(0, vue.createElementVNode)("div", _hoisted_1$57, [(0, vue.renderSlot)(_ctx.$slots, "title", {}, () => [(0, vue.createElementVNode)("span", null, (0, vue.toDisplayString)(__props.title), 1)]), (0, vue.createElementVNode)("div", null, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
15298
15420
  link: "",
15299
15421
  size: "small",
15300
15422
  onClick: closeHandler
@@ -15319,13 +15441,13 @@
15319
15441
  init_CodeEditor();
15320
15442
  init_code_block();
15321
15443
  init_config();
15322
- var _hoisted_1$51 = { style: {
15444
+ var _hoisted_1$56 = { style: {
15323
15445
  "display": "flex",
15324
15446
  "margin-bottom": "10px"
15325
15447
  } };
15326
15448
  var _hoisted_2$17 = { style: { "flex": "1" } };
15327
- var _hoisted_3$5 = { style: { "flex": "1" } };
15328
- var _hoisted_4$4 = { class: "dialog-footer" };
15449
+ var _hoisted_3$6 = { style: { "flex": "1" } };
15450
+ var _hoisted_4$5 = { class: "dialog-footer" };
15329
15451
  var CodeBlockEditor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
15330
15452
  name: "MEditorCodeBlockEditor",
15331
15453
  __name: "CodeBlockEditor",
@@ -15509,7 +15631,7 @@
15509
15631
  fullscreen: "",
15510
15632
  "destroy-on-close": ""
15511
15633
  }, {
15512
- footer: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_4$4, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
15634
+ footer: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("span", _hoisted_4$5, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
15513
15635
  size: "small",
15514
15636
  onClick: _cache[4] || (_cache[4] = ($event) => difVisible.value = false)
15515
15637
  }, {
@@ -15523,13 +15645,13 @@
15523
15645
  default: (0, vue.withCtx)(() => [..._cache[10] || (_cache[10] = [(0, vue.createTextVNode)("确定", -1)])]),
15524
15646
  _: 1
15525
15647
  })])]),
15526
- default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$51, [(0, vue.createElementVNode)("div", _hoisted_2$17, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTag), {
15648
+ default: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_1$56, [(0, vue.createElementVNode)("div", _hoisted_2$17, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTag), {
15527
15649
  size: "small",
15528
15650
  type: "danger"
15529
15651
  }, {
15530
15652
  default: (0, vue.withCtx)(() => [..._cache[7] || (_cache[7] = [(0, vue.createTextVNode)("修改前", -1)])]),
15531
15653
  _: 1
15532
- })]), (0, vue.createElementVNode)("div", _hoisted_3$5, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTag), {
15654
+ })]), (0, vue.createElementVNode)("div", _hoisted_3$6, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicTag), {
15533
15655
  size: "small",
15534
15656
  type: "success"
15535
15657
  }, {
@@ -15586,6 +15708,13 @@
15586
15708
  const buttonRefs = (0, vue.useTemplateRef)("buttons");
15587
15709
  const subMenuRef = (0, vue.useTemplateRef)("subMenu");
15588
15710
  const visible = (0, vue.ref)(false);
15711
+ /**
15712
+ * 主题修饰类(来自最近的 `<MEditor>` / `<MForm>` 祖先 provide)。
15713
+ * - 顶层 `ContentMenu` 渲染在编辑器子树中,加上去是冗余但无害;
15714
+ * - 子菜单(递归 `<content-menu :is-sub-menu="true">` 被 `<teleport to="body">` 送到 body)
15715
+ * 不在编辑器子树中,必须显式挂上主题类,主题级 CSS 变量才能命中。
15716
+ */
15717
+ const themeClass = (0, _tmagic_design.useThemeClass)();
15589
15718
  const subMenuData = (0, vue.ref)([]);
15590
15719
  const zIndex = (0, _tmagic_design.useZIndex)();
15591
15720
  const curZIndex = (0, vue.ref)(0);
@@ -15616,15 +15745,29 @@
15616
15745
  if (contains(target)) return;
15617
15746
  hide();
15618
15747
  };
15748
+ const fixPosition = () => {
15749
+ const menu = menuEl.value;
15750
+ if (!menu || !visible.value) return;
15751
+ const menuHeight = menu.clientHeight;
15752
+ const menuWidth = menu.clientWidth;
15753
+ let { top, left } = menuPosition.value;
15754
+ if (top + menuHeight > document.body.clientHeight) top = Math.max(0, document.body.clientHeight - menuHeight);
15755
+ if (left + menuWidth > document.body.clientWidth) left = Math.max(0, document.body.clientWidth - menuWidth);
15756
+ if (top !== menuPosition.value.top || left !== menuPosition.value.left) menuPosition.value = {
15757
+ top,
15758
+ left
15759
+ };
15760
+ };
15619
15761
  const setPosition = (e) => {
15620
- const menuHeight = menuEl.value?.clientHeight || 0;
15621
- let top = e.clientY;
15622
- if (menuHeight + e.clientY > document.body.clientHeight) top = document.body.clientHeight - menuHeight;
15623
15762
  menuPosition.value = {
15624
- top,
15763
+ top: e.clientY,
15625
15764
  left: e.clientX
15626
15765
  };
15766
+ fixPosition();
15627
15767
  };
15768
+ const resizeObserver = new ResizeObserver(() => {
15769
+ fixPosition();
15770
+ });
15628
15771
  const show = (e) => {
15629
15772
  visible.value = true;
15630
15773
  (0, vue.nextTick)(() => {
@@ -15653,10 +15796,12 @@
15653
15796
  emit("mouseenter");
15654
15797
  };
15655
15798
  (0, vue.onMounted)(() => {
15799
+ if (menuEl.value) resizeObserver.observe(menuEl.value);
15656
15800
  if (props.isSubMenu) return;
15657
15801
  globalThis.addEventListener("mousedown", outsideClickHideHandler, true);
15658
15802
  });
15659
15803
  (0, vue.onBeforeUnmount)(() => {
15804
+ resizeObserver.disconnect();
15660
15805
  if (props.isSubMenu) return;
15661
15806
  globalThis.removeEventListener("mousedown", outsideClickHideHandler, true);
15662
15807
  });
@@ -15675,8 +15820,8 @@
15675
15820
  persisted: ""
15676
15821
  }, {
15677
15822
  default: (0, vue.withCtx)(() => [(0, vue.withDirectives)((0, vue.createElementVNode)("div", {
15678
- class: "magic-editor-content-menu",
15679
15823
  ref: "menu",
15824
+ class: (0, vue.normalizeClass)(["magic-editor-content-menu", (0, vue.unref)(themeClass)]),
15680
15825
  style: (0, vue.normalizeStyle)(menuStyle.value),
15681
15826
  onMouseenter: _cache[0] || (_cache[0] = ($event) => mouseenterHandler()),
15682
15827
  onContextmenu: _cache[1] || (_cache[1] = (0, vue.withModifiers)(() => {}, ["prevent"]))
@@ -15707,7 +15852,7 @@
15707
15852
  "is-sub-menu": true,
15708
15853
  onHide: hide
15709
15854
  }, null, 8, ["active", "menu-data"])) : (0, vue.createCommentVNode)("v-if", true)]))
15710
- ], 36), [[vue.vShow, visible.value]])]),
15855
+ ], 38), [[vue.vShow, visible.value]])]),
15711
15856
  _: 3
15712
15857
  });
15713
15858
  };
@@ -15758,7 +15903,7 @@
15758
15903
  //#endregion
15759
15904
  //#region packages/editor/src/components/TreeNode.vue?vue&type=script&setup=true&lang.ts
15760
15905
  init_Icon();
15761
- var _hoisted_1$50 = [
15906
+ var _hoisted_1$55 = [
15762
15907
  "draggable",
15763
15908
  "data-node-id",
15764
15909
  "data-parent-id",
@@ -15766,8 +15911,8 @@
15766
15911
  "data-is-container"
15767
15912
  ];
15768
15913
  var _hoisted_2$16 = { class: "tree-node-label" };
15769
- var _hoisted_3$4 = { class: "tree-node-tool" };
15770
- var _hoisted_4$3 = {
15914
+ var _hoisted_3$5 = { class: "tree-node-tool" };
15915
+ var _hoisted_4$4 = {
15771
15916
  key: 0,
15772
15917
  class: "m-editor-tree-node-children"
15773
15918
  };
@@ -15861,7 +16006,7 @@
15861
16006
  class: "tree-node-content",
15862
16007
  onClick: nodeClickHandler,
15863
16008
  onDblclick: nodeDblclickHandler
15864
- }, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-content", { data: __props.data }, () => [(0, vue.createElementVNode)("div", _hoisted_2$16, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-label", { data: __props.data }, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(`${__props.data.name} (${__props.data.id})`), 1)])]), (0, vue.createElementVNode)("div", _hoisted_3$4, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-tool", { data: __props.data })])])], 32)], 38), __props.isExpandable(__props.data, __props.nodeStatusMap) && expanded.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$3, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.data.items, (item) => {
16009
+ }, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-content", { data: __props.data }, () => [(0, vue.createElementVNode)("div", _hoisted_2$16, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-label", { data: __props.data }, () => [(0, vue.createTextVNode)((0, vue.toDisplayString)(`${__props.data.name} (${__props.data.id})`), 1)])]), (0, vue.createElementVNode)("div", _hoisted_3$5, [(0, vue.renderSlot)(_ctx.$slots, "tree-node-tool", { data: __props.data })])])], 32)], 38), __props.isExpandable(__props.data, __props.nodeStatusMap) && expanded.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$4, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.data.items, (item) => {
15865
16010
  return (0, vue.openBlock)(), (0, vue.createBlock)(_component_TreeNode, {
15866
16011
  key: item.id,
15867
16012
  data: item,
@@ -15883,7 +16028,7 @@
15883
16028
  "indent",
15884
16029
  "is-expandable"
15885
16030
  ]);
15886
- }), 128))])) : (0, vue.createCommentVNode)("v-if", true)], 40, _hoisted_1$50)), [[vue.vShow, visible.value]]);
16031
+ }), 128))])) : (0, vue.createCommentVNode)("v-if", true)], 40, _hoisted_1$55)), [[vue.vShow, visible.value]]);
15887
16032
  };
15888
16033
  }
15889
16034
  });
@@ -15892,7 +16037,7 @@
15892
16037
  var TreeNode_default = TreeNode_vue_vue_type_script_setup_true_lang_default;
15893
16038
  //#endregion
15894
16039
  //#region packages/editor/src/components/Tree.vue?vue&type=script&setup=true&lang.ts
15895
- var _hoisted_1$49 = {
16040
+ var _hoisted_1$54 = {
15896
16041
  key: 1,
15897
16042
  class: "m-editor-tree-empty"
15898
16043
  };
@@ -15947,7 +16092,7 @@
15947
16092
  "node-status-map",
15948
16093
  "is-expandable"
15949
16094
  ]);
15950
- }), 128)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$49, [(0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)(__props.emptyText), 1)]))], 32);
16095
+ }), 128)) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$54, [(0, vue.createElementVNode)("p", null, (0, vue.toDisplayString)(__props.emptyText), 1)]))], 32);
15951
16096
  };
15952
16097
  }
15953
16098
  });
@@ -16183,7 +16328,7 @@
16183
16328
  };
16184
16329
  //#endregion
16185
16330
  //#region packages/editor/src/layouts/sidebar/code-block/CodeBlockListPanel.vue?vue&type=script&setup=true&lang.ts
16186
- var _hoisted_1$48 = { class: "search-wrapper" };
16331
+ var _hoisted_1$53 = { class: "search-wrapper" };
16187
16332
  var CodeBlockListPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
16188
16333
  name: "MEditorCodeBlockListPanel",
16189
16334
  __name: "CodeBlockListPanel",
@@ -16220,7 +16365,7 @@
16220
16365
  return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [
16221
16366
  (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), { class: "m-editor-code-block-list m-editor-layer-panel" }, {
16222
16367
  default: (0, vue.withCtx)(() => [
16223
- (0, vue.renderSlot)(_ctx.$slots, "code-block-panel-header", {}, () => [(0, vue.createElementVNode)("div", _hoisted_1$48, [
16368
+ (0, vue.renderSlot)(_ctx.$slots, "code-block-panel-header", {}, () => [(0, vue.createElementVNode)("div", _hoisted_1$53, [
16224
16369
  (0, vue.createVNode)(SearchInput_default, { onSearch: filterTextChangeHandler }),
16225
16370
  editable.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
16226
16371
  key: 0,
@@ -16705,7 +16850,7 @@
16705
16850
  //#endregion
16706
16851
  //#region packages/editor/src/layouts/sidebar/data-source/DataSourceListPanel.vue?vue&type=script&setup=true&lang.ts
16707
16852
  init_lodash();
16708
- var _hoisted_1$47 = { class: "search-wrapper" };
16853
+ var _hoisted_1$52 = { class: "search-wrapper" };
16709
16854
  var DataSourceListPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
16710
16855
  name: "MEditorDataSourceListPanel",
16711
16856
  __name: "DataSourceListPanel",
@@ -16786,7 +16931,7 @@
16786
16931
  return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [
16787
16932
  (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicScrollbar), { class: "data-source-list-panel m-editor-layer-panel" }, {
16788
16933
  default: (0, vue.withCtx)(() => [
16789
- (0, vue.createElementVNode)("div", _hoisted_1$47, [
16934
+ (0, vue.createElementVNode)("div", _hoisted_1$52, [
16790
16935
  (0, vue.createVNode)(SearchInput_default, { onSearch: filterTextChangeHandler }),
16791
16936
  (0, vue.unref)(editable) ? ((0, vue.openBlock)(), (0, vue.createBlock)(DataSourceAddButton_default, {
16792
16937
  key: 0,
@@ -16851,7 +16996,7 @@
16851
16996
  var DataSourceListPanel_default = DataSourceListPanel_vue_vue_type_script_setup_true_lang_default;
16852
16997
  //#endregion
16853
16998
  //#region packages/editor/src/icons/FolderMinusIcon.vue?vue&type=script&setup=true&lang.ts
16854
- var _hoisted_1$46 = {
16999
+ var _hoisted_1$51 = {
16855
17000
  width: "1em",
16856
17001
  height: "1em",
16857
17002
  viewBox: "0 0 16 16",
@@ -16864,7 +17009,7 @@
16864
17009
  __name: "FolderMinusIcon",
16865
17010
  setup(__props) {
16866
17011
  return (_ctx, _cache) => {
16867
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$46, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", {
17012
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$51, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", {
16868
17013
  "fill-rule": "evenodd",
16869
17014
  d: "M9.828 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H9.828zm-2.95-1.707L7.587 3H2.19c-.24 0-.47.042-.684.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293z"
16870
17015
  }, null, -1), (0, vue.createElementVNode)("path", {
@@ -17043,7 +17188,7 @@
17043
17188
  //#endregion
17044
17189
  //#region packages/editor/src/layouts/sidebar/layer/LayerNodeContent.vue?vue&type=script&setup=true&lang.ts
17045
17190
  init_Icon();
17046
- var _hoisted_1$45 = { class: "m-editor-layer-node-label" };
17191
+ var _hoisted_1$50 = { class: "m-editor-layer-node-label" };
17047
17192
  var _hoisted_2$15 = ["innerHTML"];
17048
17193
  var LayerNodeContent_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
17049
17194
  name: "MEditorLayerNodeContent",
@@ -17067,7 +17212,7 @@
17067
17212
  /** 合并属性表单与样式表单的错误文案(去掉建议,本身可能仍是含 <br> 的 HTML) */
17068
17213
  const errorMessage = (0, vue.computed)(() => [stripSuggestion(invalidInfo.value?.props), stripSuggestion(invalidInfo.value?.style)].filter(Boolean).join("<br>"));
17069
17214
  return (_ctx, _cache) => {
17070
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("span", { class: (0, vue.normalizeClass)(["m-editor-layer-node-content", { "is-invalid": hasError.value }]) }, [(0, vue.createElementVNode)("span", _hoisted_1$45, (0, vue.toDisplayString)(label.value), 1), hasError.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
17215
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("span", { class: (0, vue.normalizeClass)(["m-editor-layer-node-content", { "is-invalid": hasError.value }]) }, [(0, vue.createElementVNode)("span", _hoisted_1$50, (0, vue.toDisplayString)(label.value), 1), hasError.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
17071
17216
  key: 0,
17072
17217
  placement: "top"
17073
17218
  }, {
@@ -17689,7 +17834,7 @@
17689
17834
  //#region packages/editor/src/layouts/sidebar/ComponentListPanel.vue?vue&type=script&setup=true&lang.ts
17690
17835
  init_Icon();
17691
17836
  init_type();
17692
- var _hoisted_1$44 = ["onClick", "onDragstart"];
17837
+ var _hoisted_1$49 = ["onClick", "onDragstart"];
17693
17838
  var _hoisted_2$14 = ["title"];
17694
17839
  var ComponentListPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
17695
17840
  name: "MEditorComponentListPanel",
@@ -17785,7 +17930,7 @@
17785
17930
  }, {
17786
17931
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: item.icon }, null, 8, ["icon"])]),
17787
17932
  _: 2
17788
- }, 1032, ["disabled", "content"]), (0, vue.createElementVNode)("span", { title: item.text }, (0, vue.toDisplayString)(item.text), 9, _hoisted_2$14)])], 40, _hoisted_1$44);
17933
+ }, 1032, ["disabled", "content"]), (0, vue.createElementVNode)("span", { title: item.text }, (0, vue.toDisplayString)(item.text), 9, _hoisted_2$14)])], 40, _hoisted_1$49);
17789
17934
  }), 128))]),
17790
17935
  _: 2
17791
17936
  }, 1032, ["name"])) : (0, vue.createCommentVNode)("v-if", true)], 64);
@@ -17805,21 +17950,21 @@
17805
17950
  //#region packages/editor/src/layouts/sidebar/Sidebar.vue?vue&type=script&setup=true&lang.ts
17806
17951
  init_Icon();
17807
17952
  init_type();
17808
- var _hoisted_1$43 = {
17953
+ var _hoisted_1$48 = {
17809
17954
  key: 0,
17810
17955
  class: "m-editor-sidebar"
17811
17956
  };
17812
17957
  var _hoisted_2$13 = { class: "m-editor-sidebar-header" };
17813
- var _hoisted_3$3 = [
17958
+ var _hoisted_3$4 = [
17814
17959
  "draggable",
17815
17960
  "onClick",
17816
17961
  "onDragend"
17817
17962
  ];
17818
- var _hoisted_4$2 = {
17963
+ var _hoisted_4$3 = {
17819
17964
  key: 1,
17820
17965
  class: "magic-editor-tab-panel-title"
17821
17966
  };
17822
- var _hoisted_5$1 = {
17967
+ var _hoisted_5$2 = {
17823
17968
  key: 0,
17824
17969
  class: "m-editor-sidebar-tips"
17825
17970
  };
@@ -17876,7 +18021,7 @@
17876
18021
  [SideItemKey.COMPONENT_LIST]: {
17877
18022
  $key: SideItemKey.COMPONENT_LIST,
17878
18023
  type: "component",
17879
- icon: _element_plus_icons_vue.Goods,
18024
+ icon: _element_plus_icons_vue.Box,
17880
18025
  text: "组件",
17881
18026
  component: ComponentListPanel_default,
17882
18027
  slots: {}
@@ -17884,7 +18029,7 @@
17884
18029
  layer: {
17885
18030
  $key: SideItemKey.LAYER,
17886
18031
  type: "component",
17887
- icon: _element_plus_icons_vue.List,
18032
+ icon: _element_plus_icons_vue.Finished,
17888
18033
  text: "已选组件",
17889
18034
  props: {
17890
18035
  layerContentMenu: props.layerContentMenu,
@@ -17959,7 +18104,7 @@
17959
18104
  };
17960
18105
  __expose({ activeTabName });
17961
18106
  return (_ctx, _cache) => {
17962
- return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [__props.data.type === "tabs" && __props.data.items.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$43, [
18107
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [__props.data.type === "tabs" && __props.data.items.length ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$48, [
17963
18108
  (0, vue.createElementVNode)("div", _hoisted_2$13, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(sideBarItems.value, (config, index) => {
17964
18109
  return (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
17965
18110
  class: (0, vue.normalizeClass)(["m-editor-sidebar-header-item", { "is-active": activeTabName.value === config.text }]),
@@ -17972,7 +18117,7 @@
17972
18117
  }, [config.icon ? ((0, vue.openBlock)(), (0, vue.createBlock)(Icon_default, {
17973
18118
  key: 0,
17974
18119
  icon: config.icon
17975
- }, null, 8, ["icon"])) : (0, vue.createCommentVNode)("v-if", true), config.text ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$2, (0, vue.toDisplayString)(config.text), 1)) : (0, vue.createCommentVNode)("v-if", true)], 46, _hoisted_3$3)), [[vue.vShow, !(0, vue.unref)(floatBoxStates)[config.$key]?.status]]);
18120
+ }, null, 8, ["icon"])) : (0, vue.createCommentVNode)("v-if", true), config.text ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_4$3, (0, vue.toDisplayString)(config.text), 1)) : (0, vue.createCommentVNode)("v-if", true)], 46, _hoisted_3$4)), [[vue.vShow, !(0, vue.unref)(floatBoxStates)[config.$key]?.status]]);
17976
18121
  }), 128))]),
17977
18122
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(sideBarItems.value, (config, index) => {
17978
18123
  return (0, vue.withDirectives)(((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
@@ -18063,7 +18208,7 @@
18063
18208
  `${index}`
18064
18209
  ].includes(activeTabName.value)]]);
18065
18210
  }), 128)),
18066
- tipsBarVisible.value && collecting.value && taskLength.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_5$1, [(0, vue.createElementVNode)("span", null, "依赖收集中(剩余任务:" + (0, vue.toDisplayString)(taskLength.value) + ")", 1), (0, vue.createVNode)(Icon_default, {
18211
+ tipsBarVisible.value && collecting.value && taskLength.value > 0 ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_5$2, [(0, vue.createElementVNode)("span", null, "依赖收集中(剩余任务:" + (0, vue.toDisplayString)(taskLength.value) + ")", 1), (0, vue.createVNode)(Icon_default, {
18067
18212
  icon: (0, vue.unref)(_element_plus_icons_vue.Close),
18068
18213
  class: "close-icon",
18069
18214
  onClick: _cache[1] || (_cache[1] = (0, vue.withModifiers)(($event) => tipsBarVisible.value = false, ["stop"]))
@@ -18178,7 +18323,7 @@
18178
18323
  var ScrollBar_default = ScrollBar_vue_vue_type_script_setup_true_lang_default;
18179
18324
  //#endregion
18180
18325
  //#region packages/editor/src/components/ScrollViewer.vue?vue&type=script&setup=true&lang.ts
18181
- var _hoisted_1$42 = {
18326
+ var _hoisted_1$47 = {
18182
18327
  class: "m-editor-scroll-viewer-container",
18183
18328
  ref: "container"
18184
18329
  };
@@ -18242,7 +18387,7 @@
18242
18387
  };
18243
18388
  __expose({ container: containerEl });
18244
18389
  return (_ctx, _cache) => {
18245
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$42, [
18390
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$47, [
18246
18391
  (0, vue.createElementVNode)("div", {
18247
18392
  ref: "target",
18248
18393
  style: (0, vue.normalizeStyle)(style.value)
@@ -18368,7 +18513,7 @@
18368
18513
  var NodeListMenu_default = NodeListMenu_vue_vue_type_script_setup_true_lang_default;
18369
18514
  //#endregion
18370
18515
  //#region packages/editor/src/layouts/workspace/viewer/StageOverlay.vue?vue&type=script&setup=true&lang.ts
18371
- var _hoisted_1$41 = {
18516
+ var _hoisted_1$46 = {
18372
18517
  key: 0,
18373
18518
  class: "m-editor-stage-overlay"
18374
18519
  };
@@ -18414,7 +18559,7 @@
18414
18559
  stageOverlayService.closeOverlay();
18415
18560
  };
18416
18561
  return (_ctx, _cache) => {
18417
- return stageOverlayVisible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$41, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), {
18562
+ return stageOverlayVisible.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$46, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicIcon), {
18418
18563
  class: "m-editor-stage-overlay-close",
18419
18564
  size: "30",
18420
18565
  onClick: closeOverlayHandler
@@ -18450,7 +18595,7 @@
18450
18595
  var StageOverlay_default = StageOverlay_vue_vue_type_script_setup_true_lang_default;
18451
18596
  //#endregion
18452
18597
  //#region packages/editor/src/icons/CenterIcon.vue?vue&type=script&setup=true&lang.ts
18453
- var _hoisted_1$40 = {
18598
+ var _hoisted_1$45 = {
18454
18599
  viewBox: "0 0 24 24",
18455
18600
  fill: "none",
18456
18601
  xmlns: "http://www.w3.org/2000/svg"
@@ -18460,7 +18605,7 @@
18460
18605
  __name: "CenterIcon",
18461
18606
  setup(__props) {
18462
18607
  return (_ctx, _cache) => {
18463
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$40, [..._cache[0] || (_cache[0] = [
18608
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$45, [..._cache[0] || (_cache[0] = [
18464
18609
  (0, vue.createElementVNode)("path", {
18465
18610
  "fill-rule": "evenodd",
18466
18611
  "clip-rule": "evenodd",
@@ -18890,7 +19035,7 @@
18890
19035
  var Stage_default = Stage_vue_vue_type_script_setup_true_lang_default;
18891
19036
  //#endregion
18892
19037
  //#region packages/editor/src/layouts/workspace/Breadcrumb.vue?vue&type=script&setup=true&lang.ts
18893
- var _hoisted_1$39 = {
19038
+ var _hoisted_1$44 = {
18894
19039
  key: 0,
18895
19040
  class: "m-editor-breadcrumb-ellipsis"
18896
19041
  };
@@ -18976,7 +19121,7 @@
18976
19121
  ref: containerRef,
18977
19122
  class: "m-editor-breadcrumb"
18978
19123
  }, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(displayPath.value, (item, index) => {
18979
- return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: item.isEllipsis ? `ellipsis-${index}` : item.id }, [item.isEllipsis ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$39, "...")) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
19124
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, { key: item.isEllipsis ? `ellipsis-${index}` : item.id }, [item.isEllipsis ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_1$44, "...")) : ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicTooltip), {
18980
19125
  key: 1,
18981
19126
  content: item.name,
18982
19127
  placement: "top",
@@ -19002,7 +19147,7 @@
19002
19147
  var Breadcrumb_default = Breadcrumb_vue_vue_type_script_setup_true_lang_default;
19003
19148
  //#endregion
19004
19149
  //#region packages/editor/src/layouts/workspace/Workspace.vue?vue&type=script&setup=true&lang.ts
19005
- var _hoisted_1$38 = { class: "m-editor-workspace" };
19150
+ var _hoisted_1$43 = { class: "m-editor-workspace" };
19006
19151
  var Workspace_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
19007
19152
  name: "MEditorWorkspace",
19008
19153
  __name: "Workspace",
@@ -19019,7 +19164,7 @@
19019
19164
  const { editorService } = useServices();
19020
19165
  const page = (0, vue.computed)(() => editorService.get("page"));
19021
19166
  return (_ctx, _cache) => {
19022
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$38, [
19167
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$43, [
19023
19168
  (0, vue.createVNode)(Breadcrumb_default),
19024
19169
  (0, vue.renderSlot)(_ctx.$slots, "stage", {}, () => [page.value && ((0, vue.unref)(stageOptions)?.render || (0, vue.unref)(stageOptions)?.runtimeUrl) ? ((0, vue.openBlock)(), (0, vue.createBlock)(Stage_default, {
19025
19170
  key: 0,
@@ -19993,6 +20138,8 @@
19993
20138
  name: "MEditor",
19994
20139
  __name: "Editor",
19995
20140
  props: /*@__PURE__*/ (0, vue.mergeDefaults)({
20141
+ isLargeStageContainer: { type: Boolean },
20142
+ theme: {},
19996
20143
  modelValue: {},
19997
20144
  componentGroupList: {},
19998
20145
  datasourceList: {},
@@ -20106,6 +20253,7 @@
20106
20253
  * 与 PropsPanel 通过 `:extend-state` 显式传入的方式保持等价。
20107
20254
  */
20108
20255
  (0, vue.provide)("extendFormState", props.extendFormState);
20256
+ (0, vue.provide)("isLargeStageContainer", (0, vue.computed)(() => props.isLargeStageContainer));
20109
20257
  /**
20110
20258
  * 提供 PropsPanel 主属性表单的 formState getter,供历史差异弹窗复用,
20111
20259
  * 让 CompareForm 与 PropsPanel 的 filterFunction 上下文保持一致。
@@ -20118,6 +20266,12 @@
20118
20266
  */
20119
20267
  (0, vue.provide)("historyListExtraTabs", props.historyListExtraTabs);
20120
20268
  (0, vue.provide)("eventBus", new events.EventEmitter());
20269
+ /**
20270
+ * 把当前主题以响应式 ref 形式 provide 给后代,供包含 `Teleport` 的组件
20271
+ * (如 `TMagicPopover` / `FloatingBox` / `ContentMenu`)在传送目标上挂 `m-theme--<theme>`
20272
+ * 类,让主题级 CSS 变量在 portal 节点上也能命中。详见 `@tmagic/design/theme.ts`。
20273
+ */
20274
+ (0, vue.provide)(_tmagic_design.M_THEME_KEY, (0, vue.computed)(() => props.theme ?? ""));
20121
20275
  const propsPanelMountedHandler = (e) => {
20122
20276
  propsPanelRef.value = e;
20123
20277
  emit("props-panel-mounted", e);
@@ -20141,7 +20295,8 @@
20141
20295
  "disabled-page-fragment": __props.disabledPageFragment,
20142
20296
  "page-bar-sort-options": __props.pageBarSortOptions,
20143
20297
  "page-filter-function": __props.pageFilterFunction,
20144
- "hide-sidebar": __props.hideSidebar
20298
+ "hide-sidebar": __props.hideSidebar,
20299
+ theme: __props.theme
20145
20300
  }, {
20146
20301
  header: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "header")]),
20147
20302
  nav: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "nav", { editorService: (0, vue.unref)(editor_default) }, () => [(0, vue.createVNode)(NavMenu_default, { data: __props.menu }, null, 8, ["data"])])]),
@@ -20222,7 +20377,8 @@
20222
20377
  "disabled-page-fragment",
20223
20378
  "page-bar-sort-options",
20224
20379
  "page-filter-function",
20225
- "hide-sidebar"
20380
+ "hide-sidebar",
20381
+ "theme"
20226
20382
  ]);
20227
20383
  };
20228
20384
  }
@@ -20246,7 +20402,10 @@
20246
20402
  disabled: { type: Boolean },
20247
20403
  size: {},
20248
20404
  lastValues: {},
20249
- isCompare: { type: Boolean }
20405
+ isCompare: { type: Boolean },
20406
+ text: {},
20407
+ labelWidth: {},
20408
+ labelPosition: {}
20250
20409
  },
20251
20410
  emits: ["change"],
20252
20411
  setup(__props, { emit: __emit }) {
@@ -20267,11 +20426,21 @@
20267
20426
  * 仅当存在历史值时才启用对比,避免 lastValues 缺失时退化为「全部新增」的空对比。
20268
20427
  */
20269
20428
  const isCompareMode = (0, vue.computed)(() => Boolean(props.isCompare && props.lastValues));
20429
+ const newHandler = () => {
20430
+ const defaultCode = {
20431
+ codeType: _tmagic_core.HookCodeType.CODE,
20432
+ codeId: ""
20433
+ };
20434
+ const name = props.config.name || "";
20435
+ const hookData = props.model[name]?.hookData || [];
20436
+ emit("change", defaultCode, { modifyKey: `hookData.${hookData.length}` });
20437
+ };
20270
20438
  const codeConfig = (0, vue.computed)(() => ({
20271
20439
  type: "group-list",
20272
20440
  name: "hookData",
20273
20441
  enableToggleMode: false,
20274
20442
  expandAll: true,
20443
+ addable: () => false,
20275
20444
  title: (mForm, { model, index }) => {
20276
20445
  if (model.codeType === _tmagic_core.HookCodeType.DATA_SOURCE_METHOD) {
20277
20446
  if (Array.isArray(model.codeId)) {
@@ -20284,57 +20453,54 @@
20284
20453
  if (codeContent) return codeContent.name;
20285
20454
  return model.codeId || index;
20286
20455
  },
20287
- items: [{
20288
- type: "row",
20289
- items: [
20290
- {
20291
- type: "select",
20292
- name: "codeType",
20293
- span: 6,
20294
- options: [{
20295
- value: _tmagic_core.HookCodeType.CODE,
20296
- text: "代码块"
20297
- }, {
20298
- value: _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20299
- text: "数据源方法"
20300
- }],
20301
- rules: [{
20302
- typeMatch: true,
20303
- trigger: "change"
20304
- }],
20305
- defaultValue: _tmagic_core.HookCodeType.CODE,
20306
- onChange: (_mForm, v, { setModel }) => {
20307
- if (v === _tmagic_core.HookCodeType.DATA_SOURCE_METHOD) setModel("codeId", []);
20308
- else setModel("codeId", "");
20309
- return v;
20310
- }
20311
- },
20312
- {
20313
- type: "code-select-col",
20314
- name: "codeId",
20315
- span: 18,
20316
- labelWidth: 0,
20317
- display: (_mForm, { model }) => model.codeType !== _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20318
- notEditable: () => !codeBlockService.getEditStatus(),
20319
- rules: [{
20320
- typeMatch: true,
20321
- trigger: "change"
20322
- }]
20323
- },
20324
- {
20325
- type: "data-source-method-select",
20326
- name: "codeId",
20327
- span: 18,
20328
- labelWidth: 0,
20329
- display: (_mForm, { model }) => model.codeType === _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20330
- notEditable: () => !dataSourceService.get("editable"),
20331
- rules: [{
20332
- typeMatch: true,
20333
- trigger: "change"
20334
- }]
20456
+ titlePrefix: props.config.name === void 0 ? void 0 : String(props.config.name),
20457
+ items: [
20458
+ {
20459
+ text: "代码类型",
20460
+ type: "select",
20461
+ name: "codeType",
20462
+ labelPosition: "right",
20463
+ rules: [{
20464
+ typeMatch: true,
20465
+ trigger: "change"
20466
+ }],
20467
+ options: [{
20468
+ value: _tmagic_core.HookCodeType.CODE,
20469
+ text: "代码块"
20470
+ }, {
20471
+ value: _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20472
+ text: "数据源方法"
20473
+ }],
20474
+ defaultValue: _tmagic_core.HookCodeType.CODE,
20475
+ onChange: (_mForm, v, { setModel }) => {
20476
+ if (v === _tmagic_core.HookCodeType.DATA_SOURCE_METHOD) setModel("codeId", []);
20477
+ else setModel("codeId", "");
20478
+ return v;
20335
20479
  }
20336
- ]
20337
- }]
20480
+ },
20481
+ {
20482
+ type: "code-select-col",
20483
+ name: "codeId",
20484
+ text: "代码块",
20485
+ rules: [{
20486
+ typeMatch: true,
20487
+ trigger: "change"
20488
+ }],
20489
+ display: (_mForm, { model }) => model.codeType !== _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20490
+ notEditable: () => !codeBlockService.getEditStatus()
20491
+ },
20492
+ {
20493
+ type: "data-source-method-select",
20494
+ name: "codeId",
20495
+ text: "数据源字段",
20496
+ rules: [{
20497
+ typeMatch: true,
20498
+ trigger: "change"
20499
+ }],
20500
+ display: (_mForm, { model }) => model.codeType === _tmagic_core.HookCodeType.DATA_SOURCE_METHOD,
20501
+ notEditable: () => !dataSourceService.get("editable")
20502
+ }
20503
+ ]
20338
20504
  }));
20339
20505
  (0, vue.watch)(() => props.model[props.name], (value) => {
20340
20506
  if (isEmpty(value)) props.model[props.name] = {
@@ -20344,10 +20510,11 @@
20344
20510
  }, { immediate: true });
20345
20511
  const changeHandler = (v, eventData) => emit("change", v, eventData);
20346
20512
  return (_ctx, _cache) => {
20347
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)(["m-fields-code-select", __props.config.className]) }, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicCard), null, {
20513
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)(["m-fields-code-select", __props.config.className]) }, [(0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicCard), { flat: __props.config.flat }, {
20348
20514
  default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MContainer), {
20349
20515
  config: codeConfig.value,
20350
20516
  size: __props.size,
20517
+ class: "code-select-content",
20351
20518
  prop: __props.prop,
20352
20519
  disabled: __props.disabled,
20353
20520
  "is-compare": isCompareMode.value,
@@ -20362,9 +20529,22 @@
20362
20529
  "is-compare",
20363
20530
  "last-values",
20364
20531
  "model"
20532
+ ]), (0, vue.createVNode)((0, vue.unref)(_tmagic_design.TMagicButton), {
20533
+ class: "create-button fullWidth",
20534
+ icon: (0, vue.unref)(_element_plus_icons_vue.Plus),
20535
+ size: __props.size,
20536
+ disabled: __props.disabled,
20537
+ onClick: _cache[0] || (_cache[0] = ($event) => newHandler())
20538
+ }, {
20539
+ default: (0, vue.withCtx)(() => [(0, vue.createTextVNode)("添加" + (0, vue.toDisplayString)(__props.config.text), 1)]),
20540
+ _: 1
20541
+ }, 8, [
20542
+ "icon",
20543
+ "size",
20544
+ "disabled"
20365
20545
  ])]),
20366
20546
  _: 1
20367
- })], 2);
20547
+ }, 8, ["flat"])], 2);
20368
20548
  };
20369
20549
  }
20370
20550
  });
@@ -20455,7 +20635,7 @@
20455
20635
  init_lodash();
20456
20636
  init_Icon();
20457
20637
  init_type();
20458
- var _hoisted_1$37 = { class: "m-fields-code-select-col" };
20638
+ var _hoisted_1$42 = { class: "m-fields-code-select-col" };
20459
20639
  var _hoisted_2$11 = { class: "code-select-container" };
20460
20640
  var CodeSelectCol_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
20461
20641
  name: "MFieldsCodeSelectCol",
@@ -20473,7 +20653,10 @@
20473
20653
  },
20474
20654
  size: {},
20475
20655
  lastValues: {},
20476
- isCompare: { type: Boolean }
20656
+ isCompare: { type: Boolean },
20657
+ text: {},
20658
+ labelWidth: {},
20659
+ labelPosition: {}
20477
20660
  },
20478
20661
  emits: ["change"],
20479
20662
  setup(__props, { emit: __emit }) {
@@ -20519,6 +20702,7 @@
20519
20702
  type: "select",
20520
20703
  name: props.name,
20521
20704
  disabled: props.disabled,
20705
+ text: props.config.text,
20522
20706
  options: () => {
20523
20707
  if (codeDsl.value) return map(codeDsl.value, (value, key) => ({
20524
20708
  text: `${value.name}(${key})`,
@@ -20555,7 +20739,7 @@
20555
20739
  eventBus?.emit("edit-code", id);
20556
20740
  };
20557
20741
  return (_ctx, _cache) => {
20558
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$37, [
20742
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$42, [
20559
20743
  (0, vue.createElementVNode)("div", _hoisted_2$11, [
20560
20744
  (0, vue.createCommentVNode)(" 代码块下拉框 "),
20561
20745
  (0, vue.createCommentVNode)(" 对比模式下交由 MFormContainer 展示下拉框的前后差异(codeId 变化时高亮新旧代码块名),\n 普通模式仍直接渲染 MSelect 以保留选择 / 写值逻辑 "),
@@ -20627,7 +20811,7 @@
20627
20811
  var CodeSelectCol_default = CodeSelectCol_vue_vue_type_script_setup_true_lang_default;
20628
20812
  //#endregion
20629
20813
  //#region packages/editor/src/fields/DataSourceFields.vue?vue&type=script&setup=true&lang.ts
20630
- var _hoisted_1$36 = { class: "m-editor-data-source-fields" };
20814
+ var _hoisted_1$41 = { class: "m-editor-data-source-fields" };
20631
20815
  var _hoisted_2$10 = {
20632
20816
  key: 0,
20633
20817
  class: "m-editor-data-source-fields-footer"
@@ -20648,7 +20832,10 @@
20648
20832
  },
20649
20833
  size: {},
20650
20834
  lastValues: {},
20651
- isCompare: { type: Boolean }
20835
+ isCompare: { type: Boolean },
20836
+ text: {},
20837
+ labelWidth: {},
20838
+ labelPosition: {}
20652
20839
  }, {
20653
20840
  "width": { default: 670 },
20654
20841
  "widthModifiers": {},
@@ -20947,7 +21134,7 @@
20947
21134
  editField(fields[index], index);
20948
21135
  });
20949
21136
  return (_ctx, _cache) => {
20950
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$36, [
21137
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$41, [
20951
21138
  (0, vue.createVNode)((0, vue.unref)(_tmagic_table.MagicTable), {
20952
21139
  data: __props.model[__props.name],
20953
21140
  columns: displayColumns.value,
@@ -21042,7 +21229,7 @@
21042
21229
  //#endregion
21043
21230
  //#region packages/editor/src/fields/DataSourceMocks.vue?vue&type=script&setup=true&lang.ts
21044
21231
  init_CodeEditor();
21045
- var _hoisted_1$35 = { class: "m-editor-data-source-fields" };
21232
+ var _hoisted_1$40 = { class: "m-editor-data-source-fields" };
21046
21233
  var _hoisted_2$9 = {
21047
21234
  key: 0,
21048
21235
  class: "m-editor-data-source-fields-footer"
@@ -21063,7 +21250,10 @@
21063
21250
  },
21064
21251
  size: {},
21065
21252
  lastValues: {},
21066
- isCompare: { type: Boolean }
21253
+ isCompare: { type: Boolean },
21254
+ text: {},
21255
+ labelWidth: {},
21256
+ labelPosition: {}
21067
21257
  }, {
21068
21258
  "width": { default: 670 },
21069
21259
  "widthModifiers": {},
@@ -21248,7 +21438,7 @@
21248
21438
  const { boxPosition, calcBoxPosition } = useNextFloatBoxPosition(uiService, (0, vue.inject)("parentFloating", (0, vue.ref)(null)));
21249
21439
  const frameworkWidth = (0, vue.computed)(() => uiService.get("frameworkRect")?.width || 0);
21250
21440
  return (_ctx, _cache) => {
21251
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$35, [
21441
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$40, [
21252
21442
  (0, vue.createVNode)((0, vue.unref)(_tmagic_table.MagicTable), {
21253
21443
  data: __props.model[__props.name],
21254
21444
  columns: displayColumns.value
@@ -21306,7 +21496,7 @@
21306
21496
  //#endregion
21307
21497
  //#region packages/editor/src/fields/DataSourceMethods.vue?vue&type=script&setup=true&lang.ts
21308
21498
  init_lodash();
21309
- var _hoisted_1$34 = { class: "m-editor-data-source-methods" };
21499
+ var _hoisted_1$39 = { class: "m-editor-data-source-methods" };
21310
21500
  var _hoisted_2$8 = {
21311
21501
  key: 0,
21312
21502
  class: "m-editor-data-source-methods-footer"
@@ -21327,7 +21517,10 @@
21327
21517
  },
21328
21518
  size: {},
21329
21519
  lastValues: {},
21330
- isCompare: { type: Boolean }
21520
+ isCompare: { type: Boolean },
21521
+ text: {},
21522
+ labelWidth: {},
21523
+ labelPosition: {}
21331
21524
  },
21332
21525
  emits: ["change"],
21333
21526
  setup(__props, { emit: __emit }) {
@@ -21435,7 +21628,7 @@
21435
21628
  editMethod(methods[index], index);
21436
21629
  });
21437
21630
  return (_ctx, _cache) => {
21438
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$34, [
21631
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$39, [
21439
21632
  (0, vue.createVNode)((0, vue.unref)(_tmagic_table.MagicTable), {
21440
21633
  data: __props.model[__props.name],
21441
21634
  columns: displayColumns.value,
@@ -21474,7 +21667,7 @@
21474
21667
  //#endregion
21475
21668
  //#region packages/editor/src/fields/DataSourceInput.vue?vue&type=script&setup=true&lang.ts
21476
21669
  init_Icon();
21477
- var _hoisted_1$33 = { style: {
21670
+ var _hoisted_1$38 = { style: {
21478
21671
  "display": "flex",
21479
21672
  "flex-direction": "column",
21480
21673
  "line-height": "1.2em"
@@ -21499,7 +21692,10 @@
21499
21692
  },
21500
21693
  size: {},
21501
21694
  lastValues: {},
21502
- isCompare: { type: Boolean }
21695
+ isCompare: { type: Boolean },
21696
+ text: {},
21697
+ labelWidth: {},
21698
+ labelPosition: {}
21503
21699
  },
21504
21700
  emits: ["change"],
21505
21701
  setup(__props, { emit: __emit }) {
@@ -21683,7 +21879,7 @@
21683
21879
  onSelect: selectHandler
21684
21880
  }), {
21685
21881
  suffix: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: (0, vue.unref)(_element_plus_icons_vue.Coin) }, null, 8, ["icon"])]),
21686
- default: (0, vue.withCtx)((slotProps) => [(0, vue.createElementVNode)("div", _hoisted_1$33, [(0, vue.createElementVNode)("div", null, (0, vue.toDisplayString)(slotProps?.item?.text || ""), 1), (0, vue.createElementVNode)("span", _hoisted_2$7, (0, vue.toDisplayString)(slotProps?.item?.value || ""), 1)])]),
21882
+ default: (0, vue.withCtx)((slotProps) => [(0, vue.createElementVNode)("div", _hoisted_1$38, [(0, vue.createElementVNode)("div", null, (0, vue.toDisplayString)(slotProps?.item?.text || ""), 1), (0, vue.createElementVNode)("span", _hoisted_2$7, (0, vue.toDisplayString)(slotProps?.item?.value || ""), 1)])]),
21687
21883
  _: 1
21688
21884
  }, 16, ["modelValue"])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
21689
21885
  key: 2,
@@ -21727,7 +21923,7 @@
21727
21923
  //#region packages/editor/src/fields/DataSourceSelect.vue?vue&type=script&setup=true&lang.ts
21728
21924
  init_Icon();
21729
21925
  init_type();
21730
- var _hoisted_1$32 = { class: "m-fields-data-source-select" };
21926
+ var _hoisted_1$37 = { class: "m-fields-data-source-select" };
21731
21927
  var DataSourceSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
21732
21928
  name: "MFieldsDataSourceSelect",
21733
21929
  __name: "DataSourceSelect",
@@ -21744,7 +21940,10 @@
21744
21940
  },
21745
21941
  size: {},
21746
21942
  lastValues: {},
21747
- isCompare: { type: Boolean }
21943
+ isCompare: { type: Boolean },
21944
+ text: {},
21945
+ labelWidth: {},
21946
+ labelPosition: {}
21748
21947
  },
21749
21948
  emits: ["change"],
21750
21949
  setup(__props, { emit: __emit }) {
@@ -21786,7 +21985,7 @@
21786
21985
  eventBus?.emit("edit-data-source", id);
21787
21986
  };
21788
21987
  return (_ctx, _cache) => {
21789
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$32, [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MSelect), {
21988
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$37, [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MSelect), {
21790
21989
  model: __props.model,
21791
21990
  name: __props.name,
21792
21991
  size: __props.size,
@@ -21827,7 +22026,7 @@
21827
22026
  //#region packages/editor/src/fields/DataSourceMethodSelect.vue?vue&type=script&setup=true&name=true&lang.ts
21828
22027
  init_Icon();
21829
22028
  init_type();
21830
- var _hoisted_1$31 = { class: "m-fields-data-source-method-select" };
22029
+ var _hoisted_1$36 = { class: "m-fields-data-source-method-select" };
21831
22030
  var _hoisted_2$6 = { class: "data-source-method-select-container" };
21832
22031
  var DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
21833
22032
  name: "MFieldsDataSourceMethodSelect",
@@ -21845,7 +22044,10 @@
21845
22044
  },
21846
22045
  size: {},
21847
22046
  lastValues: {},
21848
- isCompare: { type: Boolean }
22047
+ isCompare: { type: Boolean },
22048
+ text: {},
22049
+ labelWidth: {},
22050
+ labelPosition: {}
21849
22051
  },
21850
22052
  emits: ["change"],
21851
22053
  setup(__props, { emit: __emit }) {
@@ -21949,7 +22151,7 @@
21949
22151
  eventBus?.emit("edit-data-source-method", id, methodName);
21950
22152
  };
21951
22153
  return (_ctx, _cache) => {
21952
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$31, [(0, vue.createElementVNode)("div", _hoisted_2$6, [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MCascader), {
22154
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$36, [(0, vue.createElementVNode)("div", _hoisted_2$6, [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MCascader), {
21953
22155
  class: "select",
21954
22156
  config: cascaderConfig.value,
21955
22157
  model: __props.model,
@@ -21999,10 +22201,31 @@
21999
22201
  //#region packages/editor/src/fields/DataSourceMethodSelect.vue
22000
22202
  var DataSourceMethodSelect_default = DataSourceMethodSelect_vue_vue_type_script_setup_true_name_true_lang_default;
22001
22203
  //#endregion
22204
+ //#region \0plugin-vue:export-helper
22205
+ var _plugin_vue_export_helper_default = (sfc, props) => {
22206
+ const target = sfc.__vccOpts || sfc;
22207
+ for (const [key, val] of props) target[key] = val;
22208
+ return target;
22209
+ };
22210
+ //#endregion
22211
+ //#region packages/editor/src/icons/DatasourceIcon.vue
22212
+ var _sfc_main$26 = {};
22213
+ var _hoisted_1$35 = {
22214
+ xmlns: "http://www.w3.org/2000/svg",
22215
+ width: "16",
22216
+ height: "16",
22217
+ viewBox: "0 0 16 16",
22218
+ fill: "currentColor"
22219
+ };
22220
+ function _sfc_render$26(_ctx, _cache) {
22221
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$35, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M6.25 9.723C4.392 9.6095 2.804 9.137 1.875 8.4775V9.7495C1.875 10.6165 3.7665 11.3365 6.25 11.4745V12.348C4.392 12.2345 2.804 11.763 1.875 11.102V12.3745H1V4.0625C1 2.371 3.742 1 7.125 1C10.507 1 13.249 2.371 13.249 4.0625V6.8255H12.374V5.6405C11.3025 6.5295 9.352 7.1245 7.1245 7.1245C4.897 7.1245 2.947 6.5295 1.8745 5.6405V7.1245C1.8745 7.9915 3.7665 8.712 6.2495 8.85L6.25 9.723ZM7.125 14.999C3.742 14.999 1 13.8245 1 12.3745H1.875C1.875 13.3415 4.225 14.124 7.125 14.124V14.999ZM7.125 6.2495C10.024 6.2495 12.3745 5.2695 12.3745 4.0625C12.3745 2.855 10.0245 1.875 7.1245 1.875C4.225 1.875 1.8745 2.855 1.8745 4.0625C1.8745 5.2695 4.2255 6.2495 7.125 6.2495ZM14.7385 11.9895L14.1295 11.6345C14.1635 11.4485 14.1855 11.2585 14.1855 11.062C14.1843 10.8697 14.1655 10.6779 14.1295 10.489L14.7385 10.134C14.988 9.987 15.073 9.667 14.929 9.416L14.409 8.507C14.3752 8.44726 14.3299 8.39483 14.2757 8.35275C14.2215 8.31066 14.1595 8.27977 14.0933 8.26186C14.027 8.24395 13.9579 8.23938 13.8898 8.24842C13.8218 8.25745 13.7563 8.27992 13.697 8.3145L13.081 8.6735C12.7931 8.42269 12.4616 8.22694 12.103 8.096V7.6495C12.103 7.36 11.8705 7.1245 11.5825 7.1245H10.5415C10.4728 7.12476 10.4049 7.13855 10.3415 7.16507C10.2782 7.1916 10.2206 7.23034 10.1723 7.2791C10.1239 7.32785 10.0856 7.38565 10.0595 7.4492C10.0335 7.51276 10.0202 7.58082 10.0205 7.6495V8.096C9.66186 8.22694 9.33035 8.42269 9.0425 8.6735L8.4265 8.3145C8.36725 8.27999 8.30174 8.2576 8.23377 8.2486C8.1658 8.23961 8.09672 8.24419 8.03053 8.2621C7.96435 8.28001 7.90238 8.31088 7.84821 8.35292C7.79405 8.39495 7.74877 8.44733 7.715 8.507L7.195 9.417C7.12576 9.53751 7.10688 9.68047 7.14246 9.81482C7.17804 9.94917 7.2652 10.0641 7.385 10.1345L7.9945 10.489C7.9585 10.6775 7.9395 10.8695 7.9385 11.062C7.9385 11.2585 7.96 11.4485 7.9945 11.635L7.3855 11.99C7.1355 12.1365 7.0505 12.4565 7.1945 12.7075L7.715 13.6165C7.74877 13.6762 7.79405 13.7285 7.84821 13.7706C7.90238 13.8126 7.96435 13.8435 8.03053 13.8614C8.09672 13.8793 8.1658 13.8839 8.23377 13.8749C8.30174 13.8659 8.36725 13.8435 8.4265 13.809L9.0425 13.4505C9.33023 13.7015 9.66178 13.8972 10.0205 14.028V14.474C10.0205 14.764 10.2535 14.999 10.5415 14.999H11.5825C11.7211 14.9983 11.8538 14.9427 11.9514 14.8442C12.049 14.7458 12.1035 14.6126 12.103 14.474V14.028C12.4616 13.8971 12.7931 13.7013 13.081 13.4505L13.697 13.809C13.7563 13.8434 13.8218 13.8657 13.8897 13.8746C13.9577 13.8835 14.0267 13.8789 14.0929 13.861C14.159 13.8431 14.221 13.8123 14.2751 13.7703C14.3293 13.7283 14.3746 13.6761 14.4085 13.6165L14.929 12.7065C14.998 12.586 15.0168 12.4431 14.9811 12.3089C14.9454 12.1746 14.8583 12.0599 14.7385 11.9895ZM14.092 12.5065L13.852 12.915C13.8193 12.9693 13.7667 13.0086 13.7054 13.0246C13.6441 13.0406 13.579 13.0319 13.524 13.0005L12.8575 12.623C12.5109 13.0069 12.0497 13.2688 11.5425 13.37V13.889C11.5425 14.0185 11.4345 14.124 11.3015 14.124H10.822C10.7907 14.1243 10.7597 14.1184 10.7308 14.1067C10.7018 14.0949 10.6754 14.0776 10.6531 14.0557C10.6308 14.0338 10.6131 14.0077 10.6009 13.9789C10.5887 13.9502 10.5823 13.9193 10.582 13.888V13.37C10.0746 13.2689 9.61328 13.007 9.2665 12.623L8.6 13C8.54495 13.0316 8.47971 13.0403 8.4183 13.0243C8.35688 13.0083 8.30418 12.9689 8.2715 12.9145L8.0315 12.506C8.01582 12.4792 8.00564 12.4496 8.00158 12.4189C7.99752 12.3881 7.99965 12.3569 8.00785 12.327C8.01605 12.297 8.03016 12.2691 8.04933 12.2447C8.0685 12.2203 8.09236 12.2 8.1195 12.185L8.789 11.805C8.70604 11.5658 8.66313 11.3146 8.662 11.0615C8.662 10.8005 8.709 10.552 8.7895 10.3175L8.1195 9.9375C8.09247 9.92244 8.06872 9.90213 8.04964 9.87777C8.03056 9.85341 8.01654 9.82549 8.00839 9.79564C8.00024 9.76579 7.99813 9.73461 8.00218 9.70394C8.00624 9.67326 8.01637 9.64371 8.032 9.617L8.272 9.208C8.30467 9.15373 8.35729 9.1144 8.41858 9.09843C8.47988 9.08245 8.54499 9.09109 8.6 9.1225L9.2665 9.5005C9.61315 9.11663 10.0743 8.85468 10.5815 8.7535V8.235C10.5815 8.105 10.689 8 10.822 8H11.302C11.4345 8 11.542 8.105 11.542 8.236V8.754C12.0492 8.85518 12.5104 9.11713 12.857 9.501L13.524 9.123C13.579 9.09159 13.6441 9.08295 13.7054 9.09893C13.7667 9.1149 13.8193 9.15423 13.852 9.2085L14.092 9.6175C14.1077 9.64423 14.1179 9.67383 14.122 9.70455C14.1261 9.73528 14.124 9.76652 14.1159 9.79643C14.1077 9.82634 14.0937 9.85431 14.0745 9.87871C14.0554 9.90311 14.0316 9.92344 14.0045 9.9385L13.335 10.3185C13.4135 10.5525 13.462 10.801 13.462 11.062C13.462 11.3225 13.4145 11.571 13.335 11.8055L14.0045 12.1855C14.0316 12.2006 14.0554 12.2209 14.0745 12.2453C14.0937 12.2697 14.1077 12.2977 14.1159 12.3276C14.124 12.3575 14.1261 12.3887 14.122 12.4194C14.1179 12.4502 14.1077 12.4798 14.092 12.5065ZM11.062 9.7495C10.7139 9.7495 10.3801 9.88778 10.1339 10.1339C9.88778 10.3801 9.7495 10.7139 9.7495 11.062C9.7495 11.4101 9.88778 11.7439 10.1339 11.9901C10.3801 12.2362 10.7139 12.3745 11.062 12.3745C11.4101 12.3745 11.7439 12.2362 11.9901 11.9901C12.2362 11.7439 12.3745 11.4101 12.3745 11.062C12.3745 10.7139 12.2362 10.3801 11.9901 10.1339C11.7439 9.88778 11.4101 9.7495 11.062 9.7495ZM11.062 11.4995C10.946 11.4995 10.8347 11.4534 10.7526 11.3714C10.6706 11.2893 10.6245 11.178 10.6245 11.062C10.6245 10.946 10.6706 10.8347 10.7526 10.7526C10.8347 10.6706 10.946 10.6245 11.062 10.6245C11.178 10.6245 11.2893 10.6706 11.3714 10.7526C11.4534 10.8347 11.4995 10.946 11.4995 11.062C11.4995 11.178 11.4534 11.2893 11.3714 11.3714C11.2893 11.4534 11.178 11.4995 11.062 11.4995Z" }, null, -1)])]);
22222
+ }
22223
+ var DatasourceIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$26, [["render", _sfc_render$26]]);
22224
+ //#endregion
22002
22225
  //#region packages/editor/src/fields/DataSourceFieldSelect/FieldSelect.vue?vue&type=script&setup=true&lang.ts
22003
22226
  init_Icon();
22004
22227
  init_type();
22005
- var _hoisted_1$30 = { class: "m-editor-data-source-field-select" };
22228
+ var _hoisted_1$34 = { class: "m-editor-data-source-field-select" };
22006
22229
  var FieldSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
22007
22230
  __name: "FieldSelect",
22008
22231
  props: /*@__PURE__*/ (0, vue.mergeModels)({
@@ -22095,7 +22318,7 @@
22095
22318
  else eventBus?.emit("edit-data-source", dataSourceId);
22096
22319
  };
22097
22320
  return (_ctx, _cache) => {
22098
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$30, [__props.dataSourceId ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicCascader), {
22321
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$34, [__props.dataSourceId ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicCascader), {
22099
22322
  key: 0,
22100
22323
  "model-value": selectFieldsId.value,
22101
22324
  clearable: "",
@@ -22192,7 +22415,6 @@
22192
22415
  //#endregion
22193
22416
  //#region packages/editor/src/fields/DataSourceFieldSelect/Index.vue?vue&type=script&setup=true&lang.ts
22194
22417
  init_Icon();
22195
- var _hoisted_1$29 = { class: "m-fields-data-source-field-select" };
22196
22418
  var Index_vue_vue_type_script_setup_true_lang_default$1 = /*@__PURE__*/ (0, vue.defineComponent)({
22197
22419
  name: "MFieldsDataSourceFieldSelect",
22198
22420
  __name: "Index",
@@ -22209,13 +22431,17 @@
22209
22431
  },
22210
22432
  size: {},
22211
22433
  lastValues: {},
22212
- isCompare: { type: Boolean }
22434
+ isCompare: { type: Boolean },
22435
+ text: {},
22436
+ labelWidth: {},
22437
+ labelPosition: {}
22213
22438
  },
22214
22439
  emits: ["change"],
22215
22440
  setup(__props, { emit: __emit }) {
22216
22441
  const emit = __emit;
22217
22442
  const props = __props;
22218
22443
  const showDataSourceFieldSelect = (0, vue.ref)(false);
22444
+ const isSelectValid = (0, vue.computed)(() => !disabledDataSource.value && (showDataSourceFieldSelect.value || !props.config.fieldConfig));
22219
22445
  (0, vue.watch)(() => props.model[props.name], (value) => {
22220
22446
  if (Array.isArray(value) && typeof value[0] === "string" && value[0].startsWith(_tmagic_utils.DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX)) showDataSourceFieldSelect.value = true;
22221
22447
  else showDataSourceFieldSelect.value = false;
@@ -22285,7 +22511,7 @@
22285
22511
  showDataSourceFieldSelect.value = !showDataSourceFieldSelect.value;
22286
22512
  };
22287
22513
  return (_ctx, _cache) => {
22288
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$29, [!disabledDataSource.value && (showDataSourceFieldSelect.value || !__props.config.fieldConfig) ? ((0, vue.openBlock)(), (0, vue.createBlock)(FieldSelect_default, {
22514
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", { class: (0, vue.normalizeClass)(["m-fields-data-source-field-select", { [`data-source-field-${type.value}`]: !isSelectValid.value }]) }, [isSelectValid.value ? ((0, vue.openBlock)(), (0, vue.createBlock)(FieldSelect_default, {
22289
22515
  key: 0,
22290
22516
  "model-value": __props.model[__props.name],
22291
22517
  disabled: __props.disabled,
@@ -22336,7 +22562,7 @@
22336
22562
  disabled: __props.disabled,
22337
22563
  onClick: onToggleDataSourceFieldSelectHandler
22338
22564
  }, {
22339
- default: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: (0, vue.unref)(_element_plus_icons_vue.Coin) }, null, 8, ["icon"])]),
22565
+ default: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: DatasourceIcon_default })]),
22340
22566
  _: 1
22341
22567
  }, 8, [
22342
22568
  "type",
@@ -22344,7 +22570,7 @@
22344
22570
  "disabled"
22345
22571
  ])]),
22346
22572
  _: 1
22347
- }, 8, ["disabled"])) : (0, vue.createCommentVNode)("v-if", true)]);
22573
+ }, 8, ["disabled"])) : (0, vue.createCommentVNode)("v-if", true)], 2);
22348
22574
  };
22349
22575
  }
22350
22576
  });
@@ -22354,11 +22580,14 @@
22354
22580
  //#endregion
22355
22581
  //#region packages/editor/src/fields/EventSelect.vue?vue&type=script&setup=true&lang.ts
22356
22582
  init_lodash();
22357
- var _hoisted_1$28 = { class: "m-fields-event-select" };
22583
+ var _hoisted_1$33 = { class: "m-fields-event-select" };
22358
22584
  var _hoisted_2$5 = {
22359
22585
  key: 1,
22360
- class: "fullWidth"
22586
+ class: "fullWidth event-select-container"
22361
22587
  };
22588
+ var _hoisted_3$3 = { class: "event-select-header" };
22589
+ var _hoisted_4$2 = { class: "event-item-header" };
22590
+ var _hoisted_5$1 = { class: "event-item-title" };
22362
22591
  var EventSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
22363
22592
  name: "MFieldsEventSelect",
22364
22593
  __name: "EventSelect",
@@ -22372,7 +22601,10 @@
22372
22601
  disabled: { type: Boolean },
22373
22602
  size: {},
22374
22603
  lastValues: {},
22375
- isCompare: { type: Boolean }
22604
+ isCompare: { type: Boolean },
22605
+ text: {},
22606
+ labelWidth: {},
22607
+ labelPosition: {}
22376
22608
  },
22377
22609
  emits: ["change"],
22378
22610
  setup(__props, { emit: __emit }) {
@@ -22382,12 +22614,12 @@
22382
22614
  const eventNameConfig = (0, vue.computed)(() => {
22383
22615
  return {
22384
22616
  name: "name",
22385
- text: "事件",
22617
+ text: "事件类型",
22386
22618
  type: (mForm, { formValue }) => {
22387
22619
  if (props.config.src !== "component" || formValue.type === "page-fragment-container" && formValue.pageFragmentId) return "cascader";
22388
22620
  return "select";
22389
22621
  },
22390
- labelWidth: "40px",
22622
+ labelWidth: "70px",
22391
22623
  checkStrictly: () => props.config.src !== "component",
22392
22624
  valueSeparator: ".",
22393
22625
  options: (_mForm, { formValue }) => getEventNameOptions(props.config.src, formValue),
@@ -22426,6 +22658,7 @@
22426
22658
  name: "actionType",
22427
22659
  text: "联动类型",
22428
22660
  type: "select",
22661
+ labelPosition: "left",
22429
22662
  defaultValue: _tmagic_core.ActionType.COMP,
22430
22663
  options: actionTypeOptions.value,
22431
22664
  rules: [{
@@ -22443,6 +22676,7 @@
22443
22676
  name: "to",
22444
22677
  text: "联动组件",
22445
22678
  type: "ui-select",
22679
+ labelPosition: "left",
22446
22680
  display: (_mForm, { model }) => model.actionType === _tmagic_core.ActionType.COMP,
22447
22681
  onChange: (_MForm, _v, { setModel }) => {
22448
22682
  setModel("method", "");
@@ -22458,6 +22692,7 @@
22458
22692
  return {
22459
22693
  name: "method",
22460
22694
  text: "动作",
22695
+ labelPosition: "left",
22461
22696
  type: (mForm, { model }) => {
22462
22697
  const to = editorService.getNodeById(model.to);
22463
22698
  if (to && to.type === "page-fragment-container" && to.pageFragmentId) return "cascader";
@@ -22533,12 +22768,14 @@
22533
22768
  }));
22534
22769
  const actionsConfig = (0, vue.computed)(() => (0, _tmagic_form.defineFormItem)({
22535
22770
  type: "panel",
22771
+ labelPosition: "left",
22536
22772
  items: [{
22537
22773
  type: "group-list",
22538
22774
  name: "actions",
22539
22775
  expandAll: true,
22540
22776
  enableToggleMode: false,
22541
22777
  titlePrefix: "动作",
22778
+ labelPosition: "left",
22542
22779
  items: [
22543
22780
  actionTypeConfig.value,
22544
22781
  targetCompConfig.value,
@@ -22603,7 +22840,7 @@
22603
22840
  };
22604
22841
  const onChangeHandler = (v, eventData) => emit("change", props.model[props.name], eventData);
22605
22842
  return (_ctx, _cache) => {
22606
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$28, [isOldVersion.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_form.MTable), {
22843
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$33, [isOldVersion.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_form.MTable), {
22607
22844
  key: 0,
22608
22845
  name: "events",
22609
22846
  size: __props.size,
@@ -22620,73 +22857,97 @@
22620
22857
  "last-values",
22621
22858
  "is-compare",
22622
22859
  "config"
22623
- ])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$5, [!isCompareMode.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
22624
- key: 0,
22625
- class: "create-button",
22626
- type: "primary",
22627
- size: __props.size,
22628
- disabled: __props.disabled,
22629
- onClick: _cache[0] || (_cache[0] = ($event) => addEvent())
22630
- }, {
22631
- default: (0, vue.withCtx)(() => [..._cache[1] || (_cache[1] = [(0, vue.createTextVNode)("添加事件", -1)])]),
22632
- _: 1
22633
- }, 8, ["size", "disabled"])) : (0, vue.createCommentVNode)("v-if", true), ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(displayList.value, (entry) => {
22634
- return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_form.MPanel), {
22635
- key: entry.index,
22636
- disabled: __props.disabled,
22860
+ ])) : ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$5, [
22861
+ (0, vue.createElementVNode)("div", _hoisted_3$3, [_cache[3] || (_cache[3] = (0, vue.createElementVNode)("div", { class: "event-select-title" }, "事件配置", -1)), !isCompareMode.value && displayList.value.length > 0 ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
22862
+ key: 0,
22863
+ class: "create-button",
22864
+ text: "",
22865
+ type: "primary",
22866
+ icon: (0, vue.unref)(_element_plus_icons_vue.Plus),
22637
22867
  size: __props.size,
22638
- prop: `${__props.prop}.${entry.index}`,
22639
- config: actionsConfig.value,
22640
- model: entry.cardItem,
22641
- "last-values": entry.lastCardItem,
22642
- "is-compare": isCompareMode.value,
22643
- "label-width": __props.config.labelWidth || "100px",
22644
- onChange: onChangeHandler
22868
+ disabled: __props.disabled,
22869
+ onClick: _cache[0] || (_cache[0] = ($event) => addEvent())
22645
22870
  }, {
22646
- header: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(_tmagic_form.MContainer), {
22647
- class: "fullWidth",
22648
- config: eventNameConfig.value,
22649
- model: entry.cardItem,
22650
- "last-values": entry.lastCardItem,
22651
- "is-compare": isCompareMode.value,
22871
+ default: (0, vue.withCtx)(() => [..._cache[2] || (_cache[2] = [(0, vue.createTextVNode)("添加事件", -1)])]),
22872
+ _: 1
22873
+ }, 8, [
22874
+ "icon",
22875
+ "size",
22876
+ "disabled"
22877
+ ])) : (0, vue.createCommentVNode)("v-if", true)]),
22878
+ ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(displayList.value, (entry) => {
22879
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_form.MPanel), {
22880
+ key: entry.index,
22652
22881
  disabled: __props.disabled,
22653
22882
  size: __props.size,
22654
22883
  prop: `${__props.prop}.${entry.index}`,
22655
- onChange: eventNameChangeHandler
22656
- }, null, 8, [
22884
+ config: actionsConfig.value,
22885
+ model: entry.cardItem,
22886
+ "last-values": entry.lastCardItem,
22887
+ "is-compare": isCompareMode.value,
22888
+ "hide-expand": true,
22889
+ "label-width": __props.config.labelWidth || "100px",
22890
+ onChange: onChangeHandler
22891
+ }, {
22892
+ header: (0, vue.withCtx)(() => [(0, vue.createElementVNode)("div", _hoisted_4$2, [
22893
+ (0, vue.createElementVNode)("div", _hoisted_5$1, "事件" + (0, vue.toDisplayString)(Number(entry.index) + 1), 1),
22894
+ (0, vue.createVNode)((0, vue.unref)(_tmagic_form.MContainer), {
22895
+ class: "fullWidth",
22896
+ config: eventNameConfig.value,
22897
+ model: entry.cardItem,
22898
+ "last-values": entry.lastCardItem,
22899
+ "is-compare": isCompareMode.value,
22900
+ disabled: __props.disabled,
22901
+ size: __props.size,
22902
+ prop: `${__props.prop}.${entry.index}`,
22903
+ onChange: eventNameChangeHandler
22904
+ }, null, 8, [
22905
+ "config",
22906
+ "model",
22907
+ "last-values",
22908
+ "is-compare",
22909
+ "disabled",
22910
+ "size",
22911
+ "prop"
22912
+ ]),
22913
+ !isCompareMode.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
22914
+ key: 0,
22915
+ class: "event-item-delete-button",
22916
+ link: "",
22917
+ icon: (0, vue.unref)(_element_plus_icons_vue.Delete),
22918
+ disabled: __props.disabled,
22919
+ size: __props.size,
22920
+ onClick: ($event) => removeEvent(Number(entry.index))
22921
+ }, null, 8, [
22922
+ "icon",
22923
+ "disabled",
22924
+ "size",
22925
+ "onClick"
22926
+ ])) : (0, vue.createCommentVNode)("v-if", true)
22927
+ ])]),
22928
+ _: 2
22929
+ }, 1032, [
22930
+ "disabled",
22931
+ "size",
22932
+ "prop",
22657
22933
  "config",
22658
22934
  "model",
22659
22935
  "last-values",
22660
22936
  "is-compare",
22661
- "disabled",
22662
- "size",
22663
- "prop"
22664
- ]), !isCompareMode.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
22665
- key: 0,
22666
- style: { "color": "#f56c6c" },
22667
- link: "",
22668
- icon: (0, vue.unref)(_element_plus_icons_vue.Delete),
22669
- disabled: __props.disabled,
22670
- size: __props.size,
22671
- onClick: ($event) => removeEvent(Number(entry.index))
22672
- }, null, 8, [
22673
- "icon",
22674
- "disabled",
22675
- "size",
22676
- "onClick"
22677
- ])) : (0, vue.createCommentVNode)("v-if", true)]),
22678
- _: 2
22679
- }, 1032, [
22680
- "disabled",
22681
- "size",
22682
- "prop",
22683
- "config",
22684
- "model",
22685
- "last-values",
22686
- "is-compare",
22687
- "label-width"
22688
- ]);
22689
- }), 128))]))]);
22937
+ "label-width"
22938
+ ]);
22939
+ }), 128)),
22940
+ !isCompareMode.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
22941
+ key: 0,
22942
+ class: "create-button fullWidth",
22943
+ icon: (0, vue.unref)(_element_plus_icons_vue.Plus),
22944
+ disabled: __props.disabled,
22945
+ onClick: _cache[1] || (_cache[1] = ($event) => addEvent())
22946
+ }, {
22947
+ default: (0, vue.withCtx)(() => [..._cache[4] || (_cache[4] = [(0, vue.createTextVNode)("添加事件", -1)])]),
22948
+ _: 1
22949
+ }, 8, ["icon", "disabled"])) : (0, vue.createCommentVNode)("v-if", true)
22950
+ ]))]);
22690
22951
  };
22691
22952
  }
22692
22953
  });
@@ -22695,7 +22956,7 @@
22695
22956
  var EventSelect_default = EventSelect_vue_vue_type_script_setup_true_lang_default;
22696
22957
  //#endregion
22697
22958
  //#region packages/editor/src/icons/CodeIcon.vue?vue&type=script&setup=true&lang.ts
22698
- var _hoisted_1$27 = {
22959
+ var _hoisted_1$32 = {
22699
22960
  viewBox: "0 0 32 32",
22700
22961
  version: "1.1",
22701
22962
  xmlns: "http://www.w3.org/2000/svg",
@@ -22706,7 +22967,7 @@
22706
22967
  __name: "CodeIcon",
22707
22968
  setup(__props) {
22708
22969
  return (_ctx, _cache) => {
22709
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$27, [..._cache[0] || (_cache[0] = [(0, vue.createStaticVNode)("<defs><rect id=\"path-1\" x=\"0\" y=\"0\" width=\"32\" height=\"32\"></rect></defs><g id=\"组件规范\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"03图标\" transform=\"translate(-561.000000, -2356.000000)\"><g id=\"icon/line/Universal/code\" transform=\"translate(561.000000, 2356.000000)\"><g id=\"路径\"><mask id=\"mask-2\" fill=\"white\"><use xlink:href=\"#path-1\"></use></mask><use id=\"蒙版\" fill=\"#D8D8D8\" opacity=\"0\" xlink:href=\"#path-1\"></use><path d=\"M21.9284587,7.9482233 L29.8079004,15.827665 C29.9055315,15.9252961 29.9055315,16.0835874 29.8079004,16.1812184 L21.9284587,24.0606602 C21.8308276,24.1582912 21.6725364,24.1582912 21.5749053,24.0606602 L20.3374684,22.8232233 C20.2419143,22.7276698 20.2398813,22.5740096 20.331369,22.4759832 L20.3374687,22.4696702 L26.8027181,16.0044417 L20.3374687,9.53921328 C20.2398372,9.44158265 20.2398369,9.2832914 20.3374679,9.18566017 L21.5749053,7.9482233 C21.6725364,7.85059223 21.8308276,7.85059223 21.9284587,7.9482233 Z M10.3999684,7.9482233 L11.6374053,9.18566017 C11.7329594,9.28121371 11.7349925,9.43487387 11.6435048,9.53290029 L11.637405,9.53921328 L5.17215562,16.0044417 L11.637405,22.4696702 C11.7329593,22.5652236 11.7349926,22.7188837 11.643505,22.8169103 L11.6374053,22.8232233 L10.3999684,24.0606602 C10.3023374,24.1582912 10.1440461,24.1582912 10.046415,24.0606602 L2.1669733,16.1812184 C2.06934223,16.0835874 2.06934223,15.9252961 2.1669733,15.827665 L10.046415,7.9482233 C10.1440461,7.85059223 10.3023374,7.85059223 10.3999684,7.9482233 Z M17.2612532,9.29310422 L18.9262468,9.83189578 C19.0576112,9.87440526 19.1296423,10.0153579 19.0871328,10.1467222 L15.0848232,22.514807 C15.0423138,22.6461714 14.9013612,22.7182025 14.7699968,22.675693 L13.1050032,22.1369014 C12.9736388,22.0943919 12.9016077,21.9534393 12.9441172,21.822075 L16.9464268,9.45399022 C16.9889362,9.32262585 17.1298888,9.25059474 17.2612532,9.29310422 Z\" id=\"形状\" fill=\"#1D1F24\" mask=\"url(#mask-2)\"></path></g></g><g id=\"icon切图\" transform=\"translate(226.000000, 1782.000000)\"></g></g></g>", 2)])]);
22970
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$32, [..._cache[0] || (_cache[0] = [(0, vue.createStaticVNode)("<defs><rect id=\"path-1\" x=\"0\" y=\"0\" width=\"32\" height=\"32\"></rect></defs><g id=\"组件规范\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><g id=\"03图标\" transform=\"translate(-561.000000, -2356.000000)\"><g id=\"icon/line/Universal/code\" transform=\"translate(561.000000, 2356.000000)\"><g id=\"路径\"><mask id=\"mask-2\" fill=\"white\"><use xlink:href=\"#path-1\"></use></mask><use id=\"蒙版\" fill=\"#D8D8D8\" opacity=\"0\" xlink:href=\"#path-1\"></use><path d=\"M21.9284587,7.9482233 L29.8079004,15.827665 C29.9055315,15.9252961 29.9055315,16.0835874 29.8079004,16.1812184 L21.9284587,24.0606602 C21.8308276,24.1582912 21.6725364,24.1582912 21.5749053,24.0606602 L20.3374684,22.8232233 C20.2419143,22.7276698 20.2398813,22.5740096 20.331369,22.4759832 L20.3374687,22.4696702 L26.8027181,16.0044417 L20.3374687,9.53921328 C20.2398372,9.44158265 20.2398369,9.2832914 20.3374679,9.18566017 L21.5749053,7.9482233 C21.6725364,7.85059223 21.8308276,7.85059223 21.9284587,7.9482233 Z M10.3999684,7.9482233 L11.6374053,9.18566017 C11.7329594,9.28121371 11.7349925,9.43487387 11.6435048,9.53290029 L11.637405,9.53921328 L5.17215562,16.0044417 L11.637405,22.4696702 C11.7329593,22.5652236 11.7349926,22.7188837 11.643505,22.8169103 L11.6374053,22.8232233 L10.3999684,24.0606602 C10.3023374,24.1582912 10.1440461,24.1582912 10.046415,24.0606602 L2.1669733,16.1812184 C2.06934223,16.0835874 2.06934223,15.9252961 2.1669733,15.827665 L10.046415,7.9482233 C10.1440461,7.85059223 10.3023374,7.85059223 10.3999684,7.9482233 Z M17.2612532,9.29310422 L18.9262468,9.83189578 C19.0576112,9.87440526 19.1296423,10.0153579 19.0871328,10.1467222 L15.0848232,22.514807 C15.0423138,22.6461714 14.9013612,22.7182025 14.7699968,22.675693 L13.1050032,22.1369014 C12.9736388,22.0943919 12.9016077,21.9534393 12.9441172,21.822075 L16.9464268,9.45399022 C16.9889362,9.32262585 17.1298888,9.25059474 17.2612532,9.29310422 Z\" id=\"形状\" fill=\"#1D1F24\" mask=\"url(#mask-2)\"></path></g></g><g id=\"icon切图\" transform=\"translate(226.000000, 1782.000000)\"></g></g></g>", 2)])]);
22710
22971
  };
22711
22972
  }
22712
22973
  });
@@ -22716,7 +22977,7 @@
22716
22977
  //#endregion
22717
22978
  //#region packages/editor/src/fields/KeyValue.vue?vue&type=script&setup=true&lang.ts
22718
22979
  init_CodeEditor();
22719
- var _hoisted_1$26 = { class: "m-fields-key-value" };
22980
+ var _hoisted_1$31 = { class: "m-fields-key-value" };
22720
22981
  var _hoisted_2$4 = { key: 0 };
22721
22982
  var KeyValue_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
22722
22983
  name: "MFieldsKeyValue",
@@ -22734,7 +22995,10 @@
22734
22995
  },
22735
22996
  size: {},
22736
22997
  lastValues: {},
22737
- isCompare: { type: Boolean }
22998
+ isCompare: { type: Boolean },
22999
+ text: {},
23000
+ labelWidth: {},
23001
+ labelPosition: {}
22738
23002
  },
22739
23003
  emits: ["change"],
22740
23004
  setup(__props, { emit: __emit }) {
@@ -22780,7 +23044,7 @@
22780
23044
  emit("change", v);
22781
23045
  };
22782
23046
  return (_ctx, _cache) => {
22783
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$26, [
23047
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$31, [
22784
23048
  !showCode.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_2$4, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(records.value, (item, index) => {
22785
23049
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
22786
23050
  class: "m-fields-key-value-item",
@@ -22936,7 +23200,7 @@
22936
23200
  //#region packages/editor/src/fields/PageFragmentSelect.vue?vue&type=script&setup=true&lang.ts
22937
23201
  init_HistoryDiffDialog();
22938
23202
  init_Icon();
22939
- var _hoisted_1$25 = { class: "m-fields-page-fragment-select" };
23203
+ var _hoisted_1$30 = { class: "m-fields-page-fragment-select" };
22940
23204
  var _hoisted_2$3 = { class: "page-fragment-select-container" };
22941
23205
  var PageFragmentSelect_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
22942
23206
  name: "MFieldsPageFragmentSelect",
@@ -22954,7 +23218,10 @@
22954
23218
  },
22955
23219
  size: {},
22956
23220
  lastValues: {},
22957
- isCompare: { type: Boolean }
23221
+ isCompare: { type: Boolean },
23222
+ text: {},
23223
+ labelWidth: {},
23224
+ labelPosition: {}
22958
23225
  },
22959
23226
  emits: ["change"],
22960
23227
  setup(__props, { emit: __emit }) {
@@ -22979,7 +23246,7 @@
22979
23246
  editorService.select(id);
22980
23247
  };
22981
23248
  return (_ctx, _cache) => {
22982
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$25, [(0, vue.createElementVNode)("div", _hoisted_2$3, [
23249
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$30, [(0, vue.createElementVNode)("div", _hoisted_2$3, [
22983
23250
  (0, vue.createCommentVNode)(" 页面片下拉框 "),
22984
23251
  (0, vue.createVNode)((0, vue.unref)(_tmagic_form.MSelect), {
22985
23252
  class: "select",
@@ -23029,7 +23296,10 @@
23029
23296
  },
23030
23297
  size: {},
23031
23298
  lastValues: {},
23032
- isCompare: { type: Boolean }
23299
+ isCompare: { type: Boolean },
23300
+ text: {},
23301
+ labelWidth: {},
23302
+ labelPosition: {}
23033
23303
  },
23034
23304
  emits: ["change"],
23035
23305
  setup(__props, { emit: __emit }) {
@@ -23053,11 +23323,14 @@
23053
23323
  titlePrefix: props.config.titlePrefix,
23054
23324
  expandAll: true,
23055
23325
  enableToggleMode: false,
23326
+ flat: props.config.flat,
23056
23327
  items: [{
23057
23328
  type: "table",
23058
23329
  name: "cond",
23059
- operateColWidth: 80,
23330
+ operateColWidth: props.config.operateColWidth,
23060
23331
  enableToggleMode: false,
23332
+ fixed: props.config.fixed,
23333
+ flat: props.config.flat,
23061
23334
  items: [
23062
23335
  parentFields.value.length ? {
23063
23336
  type: "cascader",
@@ -23208,7 +23481,10 @@
23208
23481
  disabled: { type: Boolean },
23209
23482
  size: {},
23210
23483
  lastValues: {},
23211
- isCompare: { type: Boolean }
23484
+ isCompare: { type: Boolean },
23485
+ text: {},
23486
+ labelWidth: {},
23487
+ labelPosition: {}
23212
23488
  },
23213
23489
  emits: ["change"],
23214
23490
  setup(__props, { emit: __emit }) {
@@ -23258,7 +23534,7 @@
23258
23534
  var CondOpSelect_default = CondOpSelect_vue_vue_type_script_setup_true_lang_default;
23259
23535
  //#endregion
23260
23536
  //#region packages/editor/src/fields/StyleSetter/components/BackgroundPosition.vue?vue&type=script&setup=true&lang.ts
23261
- var _hoisted_1$24 = { class: "background-position-container" };
23537
+ var _hoisted_1$29 = { class: "background-position-container" };
23262
23538
  var _hoisted_2$2 = { class: "presets-value-list" };
23263
23539
  var _hoisted_3$2 = { class: "custom-value" };
23264
23540
  var BackgroundPosition_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
@@ -23273,7 +23549,10 @@
23273
23549
  disabled: { type: Boolean },
23274
23550
  size: {},
23275
23551
  lastValues: {},
23276
- isCompare: { type: Boolean }
23552
+ isCompare: { type: Boolean },
23553
+ text: {},
23554
+ labelWidth: {},
23555
+ labelPosition: {}
23277
23556
  },
23278
23557
  emits: ["change"],
23279
23558
  setup(__props, { emit: __emit }) {
@@ -23314,7 +23593,7 @@
23314
23593
  emit("change", v);
23315
23594
  };
23316
23595
  return (_ctx, _cache) => {
23317
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$24, [(0, vue.createElementVNode)("div", _hoisted_2$2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)((0, vue.unref)(list), (item, index) => {
23596
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$29, [(0, vue.createElementVNode)("div", _hoisted_2$2, [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)((0, vue.unref)(list), (item, index) => {
23318
23597
  return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(_tmagic_design.TMagicButton), {
23319
23598
  key: index,
23320
23599
  link: "",
@@ -23353,65 +23632,110 @@
23353
23632
  //#region packages/editor/src/fields/StyleSetter/components/BackgroundPosition.vue
23354
23633
  var BackgroundPosition_default = BackgroundPosition_vue_vue_type_script_setup_true_lang_default;
23355
23634
  //#endregion
23356
- //#region \0plugin-vue:export-helper
23357
- var _plugin_vue_export_helper_default = (sfc, props) => {
23358
- const target = sfc.__vccOpts || sfc;
23359
- for (const [key, val] of props) target[key] = val;
23360
- return target;
23361
- };
23362
- //#endregion
23363
23635
  //#region packages/editor/src/fields/StyleSetter/icons/background-repeat/Repeat.vue
23364
- var _sfc_main$20 = {};
23365
- var _hoisted_1$23 = {
23636
+ var _sfc_main$25 = {};
23637
+ var _hoisted_1$28 = {
23366
23638
  xmlns: "http://www.w3.org/2000/svg",
23367
- viewBox: "0 0 1024 1024"
23639
+ width: "16",
23640
+ height: "16",
23641
+ viewBox: "0 0 16 16",
23642
+ fill: "currentColor"
23368
23643
  };
23369
- function _sfc_render$20(_ctx, _cache) {
23370
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$23, [..._cache[0] || (_cache[0] = [(0, vue.createStaticVNode)("<path d=\"M884.736 102.4l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456C696.32 311.296 712.704 327.68 733.184 327.68l147.456 0c20.48 0 36.864-16.384 36.864-36.864L917.504 139.264C921.6 118.784 905.216 102.4 884.736 102.4zM884.736 290.816l-147.456 0L737.28 139.264l147.456 0L884.736 290.816z\"></path><path d=\"M884.736 696.32l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C921.6 712.704 905.216 696.32 884.736 696.32zM884.736 884.736l-147.456 0 0-147.456 147.456 0L884.736 884.736z\"></path><path d=\"M884.736 401.408l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C921.6 417.792 905.216 401.408 884.736 401.408zM884.736 585.728l-147.456 0 0-147.456 147.456 0L884.736 585.728z\"></path><path d=\"M585.728 401.408l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C622.592 417.792 606.208 401.408 585.728 401.408zM585.728 585.728l-147.456 0 0-147.456 147.456 0L585.728 585.728z\"></path><path d=\"M585.728 102.4l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864L622.592 139.264C622.592 118.784 606.208 102.4 585.728 102.4zM585.728 290.816l-147.456 0L438.272 139.264l147.456 0L585.728 290.816z\"></path><path d=\"M585.728 696.32l-147.456 0c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C622.592 712.704 606.208 696.32 585.728 696.32zM585.728 884.736l-147.456 0 0-147.456 147.456 0L585.728 884.736z\"></path><path d=\"M290.816 696.32 139.264 696.32c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C327.68 712.704 311.296 696.32 290.816 696.32zM290.816 884.736 139.264 884.736l0-147.456 147.456 0L286.72 884.736z\"></path><path d=\"M290.816 401.408 139.264 401.408c-20.48 0-36.864 16.384-36.864 36.864l0 147.456c0 20.48 16.384 36.864 36.864 36.864l147.456 0c20.48 0 36.864-16.384 36.864-36.864l0-147.456C327.68 417.792 311.296 401.408 290.816 401.408zM290.816 585.728 139.264 585.728l0-147.456 147.456 0L286.72 585.728z\"></path><path d=\"M290.816 102.4 139.264 102.4c-20.48 0-36.864 16.384-36.864 36.864l0 147.456C102.4 311.296 118.784 327.68 139.264 327.68l147.456 0C311.296 327.68 327.68 311.296 327.68 290.816L327.68 139.264C327.68 118.784 311.296 102.4 290.816 102.4zM290.816 290.816 139.264 290.816 139.264 139.264l147.456 0L286.72 290.816z\"></path>", 9)])]);
23644
+ function _sfc_render$25(_ctx, _cache) {
23645
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$28, [..._cache[0] || (_cache[0] = [(0, vue.createStaticVNode)("<rect x=\"13\" y=\"3\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 13 3)\" fill-opacity=\"0.3\"></rect><rect x=\"13\" y=\"7\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 13 7)\" fill-opacity=\"0.3\"></rect><rect x=\"13\" y=\"11\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 13 11)\" fill-opacity=\"0.3\"></rect><rect x=\"9\" y=\"3\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 9 3)\"></rect><rect x=\"9\" y=\"7\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 9 7)\"></rect><rect x=\"9\" y=\"11\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 9 11)\" fill-opacity=\"0.3\"></rect><rect x=\"5\" y=\"3\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 5 3)\"></rect><rect x=\"5\" y=\"7\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 5 7)\"></rect><rect x=\"5\" y=\"11\" width=\"2\" height=\"2\" rx=\"0.5\" transform=\"rotate(90 5 11)\" fill-opacity=\"0.3\"></rect>", 9)])]);
23371
23646
  }
23372
- var Repeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$20, [["render", _sfc_render$20]]);
23647
+ var Repeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$25, [["render", _sfc_render$25]]);
23373
23648
  //#endregion
23374
23649
  //#region packages/editor/src/fields/StyleSetter/icons/background-repeat/RepeatX.vue
23375
- var _sfc_main$19 = {};
23376
- var _hoisted_1$22 = {
23650
+ var _sfc_main$24 = {};
23651
+ var _hoisted_1$27 = {
23377
23652
  xmlns: "http://www.w3.org/2000/svg",
23378
- viewBox: "0 0 1024 1024"
23653
+ width: "16",
23654
+ height: "16",
23655
+ viewBox: "0 0 16 16",
23656
+ fill: "currentColor"
23379
23657
  };
23380
- function _sfc_render$19(_ctx, _cache) {
23381
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$22, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", {
23382
- d: "M796.444444 170.666667h-227.555555v682.666666h227.555555V170.666667z m-56.888888 625.777777h-113.777778V227.555556h113.777778v568.888888zM455.111111 170.666667H227.555556v682.666666h227.555555V170.666667zM398.222222 796.444444H284.444444V227.555556h113.777778v568.888888zM910.222222 56.888889h56.888889v910.222222h-56.888889zM56.888889 56.888889h56.888889v910.222222H56.888889z",
23383
- fill: "#333333"
23384
- }, null, -1)])]);
23658
+ function _sfc_render$24(_ctx, _cache) {
23659
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$27, [..._cache[0] || (_cache[0] = [
23660
+ (0, vue.createElementVNode)("rect", {
23661
+ x: "3",
23662
+ y: "3",
23663
+ width: "2",
23664
+ height: "10",
23665
+ rx: "1"
23666
+ }, null, -1),
23667
+ (0, vue.createElementVNode)("rect", {
23668
+ x: "7",
23669
+ y: "3",
23670
+ width: "2",
23671
+ height: "10",
23672
+ rx: "1"
23673
+ }, null, -1),
23674
+ (0, vue.createElementVNode)("rect", {
23675
+ x: "11",
23676
+ y: "3",
23677
+ width: "2",
23678
+ height: "10",
23679
+ rx: "1",
23680
+ "fill-opacity": "0.3"
23681
+ }, null, -1)
23682
+ ])]);
23385
23683
  }
23386
- var RepeatX_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$19, [["render", _sfc_render$19]]);
23684
+ var RepeatX_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$24, [["render", _sfc_render$24]]);
23387
23685
  //#endregion
23388
23686
  //#region packages/editor/src/fields/StyleSetter/icons/background-repeat/RepeatY.vue
23389
- var _sfc_main$18 = {};
23390
- var _hoisted_1$21 = {
23687
+ var _sfc_main$23 = {};
23688
+ var _hoisted_1$26 = {
23391
23689
  xmlns: "http://www.w3.org/2000/svg",
23392
- viewBox: "0 0 1024 1024"
23690
+ width: "16",
23691
+ height: "16",
23692
+ viewBox: "0 0 16 16",
23693
+ fill: "currentColor"
23393
23694
  };
23394
- function _sfc_render$18(_ctx, _cache) {
23395
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$21, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", {
23396
- d: "M170.666667 227.555556v227.555555h682.666666V227.555556H170.666667z m625.777777 56.888888v113.777778H227.555556V284.444444h568.888888zM170.666667 568.888889v227.555555h682.666666v-227.555555H170.666667z m625.777777 56.888889v113.777778H227.555556v-113.777778h568.888888zM56.888889 56.888889h910.222222v56.888889H56.888889zM56.888889 910.222222h910.222222v56.888889H56.888889z",
23397
- fill: "#333333"
23398
- }, null, -1)])]);
23695
+ function _sfc_render$23(_ctx, _cache) {
23696
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$26, [..._cache[0] || (_cache[0] = [
23697
+ (0, vue.createElementVNode)("rect", {
23698
+ x: "13",
23699
+ y: "3",
23700
+ width: "2",
23701
+ height: "10",
23702
+ rx: "1",
23703
+ transform: "rotate(90 13 3)"
23704
+ }, null, -1),
23705
+ (0, vue.createElementVNode)("rect", {
23706
+ x: "13",
23707
+ y: "7",
23708
+ width: "2",
23709
+ height: "10",
23710
+ rx: "1",
23711
+ transform: "rotate(90 13 7)"
23712
+ }, null, -1),
23713
+ (0, vue.createElementVNode)("rect", {
23714
+ x: "13",
23715
+ y: "11",
23716
+ width: "2",
23717
+ height: "10",
23718
+ rx: "1",
23719
+ transform: "rotate(90 13 11)",
23720
+ "fill-opacity": "0.3"
23721
+ }, null, -1)
23722
+ ])]);
23399
23723
  }
23400
- var RepeatY_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$18, [["render", _sfc_render$18]]);
23724
+ var RepeatY_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$23, [["render", _sfc_render$23]]);
23401
23725
  //#endregion
23402
23726
  //#region packages/editor/src/fields/StyleSetter/icons/background-repeat/NoRepeat.vue
23403
- var _sfc_main$17 = {};
23404
- var _hoisted_1$20 = {
23727
+ var _sfc_main$22 = {};
23728
+ var _hoisted_1$25 = {
23405
23729
  xmlns: "http://www.w3.org/2000/svg",
23406
- viewBox: "0 0 1024 1024"
23730
+ width: "10",
23731
+ height: "10",
23732
+ viewBox: "0 0 10 10",
23733
+ fill: "currentColor"
23407
23734
  };
23408
- function _sfc_render$17(_ctx, _cache) {
23409
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$20, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", {
23410
- d: "M912.526651 867.741144 555.540144 510.712681l356.986507-357.000833c11.171434-11.18576 11.171434-29.257348 0-40.443108-11.20111-11.18576-29.272697-11.18576-40.444131 0L515.096013 470.267527 158.096203 113.267716c-11.187807-11.159154-29.258371-11.159154-40.444131 0-11.186783 11.186783-11.186783 29.286 0 40.47176L474.623229 510.712681 117.623419 867.741144c-11.159154 11.172457-11.159154 29.216415 0 40.443108 11.18576 11.17348 29.284977 11.17348 40.47176 0l357.000833-357.027439 356.985484 357.027439c11.171434 11.17348 29.243021 11.17348 40.444131 0C923.698085 896.957559 923.725714 878.913601 912.526651 867.741144z",
23411
- fill: "#5D5D5D"
23412
- }, null, -1)])]);
23735
+ function _sfc_render$22(_ctx, _cache) {
23736
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$25, [..._cache[0] || (_cache[0] = [(0, vue.createStaticVNode)("<path d=\"M0 0.625C0 0.279822 0.248731 0 0.555556 0H9.44444C9.75127 0 10 0.279822 10 0.625C10 0.970178 9.75127 1.25 9.44444 1.25H0.555556C0.248731 1.25 0 0.970178 0 0.625Z\" fill-opacity=\"0.3\"></path><path d=\"M0 9.375C0 9.02982 0.248731 8.75 0.555556 8.75H9.44444C9.75127 8.75 10 9.02982 10 9.375C10 9.72018 9.75127 10 9.44444 10H0.555556C0.248731 10 0 9.72018 0 9.375Z\" fill-opacity=\"0.3\"></path><path d=\"M0.555556 4.375C0.248731 4.375 0 4.65482 0 5C0 5.34518 0.248731 5.625 0.555556 5.625H2.87307L3.42868 4.99994L2.87318 4.375H0.555556Z\" fill-opacity=\"0.3\"></path><path d=\"M9.44444 5.625H7.12699L6.57138 4.99994L7.12688 4.375H9.44444C9.75127 4.375 10 4.65482 10 5C10 5.34518 9.75127 5.625 9.44444 5.625Z\" fill-opacity=\"0.3\"></path><path transform=\"translate(0 2.6072)\" d=\"M3.30542 0.183058C3.52237 -0.0610194 3.87413 -0.0610194 4.09109 0.183058C4.30805 0.427136 4.30805 0.822864 4.09109 1.06694L2.91256 2.39279L4.0911 3.71865C4.30806 3.96273 4.30806 4.35846 4.0911 4.60253C3.87414 4.84661 3.52239 4.84661 3.30543 4.60253L2.12688 3.27667L0.948393 4.60248C0.731435 4.84655 0.379676 4.84655 0.162719 4.60248C-0.0542395 4.3584 -0.0542395 3.96267 0.162719 3.71859L1.34121 2.39279L0.162731 1.067C-0.0542269 0.822922 -0.0542268 0.427194 0.162731 0.183116C0.379689 -0.0609612 0.731447 -0.0609612 0.948405 0.183116L2.12688 1.50891L3.30542 0.183058Z\"></path>", 5)])]);
23413
23737
  }
23414
- var NoRepeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$17, [["render", _sfc_render$17]]);
23738
+ var NoRepeat_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$22, [["render", _sfc_render$22]]);
23415
23739
  //#endregion
23416
23740
  //#region packages/editor/src/fields/StyleSetter/pro/Background.vue?vue&type=script&setup=true&lang.ts
23417
23741
  var Background_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
@@ -23422,6 +23746,7 @@
23422
23746
  isCompare: { type: Boolean },
23423
23747
  disabled: { type: Boolean },
23424
23748
  size: {},
23749
+ theme: {},
23425
23750
  prop: {}
23426
23751
  },
23427
23752
  emits: ["change", "addDiffCount"],
@@ -23493,9 +23818,9 @@
23493
23818
  labelWidth: "68px",
23494
23819
  options: [
23495
23820
  {
23496
- value: "repeat",
23497
- icon: (0, vue.markRaw)(Repeat_default),
23498
- tooltip: "垂直和水平方向重复 repeat"
23821
+ value: "no-repeat",
23822
+ icon: (0, vue.markRaw)(NoRepeat_default),
23823
+ tooltip: "不重复 no-repeat"
23499
23824
  },
23500
23825
  {
23501
23826
  value: "repeat-x",
@@ -23508,9 +23833,9 @@
23508
23833
  tooltip: "垂直方向重复 repeat-y"
23509
23834
  },
23510
23835
  {
23511
- value: "no-repeat",
23512
- icon: (0, vue.markRaw)(NoRepeat_default),
23513
- tooltip: "不重复 no-repeat"
23836
+ value: "repeat",
23837
+ icon: (0, vue.markRaw)(Repeat_default),
23838
+ tooltip: "垂直和水平方向重复 repeat"
23514
23839
  }
23515
23840
  ]
23516
23841
  },
@@ -23557,37 +23882,37 @@
23557
23882
  var Background_default = Background_vue_vue_type_script_setup_true_lang_default;
23558
23883
  //#endregion
23559
23884
  //#region packages/editor/src/fields/StyleSetter/icons/text-align/Left.vue
23560
- var _sfc_main$16 = {};
23561
- var _hoisted_1$19 = {
23885
+ var _sfc_main$21 = {};
23886
+ var _hoisted_1$24 = {
23562
23887
  xmlns: "http://www.w3.org/2000/svg",
23563
23888
  viewBox: "0 0 1024 1024"
23564
23889
  };
23565
- function _sfc_render$16(_ctx, _cache) {
23566
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$19, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 810.666667h768v85.333333H128z m0-170.666667h512v85.333333H128z m0-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m0 170.666667h512v85.333333H128z" }, null, -1)])]);
23890
+ function _sfc_render$21(_ctx, _cache) {
23891
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$24, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 810.666667h768v85.333333H128z m0-170.666667h512v85.333333H128z m0-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m0 170.666667h512v85.333333H128z" }, null, -1)])]);
23567
23892
  }
23568
- var Left_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$16, [["render", _sfc_render$16]]);
23893
+ var Left_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$21, [["render", _sfc_render$21]]);
23569
23894
  //#endregion
23570
23895
  //#region packages/editor/src/fields/StyleSetter/icons/text-align/Center.vue
23571
- var _sfc_main$15 = {};
23572
- var _hoisted_1$18 = {
23896
+ var _sfc_main$20 = {};
23897
+ var _hoisted_1$23 = {
23573
23898
  xmlns: "http://www.w3.org/2000/svg",
23574
23899
  viewBox: "0 0 1024 1024"
23575
23900
  };
23576
- function _sfc_render$15(_ctx, _cache) {
23577
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$18, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 810.666667h768v85.333333H128z m128-170.666667h512v85.333333H256z m-128-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m128 170.666667h512v85.333333H256z" }, null, -1)])]);
23901
+ function _sfc_render$20(_ctx, _cache) {
23902
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$23, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 810.666667h768v85.333333H128z m128-170.666667h512v85.333333H256z m-128-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m128 170.666667h512v85.333333H256z" }, null, -1)])]);
23578
23903
  }
23579
- var Center_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$15, [["render", _sfc_render$15]]);
23904
+ var Center_default$2 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$20, [["render", _sfc_render$20]]);
23580
23905
  //#endregion
23581
23906
  //#region packages/editor/src/fields/StyleSetter/icons/text-align/Right.vue
23582
- var _sfc_main$14 = {};
23583
- var _hoisted_1$17 = {
23907
+ var _sfc_main$19 = {};
23908
+ var _hoisted_1$22 = {
23584
23909
  xmlns: "http://www.w3.org/2000/svg",
23585
23910
  viewBox: "0 0 1024 1024"
23586
23911
  };
23587
- function _sfc_render$14(_ctx, _cache) {
23588
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$17, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 128h768v85.333333H128z m0 682.666667h768v85.333333H128z m213.333333-170.666667h554.666667v85.333333H341.333333z m-213.333333-170.666667h768v85.333334H128z m213.333333-170.666666h554.666667v85.333333H341.333333z" }, null, -1)])]);
23912
+ function _sfc_render$19(_ctx, _cache) {
23913
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$22, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M128 128h768v85.333333H128z m0 682.666667h768v85.333333H128z m213.333333-170.666667h554.666667v85.333333H341.333333z m-213.333333-170.666667h768v85.333334H128z m213.333333-170.666666h554.666667v85.333333H341.333333z" }, null, -1)])]);
23589
23914
  }
23590
- var Right_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$14, [["render", _sfc_render$14]]);
23915
+ var Right_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$19, [["render", _sfc_render$19]]);
23591
23916
  //#endregion
23592
23917
  //#region packages/editor/src/fields/StyleSetter/pro/Font.vue?vue&type=script&setup=true&lang.ts
23593
23918
  var Font_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
@@ -23650,17 +23975,20 @@
23650
23975
  {
23651
23976
  value: "left",
23652
23977
  icon: (0, vue.markRaw)(Left_default),
23653
- tooltip: "左对齐 row"
23978
+ tooltip: "左对齐 row",
23979
+ text: "左对齐"
23654
23980
  },
23655
23981
  {
23656
23982
  value: "center",
23657
- icon: (0, vue.markRaw)(Center_default$1),
23658
- tooltip: "居中对齐 center"
23983
+ icon: (0, vue.markRaw)(Center_default$2),
23984
+ tooltip: "居中对齐 center",
23985
+ text: "居中对齐"
23659
23986
  },
23660
23987
  {
23661
23988
  value: "right",
23662
23989
  icon: (0, vue.markRaw)(Right_default),
23663
- tooltip: "右对齐 right"
23990
+ tooltip: "右对齐 right",
23991
+ text: "右对齐"
23664
23992
  }
23665
23993
  ]
23666
23994
  }
@@ -23700,7 +24028,7 @@
23700
24028
  var Font_default = Font_vue_vue_type_script_setup_true_lang_default;
23701
24029
  //#endregion
23702
24030
  //#region packages/editor/src/fields/StyleSetter/components/Box.vue?vue&type=script&setup=true&lang.ts
23703
- var _hoisted_1$16 = { class: "layout-box-container" };
24031
+ var _hoisted_1$21 = { class: "layout-box-container" };
23704
24032
  var _hoisted_2$1 = {
23705
24033
  key: 0,
23706
24034
  class: "help-txt"
@@ -23764,7 +24092,7 @@
23764
24092
  emit("change", event.target.value, { modifyKey: name });
23765
24093
  };
23766
24094
  return (_ctx, _cache) => {
23767
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$16, [((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(list, (item, index) => {
24095
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$21, [((0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(list, (item, index) => {
23768
24096
  return (0, vue.createElementVNode)("div", {
23769
24097
  key: index,
23770
24098
  class: (0, vue.normalizeClass)(item.class)
@@ -23783,6 +24111,184 @@
23783
24111
  //#region packages/editor/src/fields/StyleSetter/components/Box.vue
23784
24112
  var Box_default = Box_vue_vue_type_script_setup_true_lang_default;
23785
24113
  //#endregion
24114
+ //#region packages/editor/src/fields/StyleSetter/icons/align-items/Center.vue
24115
+ var _sfc_main$18 = {};
24116
+ var _hoisted_1$20 = {
24117
+ xmlns: "http://www.w3.org/2000/svg",
24118
+ width: "16",
24119
+ height: "16",
24120
+ viewBox: "0 0 16 16",
24121
+ fill: "currentColor"
24122
+ };
24123
+ function _sfc_render$18(_ctx, _cache) {
24124
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$20, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 4C12.5523 4 13 4.44772 13 5V11C13 11.5523 12.5523 12 12 12H4C3.44772 12 3 11.5523 3 11V5C3 4.44772 3.44772 4 4 4H12ZM4.5 5C4.22386 5 4 5.22386 4 5.5V10.5C4 10.7761 4.22386 11 4.5 11H11.5C11.7761 11 12 10.7761 12 10.5V5.5C12 5.22386 11.7761 5 11.5 5H4.5Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24125
+ x: "13.75",
24126
+ y: "7.75",
24127
+ width: "0.5",
24128
+ height: "11.5",
24129
+ rx: "0.25",
24130
+ transform: "rotate(90 13.75 7.75)",
24131
+ stroke: "black",
24132
+ "stroke-opacity": "0.3",
24133
+ style: {
24134
+ "stroke": "black",
24135
+ "stroke-opacity": "0.3"
24136
+ },
24137
+ "stroke-width": "0.5"
24138
+ }, null, -1)])]);
24139
+ }
24140
+ var Center_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$18, [["render", _sfc_render$18]]);
24141
+ //#endregion
24142
+ //#region packages/editor/src/fields/StyleSetter/icons/align-items/FlexEnd.vue
24143
+ var _sfc_main$17 = {};
24144
+ var _hoisted_1$19 = {
24145
+ xmlns: "http://www.w3.org/2000/svg",
24146
+ width: "16",
24147
+ height: "16",
24148
+ viewBox: "0 0 16 16",
24149
+ fill: "currentColor"
24150
+ };
24151
+ function _sfc_render$17(_ctx, _cache) {
24152
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$19, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 3C12.5523 3 13 3.44772 13 4V10C13 10.5523 12.5523 11 12 11H4C3.44772 11 3 10.5523 3 10V4C3 3.44772 3.44772 3 4 3H12ZM4.5 4C4.22386 4 4 4.22386 4 4.5V9.5C4 9.77614 4.22386 10 4.5 10H11.5C11.7761 10 12 9.77614 12 9.5V4.5C12 4.22386 11.7761 4 11.5 4H4.5Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24153
+ x: "13.75",
24154
+ y: "12.25",
24155
+ width: "0.5",
24156
+ height: "11.5",
24157
+ rx: "0.25",
24158
+ transform: "rotate(90 13.75 12.25)",
24159
+ stroke: "black",
24160
+ "stroke-opacity": "0.3",
24161
+ style: {
24162
+ "stroke": "black",
24163
+ "stroke-opacity": "0.3"
24164
+ },
24165
+ "stroke-width": "0.5"
24166
+ }, null, -1)])]);
24167
+ }
24168
+ var FlexEnd_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$17, [["render", _sfc_render$17]]);
24169
+ //#endregion
24170
+ //#region packages/editor/src/fields/StyleSetter/icons/align-items/FlexStart.vue
24171
+ var _sfc_main$16 = {};
24172
+ var _hoisted_1$18 = {
24173
+ xmlns: "http://www.w3.org/2000/svg",
24174
+ width: "16",
24175
+ height: "16",
24176
+ viewBox: "0 0 16 16",
24177
+ fill: "currentColor"
24178
+ };
24179
+ function _sfc_render$16(_ctx, _cache) {
24180
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$18, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 5C12.5523 5 13 5.44772 13 6V12C13 12.5523 12.5523 13 12 13H4C3.44772 13 3 12.5523 3 12V6C3 5.44772 3.44772 5 4 5H12ZM4.5 6C4.22386 6 4 6.22386 4 6.5V11.5C4 11.7761 4.22386 12 4.5 12H11.5C11.7761 12 12 11.7761 12 11.5V6.5C12 6.22386 11.7761 6 11.5 6H4.5Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24181
+ x: "13.75",
24182
+ y: "3.25",
24183
+ width: "0.5",
24184
+ height: "11.5",
24185
+ rx: "0.25",
24186
+ transform: "rotate(90 13.75 3.25)",
24187
+ stroke: "white",
24188
+ "stroke-opacity": "0.3",
24189
+ style: {
24190
+ "stroke": "white",
24191
+ "stroke-opacity": "0.3"
24192
+ },
24193
+ "stroke-width": "0.5"
24194
+ }, null, -1)])]);
24195
+ }
24196
+ var FlexStart_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$16, [["render", _sfc_render$16]]);
24197
+ //#endregion
24198
+ //#region packages/editor/src/fields/StyleSetter/icons/align-items/SpaceAround.vue
24199
+ var _sfc_main$15 = {};
24200
+ var _hoisted_1$17 = {
24201
+ xmlns: "http://www.w3.org/2000/svg",
24202
+ width: "16",
24203
+ height: "16",
24204
+ viewBox: "0 0 16 16",
24205
+ fill: "currentColor"
24206
+ };
24207
+ function _sfc_render$15(_ctx, _cache) {
24208
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$17, [..._cache[0] || (_cache[0] = [
24209
+ (0, vue.createElementVNode)("path", { d: "M12 8C12.5523 8 13 8.44772 13 9V12C13 12.5523 12.5523 13 12 13H4C3.44772 13 3 12.5523 3 12V9C3 8.44772 3.44772 8 4 8H12ZM4.5 9C4.22386 9 4 9.22386 4 9.5V11.5C4 11.7761 4.22386 12 4.5 12H11.5C11.7761 12 12 11.7761 12 11.5V9.5C12 9.22386 11.7761 9 11.5 9H4.5Z" }, null, -1),
24210
+ (0, vue.createElementVNode)("path", { d: "M12 2C12.5523 2 13 2.44772 13 3V6C13 6.55228 12.5523 7 12 7H4C3.44772 7 3 6.55228 3 6V3C3 2.44772 3.44772 2 4 2H12ZM4.5 3C4.22386 3 4 3.22386 4 3.5V5.5C4 5.77614 4.22386 6 4.5 6H11.5C11.7761 6 12 5.77614 12 5.5V3.5C12 3.22386 11.7761 3 11.5 3H4.5Z" }, null, -1),
24211
+ (0, vue.createElementVNode)("rect", {
24212
+ x: "13.75",
24213
+ y: "10.25",
24214
+ width: "0.5",
24215
+ height: "11.5",
24216
+ rx: "0.25",
24217
+ transform: "rotate(90 13.75 10.25)",
24218
+ stroke: "black",
24219
+ "stroke-opacity": "0.3",
24220
+ style: {
24221
+ "stroke": "black",
24222
+ "stroke-opacity": "0.3"
24223
+ },
24224
+ "stroke-width": "0.5"
24225
+ }, null, -1),
24226
+ (0, vue.createElementVNode)("rect", {
24227
+ x: "13.75",
24228
+ y: "4.25",
24229
+ width: "0.5",
24230
+ height: "11.5",
24231
+ rx: "0.25",
24232
+ transform: "rotate(90 13.75 4.25)",
24233
+ stroke: "black",
24234
+ "stroke-opacity": "0.3",
24235
+ style: {
24236
+ "stroke": "black",
24237
+ "stroke-opacity": "0.3"
24238
+ },
24239
+ "stroke-width": "0.5"
24240
+ }, null, -1)
24241
+ ])]);
24242
+ }
24243
+ var SpaceAround_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$15, [["render", _sfc_render$15]]);
24244
+ //#endregion
24245
+ //#region packages/editor/src/fields/StyleSetter/icons/align-items/SpaceBetween.vue
24246
+ var _sfc_main$14 = {};
24247
+ var _hoisted_1$16 = {
24248
+ xmlns: "http://www.w3.org/2000/svg",
24249
+ width: "16",
24250
+ height: "16",
24251
+ viewBox: "0 0 16 16",
24252
+ fill: "currentColor"
24253
+ };
24254
+ function _sfc_render$14(_ctx, _cache) {
24255
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$16, [..._cache[0] || (_cache[0] = [
24256
+ (0, vue.createElementVNode)("path", { d: "M12 9C12.5523 9 13 9.44772 13 10V12C13 12.5523 12.5523 13 12 13H4C3.44772 13 3 12.5523 3 12V10C3 9.44772 3.44772 9 4 9H12ZM4.5 10C4.22386 10 4 10.2239 4 10.5V11.5C4 11.7761 4.22386 12 4.5 12H11.5C11.7761 12 12 11.7761 12 11.5V10.5C12 10.2239 11.7761 10 11.5 10H4.5Z" }, null, -1),
24257
+ (0, vue.createElementVNode)("path", { d: "M12 3C12.5523 3 13 3.44772 13 4V6C13 6.55228 12.5523 7 12 7H4C3.44772 7 3 6.55228 3 6V4C3 3.44772 3.44772 3 4 3H12ZM4.5 4C4.22386 4 4 4.22386 4 4.5V5.5C4 5.77614 4.22386 6 4.5 6H11.5C11.7761 6 12 5.77614 12 5.5V4.5C12 4.22386 11.7761 4 11.5 4H4.5Z" }, null, -1),
24258
+ (0, vue.createElementVNode)("rect", {
24259
+ x: "13.75",
24260
+ y: "14.25",
24261
+ width: "0.5",
24262
+ height: "11.5",
24263
+ rx: "0.25",
24264
+ transform: "rotate(90 13.75 14.25)",
24265
+ stroke: "black",
24266
+ "stroke-opacity": "0.3",
24267
+ style: {
24268
+ "stroke": "black",
24269
+ "stroke-opacity": "0.3"
24270
+ },
24271
+ "stroke-width": "0.5"
24272
+ }, null, -1),
24273
+ (0, vue.createElementVNode)("rect", {
24274
+ x: "13.75",
24275
+ y: "1.25",
24276
+ width: "0.5",
24277
+ height: "11.5",
24278
+ rx: "0.25",
24279
+ transform: "rotate(90 13.75 1.25)",
24280
+ stroke: "black",
24281
+ "stroke-opacity": "0.3",
24282
+ style: {
24283
+ "stroke": "black",
24284
+ "stroke-opacity": "0.3"
24285
+ },
24286
+ "stroke-width": "0.5"
24287
+ }, null, -1)
24288
+ ])]);
24289
+ }
24290
+ var SpaceBetween_default$1 = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$14, [["render", _sfc_render$14]]);
24291
+ //#endregion
23786
24292
  //#region packages/editor/src/fields/StyleSetter/icons/display/Block.vue
23787
24293
  var _sfc_main$13 = {};
23788
24294
  var _hoisted_1$15 = {
@@ -23842,10 +24348,18 @@
23842
24348
  var _sfc_main$8 = {};
23843
24349
  var _hoisted_1$10 = {
23844
24350
  xmlns: "http://www.w3.org/2000/svg",
23845
- viewBox: "0 0 1024 1024"
24351
+ width: "16",
24352
+ height: "16",
24353
+ viewBox: "0 0 16 16",
24354
+ fill: "currentColor"
23846
24355
  };
23847
24356
  function _sfc_render$8(_ctx, _cache) {
23848
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$10, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M896 320H128V0h768v320z m0 320H128v-256h768v256z m-128 192l-256 192-256-192 192-0.032V704h128v128h192z" }, null, -1)])]);
24357
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$10, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 3C12.5523 3 13 3.44772 13 4V10C13 10.5523 12.5523 11 12 11H4C3.44772 11 3 10.5523 3 10V4C3 3.44772 3.44772 3 4 3H12ZM4.5 4C4.22386 4 4 4.22386 4 4.5V9.5C4 9.77614 4.22386 10 4.5 10H11.5C11.7761 10 12 9.77614 12 9.5V4.5C12 4.22386 11.7761 4 11.5 4H4.5Z" }, null, -1), (0, vue.createElementVNode)("path", {
24358
+ "fill-rule": "evenodd",
24359
+ "clip-rule": "evenodd",
24360
+ d: "M11 12L8 15L5 12L11 12Z",
24361
+ "fill-opacity": "0.3"
24362
+ }, null, -1)])]);
23849
24363
  }
23850
24364
  var Column_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$8, [["render", _sfc_render$8]]);
23851
24365
  //#endregion
@@ -23853,10 +24367,18 @@
23853
24367
  var _sfc_main$7 = {};
23854
24368
  var _hoisted_1$9 = {
23855
24369
  xmlns: "http://www.w3.org/2000/svg",
23856
- viewBox: "0 0 1024 1024"
24370
+ width: "16",
24371
+ height: "16",
24372
+ viewBox: "0 0 16 16",
24373
+ fill: "currentColor"
23857
24374
  };
23858
24375
  function _sfc_render$7(_ctx, _cache) {
23859
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$9, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M896 704H128v320h768V704z m0-320H128v256h768v-256z m-128-192l-256-192-256 192 192 0.032V320h128V192h192z" }, null, -1)])]);
24376
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$9, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M12 5C12.5523 5 13 5.44772 13 6V12C13 12.5523 12.5523 13 12 13H4C3.44772 13 3 12.5523 3 12V6C3 5.44772 3.44772 5 4 5H12ZM4.5 6C4.22386 6 4 6.22386 4 6.5V11.5C4 11.7761 4.22386 12 4.5 12H11.5C11.7761 12 12 11.7761 12 11.5V6.5C12 6.22386 11.7761 6 11.5 6H4.5Z" }, null, -1), (0, vue.createElementVNode)("path", {
24377
+ "fill-rule": "evenodd",
24378
+ "clip-rule": "evenodd",
24379
+ d: "M5 4L8 1L11 4L5 4Z",
24380
+ "fill-opacity": "0.3"
24381
+ }, null, -1)])]);
23860
24382
  }
23861
24383
  var ColumnReverse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$7, [["render", _sfc_render$7]]);
23862
24384
  //#endregion
@@ -23864,10 +24386,18 @@
23864
24386
  var _sfc_main$6 = {};
23865
24387
  var _hoisted_1$8 = {
23866
24388
  xmlns: "http://www.w3.org/2000/svg",
23867
- viewBox: "0 0 1024 1024"
24389
+ width: "16",
24390
+ height: "16",
24391
+ viewBox: "0 0 16 16",
24392
+ fill: "currentColor"
23868
24393
  };
23869
24394
  function _sfc_render$6(_ctx, _cache) {
23870
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M320 128v768H0V128h320z m320 0v768h-256V128h256z m192 128l192 256-192 256-0.032-192H704v-128h128V256z" }, null, -1)])]);
24395
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$8, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M10 4C10.5523 4 11 4.44772 11 5V11C11 11.5523 10.5523 12 10 12H2C1.44772 12 1 11.5523 1 11V5C1 4.44772 1.44772 4 2 4H10ZM2.5 5C2.22386 5 2 5.22386 2 5.5V10.5C2 10.7761 2.22386 11 2.5 11H9.5C9.77614 11 10 10.7761 10 10.5V5.5C10 5.22386 9.77614 5 9.5 5H2.5Z" }, null, -1), (0, vue.createElementVNode)("path", {
24396
+ "fill-rule": "evenodd",
24397
+ "clip-rule": "evenodd",
24398
+ d: "M12 5L15 8L12 11L12 5Z",
24399
+ "fill-opacity": "0.3"
24400
+ }, null, -1)])]);
23871
24401
  }
23872
24402
  var Row_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$6, [["render", _sfc_render$6]]);
23873
24403
  //#endregion
@@ -23875,10 +24405,18 @@
23875
24405
  var _sfc_main$5 = {};
23876
24406
  var _hoisted_1$7 = {
23877
24407
  xmlns: "http://www.w3.org/2000/svg",
23878
- viewBox: "0 0 1024 1024"
24408
+ width: "16",
24409
+ height: "16",
24410
+ viewBox: "0 0 16 16",
24411
+ fill: "currentColor"
23879
24412
  };
23880
24413
  function _sfc_render$5(_ctx, _cache) {
23881
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M704 128v768h320V128H704zM384 128v768h256V128h-256zM192 256l-192 256 192 256 0.032-192H320v-128H192V256z" }, null, -1)])]);
24414
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$7, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M14 4C14.5523 4 15 4.44772 15 5V11C15 11.5523 14.5523 12 14 12H6C5.44772 12 5 11.5523 5 11V5C5 4.44772 5.44772 4 6 4H14ZM6.5 5C6.22386 5 6 5.22386 6 5.5V10.5C6 10.7761 6.22386 11 6.5 11H13.5C13.7761 11 14 10.7761 14 10.5V5.5C14 5.22386 13.7761 5 13.5 5H6.5Z" }, null, -1), (0, vue.createElementVNode)("path", {
24415
+ "fill-rule": "evenodd",
24416
+ "clip-rule": "evenodd",
24417
+ d: "M4 11L1 8L4 5L4 11Z",
24418
+ "fill-opacity": "0.3"
24419
+ }, null, -1)])]);
23882
24420
  }
23883
24421
  var RowReverse_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$5, [["render", _sfc_render$5]]);
23884
24422
  //#endregion
@@ -23886,10 +24424,24 @@
23886
24424
  var _sfc_main$4 = {};
23887
24425
  var _hoisted_1$6 = {
23888
24426
  xmlns: "http://www.w3.org/2000/svg",
23889
- viewBox: "0 0 1024 1024"
24427
+ width: "16",
24428
+ height: "16",
24429
+ viewBox: "0 0 16 16",
24430
+ fill: "currentColor"
23890
24431
  };
23891
24432
  function _sfc_render$4(_ctx, _cache) {
23892
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$6, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M480 1024V0h64v1024h-64z m128-64V64h320v896H608zM96 960V64h320v896H96z" }, null, -1)])]);
24433
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$6, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M13 4C13.5523 4 14 4.44772 14 5V11C14 11.5523 13.5523 12 13 12H3C2.44772 12 2 11.5523 2 11V5C2 4.44772 2.44772 4 3 4H13ZM3.59082 5C3.31472 5.00005 3.09082 5.22389 3.09082 5.5V10.5C3.09082 10.7761 3.31472 11 3.59082 11H12.4092C12.6853 11 12.9092 10.7761 12.9092 10.5V5.5C12.9092 5.22389 12.6853 5.00005 12.4092 5H3.59082Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24434
+ x: "7.5",
24435
+ y: "2",
24436
+ width: "1",
24437
+ height: "12",
24438
+ rx: "0.5",
24439
+ "fill-opacity": "0.3",
24440
+ style: {
24441
+ "fill": "black",
24442
+ "fill-opacity": "0.3"
24443
+ }
24444
+ }, null, -1)])]);
23893
24445
  }
23894
24446
  var Center_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$4, [["render", _sfc_render$4]]);
23895
24447
  //#endregion
@@ -23897,10 +24449,26 @@
23897
24449
  var _sfc_main$3 = {};
23898
24450
  var _hoisted_1$5 = {
23899
24451
  xmlns: "http://www.w3.org/2000/svg",
23900
- viewBox: "0 0 1024 1024"
24452
+ width: "16",
24453
+ height: "16",
24454
+ viewBox: "0 0 16 16",
24455
+ fill: "currentColor"
23901
24456
  };
23902
24457
  function _sfc_render$3(_ctx, _cache) {
23903
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$5, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M416 160H96v704h320V160z m384 0H480v704h320V160z m128-160h-64v1024h64V0z" }, null, -1)])]);
24458
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$5, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M11 4C11.5523 4 12 4.44772 12 5V11C12 11.5523 11.5523 12 11 12H2C1.44772 12 1 11.5523 1 11V5C1 4.44772 1.44772 4 2 4H11ZM2.5 5C2.22386 5 2 5.22386 2 5.5V10.5C2 10.7761 2.22386 11 2.5 11H10.5C10.7761 11 11 10.7761 11 10.5V5.5C11 5.22386 10.7761 5 10.5 5H2.5Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24459
+ x: "14.25",
24460
+ y: "2.25",
24461
+ width: "0.5",
24462
+ height: "11.5",
24463
+ rx: "0.25",
24464
+ stroke: "black",
24465
+ "stroke-opacity": "0.3",
24466
+ style: {
24467
+ "stroke": "black",
24468
+ "stroke-opacity": "0.3"
24469
+ },
24470
+ "stroke-width": "0.5"
24471
+ }, null, -1)])]);
23904
24472
  }
23905
24473
  var FlexEnd_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$3, [["render", _sfc_render$3]]);
23906
24474
  //#endregion
@@ -23908,10 +24476,26 @@
23908
24476
  var _sfc_main$2 = {};
23909
24477
  var _hoisted_1$4 = {
23910
24478
  xmlns: "http://www.w3.org/2000/svg",
23911
- viewBox: "0 0 1024 1024"
24479
+ width: "16",
24480
+ height: "16",
24481
+ viewBox: "0 0 16 16",
24482
+ fill: "currentColor"
23912
24483
  };
23913
24484
  function _sfc_render$2(_ctx, _cache) {
23914
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$4, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M608 160h320v704H608V160zM224 160h320v704H224V160zM96 0h64v1024H96V0z" }, null, -1)])]);
24485
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$4, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M14 4C14.5523 4 15 4.44772 15 5V11C15 11.5523 14.5523 12 14 12H5C4.44772 12 4 11.5523 4 11V5C4 4.44772 4.44772 4 5 4H14ZM5.5 5C5.22386 5 5 5.22386 5 5.5V10.5C5 10.7761 5.22386 11 5.5 11H13.5C13.7761 11 14 10.7761 14 10.5V5.5C14 5.22386 13.7761 5 13.5 5H5.5Z" }, null, -1), (0, vue.createElementVNode)("rect", {
24486
+ x: "1.25",
24487
+ y: "2.25",
24488
+ width: "0.5",
24489
+ height: "11.5",
24490
+ rx: "0.25",
24491
+ stroke: "white",
24492
+ "stroke-opacity": "0.3",
24493
+ style: {
24494
+ "stroke": "white",
24495
+ "stroke-opacity": "0.3"
24496
+ },
24497
+ "stroke-width": "0.5"
24498
+ }, null, -1)])]);
23915
24499
  }
23916
24500
  var FlexStart_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$2, [["render", _sfc_render$2]]);
23917
24501
  //#endregion
@@ -23919,10 +24503,44 @@
23919
24503
  var _sfc_main$1 = {};
23920
24504
  var _hoisted_1$3 = {
23921
24505
  xmlns: "http://www.w3.org/2000/svg",
23922
- viewBox: "0 0 1024 1024"
24506
+ width: "16",
24507
+ height: "16",
24508
+ viewBox: "0 0 16 16",
24509
+ fill: "currentColor"
23923
24510
  };
23924
24511
  function _sfc_render$1(_ctx, _cache) {
23925
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$3, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M320 864H192v160H128v-160H0V160h128V0h64v160h128v704z m704 0h-128v160h-64v-160h-128V160h128V0h64v160h128v704z" }, null, -1)])]);
24512
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$3, [..._cache[0] || (_cache[0] = [
24513
+ (0, vue.createElementVNode)("path", { d: "M6 4C6.55228 4 7 4.44772 7 5V11C7 11.5523 6.55228 12 6 12H3C2.44772 12 2 11.5523 2 11V5C2 4.44772 2.44772 4 3 4H6ZM3.5 5C3.22386 5 3 5.22386 3 5.5V10.5C3 10.7761 3.22386 11 3.5 11H5.5C5.77614 11 6 10.7761 6 10.5V5.5C6 5.22386 5.77614 5 5.5 5H3.5Z" }, null, -1),
24514
+ (0, vue.createElementVNode)("path", { d: "M13 4C13.5523 4 14 4.44772 14 5V11C14 11.5523 13.5523 12 13 12H10C9.44772 12 9 11.5523 9 11V5C9 4.44772 9.44772 4 10 4H13ZM10.5 5C10.2239 5 10 5.22386 10 5.5V10.5C10 10.7761 10.2239 11 10.5 11H12.5C12.7761 11 13 10.7761 13 10.5V5.5C13 5.22386 12.7761 5 12.5 5H10.5Z" }, null, -1),
24515
+ (0, vue.createElementVNode)("rect", {
24516
+ x: "11.25",
24517
+ y: "2.25",
24518
+ width: "0.5",
24519
+ height: "11.5",
24520
+ rx: "0.25",
24521
+ stroke: "black",
24522
+ "stroke-opacity": "0.3",
24523
+ style: {
24524
+ "stroke": "black",
24525
+ "stroke-opacity": "0.3"
24526
+ },
24527
+ "stroke-width": "0.5"
24528
+ }, null, -1),
24529
+ (0, vue.createElementVNode)("rect", {
24530
+ x: "4.25",
24531
+ y: "2.25",
24532
+ width: "0.5",
24533
+ height: "11.5",
24534
+ rx: "0.25",
24535
+ stroke: "black",
24536
+ "stroke-opacity": "0.3",
24537
+ style: {
24538
+ "stroke": "black",
24539
+ "stroke-opacity": "0.3"
24540
+ },
24541
+ "stroke-width": "0.5"
24542
+ }, null, -1)
24543
+ ])]);
23926
24544
  }
23927
24545
  var SpaceAround_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$1, [["render", _sfc_render$1]]);
23928
24546
  //#endregion
@@ -23930,10 +24548,40 @@
23930
24548
  var _sfc_main = {};
23931
24549
  var _hoisted_1$2 = {
23932
24550
  xmlns: "http://www.w3.org/2000/svg",
23933
- viewBox: "0 0 1024 1024"
24551
+ width: "16",
24552
+ height: "16",
24553
+ viewBox: "0 0 16 16",
24554
+ fill: "currentColor"
23934
24555
  };
23935
24556
  function _sfc_render(_ctx, _cache) {
23936
- return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [(0, vue.createElementVNode)("path", { d: "M64 1024H0V0h64v1024z m384-160H128V160h320v704z m448 0H576V160h320v704z m128 160h-64V0h64v1024z" }, null, -1)])]);
24557
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [
24558
+ (0, vue.createElementVNode)("path", { d: "M6 4C6.55228 4 7 4.44772 7 5V11C7 11.5523 6.55228 12 6 12H4C3.44772 12 3 11.5523 3 11V5C3 4.44772 3.44772 4 4 4H6ZM4.5 5C4.22386 5 4 5.22386 4 5.5V10.5C4 10.7761 4.22386 11 4.5 11H5.5C5.77614 11 6 10.7761 6 10.5V5.5C6 5.22386 5.77614 5 5.5 5H4.5Z" }, null, -1),
24559
+ (0, vue.createElementVNode)("path", { d: "M12 4C12.5523 4 13 4.44772 13 5V11C13 11.5523 12.5523 12 12 12H10C9.44772 12 9 11.5523 9 11V5C9 4.44772 9.44772 4 10 4H12ZM10.5 5C10.2239 5 10 5.22386 10 5.5V10.5C10 10.7761 10.2239 11 10.5 11H11.5C11.7761 11 12 10.7761 12 10.5V5.5C12 5.22386 11.7761 5 11.5 5H10.5Z" }, null, -1),
24560
+ (0, vue.createElementVNode)("rect", {
24561
+ x: "14.25",
24562
+ y: "2.25",
24563
+ width: "0.5",
24564
+ height: "11.5",
24565
+ rx: "0.25",
24566
+ stroke: "black",
24567
+ "stroke-opacity": "0.3",
24568
+ "stroke-width": "0.5"
24569
+ }, null, -1),
24570
+ (0, vue.createElementVNode)("rect", {
24571
+ x: "1.25",
24572
+ y: "2.25",
24573
+ width: "0.5",
24574
+ height: "11.5",
24575
+ rx: "0.25",
24576
+ stroke: "black",
24577
+ "stroke-opacity": "0.3",
24578
+ style: {
24579
+ "stroke": "black",
24580
+ "stroke-opacity": "0.3"
24581
+ },
24582
+ "stroke-width": "0.5"
24583
+ }, null, -1)
24584
+ ])]);
23937
24585
  }
23938
24586
  var SpaceBetween_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
23939
24587
  //#endregion
@@ -23946,18 +24594,22 @@
23946
24594
  isCompare: { type: Boolean },
23947
24595
  disabled: { type: Boolean },
23948
24596
  size: {},
24597
+ theme: {},
23949
24598
  prop: {}
23950
24599
  },
23951
24600
  emits: ["change", "addDiffCount"],
23952
24601
  setup(__props, { emit: __emit }) {
24602
+ const props = __props;
23953
24603
  const emit = __emit;
24604
+ const displayTheme = (0, _tmagic_design.useTheme)(props);
23954
24605
  const formConfig = (0, _tmagic_form.defineFormConfig)([
23955
24606
  {
23956
24607
  name: "display",
23957
24608
  text: "模式",
23958
24609
  type: "radioGroup",
23959
24610
  childType: "button",
23960
- labelWidth: "68px",
24611
+ labelWidth: "90px",
24612
+ iconSize: "24px",
23961
24613
  options: [
23962
24614
  {
23963
24615
  value: "inline",
@@ -23991,7 +24643,8 @@
23991
24643
  text: "主轴方向",
23992
24644
  type: "radioGroup",
23993
24645
  childType: "button",
23994
- labelWidth: "68px",
24646
+ labelWidth: "90px",
24647
+ iconSize: "24px",
23995
24648
  options: [
23996
24649
  {
23997
24650
  value: "row",
@@ -24021,7 +24674,8 @@
24021
24674
  text: "主轴对齐",
24022
24675
  type: "radioGroup",
24023
24676
  childType: "button",
24024
- labelWidth: "68px",
24677
+ labelWidth: "90px",
24678
+ iconSize: "24px",
24025
24679
  options: [
24026
24680
  {
24027
24681
  value: "flex-start",
@@ -24056,31 +24710,32 @@
24056
24710
  text: "辅轴对齐",
24057
24711
  type: "radioGroup",
24058
24712
  childType: "button",
24059
- labelWidth: "68px",
24713
+ labelWidth: "90px",
24714
+ iconSize: "24px",
24060
24715
  options: [
24061
24716
  {
24062
24717
  value: "flex-start",
24063
- icon: (0, vue.markRaw)(FlexStart_default),
24718
+ icon: (0, vue.markRaw)(FlexStart_default$1),
24064
24719
  tooltip: "左对齐 flex-start"
24065
24720
  },
24066
24721
  {
24067
24722
  value: "flex-end",
24068
- icon: (0, vue.markRaw)(FlexEnd_default),
24723
+ icon: (0, vue.markRaw)(FlexEnd_default$1),
24069
24724
  tooltip: "右对齐 flex-end"
24070
24725
  },
24071
24726
  {
24072
24727
  value: "center",
24073
- icon: (0, vue.markRaw)(Center_default),
24728
+ icon: (0, vue.markRaw)(Center_default$1),
24074
24729
  tooltip: "居中 center"
24075
24730
  },
24076
24731
  {
24077
24732
  value: "space-between",
24078
- icon: (0, vue.markRaw)(SpaceBetween_default),
24733
+ icon: (0, vue.markRaw)(SpaceBetween_default$1),
24079
24734
  tooltip: "两端对齐 space-between"
24080
24735
  },
24081
24736
  {
24082
24737
  value: "space-around",
24083
- icon: (0, vue.markRaw)(SpaceAround_default),
24738
+ icon: (0, vue.markRaw)(SpaceAround_default$1),
24084
24739
  tooltip: "横向平分 space-around"
24085
24740
  }
24086
24741
  ],
@@ -24090,8 +24745,9 @@
24090
24745
  name: "flexWrap",
24091
24746
  text: "换行",
24092
24747
  type: "radioGroup",
24093
- childType: "button",
24094
- labelWidth: "68px",
24748
+ childType: displayTheme.value !== "magic-admin" ? "button" : "default",
24749
+ labelWidth: "90px",
24750
+ iconSize: "24px",
24095
24751
  options: [
24096
24752
  {
24097
24753
  value: "nowrap",
@@ -24115,14 +24771,18 @@
24115
24771
  type: "row",
24116
24772
  items: [{
24117
24773
  name: "width",
24118
- text: "宽度",
24119
- labelWidth: "68px",
24774
+ text: "宽度(px)",
24775
+ labelWidth: "90px",
24120
24776
  type: "data-source-field-select",
24121
24777
  fieldConfig: { type: "text" }
24122
- }, {
24778
+ }]
24779
+ },
24780
+ {
24781
+ type: "row",
24782
+ items: [{
24123
24783
  name: "height",
24124
- text: "高度",
24125
- labelWidth: "68px",
24784
+ text: "高度(px)",
24785
+ labelWidth: "90px",
24126
24786
  type: "data-source-field-select",
24127
24787
  fieldConfig: { type: "text" }
24128
24788
  }]
@@ -24133,7 +24793,7 @@
24133
24793
  type: "data-source-field-select",
24134
24794
  text: "overflow",
24135
24795
  name: "overflow",
24136
- labelWidth: "68px",
24796
+ labelWidth: "90px",
24137
24797
  checkStrictly: false,
24138
24798
  dataSourceFieldType: ["string"],
24139
24799
  fieldConfig: {
@@ -24171,11 +24831,15 @@
24171
24831
  }
24172
24832
  ]
24173
24833
  }
24174
- }, {
24834
+ }]
24835
+ },
24836
+ {
24837
+ type: "row",
24838
+ items: [{
24175
24839
  type: "data-source-field-select",
24176
- text: "透明度",
24840
+ text: "透明度(%)",
24177
24841
  name: "opacity",
24178
- labelWidth: "68px",
24842
+ labelWidth: "90px",
24179
24843
  dataSourceFieldType: ["string", "number"],
24180
24844
  fieldConfig: { type: "text" }
24181
24845
  }]
@@ -24423,7 +25087,7 @@
24423
25087
  onClick: _cache[1] || (_cache[1] = ($event) => selectDirection("Left"))
24424
25088
  }, null, 2),
24425
25089
  (0, vue.createElementVNode)("div", {
24426
- class: (0, vue.normalizeClass)(["border-icon", {
25090
+ class: (0, vue.normalizeClass)(["border-icon center", {
24427
25091
  active: direction.value === "",
24428
25092
  configured: isConfigured("")
24429
25093
  }]),
@@ -24600,7 +25264,6 @@
24600
25264
  var Transform_default = Transform_vue_vue_type_script_setup_true_lang_default;
24601
25265
  //#endregion
24602
25266
  //#region packages/editor/src/fields/StyleSetter/Index.vue?vue&type=script&setup=true&lang.ts
24603
- init_Icon();
24604
25267
  var Index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ (0, vue.defineComponent)({
24605
25268
  name: "MFieldsStyleSetter",
24606
25269
  __name: "Index",
@@ -24614,7 +25277,10 @@
24614
25277
  disabled: { type: Boolean },
24615
25278
  size: {},
24616
25279
  lastValues: {},
24617
- isCompare: { type: Boolean }
25280
+ isCompare: { type: Boolean },
25281
+ text: {},
25282
+ labelWidth: {},
25283
+ labelPosition: {}
24618
25284
  },
24619
25285
  emits: ["change", "addDiffCount"],
24620
25286
  setup(__props, { emit: __emit }) {
@@ -24662,7 +25328,7 @@
24662
25328
  key: index,
24663
25329
  name: `${index}`
24664
25330
  }, {
24665
- title: (0, vue.withCtx)(() => [(0, vue.createVNode)(Icon_default, { icon: (0, vue.unref)(_element_plus_icons_vue.Grid) }, null, 8, ["icon"]), (0, vue.createTextVNode)((0, vue.toDisplayString)(item.title), 1)]),
25331
+ title: (0, vue.withCtx)(() => [(0, vue.createTextVNode)((0, vue.toDisplayString)(item.title), 1)]),
24666
25332
  default: (0, vue.withCtx)(() => [item.component ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(item.component), {
24667
25333
  key: 0,
24668
25334
  values: __props.model[__props.name],
@@ -24711,10 +25377,19 @@
24711
25377
  },
24712
25378
  size: {},
24713
25379
  lastValues: {},
24714
- isCompare: { type: Boolean }
25380
+ isCompare: { type: Boolean },
25381
+ text: {},
25382
+ labelWidth: {},
25383
+ labelPosition: {}
24715
25384
  },
24716
25385
  emits: ["change"],
24717
25386
  setup(__props, { emit: __emit }) {
25387
+ /**
25388
+ * 静默模式(submitForm/validateForm 隐藏挂载)下跳过 monaco 渲染:
25389
+ * 校验由 FormItem 针对 model 中的值完成,与编辑器实例无关;本组件挂载无值副作用
25390
+ * (save 仅由用户操作/编辑器内容变更触发),跳过可省去 monaco worker/model 的无谓实例化。
25391
+ */
25392
+ const silentMode = (0, vue.inject)(_tmagic_form.FORM_SILENT_MODE_KEY, false);
24718
25393
  const emit = __emit;
24719
25394
  const props = __props;
24720
25395
  /**
@@ -24732,7 +25407,8 @@
24732
25407
  emit("change", v);
24733
25408
  };
24734
25409
  return (_ctx, _cache) => {
24735
- return (0, vue.openBlock)(), (0, vue.createBlock)(CodeEditor_default, {
25410
+ return !(0, vue.unref)(silentMode) ? ((0, vue.openBlock)(), (0, vue.createBlock)(CodeEditor_default, {
25411
+ key: 0,
24736
25412
  height: __props.config.height,
24737
25413
  type: diffMode.value ? "diff" : void 0,
24738
25414
  "init-values": diffMode.value ? (__props.lastValues || {})[__props.name] : __props.model[__props.name],
@@ -24756,7 +25432,7 @@
24756
25432
  "autosize",
24757
25433
  "parse",
24758
25434
  "editor-custom-type"
24759
- ]);
25435
+ ])) : (0, vue.createCommentVNode)("v-if", true);
24760
25436
  };
24761
25437
  }
24762
25438
  });
@@ -24780,7 +25456,10 @@
24780
25456
  disabled: { type: Boolean },
24781
25457
  size: {},
24782
25458
  lastValues: {},
24783
- isCompare: { type: Boolean }
25459
+ isCompare: { type: Boolean },
25460
+ text: {},
25461
+ labelWidth: {},
25462
+ labelPosition: {}
24784
25463
  },
24785
25464
  emits: ["change"],
24786
25465
  setup(__props, { emit: __emit }) {
@@ -24851,7 +25530,10 @@
24851
25530
  disabled: { type: Boolean },
24852
25531
  size: {},
24853
25532
  lastValues: {},
24854
- isCompare: { type: Boolean }
25533
+ isCompare: { type: Boolean },
25534
+ text: {},
25535
+ labelWidth: {},
25536
+ labelPosition: {}
24855
25537
  },
24856
25538
  emits: ["change"],
24857
25539
  setup(__props, { emit: __emit }) {
@@ -24997,7 +25679,8 @@
24997
25679
  var defaultInstallOpt = {
24998
25680
  parseDSL: (dsl) => eval(dsl),
24999
25681
  customCreateMonacoEditor: (monaco, codeEditorEl, options) => monaco.editor.create(codeEditorEl, options),
25000
- customCreateMonacoDiffEditor: (monaco, codeEditorEl, options) => monaco.editor.createDiffEditor(codeEditorEl, options)
25682
+ customCreateMonacoDiffEditor: (monaco, codeEditorEl, options) => monaco.editor.createDiffEditor(codeEditorEl, options),
25683
+ flat: false
25001
25684
  };
25002
25685
  var plugin_default = { install: (app, opt) => {
25003
25686
  const option = Object.assign(defaultInstallOpt, opt || {});
@@ -25031,6 +25714,7 @@
25031
25714
  //#endregion
25032
25715
  //#region packages/editor/src/index.ts
25033
25716
  init_type();
25717
+ init_config();
25034
25718
  init_CodeEditor();
25035
25719
  init_Icon();
25036
25720
  init_CompareForm();
@@ -25200,6 +25884,7 @@
25200
25884
  exports.idbSet = idbSet;
25201
25885
  exports.info = info;
25202
25886
  exports.isEventNameCheckStrictly = isEventNameCheckStrictly;
25887
+ exports.isGlobalFlat = isGlobalFlat;
25203
25888
  exports.isIncludeDataSource = isIncludeDataSource;
25204
25889
  exports.isIndexedDBSupported = isIndexedDBSupported;
25205
25890
  exports.keybindingService = keybinding_default;