@tmagic/editor 1.0.0-rc.7 → 1.0.0

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.
package/dist/style.css CHANGED
@@ -414,6 +414,9 @@
414
414
  width: 100%;
415
415
  user-select: none;
416
416
  }
417
+ .m-editor-workspace:focus-visible {
418
+ outline: 0;
419
+ }
417
420
  .m-editor-page-bar {
418
421
  position: fixed;
419
422
  bottom: 0;
@@ -440,6 +443,7 @@
440
443
  justify-items: center;
441
444
  align-items: center;
442
445
  background-color: #f3f3f3;
446
+ white-space: nowrap;
443
447
  }
444
448
  .m-editor-page-bar-item.active {
445
449
  background-color: #fff;
@@ -10,7 +10,7 @@ import { DEFAULT_EVENTS, DEFAULT_METHODS } from '@tmagic/core';
10
10
  import Gesto from 'gesto';
11
11
  import { ElMessage } from 'element-plus';
12
12
  import KeyController from 'keycon';
13
- import StageCore from '@tmagic/stage';
13
+ import StageCore, { GuidesType } from '@tmagic/stage';
14
14
 
15
15
  if (typeof global === "undefined") {
16
16
  window.global = window;
@@ -627,7 +627,7 @@ var historyService = new History();
627
627
 
628
628
  class Props extends BaseService {
629
629
  constructor() {
630
- super(["setPropsConfig", "getPropsConfig", "setPropsValue", "getPropsValue"]);
630
+ super(["setPropsConfig", "getPropsConfig", "setPropsValue", "getPropsValue", "createId", "setNewItemId"]);
631
631
  this.state = reactive({
632
632
  propsConfigMap: {},
633
633
  propsValueMap: {}
@@ -666,12 +666,44 @@ class Props extends BaseService {
666
666
  }
667
667
  return value;
668
668
  }
669
+ const data = cloneDeep(defaultValue);
670
+ await this.setNewItemId(data);
669
671
  return {
670
- ...getDefaultPropsValue(type),
671
- ...mergeWith(cloneDeep(this.state.propsValueMap[type] || {}), cloneDeep(defaultValue))
672
+ ...getDefaultPropsValue(type, await this.createId(type)),
673
+ ...mergeWith(cloneDeep(this.state.propsValueMap[type] || {}), data)
672
674
  };
673
675
  }
676
+ async createId(type) {
677
+ return `${type}_${random(1e4, false)}`;
678
+ }
679
+ async setNewItemId(config, parent) {
680
+ const oldId = config.id;
681
+ config.id = await this.createId(config.type || "component");
682
+ if (isPop(config) && parent?.type === NodeType.PAGE) {
683
+ updatePopId(oldId, config.id, parent);
684
+ }
685
+ if (config.items && Array.isArray(config.items)) {
686
+ for (const item of config.items) {
687
+ await this.setNewItemId(item, config);
688
+ }
689
+ }
690
+ }
674
691
  }
692
+ const updatePopId = (oldId, popId, pageConfig) => {
693
+ pageConfig.items?.forEach((config) => {
694
+ if (config.pop === oldId) {
695
+ config.pop = popId;
696
+ return;
697
+ }
698
+ if (config.popId === oldId) {
699
+ config.popId = popId;
700
+ return;
701
+ }
702
+ if (Array.isArray(config.items)) {
703
+ updatePopId(oldId, popId, config);
704
+ }
705
+ });
706
+ };
675
707
  var propsService = new Props();
676
708
 
677
709
  var LayerOffset = /* @__PURE__ */ ((LayerOffset2) => {
@@ -690,9 +722,10 @@ var Keys = /* @__PURE__ */ ((Keys2) => {
690
722
  Keys2["ESCAPE"] = "Space";
691
723
  return Keys2;
692
724
  })(Keys || {});
725
+ const H_GUIDE_LINE_STORAGE_KEY = "$MagicStageHorizontalGuidelinesData";
726
+ const V_GUIDE_LINE_STORAGE_KEY = "$MagicStageVerticalGuidelinesData";
693
727
 
694
728
  const COPY_STORAGE_KEY = "$MagicEditorCopyData";
695
- const generateId = (type) => `${type}_${random(1e4, false)}`;
696
729
  const getPageList = (app) => {
697
730
  if (app.items && Array.isArray(app.items)) {
698
731
  return app.items.filter((item) => item.type === NodeType.PAGE);
@@ -712,32 +745,6 @@ const generatePageName = (pageNameList) => {
712
745
  return pageName;
713
746
  };
714
747
  const generatePageNameByApp = (app) => generatePageName(getPageNameList(getPageList(app)));
715
- const updatePopId = (oldId, popId, pageConfig) => {
716
- pageConfig.items?.forEach((config) => {
717
- if (config.pop === oldId) {
718
- config.pop = popId;
719
- return;
720
- }
721
- if (config.popId === oldId) {
722
- config.popId = popId;
723
- return;
724
- }
725
- if (Array.isArray(config.items)) {
726
- updatePopId(oldId, popId, config);
727
- }
728
- });
729
- };
730
- const setNewItemId = (config, parent) => {
731
- const oldId = config.id;
732
- config.id = generateId(config.type || "component");
733
- config.name = `${config.name?.replace(/_(\d+)$/, "")}_${config.id}`;
734
- if (isPop(config) && parent?.type === NodeType.PAGE) {
735
- updatePopId(oldId, config.id, parent);
736
- }
737
- if (config.items && Array.isArray(config.items)) {
738
- config.items.forEach((item) => setNewItemId(item, config));
739
- }
740
- };
741
748
  const isFixed = (node) => node.style?.position === "fixed";
742
749
  const getNodeIndex = (node, parent) => {
743
750
  const items = parent?.items || [];
@@ -843,6 +850,19 @@ const Fixed2Other = async (node, root, getLayout) => {
843
850
  }
844
851
  return toRelative(node);
845
852
  };
853
+ const getGuideLineFromCache = (key) => {
854
+ if (!key)
855
+ return [];
856
+ const guideLineCacheData = globalThis.localStorage.getItem(key);
857
+ if (guideLineCacheData) {
858
+ try {
859
+ return JSON.parse(guideLineCacheData) || [];
860
+ } catch (e) {
861
+ console.error(e);
862
+ }
863
+ }
864
+ return [];
865
+ };
846
866
 
847
867
  const log = (...args) => {
848
868
  };
@@ -895,8 +915,11 @@ class Editor$1 extends BaseService {
895
915
  get(name) {
896
916
  return this.state[name];
897
917
  }
898
- getNodeInfo(id) {
899
- const root = toRaw(this.get("root"));
918
+ getNodeInfo(id, raw = true) {
919
+ let root = this.get("root");
920
+ if (raw) {
921
+ root = toRaw(root);
922
+ }
900
923
  if (!root)
901
924
  return {};
902
925
  if (id === root.id) {
@@ -917,14 +940,14 @@ class Editor$1 extends BaseService {
917
940
  });
918
941
  return info;
919
942
  }
920
- getNodeById(id) {
921
- const { node } = this.getNodeInfo(id);
943
+ getNodeById(id, raw = true) {
944
+ const { node } = this.getNodeInfo(id, raw);
922
945
  return node;
923
946
  }
924
- getParentById(id) {
947
+ getParentById(id, raw = true) {
925
948
  if (!this.get("root"))
926
949
  return;
927
- const { parent } = this.getNodeInfo(id);
950
+ const { parent } = this.getNodeInfo(id, raw);
928
951
  return parent;
929
952
  }
930
953
  async getLayout(parent, node) {
@@ -999,7 +1022,7 @@ class Editor$1 extends BaseService {
999
1022
  } else if (curNode.items) {
1000
1023
  parentNode = curNode;
1001
1024
  } else {
1002
- parentNode = this.getParentById(curNode.id);
1025
+ parentNode = this.getParentById(curNode.id, false);
1003
1026
  }
1004
1027
  if (!parentNode)
1005
1028
  throw new Error("\u672A\u627E\u5230\u7236\u5143\u7D20");
@@ -1029,7 +1052,7 @@ class Editor$1 extends BaseService {
1029
1052
  const root = this.get("root");
1030
1053
  if (!root)
1031
1054
  throw new Error("\u6CA1\u6709root");
1032
- const { parent, node: curNode } = this.getNodeInfo(node.id);
1055
+ const { parent, node: curNode } = this.getNodeInfo(node.id, false);
1033
1056
  if (!parent || !curNode)
1034
1057
  throw new Error("\u627E\u4E0D\u8981\u5220\u9664\u7684\u8282\u70B9");
1035
1058
  const index = getNodeIndex(curNode, parent);
@@ -1066,7 +1089,7 @@ class Editor$1 extends BaseService {
1066
1089
  async update(config2) {
1067
1090
  if (!config2?.id)
1068
1091
  throw new Error("\u6CA1\u6709\u914D\u7F6E\u6216\u8005\u914D\u7F6E\u7F3A\u5C11id\u503C");
1069
- const info = this.getNodeInfo(config2.id);
1092
+ const info = this.getNodeInfo(config2.id, false);
1070
1093
  if (!info.node)
1071
1094
  throw new Error(`\u83B7\u53D6\u4E0D\u5230id\u4E3A${config2.id}\u7684\u8282\u70B9`);
1072
1095
  const node = cloneDeep(toRaw(info.node));
@@ -1136,7 +1159,7 @@ class Editor$1 extends BaseService {
1136
1159
  console.error(e);
1137
1160
  return;
1138
1161
  }
1139
- setNewItemId(config, this.get("root"));
1162
+ await propsService.setNewItemId(config, this.get("root"));
1140
1163
  if (config.style) {
1141
1164
  config.style = {
1142
1165
  ...config.style,
@@ -1541,12 +1564,19 @@ const fillConfig = (config = []) => [
1541
1564
  }
1542
1565
  ];
1543
1566
  const DEFAULT_CONFIG = fillConfig([]);
1544
- const getDefaultPropsValue = (type) => ({
1567
+ const getDefaultPropsValue = (type, id) => ["page", "container"].includes(type) ? {
1568
+ type,
1569
+ id,
1570
+ layout: "absolute",
1571
+ style: {},
1572
+ name: type,
1573
+ items: []
1574
+ } : {
1545
1575
  type,
1546
- id: generateId(type),
1576
+ id,
1547
1577
  style: {},
1548
1578
  name: type
1549
- });
1579
+ };
1550
1580
 
1551
1581
  const _sfc_main$i = defineComponent({
1552
1582
  components: { Plus },
@@ -3383,25 +3413,9 @@ const _sfc_main$2 = defineComponent({
3383
3413
  ViewerMenu,
3384
3414
  ScrollViewer
3385
3415
  },
3386
- props: {
3387
- render: {
3388
- type: Function
3389
- },
3390
- runtimeUrl: String,
3391
- autoScrollIntoView: Boolean,
3392
- canSelect: {
3393
- type: Function,
3394
- default: (el) => Boolean(el.id)
3395
- },
3396
- moveableOptions: {
3397
- type: [Object, Function],
3398
- default: () => (core) => ({
3399
- container: core?.renderer?.contentWindow?.document.getElementById("app")
3400
- })
3401
- }
3402
- },
3403
- setup(props) {
3416
+ setup() {
3404
3417
  const services = inject("services");
3418
+ const stageOptions = inject("stageOptions");
3405
3419
  const stageWrap = ref();
3406
3420
  const stageContainer = ref();
3407
3421
  const menu = ref();
@@ -3413,30 +3427,36 @@ const _sfc_main$2 = defineComponent({
3413
3427
  const node = computed(() => services?.editorService.get("node"));
3414
3428
  let stage = null;
3415
3429
  let runtime = null;
3430
+ const getGuideLineKey = (key) => `${key}_${root.value?.id}_${page.value?.id}`;
3416
3431
  watchEffect(() => {
3417
3432
  if (stage)
3418
3433
  return;
3419
3434
  if (!stageContainer.value)
3420
3435
  return;
3421
- if (!(props.runtimeUrl || props.render) || !root.value)
3436
+ if (!(stageOptions?.runtimeUrl || stageOptions?.render) || !root.value)
3422
3437
  return;
3423
3438
  stage = new StageCore({
3424
- render: props.render,
3425
- runtimeUrl: props.runtimeUrl,
3439
+ render: stageOptions.render,
3440
+ runtimeUrl: stageOptions.runtimeUrl,
3426
3441
  zoom: zoom.value,
3427
- autoScrollIntoView: props.autoScrollIntoView,
3442
+ autoScrollIntoView: stageOptions.autoScrollIntoView,
3428
3443
  canSelect: (el, event, stop) => {
3429
- const elCanSelect = props.canSelect(el);
3444
+ const elCanSelect = stageOptions.canSelect(el);
3430
3445
  if (uiSelectMode.value && elCanSelect && event.type === "mousedown") {
3431
3446
  document.dispatchEvent(new CustomEvent("ui-select", { detail: el }));
3432
3447
  return stop();
3433
3448
  }
3434
3449
  return elCanSelect;
3435
3450
  },
3436
- moveableOptions: props.moveableOptions
3451
+ moveableOptions: stageOptions.moveableOptions,
3452
+ updateDragEl: stageOptions.updateDragEl
3437
3453
  });
3438
3454
  services?.editorService.set("stage", markRaw(stage));
3439
3455
  stage?.mount(stageContainer.value);
3456
+ stage.mask.setGuides([
3457
+ getGuideLineFromCache(getGuideLineKey(H_GUIDE_LINE_STORAGE_KEY)),
3458
+ getGuideLineFromCache(getGuideLineKey(V_GUIDE_LINE_STORAGE_KEY))
3459
+ ]);
3440
3460
  stage?.on("select", (el) => {
3441
3461
  services?.editorService.select(el.id);
3442
3462
  });
@@ -3449,14 +3469,22 @@ const _sfc_main$2 = defineComponent({
3449
3469
  stage?.on("sort", (ev) => {
3450
3470
  services?.editorService.sort(ev.src, ev.dist);
3451
3471
  });
3452
- stage?.on("changeGuides", () => {
3472
+ stage?.on("changeGuides", (e2) => {
3453
3473
  services?.uiService.set("showGuides", true);
3474
+ if (!root.value || !page.value)
3475
+ return;
3476
+ const storageKey = getGuideLineKey(e2.type === GuidesType.HORIZONTAL ? H_GUIDE_LINE_STORAGE_KEY : V_GUIDE_LINE_STORAGE_KEY);
3477
+ if (e2.guides.length) {
3478
+ globalThis.localStorage.setItem(storageKey, JSON.stringify(e2.guides));
3479
+ } else {
3480
+ globalThis.localStorage.removeItem(storageKey);
3481
+ }
3454
3482
  });
3455
3483
  if (!node.value?.id)
3456
3484
  return;
3457
3485
  stage?.on("runtime-ready", (rt) => {
3458
3486
  runtime = rt;
3459
- root.value && runtime?.updateRootConfig(cloneDeep(toRaw(root.value)));
3487
+ root.value && runtime?.updateRootConfig?.(cloneDeep(toRaw(root.value)));
3460
3488
  page.value?.id && runtime?.updatePageId?.(page.value.id);
3461
3489
  setTimeout(() => {
3462
3490
  node.value && stage?.select(toRaw(node.value.id));
@@ -3470,7 +3498,7 @@ const _sfc_main$2 = defineComponent({
3470
3498
  });
3471
3499
  watch(root, (root2) => {
3472
3500
  if (runtime && root2) {
3473
- runtime.updateRootConfig(cloneDeep(toRaw(root2)));
3501
+ runtime.updateRootConfig?.(cloneDeep(toRaw(root2)));
3474
3502
  }
3475
3503
  });
3476
3504
  const resizeObserver = new ResizeObserver((entries) => {
@@ -3560,19 +3588,6 @@ const _sfc_main$1 = defineComponent({
3560
3588
  PageBar,
3561
3589
  MagicStage
3562
3590
  },
3563
- props: {
3564
- runtimeUrl: String,
3565
- autoScrollIntoView: Boolean,
3566
- render: {
3567
- type: Function
3568
- },
3569
- moveableOptions: {
3570
- type: [Object, Function]
3571
- },
3572
- canSelect: {
3573
- type: Function
3574
- }
3575
- },
3576
3591
  setup() {
3577
3592
  const services = inject("services");
3578
3593
  const workspace = ref();
@@ -3683,13 +3698,8 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
3683
3698
  const _component_page_bar = resolveComponent("page-bar");
3684
3699
  return openBlock(), createElementBlock("div", _hoisted_1, [
3685
3700
  (openBlock(), createBlock(_component_magic_stage, {
3686
- key: _ctx.page?.id,
3687
- "runtime-url": _ctx.runtimeUrl,
3688
- "auto-scroll-into-view": _ctx.autoScrollIntoView,
3689
- render: _ctx.render,
3690
- "moveable-options": _ctx.moveableOptions,
3691
- "can-select": _ctx.canSelect
3692
- }, null, 8, ["runtime-url", "auto-scroll-into-view", "render", "moveable-options", "can-select"])),
3701
+ key: _ctx.page?.id
3702
+ })),
3693
3703
  renderSlot(_ctx.$slots, "workspace-content"),
3694
3704
  createVNode(_component_page_bar, null, {
3695
3705
  "page-bar-title": withCtx(({ page }) => [
@@ -3721,7 +3731,9 @@ class ComponentList extends BaseService {
3721
3731
  var componentListService = new ComponentList();
3722
3732
 
3723
3733
  const DEFAULT_LEFT_COLUMN_WIDTH = 310;
3734
+ const MIN_LEFT_COLUMN_WIDTH = 45;
3724
3735
  const DEFAULT_RIGHT_COLUMN_WIDTH = 480;
3736
+ const MIN_RIGHT_COLUMN_WIDTH = 1;
3725
3737
  const COLUMN_WIDTH_STORAGE_KEY = "$MagicEditorColumnWidthData";
3726
3738
  const defaultColumnWidth = {
3727
3739
  left: DEFAULT_LEFT_COLUMN_WIDTH,
@@ -3797,10 +3809,10 @@ class Ui extends BaseService {
3797
3809
  ...toRaw(this.get("columnWidth"))
3798
3810
  };
3799
3811
  if (left) {
3800
- columnWidth.left = left;
3812
+ columnWidth.left = Math.max(left, MIN_LEFT_COLUMN_WIDTH);
3801
3813
  }
3802
3814
  if (right) {
3803
- columnWidth.right = right;
3815
+ columnWidth.right = Math.max(right, MIN_RIGHT_COLUMN_WIDTH);
3804
3816
  }
3805
3817
  if (!center || center === "auto") {
3806
3818
  const bodyWidth = globalThis.document.body.clientWidth;
@@ -3894,7 +3906,8 @@ const _sfc_main = defineComponent({
3894
3906
  type: [Number, String]
3895
3907
  },
3896
3908
  canSelect: {
3897
- type: Function
3909
+ type: Function,
3910
+ default: (el) => Boolean(el.id)
3898
3911
  },
3899
3912
  stageRect: {
3900
3913
  type: [String, Object]
@@ -3902,6 +3915,9 @@ const _sfc_main = defineComponent({
3902
3915
  codeOptions: {
3903
3916
  type: Object,
3904
3917
  default: () => ({})
3918
+ },
3919
+ updateDragEl: {
3920
+ type: Function
3905
3921
  }
3906
3922
  },
3907
3923
  emits: ["props-panel-mounted", "update:modelValue"],
@@ -3953,6 +3969,14 @@ const _sfc_main = defineComponent({
3953
3969
  provide("services", services);
3954
3970
  provide("layerContentMenu", props.layerContentMenu);
3955
3971
  provide("stageContentMenu", props.stageContentMenu);
3972
+ provide("stageOptions", reactive({
3973
+ runtimeUrl: props.runtimeUrl,
3974
+ autoScrollIntoView: props.autoScrollIntoView,
3975
+ render: props.render,
3976
+ moveableOptions: props.moveableOptions,
3977
+ canSelect: props.canSelect,
3978
+ updateDragEl: props.updateDragEl
3979
+ }));
3956
3980
  return services;
3957
3981
  }
3958
3982
  });
@@ -3975,13 +3999,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
3975
3999
  ]),
3976
4000
  workspace: withCtx(() => [
3977
4001
  renderSlot(_ctx.$slots, "workspace", {}, () => [
3978
- createVNode(_component_workspace, {
3979
- "runtime-url": _ctx.runtimeUrl,
3980
- "auto-scroll-into-view": _ctx.autoScrollIntoView,
3981
- render: _ctx.render,
3982
- "moveable-options": _ctx.moveableOptions,
3983
- "can-select": _ctx.canSelect
3984
- }, {
4002
+ createVNode(_component_workspace, null, {
3985
4003
  "workspace-content": withCtx(() => [
3986
4004
  renderSlot(_ctx.$slots, "workspace-content", { editorService: _ctx.editorService })
3987
4005
  ]),
@@ -3992,7 +4010,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
3992
4010
  renderSlot(_ctx.$slots, "page-bar-popover", { page })
3993
4011
  ]),
3994
4012
  _: 3
3995
- }, 8, ["runtime-url", "auto-scroll-into-view", "render", "moveable-options", "can-select"])
4013
+ })
3996
4014
  ])
3997
4015
  ]),
3998
4016
  propsPanel: withCtx(() => [
@@ -4011,7 +4029,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
4011
4029
  }
4012
4030
  var Editor = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
4013
4031
 
4014
- var index$1 = /* #__PURE__ */ (() => ".m-editor-nav-menu {\n display: flex;\n z-index: 5;\n -webkit-box-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n align-items: center;\n background-color: #ffffff;\n font-size: 19.2px;\n color: #070303;\n font-weight: 400;\n box-sizing: border-box;\n margin: 0px;\n flex: 0 0 35px;\n border-bottom: 1px solid #d8dee8;\n}\n.m-editor-nav-menu > div {\n display: flex;\n height: 100%;\n z-index: 1;\n align-items: center;\n}\n.m-editor-nav-menu .menu-center {\n justify-content: center;\n}\n.m-editor-nav-menu .menu-right {\n justify-content: flex-end;\n}\n.m-editor-nav-menu .menu-item {\n flex-direction: row;\n -webkit-box-align: center;\n align-items: center;\n vertical-align: middle;\n font-size: 14px;\n line-height: 1;\n height: 100%;\n color: rgba(255, 255, 255, 0.7);\n box-sizing: inherit;\n z-index: 1;\n display: flex !important;\n transition: all 0.3s ease 0s;\n border-bottom: 2px solid transparent;\n margin: 0;\n}\n.m-editor-nav-menu .menu-item .is-disabled {\n opacity: 0.5;\n}\n.m-editor-nav-menu .menu-item .is-text {\n padding: 5px;\n}\n.m-editor-nav-menu .menu-item .is-text,\n.m-editor-nav-menu .menu-item i {\n color: #070303;\n}\n.m-editor-nav-menu .menu-item .icon {\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n height: 100%;\n padding: 0px 8px;\n}\n.m-editor-nav-menu .menu-item .menu-item-text {\n color: #070303;\n}\n.m-editor {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.m-editor-content {\n width: 100%;\n height: calc(100% - 35px);\n display: flex;\n justify-self: space-between;\n}\n.m-editor-framework-center {\n position: relative;\n transform: translateZ(0);\n flex: 1;\n}\n.m-editor-framework-left {\n background-color: #ffffff;\n}\n.m-editor-framework-center .el-scrollbar__view {\n height: 100%;\n min-height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.m-editor-empty-panel {\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n height: calc(100% - 32px);\n}\n.m-editor-empty-content {\n display: flex;\n justify-content: space-evenly;\n flex-direction: row;\n width: 100%;\n}\n.m-editor-empty-button {\n border: 3px solid rgba(0, 0, 0, 0.2);\n padding: 10px 40px;\n color: rgba(0, 0, 0, 0.6);\n cursor: pointer;\n}\n.m-editor-empty-button i {\n height: 180px;\n line-height: 180px;\n font-size: 100px;\n}\n.m-editor-empty-button p {\n text-align: center;\n font-size: 20px;\n margin-top: 5px;\n}\n.m-editor-empty-button:hover {\n border-color: #2882e0;\n color: #2882e0;\n}\n.m-editor-sidebar {\n height: 100%;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header {\n background: #2882e0;\n border: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header.is-left {\n width: 40px;\n margin-right: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__nav-wrap {\n margin: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__nav {\n border: 0;\n border-radius: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .tab-label {\n margin-left: 2px;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left {\n line-height: 15px;\n border: 0;\n height: auto;\n padding: 8px;\n color: rgb(255, 255, 255);\n box-sizing: border-box;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active {\n background: #ffffff;\n border: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active i {\n color: #353140;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active .magic-editor-tab-panel-title {\n color: #353140;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left:first-child {\n border-right: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header i {\n font-size: 25px;\n color: rgba(255, 255, 255, 0.6);\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header i:hover {\n color: rgb(255, 255, 255);\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .magic-editor-tab-panel-title {\n font-size: 12px;\n white-space: normal;\n}\n.m-editor-sidebar .el-scrollbar {\n height: 100%;\n}\n.m-editor-sidebar .el-tree {\n min-height: 100%;\n}\n.m-editor-sidebar .fold-icon {\n position: absolute;\n bottom: 8px;\n left: 0px;\n width: 45px;\n padding-left: 8px;\n color: #fff;\n font-size: 32px;\n opacity: 0.8;\n cursor: pointer;\n}\n.m-editor-sidebar .fold-icon:hover {\n background: rgba(0, 0, 0, 0.2);\n}\n.m-editor-sidebar .el-tabs__content,\n.m-editor-sidebar .el-tab-pane {\n height: 100%;\n}\n.magic-editor-layer-panel {\n background: #ffffff;\n}\n.magic-editor-layer-panel .search-input {\n background: #ffffff;\n color: #bbbbbb;\n padding: 10px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n}\n.magic-editor-layer-panel .search-input .el-input__suffix {\n padding: 10px 5px;\n}\n.magic-editor-layer-panel .node-content {\n flex: 1;\n display: flex;\n width: 100%;\n}\n.magic-editor-layer-panel .node-content > div {\n width: 8px;\n}\n.magic-editor-layer-panel .node-content > span {\n width: calc(100% - 68px);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.magic-editor-layer-panel .node-content > i {\n margin-right: 10px;\n font-size: 20px;\n}\n.magic-editor-layer-panel .node-content > i.lock {\n color: #bbb;\n}\n.magic-editor-layer-panel,\n.magic-editor-layer-panel .el-tree {\n background-color: #ffffff;\n color: #313a40;\n}\n.magic-editor-layer-panel .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {\n background-color: #2882e0;\n color: #fff;\n}\n.magic-editor-layer-panel .cus-tree-node {\n width: 100%;\n overflow: hidden;\n}\n.magic-editor-layer-panel .cus-tree-node-hover {\n background-color: #f3f5f9;\n width: 100%;\n}\n.magic-editor-layer-panel .el-tree-node:focus > .el-tree-node__content {\n background-color: #2882e0;\n color: #fff;\n}\n.ui-tree-tip {\n width: 100%;\n height: 25px;\n margin-left: 10px;\n background: #ffffff;\n font-style: italic;\n color: #555554;\n position: absolute;\n top: 40px;\n left: 0;\n z-index: 1;\n}\n.ui-component-panel {\n height: 100%;\n border-top: 0 !important;\n margin-top: 50px;\n background-color: #ffffff;\n}\n.ui-component-panel .search-input {\n background: #f8fbff;\n color: #bbbbbb;\n padding: 10px;\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n z-index: 1;\n}\n.ui-component-panel .search-input .el-input__prefix {\n padding: 10px;\n}\n.ui-component-panel .search-input .el-input__suffix {\n padding: 10px 5px;\n}\n.ui-component-panel .el-collapse-item > div:first-of-type {\n border-bottom: 1px solid #d9dbdd;\n margin-bottom: 10px;\n}\n.ui-component-panel .el-collapse-item__header {\n background: #ffffff;\n color: #070303;\n height: 25px;\n line-height: 25px;\n padding-left: 10px;\n font-size: 12px;\n}\n.ui-component-panel .el-collapse-item__header i {\n margin-right: 5px;\n font-size: 14px;\n}\n.ui-component-panel .el-collapse-item__wrap {\n background: #ffffff;\n border-bottom: 0;\n}\n.ui-component-panel .el-collapse-item__wrap .el-collapse-item__content {\n padding: 10px;\n display: flex;\n flex-wrap: wrap;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item {\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 5px 10px;\n box-sizing: border-box;\n color: #070303;\n flex-direction: column;\n width: 42px;\n cursor: pointer;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item i {\n font-size: 20px;\n background: #fff;\n height: 40px;\n width: 40px;\n line-height: 40px;\n border-radius: 5px;\n color: #909090;\n border: 1px solid #d9dbdd;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n margin-bottom: 5px;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item i:hover {\n background: #2882e0;\n color: #fff;\n border-color: #4e8be1;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item span {\n font-size: 12px;\n text-align: center;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item .el-tooltip {\n width: 50px;\n height: 30px;\n line-height: 15px;\n display: block;\n white-space: normal;\n margin: 0;\n}\n.m-editor-resizer {\n border-left: 1px solid transparent;\n border-right: 1px solid transparent;\n width: 8px;\n margin: 0 -5px;\n height: 100%;\n opacity: 0.9;\n background: padding-box #d8dee8;\n box-sizing: border-box;\n cursor: col-resize;\n z-index: 1;\n}\n.m-editor-resizer:hover {\n border-color: #d8dee8;\n}\n.m-editor-resizer .icon-container {\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.4s;\n width: 20px;\n height: 120px;\n line-height: 120px;\n text-align: center;\n background: #d8dee8;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: pointer;\n}\n.m-editor-resizer .icon-container.position-left {\n transform: translate(calc(-100% - 4px), -50%);\n}\n.m-editor-resizer .icon-container.position-right {\n transform: translate(calc(100% + 4px), -50%);\n}\n.m-editor-resizer .icon {\n color: #fff;\n font-size: 18px;\n}\n.magic-editor-resizer:hover .icon-container {\n visibility: visible;\n opacity: 1;\n}\n.m-editor-workspace {\n height: 100%;\n width: 100%;\n user-select: none;\n}\n.m-editor-page-bar {\n position: fixed;\n bottom: 0;\n left: 0;\n display: flex;\n width: 100%;\n height: 32px;\n line-height: 32px;\n color: #070303;\n background-color: #f3f3f3;\n border-top: 1px solid #d9dbdd;\n z-index: 2;\n overflow: hidden;\n}\n.m-editor-page-bar-items {\n display: flex;\n transition: transform 0.3s;\n}\n.m-editor-page-bar-item {\n padding: 0 10px;\n cursor: pointer;\n border-right: 1px solid #d9dbdd;\n display: flex;\n justify-items: center;\n align-items: center;\n background-color: #f3f3f3;\n}\n.m-editor-page-bar-item.active {\n background-color: #fff;\n cursor: text;\n}\n.m-editor-page-bar-item.active .m-editor-page-bar-menu-icon {\n cursor: pointer;\n}\n.m-editor-page-bar-item-icon {\n position: relative;\n z-index: 1;\n}\n.m-editor-page-bar-item-title {\n max-width: 150px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.page-bar-popover.el-popper.el-popover {\n padding: 10px 0;\n}\n.page-bar-popover .menu-item {\n cursor: pointer;\n transition: all 0.2s ease 0s;\n padding: 5px 14px;\n}\n.page-bar-popover .menu-item .el-button--text,\n.page-bar-popover .menu-item i {\n color: #070303;\n}\n.page-bar-popover .menu-item:hover {\n background-color: #f3f5f9;\n}\n.m-editor-props-panel {\n padding: 0 10px;\n}\n.m-editor-props-panel.small .el-form-item__label {\n font-size: 12px;\n}\n.m-editor-props-panel.small .m-fieldset legend {\n font-size: 12px;\n}\n.m-editor-props-panel.small .el-tabs__item {\n font-size: 12px;\n}\n.m-editor-props-panel .el-input__wrapper {\n border-radius: 0;\n}\n.m-editor-props-panel-popper.small span,\n.m-editor-props-panel-popper.small a,\n.m-editor-props-panel-popper.small p {\n font-size: 12px;\n}\n.magic-editor-content-menu {\n position: fixed;\n font-size: 12px;\n background: #fff;\n box-shadow: 0 2px 8px 2px rgba(68, 73, 77, 0.16);\n z-index: 9999;\n transform-origin: 0% 0%;\n font-weight: 600;\n padding: 4px 0px;\n overflow: auto;\n max-height: 100%;\n}\n.magic-editor-content-menu .menu-item {\n color: #333;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n cursor: pointer;\n min-width: 140px;\n transition: all 0.2s ease 0s;\n padding: 5px 14px;\n border-left: 2px solid transparent;\n}\n.magic-editor-content-menu .menu-item .el-button {\n width: 100%;\n justify-content: flex-start;\n}\n.magic-editor-content-menu .menu-item .el-button--text,\n.magic-editor-content-menu .menu-item i {\n color: #070303;\n}\n.magic-editor-content-menu .menu-item.divider {\n padding: 0 14px;\n}\n.magic-editor-content-menu .menu-item.divider .el-divider {\n margin: 0;\n}\n.magic-editor-content-menu .menu-item:hover {\n background-color: #f3f5f9;\n}\n.m-editor-stage {\n position: relative;\n width: 100%;\n height: calc(100% - 32px);\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.m-editor-stage-container {\n width: 100%;\n height: 100%;\n z-index: 0;\n position: relative;\n border: 1px solid #d9dbdd;\n transition: transform 0.3s;\n box-sizing: content-box;\n}\n.m-editor-stage-container::-webkit-scrollbar {\n width: 0 !important;\n}\n.magic-code-editor {\n width: 100%;\n}\n.magic-code-editor .margin {\n margin: 0;\n}")();
4032
+ var index$1 = /* #__PURE__ */ (() => ".m-editor-nav-menu {\n display: flex;\n z-index: 5;\n -webkit-box-pack: justify;\n justify-content: space-between;\n -webkit-box-align: center;\n align-items: center;\n background-color: #ffffff;\n font-size: 19.2px;\n color: #070303;\n font-weight: 400;\n box-sizing: border-box;\n margin: 0px;\n flex: 0 0 35px;\n border-bottom: 1px solid #d8dee8;\n}\n.m-editor-nav-menu > div {\n display: flex;\n height: 100%;\n z-index: 1;\n align-items: center;\n}\n.m-editor-nav-menu .menu-center {\n justify-content: center;\n}\n.m-editor-nav-menu .menu-right {\n justify-content: flex-end;\n}\n.m-editor-nav-menu .menu-item {\n flex-direction: row;\n -webkit-box-align: center;\n align-items: center;\n vertical-align: middle;\n font-size: 14px;\n line-height: 1;\n height: 100%;\n color: rgba(255, 255, 255, 0.7);\n box-sizing: inherit;\n z-index: 1;\n display: flex !important;\n transition: all 0.3s ease 0s;\n border-bottom: 2px solid transparent;\n margin: 0;\n}\n.m-editor-nav-menu .menu-item .is-disabled {\n opacity: 0.5;\n}\n.m-editor-nav-menu .menu-item .is-text {\n padding: 5px;\n}\n.m-editor-nav-menu .menu-item .is-text,\n.m-editor-nav-menu .menu-item i {\n color: #070303;\n}\n.m-editor-nav-menu .menu-item .icon {\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n height: 100%;\n padding: 0px 8px;\n}\n.m-editor-nav-menu .menu-item .menu-item-text {\n color: #070303;\n}\n.m-editor {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.m-editor-content {\n width: 100%;\n height: calc(100% - 35px);\n display: flex;\n justify-self: space-between;\n}\n.m-editor-framework-center {\n position: relative;\n transform: translateZ(0);\n flex: 1;\n}\n.m-editor-framework-left {\n background-color: #ffffff;\n}\n.m-editor-framework-center .el-scrollbar__view {\n height: 100%;\n min-height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.m-editor-empty-panel {\n display: flex;\n flex: 1;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n height: calc(100% - 32px);\n}\n.m-editor-empty-content {\n display: flex;\n justify-content: space-evenly;\n flex-direction: row;\n width: 100%;\n}\n.m-editor-empty-button {\n border: 3px solid rgba(0, 0, 0, 0.2);\n padding: 10px 40px;\n color: rgba(0, 0, 0, 0.6);\n cursor: pointer;\n}\n.m-editor-empty-button i {\n height: 180px;\n line-height: 180px;\n font-size: 100px;\n}\n.m-editor-empty-button p {\n text-align: center;\n font-size: 20px;\n margin-top: 5px;\n}\n.m-editor-empty-button:hover {\n border-color: #2882e0;\n color: #2882e0;\n}\n.m-editor-sidebar {\n height: 100%;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header {\n background: #2882e0;\n border: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header.is-left {\n width: 40px;\n margin-right: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__nav-wrap {\n margin: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__nav {\n border: 0;\n border-radius: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .tab-label {\n margin-left: 2px;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left {\n line-height: 15px;\n border: 0;\n height: auto;\n padding: 8px;\n color: rgb(255, 255, 255);\n box-sizing: border-box;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active {\n background: #ffffff;\n border: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active i {\n color: #353140;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left.is-active .magic-editor-tab-panel-title {\n color: #353140;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .el-tabs__item.is-left.is-left:first-child {\n border-right: 0;\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header i {\n font-size: 25px;\n color: rgba(255, 255, 255, 0.6);\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header i:hover {\n color: rgb(255, 255, 255);\n}\n.m-editor-sidebar.el-tabs--left .el-tabs__header .magic-editor-tab-panel-title {\n font-size: 12px;\n white-space: normal;\n}\n.m-editor-sidebar .el-scrollbar {\n height: 100%;\n}\n.m-editor-sidebar .el-tree {\n min-height: 100%;\n}\n.m-editor-sidebar .fold-icon {\n position: absolute;\n bottom: 8px;\n left: 0px;\n width: 45px;\n padding-left: 8px;\n color: #fff;\n font-size: 32px;\n opacity: 0.8;\n cursor: pointer;\n}\n.m-editor-sidebar .fold-icon:hover {\n background: rgba(0, 0, 0, 0.2);\n}\n.m-editor-sidebar .el-tabs__content,\n.m-editor-sidebar .el-tab-pane {\n height: 100%;\n}\n.magic-editor-layer-panel {\n background: #ffffff;\n}\n.magic-editor-layer-panel .search-input {\n background: #ffffff;\n color: #bbbbbb;\n padding: 10px;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n}\n.magic-editor-layer-panel .search-input .el-input__suffix {\n padding: 10px 5px;\n}\n.magic-editor-layer-panel .node-content {\n flex: 1;\n display: flex;\n width: 100%;\n}\n.magic-editor-layer-panel .node-content > div {\n width: 8px;\n}\n.magic-editor-layer-panel .node-content > span {\n width: calc(100% - 68px);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.magic-editor-layer-panel .node-content > i {\n margin-right: 10px;\n font-size: 20px;\n}\n.magic-editor-layer-panel .node-content > i.lock {\n color: #bbb;\n}\n.magic-editor-layer-panel,\n.magic-editor-layer-panel .el-tree {\n background-color: #ffffff;\n color: #313a40;\n}\n.magic-editor-layer-panel .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {\n background-color: #2882e0;\n color: #fff;\n}\n.magic-editor-layer-panel .cus-tree-node {\n width: 100%;\n overflow: hidden;\n}\n.magic-editor-layer-panel .cus-tree-node-hover {\n background-color: #f3f5f9;\n width: 100%;\n}\n.magic-editor-layer-panel .el-tree-node:focus > .el-tree-node__content {\n background-color: #2882e0;\n color: #fff;\n}\n.ui-tree-tip {\n width: 100%;\n height: 25px;\n margin-left: 10px;\n background: #ffffff;\n font-style: italic;\n color: #555554;\n position: absolute;\n top: 40px;\n left: 0;\n z-index: 1;\n}\n.ui-component-panel {\n height: 100%;\n border-top: 0 !important;\n margin-top: 50px;\n background-color: #ffffff;\n}\n.ui-component-panel .search-input {\n background: #f8fbff;\n color: #bbbbbb;\n padding: 10px;\n position: absolute;\n top: 0;\n left: 0;\n box-sizing: border-box;\n z-index: 1;\n}\n.ui-component-panel .search-input .el-input__prefix {\n padding: 10px;\n}\n.ui-component-panel .search-input .el-input__suffix {\n padding: 10px 5px;\n}\n.ui-component-panel .el-collapse-item > div:first-of-type {\n border-bottom: 1px solid #d9dbdd;\n margin-bottom: 10px;\n}\n.ui-component-panel .el-collapse-item__header {\n background: #ffffff;\n color: #070303;\n height: 25px;\n line-height: 25px;\n padding-left: 10px;\n font-size: 12px;\n}\n.ui-component-panel .el-collapse-item__header i {\n margin-right: 5px;\n font-size: 14px;\n}\n.ui-component-panel .el-collapse-item__wrap {\n background: #ffffff;\n border-bottom: 0;\n}\n.ui-component-panel .el-collapse-item__wrap .el-collapse-item__content {\n padding: 10px;\n display: flex;\n flex-wrap: wrap;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item {\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 5px 10px;\n box-sizing: border-box;\n color: #070303;\n flex-direction: column;\n width: 42px;\n cursor: pointer;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item i {\n font-size: 20px;\n background: #fff;\n height: 40px;\n width: 40px;\n line-height: 40px;\n border-radius: 5px;\n color: #909090;\n border: 1px solid #d9dbdd;\n display: flex;\n justify-content: space-evenly;\n align-items: center;\n margin-bottom: 5px;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item i:hover {\n background: #2882e0;\n color: #fff;\n border-color: #4e8be1;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item span {\n font-size: 12px;\n text-align: center;\n}\n.ui-component-panel .el-collapse-item__wrap .component-item .el-tooltip {\n width: 50px;\n height: 30px;\n line-height: 15px;\n display: block;\n white-space: normal;\n margin: 0;\n}\n.m-editor-resizer {\n border-left: 1px solid transparent;\n border-right: 1px solid transparent;\n width: 8px;\n margin: 0 -5px;\n height: 100%;\n opacity: 0.9;\n background: padding-box #d8dee8;\n box-sizing: border-box;\n cursor: col-resize;\n z-index: 1;\n}\n.m-editor-resizer:hover {\n border-color: #d8dee8;\n}\n.m-editor-resizer .icon-container {\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.4s;\n width: 20px;\n height: 120px;\n line-height: 120px;\n text-align: center;\n background: #d8dee8;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: pointer;\n}\n.m-editor-resizer .icon-container.position-left {\n transform: translate(calc(-100% - 4px), -50%);\n}\n.m-editor-resizer .icon-container.position-right {\n transform: translate(calc(100% + 4px), -50%);\n}\n.m-editor-resizer .icon {\n color: #fff;\n font-size: 18px;\n}\n.magic-editor-resizer:hover .icon-container {\n visibility: visible;\n opacity: 1;\n}\n.m-editor-workspace {\n height: 100%;\n width: 100%;\n user-select: none;\n}\n.m-editor-workspace:focus-visible {\n outline: 0;\n}\n.m-editor-page-bar {\n position: fixed;\n bottom: 0;\n left: 0;\n display: flex;\n width: 100%;\n height: 32px;\n line-height: 32px;\n color: #070303;\n background-color: #f3f3f3;\n border-top: 1px solid #d9dbdd;\n z-index: 2;\n overflow: hidden;\n}\n.m-editor-page-bar-items {\n display: flex;\n transition: transform 0.3s;\n}\n.m-editor-page-bar-item {\n padding: 0 10px;\n cursor: pointer;\n border-right: 1px solid #d9dbdd;\n display: flex;\n justify-items: center;\n align-items: center;\n background-color: #f3f3f3;\n white-space: nowrap;\n}\n.m-editor-page-bar-item.active {\n background-color: #fff;\n cursor: text;\n}\n.m-editor-page-bar-item.active .m-editor-page-bar-menu-icon {\n cursor: pointer;\n}\n.m-editor-page-bar-item-icon {\n position: relative;\n z-index: 1;\n}\n.m-editor-page-bar-item-title {\n max-width: 150px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.page-bar-popover.el-popper.el-popover {\n padding: 10px 0;\n}\n.page-bar-popover .menu-item {\n cursor: pointer;\n transition: all 0.2s ease 0s;\n padding: 5px 14px;\n}\n.page-bar-popover .menu-item .el-button--text,\n.page-bar-popover .menu-item i {\n color: #070303;\n}\n.page-bar-popover .menu-item:hover {\n background-color: #f3f5f9;\n}\n.m-editor-props-panel {\n padding: 0 10px;\n}\n.m-editor-props-panel.small .el-form-item__label {\n font-size: 12px;\n}\n.m-editor-props-panel.small .m-fieldset legend {\n font-size: 12px;\n}\n.m-editor-props-panel.small .el-tabs__item {\n font-size: 12px;\n}\n.m-editor-props-panel .el-input__wrapper {\n border-radius: 0;\n}\n.m-editor-props-panel-popper.small span,\n.m-editor-props-panel-popper.small a,\n.m-editor-props-panel-popper.small p {\n font-size: 12px;\n}\n.magic-editor-content-menu {\n position: fixed;\n font-size: 12px;\n background: #fff;\n box-shadow: 0 2px 8px 2px rgba(68, 73, 77, 0.16);\n z-index: 9999;\n transform-origin: 0% 0%;\n font-weight: 600;\n padding: 4px 0px;\n overflow: auto;\n max-height: 100%;\n}\n.magic-editor-content-menu .menu-item {\n color: #333;\n display: flex;\n -webkit-box-align: center;\n align-items: center;\n cursor: pointer;\n min-width: 140px;\n transition: all 0.2s ease 0s;\n padding: 5px 14px;\n border-left: 2px solid transparent;\n}\n.magic-editor-content-menu .menu-item .el-button {\n width: 100%;\n justify-content: flex-start;\n}\n.magic-editor-content-menu .menu-item .el-button--text,\n.magic-editor-content-menu .menu-item i {\n color: #070303;\n}\n.magic-editor-content-menu .menu-item.divider {\n padding: 0 14px;\n}\n.magic-editor-content-menu .menu-item.divider .el-divider {\n margin: 0;\n}\n.magic-editor-content-menu .menu-item:hover {\n background-color: #f3f5f9;\n}\n.m-editor-stage {\n position: relative;\n width: 100%;\n height: calc(100% - 32px);\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.m-editor-stage-container {\n width: 100%;\n height: 100%;\n z-index: 0;\n position: relative;\n border: 1px solid #d9dbdd;\n transition: transform 0.3s;\n box-sizing: content-box;\n}\n.m-editor-stage-container::-webkit-scrollbar {\n width: 0 !important;\n}\n.magic-code-editor {\n width: 100%;\n}\n.magic-code-editor .margin {\n margin: 0;\n}")();
4015
4033
 
4016
4034
  const defaultInstallOpt = {};
4017
4035
  var index = {
@@ -4027,5 +4045,5 @@ var index = {
4027
4045
  }
4028
4046
  };
4029
4047
 
4030
- export { COPY_STORAGE_KEY, ComponentListPanel, DEFAULT_CONFIG, Fixed2Other, Keys, LayerOffset, LayerPanel, Layout, PropsPanel, CodeEditor as TMagicCodeEditor, Editor as TMagicEditor, ToolButton, change2Fixed, debug, index as default, editorService, error, eventsService, fillConfig, generateId, generatePageName, generatePageNameByApp, getConfig, getDefaultPropsValue, getNodeIndex, getPageList, getPageNameList, historyService, info, initPosition, isFixed, log, propsService, setConfig, setLayout, setNewItemId, toRelative, uiService, warn };
4048
+ export { COPY_STORAGE_KEY, ComponentListPanel, DEFAULT_CONFIG, Fixed2Other, H_GUIDE_LINE_STORAGE_KEY, Keys, LayerOffset, LayerPanel, Layout, PropsPanel, CodeEditor as TMagicCodeEditor, Editor as TMagicEditor, ToolButton, V_GUIDE_LINE_STORAGE_KEY, change2Fixed, debug, index as default, editorService, error, eventsService, fillConfig, generatePageName, generatePageNameByApp, getConfig, getDefaultPropsValue, getGuideLineFromCache, getNodeIndex, getPageList, getPageNameList, historyService, info, initPosition, isFixed, log, propsService, setConfig, setLayout, toRelative, uiService, warn };
4031
4049
  //# sourceMappingURL=tmagic-editor.es.js.map