@ease-forge/designer 1.0.28 → 1.1.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.
Files changed (150) hide show
  1. package/dist/components/DesignCanvas.vue.d.ts +16 -0
  2. package/dist/components/DesignCanvas.vue.d.ts.map +1 -0
  3. package/dist/components/DragGhost.vue.d.ts +9 -0
  4. package/dist/components/DragGhost.vue.d.ts.map +1 -0
  5. package/dist/components/Workbench.vue.d.ts +14 -0
  6. package/dist/components/Workbench.vue.d.ts.map +1 -0
  7. package/dist/components/panels/MaterialPanel.vue.d.ts +14 -0
  8. package/dist/components/panels/MaterialPanel.vue.d.ts.map +1 -0
  9. package/dist/components/panels/OutlinePanel.vue.d.ts +9 -0
  10. package/dist/components/panels/OutlinePanel.vue.d.ts.map +1 -0
  11. package/dist/components/panels/SetterAdvancedPanel.vue.d.ts +15 -0
  12. package/dist/components/panels/SetterAdvancedPanel.vue.d.ts.map +1 -0
  13. package/dist/components/panels/SetterEventPanel.vue.d.ts +15 -0
  14. package/dist/components/panels/SetterEventPanel.vue.d.ts.map +1 -0
  15. package/dist/components/panels/SetterPropsGroup.vue.d.ts +12 -0
  16. package/dist/components/panels/SetterPropsGroup.vue.d.ts.map +1 -0
  17. package/dist/components/panels/SetterPropsPanel.vue.d.ts +12 -0
  18. package/dist/components/panels/SetterPropsPanel.vue.d.ts.map +1 -0
  19. package/dist/components/panels/SetterStyleGroup.vue.d.ts +12 -0
  20. package/dist/components/panels/SetterStyleGroup.vue.d.ts.map +1 -0
  21. package/dist/components/panels/SetterStylePanel.vue.d.ts +12 -0
  22. package/dist/components/panels/SetterStylePanel.vue.d.ts.map +1 -0
  23. package/dist/components/panels/style/StyleGroups.d.ts +35 -0
  24. package/dist/components/panels/style/StyleGroups.d.ts.map +1 -0
  25. package/dist/components/setter/BoolSetter.vue.d.ts +5 -0
  26. package/dist/components/setter/BoolSetter.vue.d.ts.map +1 -0
  27. package/dist/components/setter/ColorSetter.vue.d.ts +5 -0
  28. package/dist/components/setter/ColorSetter.vue.d.ts.map +1 -0
  29. package/dist/components/setter/DateSetter.vue.d.ts +5 -0
  30. package/dist/components/setter/DateSetter.vue.d.ts.map +1 -0
  31. package/dist/components/setter/EditorSetter.vue.d.ts +5 -0
  32. package/dist/components/setter/EditorSetter.vue.d.ts.map +1 -0
  33. package/dist/components/setter/NumberSetter.vue.d.ts +5 -0
  34. package/dist/components/setter/NumberSetter.vue.d.ts.map +1 -0
  35. package/dist/components/setter/SelectSetter.vue.d.ts +5 -0
  36. package/dist/components/setter/SelectSetter.vue.d.ts.map +1 -0
  37. package/dist/components/setter/StringSetter.vue.d.ts +5 -0
  38. package/dist/components/setter/StringSetter.vue.d.ts.map +1 -0
  39. package/dist/components/setter/TimeSetter.vue.d.ts +5 -0
  40. package/dist/components/setter/TimeSetter.vue.d.ts.map +1 -0
  41. package/dist/core/DesignerDriver.d.ts +36 -0
  42. package/dist/core/DesignerDriver.d.ts.map +1 -0
  43. package/dist/core/DesignerEffect.d.ts +30 -0
  44. package/dist/core/DesignerEffect.d.ts.map +1 -0
  45. package/dist/core/DesignerEngine.d.ts +95 -0
  46. package/dist/core/DesignerEngine.d.ts.map +1 -0
  47. package/dist/core/DesignerModule.d.ts +28 -0
  48. package/dist/core/DesignerModule.d.ts.map +1 -0
  49. package/dist/core/EventBus.d.ts +37 -0
  50. package/dist/core/EventBus.d.ts.map +1 -0
  51. package/dist/drivers/DragDropDriver.d.ts +48 -0
  52. package/dist/drivers/DragDropDriver.d.ts.map +1 -0
  53. package/dist/drivers/KeyboardDriver.d.ts +18 -0
  54. package/dist/drivers/KeyboardDriver.d.ts.map +1 -0
  55. package/dist/drivers/MouseClickDriver.d.ts +14 -0
  56. package/dist/drivers/MouseClickDriver.d.ts.map +1 -0
  57. package/dist/drivers/MouseMoveDriver.d.ts +14 -0
  58. package/dist/drivers/MouseMoveDriver.d.ts.map +1 -0
  59. package/dist/ease-forge-designer.cjs.js +2 -1
  60. package/dist/ease-forge-designer.cjs.js.map +1 -0
  61. package/dist/ease-forge-designer.cjs.prod.js +1 -1
  62. package/dist/ease-forge-designer.css +2 -0
  63. package/dist/ease-forge-designer.esm.js +3433 -0
  64. package/dist/ease-forge-designer.esm.js.map +1 -0
  65. package/dist/ease-forge-designer.esm.prod.js +3432 -1
  66. package/dist/effects/AuxToolEffect.d.ts +52 -0
  67. package/dist/effects/AuxToolEffect.d.ts.map +1 -0
  68. package/dist/effects/CursorEffect.d.ts +29 -0
  69. package/dist/effects/CursorEffect.d.ts.map +1 -0
  70. package/dist/effects/DraggingEffect.d.ts +17 -0
  71. package/dist/effects/DraggingEffect.d.ts.map +1 -0
  72. package/dist/events/DesignerEvent.d.ts +26 -0
  73. package/dist/events/DesignerEvent.d.ts.map +1 -0
  74. package/dist/events/cursor/AbstractCursorEvent.d.ts +22 -0
  75. package/dist/events/cursor/AbstractCursorEvent.d.ts.map +1 -0
  76. package/dist/events/cursor/DragMoveEvent.d.ts +10 -0
  77. package/dist/events/cursor/DragMoveEvent.d.ts.map +1 -0
  78. package/dist/events/cursor/DragStartEvent.d.ts +17 -0
  79. package/dist/events/cursor/DragStartEvent.d.ts.map +1 -0
  80. package/dist/events/cursor/DragStopEvent.d.ts +10 -0
  81. package/dist/events/cursor/DragStopEvent.d.ts.map +1 -0
  82. package/dist/events/cursor/MouseClickEvent.d.ts +10 -0
  83. package/dist/events/cursor/MouseClickEvent.d.ts.map +1 -0
  84. package/dist/events/cursor/MouseDoubleClickEvent.d.ts +10 -0
  85. package/dist/events/cursor/MouseDoubleClickEvent.d.ts.map +1 -0
  86. package/dist/events/cursor/MouseMoveEvent.d.ts +10 -0
  87. package/dist/events/cursor/MouseMoveEvent.d.ts.map +1 -0
  88. package/dist/events/designer/CommandEvent.d.ts +20 -0
  89. package/dist/events/designer/CommandEvent.d.ts.map +1 -0
  90. package/dist/events/designer/DragDropEvent.d.ts +29 -0
  91. package/dist/events/designer/DragDropEvent.d.ts.map +1 -0
  92. package/dist/events/engine/EngineMountEvent.d.ts +21 -0
  93. package/dist/events/engine/EngineMountEvent.d.ts.map +1 -0
  94. package/dist/events/engine/EngineUnmountEvent.d.ts +16 -0
  95. package/dist/events/engine/EngineUnmountEvent.d.ts.map +1 -0
  96. package/dist/events/keyboard/ShortcutKeyEvent.d.ts +32 -0
  97. package/dist/events/keyboard/ShortcutKeyEvent.d.ts.map +1 -0
  98. package/dist/history/Command.d.ts +21 -0
  99. package/dist/history/Command.d.ts.map +1 -0
  100. package/dist/history/CommandStack.d.ts +46 -0
  101. package/dist/history/CommandStack.d.ts.map +1 -0
  102. package/dist/index.d.ts +90 -1
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/models/Cursor.d.ts +44 -0
  105. package/dist/models/Cursor.d.ts.map +1 -0
  106. package/dist/models/DesignerState.d.ts +76 -0
  107. package/dist/models/DesignerState.d.ts.map +1 -0
  108. package/dist/models/DraggingCmpMetas.d.ts +41 -0
  109. package/dist/models/DraggingCmpMetas.d.ts.map +1 -0
  110. package/dist/models/HoverDashed.d.ts +41 -0
  111. package/dist/models/HoverDashed.d.ts.map +1 -0
  112. package/dist/models/Insertion.d.ts +57 -0
  113. package/dist/models/Insertion.d.ts.map +1 -0
  114. package/dist/models/Selection.d.ts +8 -0
  115. package/dist/models/Selection.d.ts.map +1 -0
  116. package/dist/models/SetterShareState.d.ts +32 -0
  117. package/dist/models/SetterShareState.d.ts.map +1 -0
  118. package/dist/operations/NodeOperationEffect.d.ts +25 -0
  119. package/dist/operations/NodeOperationEffect.d.ts.map +1 -0
  120. package/dist/operations/NodePosition.d.ts +55 -0
  121. package/dist/operations/NodePosition.d.ts.map +1 -0
  122. package/dist/operations/NodeSerialize.d.ts +8 -0
  123. package/dist/operations/NodeSerialize.d.ts.map +1 -0
  124. package/dist/operations/commands/AddNodesCommand.d.ts +34 -0
  125. package/dist/operations/commands/AddNodesCommand.d.ts.map +1 -0
  126. package/dist/operations/commands/MoveNodesCommand.d.ts +42 -0
  127. package/dist/operations/commands/MoveNodesCommand.d.ts.map +1 -0
  128. package/dist/operations/commands/RemoveNodesCommand.d.ts +50 -0
  129. package/dist/operations/commands/RemoveNodesCommand.d.ts.map +1 -0
  130. package/dist/operations/commands/UpdateListenersCommand.d.ts +42 -0
  131. package/dist/operations/commands/UpdateListenersCommand.d.ts.map +1 -0
  132. package/dist/operations/commands/UpdatePropsCommand.d.ts +53 -0
  133. package/dist/operations/commands/UpdatePropsCommand.d.ts.map +1 -0
  134. package/dist/register/RegisterSetter.d.ts +8 -0
  135. package/dist/register/RegisterSetter.d.ts.map +1 -0
  136. package/dist/types/Designer.d.ts +153 -0
  137. package/dist/types/Designer.d.ts.map +1 -0
  138. package/dist/utils/ComponentMetaUtils.d.ts +13 -0
  139. package/dist/utils/ComponentMetaUtils.d.ts.map +1 -0
  140. package/dist/utils/DesignerUtils.d.ts +11 -0
  141. package/dist/utils/DesignerUtils.d.ts.map +1 -0
  142. package/dist/utils/PositionCalc.d.ts +27 -0
  143. package/dist/utils/PositionCalc.d.ts.map +1 -0
  144. package/dist/utils/SetterUtils.d.ts +59 -0
  145. package/dist/utils/SetterUtils.d.ts.map +1 -0
  146. package/dist/utils/StyleUtils.d.ts +34 -0
  147. package/dist/utils/StyleUtils.d.ts.map +1 -0
  148. package/package.json +30 -21
  149. package/dist/types/index.d.ts +0 -0
  150. /package/{index.js → index.cjs} +0 -0
@@ -1 +1 @@
1
- "use strict";
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("@ease-forge/shared"),l=require("vue"),u=require("@ease-forge/runtime"),d=require("lodash");d=s(d,1);let f=require("antdv-next"),p=require("@antdv-next/icons"),m=require("@vue/shared"),h=require("dayjs");h=s(h,1);var g=function(e){return e.Normal=`normal`,e.DragStart=`drag_start`,e.Dragging=`dragging`,e.DragStop=`drag_stop`,e}(g||{}),_=function(e){return e.DragDrop=`dragdrop`,e.Selection=`selection`,e}(_||{}),v=function(e){return e.PC=`pc`,e.Mobile=`mobile`,e}(v||{}),y=function(e){return e.Designer=`Designer`,e.Code=`Code`,e.Preview=`Preview`,e}(y||{}),b=function(e){return e.top=`top`,e.bottom=`bottom`,e.left=`left`,e.right=`right`,e}(b||{}),x=function(e){return e.leftTop=`leftTop`,e.leftBottom=`leftBottom`,e.rightTop=`rightTop`,e.rightBottom=`rightBottom`,e}(x||{}),S=class{static eventType=``;type;data;context;constructor(e,t){this.type=this.constructor.eventType,this.type||console.warn(`[DesignerEvent] 事件类 "${this.constructor.name}" 未定义静态 eventType 属性`),e!==void 0&&(this.data=e),t!==void 0&&(this.context=t)}},C=class extends S{static eventType=`engine:mount`},w=class extends S{static eventType=`engine:unmount`},T=class extends S{constructor(e){super(),this.data=ee(e)}};function ee(e){let t={clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY,target:e.target,view:e.view,topClientX:e.clientX,topClientY:e.clientY,topPageX:e.pageX,topPageY:e.pageY},{frameElement:n}=e.view||{};if(n&&t.view!==c.globalThisPolyfill){let e=n.getBoundingClientRect(),r=e.width/n.offsetWidth;t.topClientX=t.clientX*r+e.x,t.topClientY=t.clientY*r+e.y,t.topPageX=t.pageX+e.x-t.view.scrollX,t.topPageY=t.pageY+e.y-t.view.scrollY;let i=document.elementFromPoint(t.topPageX,t.topClientY);i!==n&&(t.target=i)}return t}var E=class extends T{static eventType=`cursor:drag-start`;constructor(e,t){super(e),this.data.componentMetas=t}},D=class extends T{static eventType=`cursor:drag-move`},O=class extends T{static eventType=`cursor:drag-stop`},te=class extends T{static eventType=`cursor:mouse-click`},ne=class extends T{static eventType=`cursor:mouse-double-click`},k=class extends T{static eventType=`cursor:mouse-move`},re=class extends S{static eventType=`keyboard:shortcut`;constructor(e,t){super({type:e.type,key:e.key.toLowerCase(),ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,pressedKeys:t,rawEvent:e})}},ie=class extends S{static eventType=`designer:drag-drop`},ae=class extends S{static eventType=`designer:command`},oe=class{subscribers=new Map;dispatch(e){let t=this.subscribers.get(e.type);if(!t||t.length<=0)return;let n=t.slice();for(let t of n)try{t.fun(e)}catch(t){console.error(`[EventBus] 事件 "${e.type}" 的订阅函数执行异常`,t)}}subscribe(e,t,n=0){let r=e.eventType;if(!r)return console.error(`[EventBus] 订阅的事件类 "${e.name}" 未定义静态 eventType 属性`),()=>void 0;let i=this.subscribers.get(r);i||(i=[],this.subscribers.set(r,i));let a={priority:n,fun:t},o=i.length;for(let e=0;e<i.length;e++)if(i[e].priority>n){o=e;break}return i.splice(o,0,a),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.subscribers.get(e.eventType);if(!n)return;let r=n.findIndex(e=>e.fun===t);r>=0&&n.splice(r,1)}unsubscribeAll(e){this.subscribers.delete(e.eventType)}clearAllSubscribe(){this.subscribers.clear()}},se=class{designerEngine;eventbus;componentManage;container;window;constructor(e,t,n){this.designerEngine=e,this.eventbus=e.eventbus,this.componentManage=e.componentManage,this.container=t,this.window=n}getContainerCursorStyle(){return this.container instanceof Document?this.container.body.style.cursor:this.container.style.cursor}setContainerCursorStyle(e){this.container instanceof Document?this.container.body.style.cursor=e:this.container.style.cursor=e}},A=class extends se{addEventListener(e,t,n){this.container.addEventListener(e,t,n)}removeEventListener(e,t,n){this.container.removeEventListener(e,t,n)}preventDefault=e=>{e.preventDefault()}},j=class extends se{actived=!1;effect(){this.actived||(this.actived=!0,this.onEffect())}destroy(){this.actived&&(this.actived=!1,this.onDestroy())}},ce=new Set(`a.abbr.acronym.audio.b.bdi.bdo.big.br.button.canvas.cite.code.data.datalist.del.dfn.em.embed.i.iframe.img.ins.kbd.label.map.mark.meter.noscript.object.output.picture.progress.q.ruby.s.samp.select.slot.small.strong.sub.sup.svg.template.textarea.time.u.tt.var.video.wbr.input.span`.split(`.`)),M={clientX:0,clientY:0,pageX:0,pageY:0,topClientX:0,topClientY:0,topPageX:0,topPageY:0};function le(e,t){return e+parseFloat(t.marginLeft)+parseFloat(t.marginRight)+parseFloat(t.paddingLeft)+parseFloat(t.paddingRight)+parseFloat(t.borderLeftWidth)+parseFloat(t.borderRightWidth)}function ue(e){if(!e)return!1;let t=e.parentElement;if(!t)return!1;let n=e.tagName.toLowerCase(),r=t.tagName,i=getComputedStyle(e),a=getComputedStyle(t),o=()=>{let n=e.getBoundingClientRect().width,r=le(n,i),a=t.getBoundingClientRect().width;return r.toFixed(0)<a.toFixed(0)};return(n===`th`||n===`td`)&&r===`tr`||a.display===`flex`&&a.flexDirection===`row`||a.display===`grid`&&o()?!0:ce.has(n)?i.display!==`block`||!(i.float!==`left`&&i.float!==`right`||!o()):i.display.startsWith(`inline`)}function N(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return{height:r.height-2,width:r.width-2,top:r.top-n.top+e.scrollTop+1,left:r.left-n.left+e.scrollLeft+1,isTop:r.top-n.top<28,isBottom:n.top+n.height-r.top-r.height<28}}function P(e,t){let n=t.getBoundingClientRect(),r=e.clientY-n.top,i=e.clientY-n.top-n.height,a=e.clientX-n.left,o=e.clientX-n.left-n.width,s=Math.abs(r),c=Math.abs(i),l=Math.abs(a),u=Math.abs(o),f=r>=0&&i<=0,p=a>=0&&o<=0,m=f&&p&&n.width>0&&n.height>0,h;m||(r<=0?h=b.top:i>=0?h=b.bottom:a<=0?h=b.left:o>=0&&(h=b.right));let g=[{direction:b.top,value:s},{direction:b.bottom,value:c},{direction:b.left,value:l},{direction:b.right,value:u}];h||=d.default.minBy(g,e=>e.value).direction;let _=ue(t),v=!_;if(_&&[b.top,b.bottom].includes(h)&&(h=l>=u?b.right:b.left),v&&[b.left,b.right].includes(h)&&(h=s>=c?b.bottom:b.top),m){let e=d.default.minBy(g,e=>e.value);e.value<=10&&(h=e.direction)}let y=Math.abs(F(e.clientX,e.clientY,n.left,n.top)),S=Math.abs(F(e.clientX,e.clientY,n.left,n.top+n.height)),C=Math.abs(F(e.clientX,e.clientY,n.left+n.width,n.top)),w=Math.abs(F(e.clientX,e.clientY,n.left+n.width,n.top+n.height)),{point:T}=d.default.minBy([{point:x.leftTop,value:y},{point:x.leftBottom,value:S},{point:x.rightTop,value:C},{point:x.rightBottom,value:w}],e=>e.value);return{element:t,width:n.width,height:n.height,top:s,bottom:c,left:l,right:u,vInside:f,hInside:p,bothInside:m,direction:h,leftTop:y,leftBottom:S,rightTop:C,rightBottom:w,point:T,rowBlock:v,inlineBlock:_}}function F(e,t,n=0,r=0){return n??=0,r??=0,Math.sqrt((e-n)**2+(t-r)**2)}function I(e,t){let n={};for(let r in e)n[r]=c.Typeof.isValidNumber(e[r])&&c.Typeof.isValidNumber(t?.[r])?e[r]-t[r]:e[r];return n}var de=class{_status=(0,l.ref)(g.Normal);_position=(0,l.ref)({...M});_dragStartPosition=(0,l.ref)();_dragEndPosition=(0,l.ref)();_dragAtomDelta=(0,l.ref)({...M});_dragStartToCurrentDelta=(0,l.computed)(()=>!this._dragStartPosition.value||this._status.value===g.Dragging?M:I(this._position.value,this._dragStartPosition.value));_dragStartToEndDelta=(0,l.computed)(()=>!this._dragStartPosition.value||!this._dragEndPosition.value?M:I(this._dragStartPosition.value,this._dragEndPosition.value));get status(){return this._status.value}set status(e){this._status.value=e}get position(){return this._position.value}set position(e){this._dragAtomDelta.value=I(this._position.value,e),this._position.value={...e}}get dragStartPosition(){return this._dragStartPosition.value}set dragStartPosition(e){this._dragStartPosition.value=e?{...e}:void 0}get dragEndPosition(){return this._dragEndPosition.value}set dragEndPosition(e){this._dragEndPosition.value=e?{...e}:void 0}get dragAtomDelta(){return this._dragAtomDelta.value}get dragStartToCurrentDelta(){return this._dragStartToCurrentDelta.value}get dragStartToEndDelta(){return this._dragStartToEndDelta.value}isDragging(){return this._status.value===g.Dragging}},fe=class{_nodeIds=(0,l.shallowRef)([]);_positions=(0,l.shallowRef)([]);_cmpMetas=(0,l.shallowRef)([]);_existsCmpMeta=(0,l.computed)(()=>this._cmpMetas.value.length>0);_onlyOne=(0,l.computed)(()=>this._cmpMetas.value.length===1);_insertion=(0,l.shallowRef)();get nodeIds(){return this._nodeIds.value}set nodeIds(e){this._nodeIds.value=e}get positions(){return this._positions.value}set positions(e){this._positions.value=e}get cmpMetas(){return this._cmpMetas.value}set cmpMetas(e){this._cmpMetas.value=e}get existsCmpMeta(){return this._existsCmpMeta.value}get onlyOne(){return this._onlyOne.value}get insertion(){return this._insertion.value}set insertion(e){this._insertion.value=e}clear(){this._cmpMetas.value=[],this._nodeIds.value=[],this._positions.value=[],this._insertion.value=void 0}},pe=class{_distance=(0,l.shallowRef)();_position=(0,l.shallowRef)();_containerId=(0,l.ref)();_slotName=(0,l.ref)();_nodeId=(0,l.ref)();_placeholder=(0,l.ref)();_allowDrag=(0,l.ref)(!1);get distance(){return this._distance.value}set distance(e){this._distance.value=e}get position(){return this._position.value}set position(e){this._position.value=e}get containerId(){return this._containerId.value}set containerId(e){this._containerId.value=e}get slotName(){return this._slotName.value}set slotName(e){this._slotName.value=e}get nodeId(){return this._nodeId.value}set nodeId(e){this._nodeId.value=e}get placeholder(){return this._placeholder.value}set placeholder(e){this._placeholder.value=e}get allowDrag(){return this._allowDrag.value}set allowDrag(e){this._allowDrag.value=e}get direction(){return this._distance.value?.direction}isBefore(){let e=this._distance.value?.direction;return e?[b.top,b.left].includes(e):!1}isHorizontal(){let e=this._distance.value?.direction;return e?[b.left,b.right].includes(e):!1}isEmpty(){return c.Typeof.noValue(this._distance.value?.direction)}getInsertionData(){if(!this.isEmpty())return{distance:this.distance,position:this.position,containerId:this.containerId,slotName:this.slotName,nodeId:this.nodeId,placeholder:this.placeholder,allowDrag:this.allowDrag,before:this.isBefore()}}clear(){this._distance.value=void 0,this._position.value=void 0,this._containerId.value=void 0,this._slotName.value=void 0,this._nodeId.value=void 0,this._placeholder.value=void 0,this._allowDrag.value=!1}};function me(e){if(!e)return!1;for(let t in e)if(e[t])return!0;return!1}var he=class{designerState;_componentMeta=(0,l.shallowRef)();_parentId=(0,l.ref)();_nodeId=(0,l.ref)();_position=(0,l.shallowRef)();constructor(e){this.designerState=e}get componentMeta(){return this._componentMeta.value}set componentMeta(e){this._componentMeta.value=e}get parentId(){return this._parentId.value}set parentId(e){this._parentId.value=e}get nodeId(){return this._nodeId.value}set nodeId(e){this._nodeId.value=e}get position(){return this._position.value}set position(e){this._position.value=e}get isContainer(){let e=this._componentMeta.value;return e?me(e.placeholder):!1}recalcPosition(){if(!this._nodeId.value)return;let e=this.designerState.designerContainer;if(!e)return;let t=e.querySelector(`[${u.htmlExtAttr.nodeId}=${this._nodeId.value}]`);t?this._position.value=N(e,t):this._position.value=void 0}clear(){this._componentMeta.value=void 0,this._parentId.value=void 0,this._nodeId.value=void 0,this._position.value=void 0}},L=class extends he{},ge=100,_e=1e3,ve=class{designerState;undoStack=(0,l.shallowReactive)([]);redoStack=(0,l.shallowReactive)([]);lastExecuteTime=0;constructor(e){this.designerState=e}get canUndo(){return this.undoStack.length>0}get canRedo(){return this.redoStack.length>0}get size(){return this.undoStack.length}execute(e){if(!e.execute())return!1;let t=this.undoStack[this.undoStack.length-1];return t?.tryMerge&&Date.now()-this.lastExecuteTime<=_e&&t.tryMerge(e)?(this.redoStack.length=0,this.lastExecuteTime=Date.now(),this.dispatchCommandEvent(`execute`,e),this.notifyPanelUpdate(),!0):(this.undoStack.push(e),this.redoStack.length=0,this.undoStack.length>ge&&this.undoStack.splice(0,this.undoStack.length-ge),this.lastExecuteTime=Date.now(),this.dispatchCommandEvent(`execute`,e),this.notifyPanelUpdate(),!0)}undo(){let e=this.undoStack[this.undoStack.length-1];if(e&&e.undo())return this.undoStack.pop(),this.redoStack.push(e),this.dispatchCommandEvent(`undo`,e),this.notifyPanelUpdate(),e}redo(){let e=this.redoStack[this.redoStack.length-1];if(e&&e.redo())return this.redoStack.pop(),this.undoStack.push(e),this.dispatchCommandEvent(`redo`,e),this.notifyPanelUpdate(),e}notifyPanelUpdate(){this.designerState.setterShareState.notifyPanelUpdate()}clear(){this.undoStack.length=0,this.redoStack.length=0}dispatchCommandEvent(e,t){this.designerState.designerEngine.eventbus.dispatch(new ae({type:e,name:t.name,path:this.designerState.designerEngine.activeDesignerPath}))}},ye=class{designerState;_expandGroups=(0,l.ref)({});_panelVersion=(0,l.ref)(0);constructor(e){this.designerState=e}getAllExpandTitles(e){if(!e)return{};let t={props:[],style:[`布局`,`间距`,`尺寸`,`文本`,`背景与效果`],advanced:[]};return e.setter.props&&t.props.push(...(e=>{let t=[];for(let n of e)n.expand!==!1&&t.push(n.title);return t})(e.setter.props.groups)),t}get expandGroups(){return this._expandGroups.value}set expandGroups(e){this._expandGroups.value=e}recalcExpandGroups(){this._expandGroups.value=this.getAllExpandTitles(this.designerState.selectedComponentMeta)}get panelVersion(){return this._panelVersion.value}notifyPanelUpdate(){this._panelVersion.value++}},be=class{designerEngine;_designerContainer=(0,l.ref)();_designerBlockInstance=(0,l.ref)();hover;commandStack;setterShareState;selections=(0,l.shallowReactive)([]);_selection=(0,l.computed)(()=>this.selections[0]);_existsSelection=(0,l.computed)(()=>this.selections.length>0);_singleSelection=(0,l.computed)(()=>this.selections.length===1);_selectNodes=(0,l.computed)(()=>{let e=[],t=this.blockInstance;if(t)for(let n of this.selections){let r=n.nodeId;if(!r)continue;let i=t.globalContext.allNode[r];i&&e.push((0,l.markRaw)(i))}return e});_selectNode=(0,l.computed)(()=>{let e=this.blockInstance;if(!e||this.selections.length<=0)return;let t=this.selections[0].nodeId;if(t)return e.globalContext.allNode[t]});_selectedComponentMeta=(0,l.computed)(()=>this.getCurrentComponentMeta());constructor(e){this.designerEngine=e,this.hover=new he(this),this.commandStack=new ve(this),this.setterShareState=new ye(this)}getCurrentComponentMeta(){if(this.selections.length<=0)return;if(this.selections.length===1)return this.selections[0].componentMeta;let e,t=new Set;for(let n of this.selections)if(n.componentMeta&&(e=n.componentMeta,t.add(e.type),t.size>1))return;return e}get designerContainer(){return this._designerContainer?.value}set designerContainer(e){this._designerContainer.value=e}get designerBlockInstance(){return this._designerBlockInstance?.value}set designerBlockInstance(e){this._designerBlockInstance.value=e}get blockInstance(){return this._designerBlockInstance?.value}get selection(){return this._selection.value}get existsSelection(){return this._existsSelection.value}get singleSelection(){return this._singleSelection.value}get selectNodes(){return this._selectNodes.value}get selectNode(){return this._selectNode.value}get selectedComponentMeta(){return this._selectedComponentMeta.value}clearSelections(){this.selections.length=0}selectNodeByIds(e){(0,l.nextTick)(()=>{let t=this.blockInstance;if(t){this.selections.length=0;for(let n of e){let e=t.globalContext.allNode[n];if(!e)continue;let r=new L(this);r.nodeId=e.id,r.parentId=t.globalContext.nodeParent[n]?.id,r.componentMeta=this.designerEngine.componentManage.getComponentMeta(e.type);let i=this.designerContainer,a=i?.querySelector(`[${u.htmlExtAttr.nodeId}=${n}]`);i&&a&&(r.position=N(i,a)),this.selections.push(r)}}})}},xe={componentManage:new u.DefComponentManage,drivers:[],effects:[],designerContent:`.designer-content`},Se=class{eventbus=new oe;props;drivers=[];effects=[];cursor=new de;draggingCmpMetas=new fe;insertion=new pe;allDesignerState=(0,l.shallowReactive)({});_activeDesignerPath=(0,l.ref)();_onlyPressedCtrl=(0,l.ref)(!1);_onlyPressedShift=(0,l.ref)(!1);mounted=!1;constructor(e={}){this.props={...xe,...e}}get componentManage(){return this.props.componentManage}get isMounted(){return this.mounted}get activeDesignerPath(){return this._activeDesignerPath.value}set activeDesignerPath(e){e&&!this.allDesignerState[e]&&(e=void 0),this._activeDesignerPath.value=e}get activeDesignerState(){let e=this.activeDesignerPath;if(e)return this.allDesignerState[e]}addDesignerState(e){let t=this.allDesignerState[e];return t||(t=new be(this),this.allDesignerState[e]=t),t}delDesignerState(e){let t=this.allDesignerState[e];return delete this.allDesignerState[e],this.activeDesignerPath===e&&(this.activeDesignerPath=void 0),t}get onlyPressedCtrl(){return this._onlyPressedCtrl.value}set onlyPressedCtrl(e){this._onlyPressedCtrl.value=e}get onlyPressedShift(){return this._onlyPressedShift.value}set onlyPressedShift(e){this._onlyPressedShift.value=e}mount(e=document,t=globalThis){this.unmount();let n=this.props.drivers.map(n=>new n(this,e,t)),r=this.props.effects.map(n=>new n(this,e,t));this.drivers.push(...n),this.effects.push(...r),this.effects.forEach(e=>e.effect()),this.drivers.forEach(e=>e.attach()),this.mounted=!0;let i={container:e,window:t,timestamp:Date.now()};this.eventbus.dispatch(new C(i))}unmount(){if(!this.mounted)return;let e={timestamp:Date.now()};this.eventbus.dispatch(new w(e)),this.drivers.forEach(e=>e.detach()),this.effects.forEach(e=>e.destroy()),this.eventbus.clearAllSubscribe(),this.drivers.length=0,this.effects.length=0,this.mounted=!1}},Ce=class extends A{dragState=this.initDragState();componentMetas=new Map;initDragState(){return{dragging:!1,startDragTime:void 0,startEvent:void 0,moveEvent:void 0}}attach(){this.addEventListener(`mousedown`,this.onMouseDown,!0)}detach(){this.removeEventListener(`mousedown`,this.onMouseDown,!0),this.removeEventListener(`mouseup`,this.onMouseUp),this.removeEventListener(`mousemove`,this.onMouseMove),this.removeEventListener(`mousemove`,this.onDistanceChange),this.removeEventListener(`dragstart`,this.onStartDrag),this.removeEventListener(`dragend`,this.onMouseUp),this.removeEventListener(`dragover`,this.onMouseMove),this.removeEventListener(`contextmenu`,this.preventDefault,!0),this.dragState.dragging=!1,this.componentMetas.clear()}onMouseDown=e=>{if(e.button!==0||e.ctrlKey||e.metaKey)return;let t=e.target;if(!t?.closest)return;this.componentMetas.clear();let n=t.closest(u.materialItem),r=u.useHtmlExtAttr.componentMeta(n,this.componentManage);if(r)this.componentMetas.set(u.emptyNodeId,r);else{let e=t.closest(`[${u.htmlExtAttr.componentType}]`);e&&e.parentElement&&u.useHtmlExtAttr.placeholderName(e)&&(e=e.parentElement.closest(`[${u.htmlExtAttr.componentType}]`));let n=u.useHtmlExtAttr.nodeId(e),r=u.useHtmlExtAttr.componentMeta(e,this.componentManage);if(n&&r){let e=this.designerEngine.activeDesignerState?.selections;e&&e.some(e=>n===e.nodeId)?e.forEach(e=>{e.nodeId&&e.componentMeta&&this.componentMetas.set(e.nodeId,e.componentMeta)}):this.componentMetas.set(n,r)}}this.componentMetas.size<=0||(this.dragState.startEvent=e,this.dragState.dragging=!1,this.dragState.startDragTime=Date.now(),this.removeEventListener(`mouseup`,this.onMouseUp),this.addEventListener(`mouseup`,this.onMouseUp),this.removeEventListener(`mousemove`,this.onDistanceChange),this.addEventListener(`mousemove`,this.onDistanceChange),this.removeEventListener(`dragend`,this.onMouseUp),this.addEventListener(`dragend`,this.onMouseUp),this.removeEventListener(`dragstart`,this.onStartDrag),this.addEventListener(`dragstart`,this.onStartDrag))};onMouseUp=e=>{this.dragState.dragging&&this.eventbus.dispatch(new O(e)),this.removeEventListener(`mouseup`,this.onMouseUp),this.removeEventListener(`mousemove`,this.onMouseMove),this.removeEventListener(`mousemove`,this.onDistanceChange),this.removeEventListener(`dragover`,this.onMouseMove),this.removeEventListener(`dragend`,this.onMouseUp),this.removeEventListener(`dragstart`,this.onStartDrag),this.removeEventListener(`contextmenu`,this.preventDefault,!0),this.dragState.dragging=!1};onDistanceChange=e=>{let t=this.dragState.startDragTime,n=this.dragState.startEvent;if(c.Typeof.noValue(t)||c.Typeof.noValue(n))return;let r=F(e.pageX,e.pageY,n.pageX,n.pageY),i=Date.now()-t;e!==n&&i>10&&r>4&&(this.removeEventListener(`mousemove`,this.onDistanceChange),this.onStartDrag(e))};onStartDrag=e=>{this.dragState.dragging||(this.dragState.startEvent=this.dragState.startEvent||e,this.removeEventListener(`contextmenu`,this.preventDefault,!0),this.addEventListener(`contextmenu`,this.preventDefault,!0),this.removeEventListener(`mousemove`,this.onMouseMove),this.addEventListener(`mousemove`,this.onMouseMove),this.removeEventListener(`dragover`,this.onMouseMove),this.addEventListener(`dragover`,this.onMouseMove),this.eventbus.dispatch(new E(this.dragState.startEvent,this.componentMetas)),this.dragState.dragging=!0)};onMouseMove=e=>{(e.clientX!==this.dragState.moveEvent?.clientX||e.clientY!==this.dragState.moveEvent?.clientY)&&(this.eventbus.dispatch(new D(e)),this.dragState.moveEvent=e)}},we=class extends A{pressedKeys=new Set;attach(){this.addEventListener(`keydown`,this.onKeyEvent),this.addEventListener(`keyup`,this.onKeyEvent),this.window.addEventListener(`blur`,this.onBlur)}detach(){this.removeEventListener(`keydown`,this.onKeyEvent),this.removeEventListener(`keyup`,this.onKeyEvent),this.window.removeEventListener(`blur`,this.onBlur),this.resetKeyState()}onBlur=()=>{this.resetKeyState()};resetKeyState(){this.pressedKeys.clear(),this.designerEngine.onlyPressedCtrl=!1,this.designerEngine.onlyPressedShift=!1}onKeyEvent=e=>{let t=e.key.toLowerCase();e.type===`keydown`?this.pressedKeys.add(t):this.pressedKeys.delete(t),this.designerEngine.onlyPressedCtrl=this.pressedKeys.size===1&&this.pressedKeys.has(`control`),this.designerEngine.onlyPressedShift=this.pressedKeys.size===1&&this.pressedKeys.has(`shift`),this.eventbus.dispatch(new re(e,this.pressedKeys))}},Te=class extends A{attach(){this.addEventListener(`click`,this.onMouseClick),this.addEventListener(`dblclick`,this.onMouseDoubleClick)}detach(){this.removeEventListener(`click`,this.onMouseClick),this.removeEventListener(`dblclick`,this.onMouseDoubleClick)}onMouseClick=e=>{let t=e.target;t?.closest&&t.closest(this.designerEngine.props.designerContent)&&this.eventbus.dispatch(new te(e))};onMouseDoubleClick=e=>{let t=e.target;t?.closest&&t.closest(this.designerEngine.props.designerContent)&&this.eventbus.dispatch(new ne(e))}},Ee=class extends A{request=void 0;attach(){this.addEventListener(`mousemove`,this.onMouseMove)}detach(){this.removeEventListener(`mousemove`,this.onMouseMove),this.cancelRequest()}onMouseMove=e=>{this.cancelRequest(),this.request=requestAnimationFrame(()=>{this.request=void 0,this.eventbus.dispatch(new k(e))})};cancelRequest(){this.request!==void 0&&(cancelAnimationFrame(this.request),this.request=void 0)}},De=class extends j{originalCursor=``;unsubscribes=[];onEffect(){this.dragDropCursor(),this.mouseMoveCursor()}onDestroy(){this.unsubscribes.forEach(e=>e()),this.unsubscribes.length=0,this.originalCursor&&=(this.setContainerCursorStyle(this.originalCursor),``)}toCursorPosition(e){return{clientX:e?.clientX??0,clientY:e?.clientY??0,pageX:e?.pageX??0,pageY:e?.pageY??0,topClientX:e?.topClientX??0,topClientY:e?.topClientY??0,topPageX:e?.topPageX??0,topPageY:e?.topPageY??0}}dragDropCursor(){this.unsubscribes.push(this.eventbus.subscribe(E,e=>{this.originalCursor=this.getContainerCursorStyle();let t=this.designerEngine.cursor;t.status=g.DragStart,t.dragStartPosition=this.toCursorPosition(e.data)}),this.eventbus.subscribe(D,e=>{let t=this.designerEngine.cursor;t.status=g.Dragging,t.position=this.toCursorPosition(e.data),c.RequestIdle.requestIdle(()=>{this.setContainerCursorStyle(`move`)})}),this.eventbus.subscribe(O,e=>{let t=this.designerEngine.cursor;t.status=g.DragStop,t.dragEndPosition=this.toCursorPosition(e.data),t.dragStartPosition=void 0,t.status=g.Normal,c.RequestIdle.requestIdle(()=>this.setContainerCursorStyle(this.originalCursor))}))}mouseMoveCursor(){this.unsubscribes.push(this.eventbus.subscribe(k,e=>{let t=this.designerEngine.cursor;[g.Dragging,g.DragStart].includes(t.status)||(t.status=g.Normal),t.status!==g.Dragging&&(t.position=this.toCursorPosition(e.data))}))}},Oe=class extends j{unsubscribes=[];onEffect(){this.draggingCmpMetasEffect()}onDestroy(){this.unsubscribes.forEach(e=>e()),this.unsubscribes.length=0,this.designerEngine.draggingCmpMetas.clear()}draggingCmpMetasEffect(){this.unsubscribes.push(this.eventbus.subscribe(E,e=>{let t=e.data?.componentMetas;if(!t||t.size<=0)return;let n=this.designerEngine.draggingCmpMetas,r=[],i=[],a=[],o=this.designerEngine.activeDesignerState?.designerContainer;t.forEach((e,t)=>{if(r.push(e),i.push(t),o){let e=o.querySelector(`[${u.htmlExtAttr.nodeId}=${t}]`);e&&a.push(N(o,e))}}),n.cmpMetas=r,n.nodeIds=i,n.positions=a},100),this.eventbus.subscribe(O,e=>{let t=this.designerEngine.draggingCmpMetas;t.existsCmpMeta&&(this.eventbus.dispatch(new ie({componentMetas:[...t.cmpMetas],nodeIds:[...t.nodeIds],cursor:e.data,insertion:t.insertion})),t.clear())},100))}};function ke(e,t,n,r){if(!e.dragDropConfig)return!0;let i=t.type,{whiteList:a,blacklist:o,isAllow:s}=e.dragDropConfig;return!(c.Typeof.hasValue(a)&&!a.includes(i)||c.Typeof.hasValue(o)&&o.includes(i)||c.Typeof.isFunction(s)&&!s(e,t,n,r))}var Ae=class extends j{minHoverChangeTime=50;lastEventTarget;lastMouseMoveTime=0;lastDragStopEventTime=0;unsubscribes=[];onEffect(){this.hoverDashedEffect(),this.selectionEffect(),this.insertionEffect()}onDestroy(){this.unsubscribes.forEach(e=>e()),this.unsubscribes.length=0,this.lastEventTarget=void 0}getNodeAndDesigner(e,t){if(!t?.closest)return;let n=e.designerContainer;if(n||=t.closest(this.designerEngine.props.designerContent),!n)return;let r=t.closest(`[${u.htmlExtAttr.nodeRef}]:not([${u.htmlExtAttr.placeholderName}])`);if(r)return{node:r,designer:n}}getVerticalDistance(e){return e.vInside?-1:Math.min(e.top,e.bottom)}getHorizontalDistance(e){return e.hInside?-1:Math.min(e.left,e.right)}setInsertion(e,t,n,r=``){let i=e.designerContainer??null;if(i||=n.element.closest(this.designerEngine.props.designerContent),!i)return;this.designerEngine.insertion.clear();let a=d.default.trim(r).length>0,o,s;if(a?(o=t,s=r):(o=u.useHtmlExtAttr.nodeId(n.element),s=u.useHtmlExtAttr.slotName(n.element)),this.nodeIsSelfOrInside(o,this.designerEngine.draggingCmpMetas.nodeIds))return;let c=n.element.closest(`[${u.htmlExtAttr.nodeId}=${t}]`);if(!c)return;let l=u.useHtmlExtAttr.componentMeta(c,this.componentManage);l&&(this.designerEngine.draggingCmpMetas.cmpMetas.some(e=>!ke(e,l,s,c))||(this.designerEngine.insertion.allowDrag=!0,this.designerEngine.insertion.distance=n,this.designerEngine.insertion.position=N(i,n.element),this.designerEngine.insertion.nodeId=o,this.designerEngine.insertion.containerId=t,this.designerEngine.insertion.slotName=s,this.designerEngine.insertion.placeholder=a))}nodeIsSelfOrInside(e,t){if(t.includes(e))return!0;let n=this.designerEngine.activeDesignerState?.blockInstance;if(n){let r=new Set;for(let e of t){let t=n.globalContext.allNode[e];t&&(0,u.deepTraverseRuntimeNode)(t,e=>r.add(e.id))}return r.has(e)}return!1}hoverDashedEffect(){this.unsubscribes.push(this.eventbus.subscribe(k,e=>{let t=Date.now();if(e.data.target===this.lastEventTarget){this.lastMouseMoveTime=t;return}t-this.lastMouseMoveTime<this.minHoverChangeTime||(this.lastMouseMoveTime=t,c.RequestIdle.requestIdle(()=>{let t=this.designerEngine.activeDesignerState;if(!t)return;let n=t.hover,r=e.data.target,i=this.getNodeAndDesigner(t,r);if(!i)return;let a=u.useHtmlExtAttr.nodeId(i.node);if(t.selections.some(e=>e.nodeId===a)){n.clear();return}n.componentMeta=u.useHtmlExtAttr.componentMeta(i.node,this.componentManage),n.nodeId=a,n.position=N(i.designer,i.node),this.lastEventTarget=e.data.target}))}))}selectionEffect(){this.unsubscribes.push(this.eventbus.subscribe(te,e=>{if(Date.now()-this.lastDragStopEventTime<=30)return;let t=this.designerEngine.activeDesignerState;if(!t)return;let n=e.data.target,r=this.getNodeAndDesigner(t,n);if(!r)return;let i=t.hover,a=t.selections,o=new L(t);o.nodeId=u.useHtmlExtAttr.nodeId(r.node),o.parentId=u.useHtmlExtAttr.nodeParentId(r.node),!a.some(e=>e.nodeId===o.nodeId)&&(o.componentMeta=u.useHtmlExtAttr.componentMeta(r.node,this.componentManage),o.position=N(r.designer,r.node),this.designerEngine.onlyPressedCtrl||(a.length=0),a.push(o),i.nodeId&&a.some(e=>e.nodeId===i.nodeId)&&i.clear())}))}insertionEffect(){this.unsubscribes.push(this.eventbus.subscribe(D,e=>{if(!this.designerEngine.draggingCmpMetas.existsCmpMeta)return;let t=e.data.target;t&&c.RequestIdle.requestIdle(()=>{if(!t?.closest||!t.closest(this.designerEngine.props.designerContent)){this.designerEngine.insertion.clear();return}let n=this.designerEngine.activeDesignerState;if(!n?.designerContainer)return;let r=n.blockInstance;if(!r)return;let i=u.useHtmlExtAttr.placeholderName(t);if(i){let t=P(e.data,e.data.target),r=u.useHtmlExtAttr.nodeParentId(t.element);if(r){this.setInsertion(n,r,t,i);return}}let a=null,o;for(;;){if(!t||(a=t.closest(`[${u.htmlExtAttr.nodeId}]`),!a)||(o=u.useHtmlExtAttr.nodeId(a),!o))return;let e=r.globalContext.allNode[o];if(!e)return;if(me(e.designExt?.designPlaceholder))break;t=t===a?a.parentElement:a}if(!a||!o)return;if(a===e.data.target){let t=P(e.data,a);if(Math.min(t.top,t.bottom,t.left,t.right)<=12){let e=u.useHtmlExtAttr.nodeParentId(t.element);if(e){this.setInsertion(n,e,t);return}}}let s=a.querySelectorAll(`[${u.htmlExtAttr.nodeParentId}=${o}]`),c=[];if(s.forEach(t=>c.push(P(e.data,t))),c.length<=0)return;let l=d.default.min(c.map(e=>this.getVerticalDistance(e))),f=c.filter(e=>this.getVerticalDistance(e)<=l),p=d.default.min(f.map(e=>this.getHorizontalDistance(e))),m=f.filter(e=>this.getHorizontalDistance(e)<=p),h=d.default.minBy(m,e=>e.bothInside?-1:e.point===x.leftTop?e.leftTop:e.point===x.leftBottom?e.leftBottom:e.point===x.rightTop?e.rightTop:e.point===x.rightBottom?e.rightBottom:Number.MAX_VALUE);this.setInsertion(n,o,h)})}),this.eventbus.subscribe(O,()=>{this.lastDragStopEventTime=Date.now();let e=this.designerEngine.insertion,t=this.designerEngine.draggingCmpMetas;t.insertion=e.getInsertionData(),c.RequestIdle.requestIdle(()=>e.clear())}))}};function R(e,t){if(!e.globalContext.allNode[t])return;let n=e.globalContext.nodeParent[t];if(!n)return;let r=(e,r)=>{let i=e.findIndex(e=>c.Typeof.isObj(e)&&!c.Typeof.isArray(e)&&e.id===t);if(!(i<0)){if(i>0){let t=e[i-1];if(c.Typeof.isObj(t)&&!c.Typeof.isArray(t))return{parentId:n.id,slotName:r,position:`after`,positionId:t.id}}return{parentId:n.id,slotName:r,position:`first`}}},i=r(n.items,u.childSlotName);if(i)return i;for(let e in n.slots){let t=r(n.slots[e],e);if(t)return t}}function je(e,t){if(!e.globalContext.allNode[t])return-1;let n=e.globalContext.nodeParent[t];if(!n)return-1;let r=e=>e.findIndex(e=>c.Typeof.isObj(e)&&!c.Typeof.isArray(e)&&e.id===t),i=r(n.items);if(i>=0)return i;for(let e in n.slots){let t=r(n.slots[e]);if(t>=0)return t}return-1}function Me(e,t){let{allNode:n}=e.globalContext;return n[t.parentId]?(t.position===`before`||t.position===`after`)&&t.positionId&&!n[t.positionId]?{parentId:t.parentId,slotName:t.slotName,position:`last`}:t:null}function Ne(e,t,n){let r=Me(e,t);if(!r)return!1;let i=e.opsById;if(n.filter(t=>e.globalContext.allNode[t]).length<=0)return!1;if(t=r,t.slotName===u.childSlotName)switch(t.position){case`before`:return t.positionId?i.moveNodesToItemBeforeById(t.positionId,n):!1;case`after`:return t.positionId?i.moveNodesToItemAfterById(t.positionId,n):!1;case`first`:return i.moveNodesToItemFirstById(t.parentId,n);case`last`:return i.moveNodesToItemLastById(t.parentId,n)}switch(t.position){case`before`:return t.positionId?i.moveNodesToSlotBeforeById(t.positionId,t.slotName,n):!1;case`after`:return t.positionId?i.moveNodesToSlotAfterById(t.positionId,t.slotName,n):!1;case`first`:return i.moveNodesToSlotFirstById(t.parentId,t.slotName,n);case`last`:return i.moveNodesToSlotLastById(t.parentId,t.slotName,n)}}function Pe(e,t,n){let r=Me(e,t);if(!r)return[];t=r;let i=e.opsById;if(t.slotName===u.childSlotName)switch(t.position){case`before`:return t.positionId?i.beforeAddItemsById(t.positionId,n):[];case`after`:return t.positionId?i.afterAddItemsById(t.positionId,n):[];case`first`:return i.firstAddItemsById(t.parentId,n);case`last`:return i.appendItemsById(t.parentId,n)}switch(t.position){case`before`:return t.positionId?i.beforeAddSlotsById(t.positionId,t.slotName,n):[];case`after`:return t.positionId?i.afterAddSlotsById(t.positionId,t.slotName,n):[];case`first`:return i.firstAddSlotsById(t.parentId,t.slotName,n);case`last`:return i.appendSlotsById(t.parentId,t.slotName,n)}}function Fe(e){return e.placeholder?{parentId:e.containerId,slotName:e.slotName,position:`first`}:{parentId:e.containerId,slotName:e.slotName,position:e.before?`before`:`after`,positionId:e.nodeId}}function Ie(e){return e.filter(e=>c.Typeof.isObj(e)&&!c.Typeof.isArray(e))}var Le=class{name;designerState;options;addedNodeIds=[];constructor(e,t,n){this.designerState=e,this.name=t,this.options=n}execute(){return this.doAdd()}undo(){if(this.addedNodeIds.length<=0)return!1;let e=this.designerState.blockInstance;return e?(e.opsById.removeAllById(this.addedNodeIds),this.addedNodeIds=[],!0):!1}redo(){return this.doAdd()}doAdd(){let e=this.designerState.blockInstance;if(!e)return!1;let t=Ie(Pe(e,this.options.target,this.options.nodes));return t.length<=0?!1:(this.addedNodeIds=t.map(e=>e.id),this.options.onExecute?.(this.addedNodeIds),!0)}},Re=class{name;designerState;options;originPositions=[];constructor(e,t,n){this.designerState=e,this.name=t,this.options=n}execute(){return this.doMove()}undo(){if(this.originPositions.length<=0)return!1;let e=this.designerState.blockInstance;if(!e)return!1;let t=[...this.originPositions].sort((e,t)=>e.docIndex-t.docIndex),n=!1;for(let r of t)Ne(e,r.target,[r.nodeId])&&(n=!0);return n}redo(){return this.doMove()}doMove(){let e=this.designerState.blockInstance;if(!e)return!1;let t=this.options.nodeIds.filter(t=>e.globalContext.allNode[t]);if(t.length<=0)return!1;if(this.originPositions.length<=0){for(let n of t){let t=R(e,n);t&&this.originPositions.push({nodeId:n,target:t,docIndex:je(e,n)})}if(this.originPositions.length<=0)return!1}let n=Ne(e,this.options.target,t);return n&&this.options.onExecute?.(),n}},ze=new Set([u.htmlExtAttr.componentType,u.htmlExtAttr.nodeId,u.htmlExtAttr.nodeRef,u.htmlExtAttr.nodeParentId,u.htmlExtAttr.placeholderName,u.htmlExtAttr.slotName]);function Be(e){return d.default.cloneDeepWith(e,e=>{if(d.default.isFunction(e))return e})}function Ve(e){let t={};for(let n in e)ze.has(n)||(t[n]=e[n]);return t}function He(e){return e.filter(e=>d.default.has(e,`type`)).map(e=>d.default.isString(e)?e:z(e))}function z(e){let t={type:e.type,ref:e.ref,props:Ve(e.props)};if(e.listeners&&Object.keys(e.listeners).length>0&&(t.listeners=Be(e.listeners)),e.directives&&Object.keys(e.directives).length>0&&(t.directives=d.default.cloneDeep(e.directives)),e.tpl&&e.tpl.length>0&&(t.tpl=[...e.tpl]),e.items&&e.items.length>0&&(t.items=He(e.items)),e.slots&&Object.keys(e.slots).length>0){let n={};for(let t in e.slots){let r=e.slots[t];r&&r.length>0&&(n[t]=He(r))}Object.keys(n).length>0&&(t.slots=n)}let n=e;if(n.block){t.block=!0;for(let e of[`data`,`computed`,`watch`,`methods`,`lifeCycles`,`meta`,`i18n`]){let r=n[e];Ue(r)&&(t[e]=Be(r))}}return t}function Ue(e){return typeof e==`object`&&!!e&&Object.keys(e).length>0}var B=class{name;designerState;options;removedNodes=[];currentNodeIds=[];constructor(e,t,n){this.designerState=e,this.name=t,this.options=n}execute(){return this.doRemove()}undo(){if(this.removedNodes.length<=0)return!1;let e=this.designerState.blockInstance;if(!e)return!1;let t=[...this.removedNodes].sort((e,t)=>e.docIndex-t.docIndex),n=new Map,r=[],i=!1;for(let a of t){let t=Ie(Pe(e,this.mapInsertTarget(a.target,n),[a.designNode]));t.length>0&&(i=!0,n.set(a.oldNodeId,t[0].id),r.push(t[0].id))}return i&&(this.currentNodeIds=r),i}redo(){return this.doRemove()}mapInsertTarget(e,t){let n=t.get(e.positionId);return e.positionId&&n?{...e,positionId:n}:e}doRemove(){let e=this.designerState.blockInstance;if(!e)return!1;let t=this.currentNodeIds.length>0?this.currentNodeIds:this.options.nodeIds,n=[];for(let r of t){let t=e.globalContext.allNode[r];t&&e.globalContext.nodeParent[r]&&n.push(t)}if(n.length<=0)return!1;this.removedNodes=n.map(t=>({designNode:z(t),target:R(e,t.id),docIndex:je(e,t.id),oldNodeId:t.id})),this.currentNodeIds=n.map(e=>e.id);let r=n.map(e=>this.designerState.designerEngine.componentManage.getComponentMeta(e.type)?.name??e.type);return e.opsById.removeAllById(this.currentNodeIds),this.options.onExecute?.(r),!0}},We=class extends j{unsubscribes=[];onEffect(){this.dragDropEffect(),this.shortcutKeyEffect()}onDestroy(){this.unsubscribes.forEach(e=>e()),this.unsubscribes.length=0}getActiveState(){return this.designerEngine.activeDesignerState}dragDropEffect(){this.unsubscribes.push(this.eventbus.subscribe(ie,e=>{let t=this.getActiveState(),n=e.data,r=n.insertion;if(!r||!r.allowDrag||!t?.blockInstance)return;let i=Fe(r),a=n.nodeIds.filter(e=>e!==u.emptyNodeId);if(a.length>0){let e=new Re(t,`移动 ${a.length} 个组件`,{target:i,nodeIds:a,onExecute:()=>t.selectNodeByIds(a)});t.commandStack.execute(e)}else{let e=n.componentMetas.map(e=>({...d.default.cloneDeep(e.defDesignNode??{}),type:e.type})),r=new Le(t,`添加 ${e.length} 个组件`,{target:i,nodes:e,onExecute:e=>t.selectNodeByIds(e)});t.commandStack.execute(r)}},200))}shortcutKeyEffect(){this.unsubscribes.push(this.eventbus.subscribe(re,e=>{let t=e.data;if(t.type!==`keydown`)return;let n=this.getActiveState();if(!n)return;let r=t.ctrlKey||t.metaKey,i=t.rawEvent.target,a=!!i&&(i.tagName===`INPUT`||i.tagName===`TEXTAREA`||i.isContentEditable);if(r&&!t.shiftKey&&t.key===`z`){if(a)return;t.rawEvent.preventDefault(),n.commandStack.undo(),n.clearSelections();return}if(r&&(t.key===`y`||t.shiftKey&&t.key===`z`)){if(a)return;t.rawEvent.preventDefault(),n.commandStack.redo(),n.clearSelections();return}if((t.key===`delete`||t.key===`backspace`)&&n.existsSelection){if(a)return;t.rawEvent.preventDefault();let e=n.selections.map(e=>e.nodeId).filter(Boolean);if(e.length<=0)return;let r=new B(n,`删除 ${e.length} 个组件`,{nodeIds:e,onExecute:()=>n.clearSelections()});n.commandStack.execute(r)}}))}},V=class e{name;designerState;options;constructor(e,t,n){this.designerState=e,this.name=t,this.options=n}get changes(){return this.options.changes}execute(){return this.applyChanges(!1)}undo(){return this.applyChanges(!0)}redo(){return this.applyChanges(!1)}applyChanges(e){let t=this.designerState.blockInstance;if(!t)return!1;let n=[];for(let r of this.options.changes){let i=t.globalContext.allNode[r.nodeId];i&&(r.write(i,e?r.oldValue:r.newValue),n.push(i))}return n.length<=0?!1:(this.rerender(n),!0)}rerender(e){if(this.options.disableReRender)return;let t=this.designerState.blockInstance;t&&(t.$forceUpdate(),t.$nextTick(()=>{let t=new Set(e.map(e=>e.id));for(let e of this.designerState.selections)e.nodeId&&t.has(e.nodeId)&&e.recalcPosition()}))}tryMerge(t){if(!(t instanceof e))return!1;let n=new Set(this.options.changes.map(e=>`${e.nodeId}@${e.changeKey}`));if(!t.options.changes.some(e=>n.has(`${e.nodeId}@${e.changeKey}`)))return!1;for(let e of t.options.changes){let t=this.options.changes.find(t=>t.nodeId===e.nodeId&&t.changeKey===e.changeKey);t?t.newValue=e.newValue:this.options.changes.push(e)}return!0}},H=class e{name;designerState;options;constructor(e,t,n){this.designerState=e,this.name=t,this.options=n}execute(){return this.applyChanges(!1)}undo(){return this.applyChanges(!0)}redo(){return this.applyChanges(!1)}applyChanges(e){let t=this.designerState.blockInstance;if(!t)return!1;let n=t.opsById,r=!1;for(let t of this.options.changes){let i=e?t.oldListener:t.newListener;r=i?n.bindListenerById(t.nodeId,t.event,i)||r:n.removeListenerById(t.nodeId,t.event)||r}return r}tryMerge(t){if(!(t instanceof e))return!1;let n=new Set(this.options.changes.map(e=>`${e.nodeId}@${e.event}`));if(!t.options.changes.some(e=>n.has(`${e.nodeId}@${e.event}`)))return!1;for(let e of t.options.changes){let t=this.options.changes.find(t=>t.nodeId===e.nodeId&&t.event===e.event);t?t.newListener=e.newListener:this.options.changes.push(e)}return!0}},Ge={key:0,class:`design-canvas-selection-name`},Ke=(0,l.defineComponent)({name:`DesignCanvas`,__name:`DesignCanvas`,props:{designerState:{},block:{},autoLoadComponent:{type:Boolean,default:!0}},setup(e){let t=e,n=(0,l.ref)(),r=(0,l.ref)(),i,a=t.designerState.designerEngine.componentManage;(0,l.onMounted)(()=>{t.designerState.designerContainer=n.value,n.value&&typeof ResizeObserver<`u`&&(i=new ResizeObserver(()=>{t.designerState.hover.recalcPosition();for(let e of t.designerState.selections)e.recalcPosition()}),i.observe(n.value))}),(0,l.onBeforeUnmount)(()=>{i?.disconnect(),i=void 0,t.designerState.designerContainer===n.value&&(t.designerState.designerContainer=void 0)}),(0,l.watch)(()=>r.value?.blockInstance,e=>{t.designerState.designerBlockInstance=e},{immediate:!0});let o=t.designerState.hover,s=t.designerState.selections,c=t.designerState.designerEngine.insertion,d=(0,l.computed)(()=>{let e=o.position;return e?{position:`absolute`,top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`}:{display:`none`}}),f=(0,l.computed)(()=>s.map((e,t)=>{let n=e.position,r=n?{position:`absolute`,top:`${n.top}px`,left:`${n.left}px`,width:`${n.width}px`,height:`${n.height}px`}:{display:`none`};return{key:e.nodeId??String(t),style:r,name:e.componentMeta?.name??``}})),p=(0,l.computed)(()=>{let e=c.position;return!e||c.isEmpty()?{display:`none`}:c.isHorizontal()?{position:`absolute`,top:`${c.isBefore()?e.top:e.top+e.height}px`,left:`${e.left}px`,width:`${e.width}px`,height:`2px`}:{position:`absolute`,top:`${e.top}px`,left:`${c.isBefore()?e.left:e.left+e.width}px`,width:`2px`,height:`${e.height}px`}});return(e,i)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{ref_key:`containerRef`,ref:n,class:`design-canvas designer-content`},[(0,l.createVNode)((0,l.unref)(u.BlockComponent),{ref_key:`blockComponentRef`,ref:r,componentManage:(0,l.unref)(a),block:t.block,autoLoadComponent:t.autoLoadComponent,isDesigning:!0},null,8,[`componentManage`,`block`,`autoLoadComponent`]),(0,l.unref)(o).nodeId?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:`design-canvas-hover`,style:(0,l.normalizeStyle)(d.value)},null,4)):(0,l.createCommentVNode)(``,!0),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(f.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.key,class:`design-canvas-selection`,style:(0,l.normalizeStyle)(e.style)},[e.name?((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Ge,(0,l.toDisplayString)(e.name),1)):(0,l.createCommentVNode)(``,!0)],4))),128)),(0,l.createElementVNode)(`div`,{class:`design-canvas-insertion`,style:(0,l.normalizeStyle)(p.value)},null,4)],512))}}),U=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},qe=U(Ke,[[`__scopeId`,`data-v-8c34617f`]]),Je={class:`designer-ghost-name`},Ye=U((0,l.defineComponent)({name:`DragGhost`,__name:`DragGhost`,props:{designerEngine:{}},setup(e){let t=e,n=(0,l.ref)(),r=t.designerEngine.cursor,i=t.designerEngine.draggingCmpMetas,a=(0,l.computed)(()=>{if(!n.value)return{};let e=r.position;return!c.Typeof.isNum(e.topClientX)||!c.Typeof.isNum(e.topClientY)?{}:{transform:`perspective(1px) translate3d(${e.topClientX-6}px, ${e.topClientY-20}px, 0) scale(0.8)`}});return(e,t)=>((0,l.openBlock)(),(0,l.createBlock)(l.Teleport,{to:`body`},[(0,l.unref)(r).status===(0,l.unref)(g).Dragging&&(0,l.unref)(i).existsCmpMeta?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,ref_key:`ghost`,ref:n,class:`designer-ghost`,style:(0,l.normalizeStyle)(a.value)},[(0,l.createElementVNode)(`span`,Je,(0,l.toDisplayString)((0,l.unref)(i).cmpMetas.map(e=>e.name).join(`,`)),1)],4)):(0,l.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-eab9afd4`]]),Xe={class:`designer-props-label`},Ze={key:1},Qe={class:`designer-props-control`},$e=[`onClick`],et=U((0,l.defineComponent)({name:`SetterPropsGroup`,__name:`SetterPropsGroup`,props:{designerState:{},group:{}},setup(e){let t=e,n=(0,l.computed)(()=>t.designerState.selectNodes);function r(e){return c.Typeof.isStr(e)&&!(0,u.isHtmlTag)(e)?t.designerState.designerEngine.componentManage.getComponent(e):e}function i(e){let{cmp:r,cmpProps:i,label:a,labelTips:o,enableBind:s,isHideSetter:c,watchValue:l,...u}=e;return{designerState:t.designerState,blockInstance:t.designerState.blockInstance,nodes:n.value,...i,...u}}function a(e){let{propsName:t,enableBind:r}=e;if(r===!1||c.Typeof.noValue(t))return!1;let i=n.value,a=new Set;for(let e of i)a.add(e.props[t]);if(a.size!==1)return!1;let o=a.values().next().value;if(!c.Typeof.isStr(o))return!1;let s=d.default.trim(o);return s.startsWith(`{{`)&&s.endsWith(`}}`)}function o(e){let{propsName:r}=e;if(c.Typeof.noValue(r))return;let i=n.value,o=!a(e);for(let e of i){let t=e.designExt;if(t.tmpBindProps||={},t.tmpUnbindProps||={},o)d.default.hasIn(e.props,r)?t.tmpUnbindProps[r]=e.props[r]:delete t.tmpUnbindProps[r],e.props[r]=t.tmpBindProps[r]??`{{ }}`;else{let n=e.props[r];if(c.Typeof.isStr(n)){let e=d.default.trim(n);e.startsWith(`{{`)&&e.endsWith(`}}`)&&(t.tmpBindProps[r]=e)}d.default.hasIn(t.tmpUnbindProps,r)?t.tmpUnbindProps[r]=e.props[r]:delete e.props[r]}}t.designerState.blockInstance?.$forceUpdate(),t.designerState.setterShareState.notifyPanelUpdate()}return(e,n)=>((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(t.group.items,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:t,class:`designer-props-item`},[(0,l.createElementVNode)(`div`,Xe,[e.labelTips?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Tooltip),{key:0,title:e.labelTips},{default:(0,l.withCtx)(()=>[(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(e.label),1)]),_:2},1032,[`title`])):((0,l.openBlock)(),(0,l.createElementBlock)(`span`,Ze,(0,l.toDisplayString)(e.label),1))]),(0,l.createElementVNode)(`div`,Qe,[r(e.cmp)?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(r(e.cmp)),(0,l.mergeProps)({key:0,ref_for:!0},i(e)),null,16)):(0,l.createCommentVNode)(``,!0)]),e.enableBind!==!1&&e.propsName?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:0,class:(0,l.normalizeClass)([`designer-props-bind`,{"designer-props-bind-active":a(e)}]),title:`切换数据绑定(值使用 {{ 表达式 }})`,onClick:t=>o(e)},(0,l.toDisplayString)(`{ }`),10,$e)):(0,l.createCommentVNode)(``,!0)]))),128))}}),[[`__scopeId`,`data-v-da94f8a5`]]),tt={class:`designer-props-node`},nt={class:`designer-props-node-name`},rt={class:`designer-props-node-type`},it=U((0,l.defineComponent)({name:`SetterPropsPanel`,__name:`SetterPropsPanel`,props:{designerState:{},propsPanel:{}},setup(e){let t=e,n=(0,l.computed)(()=>t.designerState.setterShareState.expandGroups),r=(0,l.computed)(()=>t.designerState.selectNode?(t.propsPanel?.groups??[]).map(e=>{let t=e.items.filter(e=>!i(e));return{...e,items:t}}).filter(e=>e.items.length>0):[]);function i(e){if(!e.isHideSetter)return!1;let n=t.designerState.selectNode;return n?e.isHideSetter(n,t.designerState.selectNodes,void 0)===!0:!1}let a=(0,l.computed)(()=>r.value.map(e=>({key:e.title,label:e.title,content:(0,l.h)(et,{designerState:t.designerState,group:e})})));return(0,l.watch)(()=>t.designerState.selectedComponentMeta,()=>{t.designerState.setterShareState.recalcExpandGroups()},{immediate:!0}),(e,r)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:t.designerState.setterShareState.panelVersion,class:`designer-props-panel`},[t.designerState.existsSelection?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[(0,l.createElementVNode)(`div`,tt,[(0,l.createElementVNode)(`span`,nt,(0,l.toDisplayString)(t.designerState.selectedComponentMeta?.name??`-`),1),(0,l.createElementVNode)(`span`,rt,(0,l.toDisplayString)(t.designerState.selectNode?.type),1)]),(0,l.createVNode)((0,l.unref)(f.Collapse),{activeKey:n.value.props,"onUpdate:activeKey":r[0]||=e=>n.value.props=e,ghost:``,size:`small`,items:a.value},null,8,[`activeKey`,`items`])],64)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Empty),{key:0,description:`请选择画布中的组件`}))]))}}),[[`__scopeId`,`data-v-08d0d16e`]]),at=[{title:`布局`,disableKey:`disableLayout`,items:[{property:`display`,label:`显示类型`,cmp:`SelectSetter`,options:[{value:`block`,label:`块级(block)`},{value:`inline-block`,label:`行内块(inline-block)`},{value:`inline`,label:`行内(inline)`},{value:`flex`,label:`弹性(flex)`},{value:`inline-flex`,label:`行内弹性(inline-flex)`},{value:`grid`,label:`网格(grid)`},{value:`inline-grid`,label:`行内网格(inline-grid)`},{value:`none`,label:`隐藏(none)`}]},{property:`flexDirection`,label:`主轴方向`,cmp:`SelectSetter`,options:[{value:`row`,label:`水平(row)`},{value:`column`,label:`垂直(column)`},{value:`row-reverse`,label:`水平反转`},{value:`column-reverse`,label:`垂直反转`}]},{property:`justifyContent`,label:`主轴对齐`,cmp:`SelectSetter`,options:[{value:`flex-start`,label:`起始`},{value:`center`,label:`居中`},{value:`flex-end`,label:`末尾`},{value:`space-between`,label:`两端`},{value:`space-around`,label:`环绕`},{value:`space-evenly`,label:`均分`}]},{property:`alignItems`,label:`交叉对齐`,cmp:`SelectSetter`,options:[{value:`flex-start`,label:`起始`},{value:`center`,label:`居中`},{value:`flex-end`,label:`末尾`},{value:`stretch`,label:`拉伸`},{value:`baseline`,label:`基线`}]},{property:`flexWrap`,label:`换行`,cmp:`SelectSetter`,options:[{value:`nowrap`,label:`不换行`},{value:`wrap`,label:`换行`},{value:`wrap-reverse`,label:`反转换行`}]},{property:`gap`,label:`间距`,cmp:`StringSetter`}]},{title:`网格`,visible:e=>String(e.display??``).includes(`grid`),items:[{property:`gridTemplateColumns`,label:`列模板`,cmp:`StringSetter`},{property:`gridTemplateRows`,label:`行模板`,cmp:`StringSetter`},{property:`gridAutoFlow`,label:`排列方向`,cmp:`SelectSetter`,options:[{value:`row`,label:`按行`},{value:`column`,label:`按列`},{value:`dense`,label:`密集`}]},{property:`gridGap`,label:`网格间距`,cmp:`StringSetter`}]},{title:`间距`,disableKey:`disableSpacing`,items:[{property:`margin`,label:`外边距`,cmp:`StringSetter`},{property:`marginTop`,label:`外边距(上)`,cmp:`StringSetter`},{property:`marginRight`,label:`外边距(右)`,cmp:`StringSetter`},{property:`marginBottom`,label:`外边距(下)`,cmp:`StringSetter`},{property:`marginLeft`,label:`外边距(左)`,cmp:`StringSetter`},{property:`padding`,label:`内边距`,cmp:`StringSetter`},{property:`paddingTop`,label:`内边距(上)`,cmp:`StringSetter`},{property:`paddingRight`,label:`内边距(右)`,cmp:`StringSetter`},{property:`paddingBottom`,label:`内边距(下)`,cmp:`StringSetter`},{property:`paddingLeft`,label:`内边距(左)`,cmp:`StringSetter`}]},{title:`尺寸`,disableKey:`disableSize`,items:[{property:`width`,label:`宽度`,cmp:`StringSetter`},{property:`height`,label:`高度`,cmp:`StringSetter`},{property:`minWidth`,label:`最小宽度`,cmp:`StringSetter`},{property:`minHeight`,label:`最小高度`,cmp:`StringSetter`},{property:`maxWidth`,label:`最大宽度`,cmp:`StringSetter`},{property:`maxHeight`,label:`最大高度`,cmp:`StringSetter`}]},{title:`定位`,disableKey:`disablePosition`,items:[{property:`position`,label:`定位方式`,cmp:`SelectSetter`,options:[{value:`static`,label:`静态`},{value:`relative`,label:`相对`},{value:`absolute`,label:`绝对`},{value:`fixed`,label:`固定`},{value:`sticky`,label:`粘性`}]},{property:`top`,label:`上偏移`,cmp:`StringSetter`},{property:`right`,label:`右偏移`,cmp:`StringSetter`},{property:`bottom`,label:`下偏移`,cmp:`StringSetter`},{property:`left`,label:`左偏移`,cmp:`StringSetter`},{property:`zIndex`,label:`层级`,cmp:`StringSetter`}]},{title:`文本`,disableKey:`disableFont`,items:[{property:`fontSize`,label:`字号`,cmp:`StringSetter`},{property:`fontWeight`,label:`字重`,cmp:`SelectSetter`,options:[{value:`normal`,label:`常规`},{value:`bold`,label:`加粗`},{value:`300`,label:`细`},{value:`500`,label:`中`},{value:`600`,label:`半粗`},{value:`800`,label:`特粗`}]},{property:`color`,label:`颜色`,cmp:`ColorSetter`},{property:`textAlign`,label:`对齐`,cmp:`SelectSetter`,options:[{value:`left`,label:`左`},{value:`center`,label:`中`},{value:`right`,label:`右`},{value:`justify`,label:`两端`}]},{property:`lineHeight`,label:`行高`,cmp:`StringSetter`},{property:`fontFamily`,label:`字体`,cmp:`StringSetter`},{property:`textDecoration`,label:`修饰`,cmp:`SelectSetter`,options:[{value:`none`,label:`无`},{value:`underline`,label:`下划线`},{value:`line-through`,label:`删除线`},{value:`overline`,label:`上划线`}]}]},{title:`边框`,disableKey:`disableBorder`,items:[{property:`borderWidth`,label:`边框宽度`,cmp:`StringSetter`},{property:`borderStyle`,label:`边框样式`,cmp:`SelectSetter`,options:[{value:`none`,label:`无`},{value:`solid`,label:`实线`},{value:`dashed`,label:`虚线`},{value:`dotted`,label:`点线`},{value:`double`,label:`双线`}]},{property:`borderColor`,label:`边框颜色`,cmp:`ColorSetter`},{property:`borderRadius`,label:`圆角`,cmp:`StringSetter`}]},{title:`背景与效果`,disableKey:`disableEffect`,items:[{property:`backgroundColor`,label:`背景颜色`,cmp:`ColorSetter`},{property:`backgroundImage`,label:`背景图片`,cmp:`StringSetter`},{property:`opacity`,label:`不透明度`,cmp:`StringSetter`},{property:`boxShadow`,label:`阴影`,cmp:`StringSetter`},{property:`cursor`,label:`光标`,cmp:`SelectSetter`,options:[{value:`auto`,label:`自动`},{value:`pointer`,label:`手型`},{value:`not-allowed`,label:`禁止`},{value:`move`,label:`移动`},{value:`text`,label:`文本`}]},{property:`overflow`,label:`溢出`,cmp:`SelectSetter`,options:[{value:`visible`,label:`可见`},{value:`hidden`,label:`隐藏`},{value:`auto`,label:`自动`},{value:`scroll`,label:`滚动`}]}]}],ot=350;function W(e){if(!c.Typeof.noValue(e)){if(c.Typeof.isStr(e))try{return(0,m.parseStringStyle)(e)}catch{return}if(c.Typeof.isObj(e))return e}}function st(e,t,n,r){let{nodes:i}=e;if(!i)return;let a=new Set;for(let e of i){let r,i=W(e.props?.style);if(i&&(r=d.default.get(i,t)),c.Typeof.isFunction(n)&&(r=n(r)),c.Typeof.noValue(r)&&(r=void 0),a.add(r),a.size>1)break}if(!(a.size<=0)){if(a.size===1)return a.values().next().value;r?.(!0)}}var G,ct=d.default.debounce(function(){let e=G;if(G=void 0,!e)return;let{props:t,styleValues:n}=e,r=t.designerState,{nodes:i}=t;if(!i||i.length<=0)return;let a=[];for(let e of i){let t=W(e.props?.style)??{},r={};for(let e in n)r[e]=d.default.get(t,e);a.push({nodeId:e.id,changeKey:`style`,oldValue:r,newValue:{...n},write:(e,t)=>{let n=W(e.props?.style)??{};for(let e in t){let r=t[e];c.Typeof.noValue(r)||c.Typeof.isStr(r)&&d.default.trim(r).length<=0?d.default.unset(n,e):d.default.set(n,e,r)}e.props.style=n}})}a.length<=0||r.commandStack.execute(new V(r,`修改样式`,{changes:a}))},350);function lt(e,t){(!G||G.props!==e)&&(G&&ct.flush(),G={props:e,styleValues:{}}),Object.assign(G.styleValues,t),ct()}function ut(e,t){let{designerState:n,nodes:r}=e;if(!r||r.length<=0)return;let i=d.default.trim(t??``),a=[];for(let e of r){c.Typeof.noValue(e.designExt.rawPropsClass)&&(e.designExt.rawPropsClass=e.props.class??``);let t=[d.default.trim(e.designExt.rawPropsClass),i].filter(e=>e.length>0).join(` `),n=e.props.class;d.default.trim(n??``)!==t&&a.push({nodeId:e.id,changeKey:`class`,oldValue:n,newValue:t.length>0?t:void 0,write:(e,t)=>{e.props.class=t}})}a.length<=0||n.commandStack.execute(new V(n,`切换主题样式`,{changes:a}))}function dt(e,t){let{nodes:n}=e;if(!n||n.length!==1)return;let r=n[0];c.Typeof.noValue(r.designExt.rawPropsClass)&&(r.designExt.rawPropsClass=r.props.class??``);let i=d.default.trim(r.designExt.rawPropsClass),a=d.default.trim(r.props.class?.substring(i.length)??``);return t.find(e=>e.class===a)?.class}var ft={class:`designer-style-label`},pt=[`title`],mt={class:`designer-style-control`},ht=U((0,l.defineComponent)({name:`SetterStyleGroup`,__name:`SetterStyleGroup`,props:{designerState:{},group:{}},setup(e){let t=e,n=(0,l.computed)(()=>({designerState:t.designerState,blockInstance:t.designerState.blockInstance,nodes:t.designerState.selectNodes}));function r(e){return st(n.value,e.property)}function i(e,t){lt(n.value,{[e.property]:t})}function a(e){return{designerState:t.designerState,blockInstance:t.designerState.blockInstance,nodes:t.designerState.selectNodes,getPropsValue:t=>r(e),applyPropsValue:(t,n)=>(i(e,n),!1),...e.cmp===`SelectSetter`?{options:e.options}:{}}}function o(e){return t.designerState.designerEngine.componentManage.getComponent(e)}return(e,n)=>((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(t.group.items,(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.property+t,class:`designer-style-item`},[(0,l.createElementVNode)(`div`,ft,[(0,l.createElementVNode)(`span`,{title:e.property},(0,l.toDisplayString)(e.label),9,pt)]),(0,l.createElementVNode)(`div`,mt,[o(e.cmp)?((0,l.openBlock)(),(0,l.createBlock)((0,l.resolveDynamicComponent)(o(e.cmp)),(0,l.mergeProps)({key:0,ref_for:!0},a(e)),null,16)):(0,l.createCommentVNode)(``,!0)])]))),128))}}),[[`__scopeId`,`data-v-f020ce55`]]),gt={class:`designer-style-panel`},_t={key:0,class:`designer-style-theme-item`},vt={class:`designer-style-theme-control`},yt=U((0,l.defineComponent)({name:`SetterStylePanel`,__name:`SetterStylePanel`,props:{designerState:{},stylePanel:{}},setup(e){let t=e,n=(0,l.computed)(()=>({designerState:t.designerState,blockInstance:t.designerState.blockInstance,nodes:t.designerState.selectNodes})),r=(0,l.computed)(()=>{let e=t.designerState.selectNode;return e?W(e.props?.style)??{}:{}}),i=(0,l.computed)(()=>{let e=t.stylePanel??{},n=r.value;return at.filter(t=>!(t.disableKey&&e[t.disableKey]||t.visible&&!t.visible(n)))}),a=(0,l.computed)(()=>t.designerState.selectedComponentMeta?.setter.style?.componentStyles?.map(e=>({value:e.class,label:e.name}))??[]),o=(0,l.computed)(()=>dt(n.value,t.designerState.selectedComponentMeta?.setter.style?.componentStyles??[]));function s(e){ut(n.value,e)}let c=(0,l.computed)(()=>i.value.map(e=>({key:e.title,label:e.title,content:(0,l.h)(ht,{designerState:t.designerState,group:e})}))),u=(0,l.computed)({get:()=>(t.designerState.setterShareState.expandGroups.style??[]).slice(),set:e=>{t.designerState.setterShareState.expandGroups={...t.designerState.setterShareState.expandGroups,style:e}}});return(0,l.watch)(()=>t.designerState.selectedComponentMeta,()=>{t.designerState.setterShareState.recalcExpandGroups()}),(e,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,gt,[t.designerState.existsSelection?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[a.value.length>0?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,_t,[n[1]||=(0,l.createElementVNode)(`div`,{class:`designer-style-theme-label`},`主题样式`,-1),(0,l.createElementVNode)(`div`,vt,[(0,l.createVNode)((0,l.unref)(f.Select),{allowClear:``,placeholder:`选择主题`,options:a.value,value:o.value||void 0,onChange:s},null,8,[`options`,`value`])])])):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(f.Collapse),{activeKey:u.value,"onUpdate:activeKey":n[0]||=e=>u.value=e,ghost:``,size:`small`,items:c.value},null,8,[`activeKey`,`items`])],64)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Empty),{key:0,description:`请选择画布中的组件`}))]))}}),[[`__scopeId`,`data-v-abf7f607`]]),bt={class:`designer-event-group-title`},xt={class:`designer-event-name`},St={class:`designer-event-key`},Ct={class:`designer-event-actions`},wt={key:0,class:`designer-event-editor`},Tt={class:`designer-event-editor-title`},Et={class:`designer-event-editor-actions`},Dt=U((0,l.defineComponent)({name:`SetterEventPanel`,__name:`SetterEventPanel`,props:{designerState:{},eventPanel:{}},setup(e){let t=e,n=[{title:`鼠标事件`,items:[{name:`click`,description:`单击`},{name:`dblclick`,description:`双击`},{name:`mouseenter`,description:`移入`},{name:`mouseleave`,description:`移出`},{name:`mousedown`,description:`按下`},{name:`mouseup`,description:`弹起`}]},{title:`键盘事件`,items:[{name:`keydown`,description:`按下`},{name:`keyup`,description:`弹起`}]}],r=(0,l.computed)(()=>t.designerState.selectNodes),i=(0,l.computed)(()=>{let e=[],r=t.eventPanel?.groups;r&&r.length>0&&e.push(...r);let i=t.eventPanel?.excludeInnerEvents;if(t.eventPanel?.includeInnerEvents!==!1)for(let t of n)i?.includes(t.title)||e.push(t);return e}),a=(0,l.reactive)({event:``,code:``,new:!1});function o(e){return(0,u.toPropsEventName)(e)}function s(e){let t=o(e),n=new Set;for(let e of r.value)n.add(e.listeners[t]);if(n.size===1)return n.values().next().value}function p(e){return!!s(e)?.handler}function m(e){let t=s(e)?.handler;if(!c.Typeof.isFun(t))return``;try{let e=t.toString(),n=e.match(/\{([\s\S]*)\}$/);return n?n[1].trim():e}catch{return``}}function h(e){a.event=e,a.code=m(e)||`console.log('事件触发', event)`,a.new=!p(e)}function g(){let e=a.event;if(!e)return;let n=t.designerState;if(!n.blockInstance)return;let i=d.default.trim(a.code),s;try{i.length>0&&(s=(0,u.createFun)({code:i}))}catch(e){console.warn(`[EventPanel] 事件函数解析失败`,e);return}let c=o(e),l=[];for(let t of r.value){let n=t.listeners[c];s&&n?.handler&&Function.prototype.toString.call(n.handler)===Function.prototype.toString.call(s)||l.push({nodeId:t.id,event:e,oldListener:n,newListener:s?{handler:s}:void 0})}a.event=``,l.length>0&&n.commandStack.execute(new H(n,`绑定事件 ${e}`,{changes:l}))}function _(e){let n=t.designerState;if(!n.blockInstance)return;let i=o(e),a=[];for(let t of r.value){let n=t.listeners[i];n&&a.push({nodeId:t.id,event:e,oldListener:n,newListener:void 0})}a.length>0&&n.commandStack.execute(new H(n,`解绑事件 ${e}`,{changes:a}))}return(e,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:t.designerState.setterShareState.panelVersion,class:`designer-event-panel`},[t.designerState.existsSelection?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(i.value,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.title,class:`designer-event-group`},[(0,l.createElementVNode)(`div`,bt,(0,l.toDisplayString)(e.title),1),((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.items,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.name,class:`designer-event-item`},[(0,l.createElementVNode)(`div`,xt,[(0,l.createTextVNode)((0,l.toDisplayString)(e.description??e.name)+` `,1),(0,l.createElementVNode)(`span`,St,(0,l.toDisplayString)(e.name),1)]),(0,l.createElementVNode)(`div`,Ct,[p(e.name)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Tag),{key:0,color:`blue`,class:`designer-event-tag`},{default:(0,l.withCtx)(()=>[...n[2]||=[(0,l.createTextVNode)(`已绑定`,-1)]]),_:1})):(0,l.createCommentVNode)(``,!0),(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`link`,onClick:t=>h(e.name)},{default:(0,l.withCtx)(()=>[(0,l.createTextVNode)((0,l.toDisplayString)(p(e.name)?`编辑`:`绑定`),1)]),_:2},1032,[`onClick`]),p(e.name)?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Button),{key:1,size:`small`,type:`link`,danger:``,onClick:t=>_(e.name)},{default:(0,l.withCtx)(()=>[...n[3]||=[(0,l.createTextVNode)(`解绑`,-1)]]),_:1},8,[`onClick`])):(0,l.createCommentVNode)(``,!0)])]))),128))]))),128)),a.event?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,wt,[(0,l.createElementVNode)(`div`,Tt,[n[4]||=(0,l.createTextVNode)(` 编辑事件函数: `,-1),(0,l.createElementVNode)(`b`,null,(0,l.toDisplayString)(a.event),1)]),(0,l.withDirectives)((0,l.createElementVNode)(`textarea`,{class:`designer-event-textarea`,"onUpdate:modelValue":n[0]||=e=>a.code=e,placeholder:`函数体字符串(如: console.log('click', event)), 留空清除绑定`},null,512),[[l.vModelText,a.code]]),(0,l.createElementVNode)(`div`,Et,[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`primary`,onClick:g},{default:(0,l.withCtx)(()=>[...n[5]||=[(0,l.createTextVNode)(`保存`,-1)]]),_:1}),(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,onClick:n[1]||=e=>a.event=``},{default:(0,l.withCtx)(()=>[...n[6]||=[(0,l.createTextVNode)(`取消`,-1)]]),_:1})])])):(0,l.createCommentVNode)(``,!0)],64)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Empty),{key:0,description:`请选择画布中的组件`}))]))}}),[[`__scopeId`,`data-v-f03d037b`]]),Ot={key:0,class:`designer-advanced-item`},kt={class:`designer-advanced-control`},At={class:`designer-advanced-switch`},jt=[`checked`],Mt={key:1,class:`designer-advanced-item designer-advanced-column`},Nt={class:`designer-advanced-control`},Pt=[`value`],Ft={key:2,class:`designer-advanced-item designer-advanced-column`},It={class:`designer-advanced-control`},Lt=[`value`],Rt=U((0,l.defineComponent)({name:`SetterAdvancedPanel`,__name:`SetterAdvancedPanel`,props:{designerState:{},advancedPanel:{}},setup(e){let t=e,n=(0,l.computed)(()=>t.designerState.selectNodes);function r(e){let t=d.default.trim(e).match(/^(.+?)\s+in\s+(.+)$/);if(!t)return;let n=d.default.trim(t[1]).replace(/^\((.+)\)$/,`$1`),r=d.default.trim(t[2]),i=n.split(`,`).map(e=>d.default.trim(e)).filter(e=>e.length>0);if(!(i.length<=0||r.length<=0))return{data:r,item:i[0],key:i[1],index:i[2]}}function i(e){if(c.Typeof.isStr(e))return e;if(!c.Typeof.isObj(e))return``;let t=[e.item,e.key,e.index].filter(e=>c.Typeof.isStr(e)&&d.default.trim(e).length>0).map(e=>d.default.trim(e)),n=c.Typeof.isStr(e.data)?d.default.trim(e.data):``;return t.length<=0||n.length<=0?``:t.length>1?`(${t.join(`, `)}) in ${n}`:`${t[0]} in ${n}`}function a(e){if(!n.value[0])return;let t=new Set;for(let r of n.value){let n=r.directives[e];t.add(c.Typeof.isObj(n)&&!c.Typeof.isStr(n)?n.value:n)}if(t.size===1)return t.values().next().value}let o=(0,l.computed)(()=>{let e=n.value[0];return!e||(c.Typeof.isObj(e.props?.style)?e.props.style:{}).display!==`none`}),s=(0,l.computed)(()=>c.Typeof.isStr(a(`if`))?a(`if`):String(a(`if`)??``)),u=(0,l.computed)(()=>i(a(`for`)));function p(e,t,n){n.length<=0||e.commandStack.execute(new V(e,t,{changes:n}))}function m(e){let r=t.designerState;if(!r.blockInstance)return;let i=[];for(let t of n.value){let n=c.Typeof.isObj(t.props?.style)?{...t.props.style}:{},r=t.props.style;e?n.display===`none`&&delete n.display:n.display=`none`,!d.default.isEqual(r,n)&&i.push({nodeId:t.id,changeKey:`style:display`,oldValue:r,newValue:n,write:(e,t)=>{e.props.style=c.Typeof.isObj(t)?t:void 0}})}p(r,e?`显示节点`:`隐藏节点`,i)}function h(e,i){let a=t.designerState;if(!a.blockInstance)return;let o=d.default.trim(String(i??``)),s;if(e===`for`){if(o.length>0&&(s=r(o),!s))return}else s=o.length>0?o:void 0;let l=[];for(let t of n.value){let n=t.directives[e];d.default.isEqual(n,s)||l.push({nodeId:t.id,changeKey:`directives:${e}`,oldValue:n,newValue:s,write:(t,n)=>{c.Typeof.noValue(n)?delete t.directives[e]:t.directives[e]=n}})}p(a,`修改 v-${e} 指令`,l)}return(e,n)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:t.designerState.setterShareState.panelVersion,class:`designer-advanced-panel`},[t.designerState.existsSelection?((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:1},[t.advancedPanel?.disableVShow?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ot,[n[3]||=(0,l.createElementVNode)(`div`,{class:`designer-advanced-label`},`显示(v-show)`,-1),(0,l.createElementVNode)(`div`,kt,[(0,l.createElementVNode)(`label`,At,[(0,l.createElementVNode)(`input`,{type:`checkbox`,checked:o.value,onChange:n[0]||=e=>m(e.target.checked)},null,40,jt),(0,l.createElementVNode)(`span`,null,(0,l.toDisplayString)(o.value?`显示`:`隐藏`),1)])])])),t.advancedPanel?.disableVIf?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Mt,[n[4]||=(0,l.createElementVNode)(`div`,{class:`designer-advanced-label`},`条件渲染(v-if)`,-1),(0,l.createElementVNode)(`div`,Nt,[(0,l.createElementVNode)(`textarea`,{class:`designer-advanced-textarea`,placeholder:`条件表达式, 如: {{ flag }} 或 flag === 1; 留空删除指令`,value:s.value,onChange:n[1]||=e=>h(`if`,e.target.value)},null,40,Pt)])])),t.advancedPanel?.disableVFor?(0,l.createCommentVNode)(``,!0):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Ft,[n[5]||=(0,l.createElementVNode)(`div`,{class:`designer-advanced-label`},`循环渲染(v-for)`,-1),(0,l.createElementVNode)(`div`,It,[(0,l.createElementVNode)(`textarea`,{class:`designer-advanced-textarea`,placeholder:`循环表达式, 如: item in items; 留空删除指令`,value:u.value,onChange:n[2]||=e=>h(`for`,e.target.value)},null,40,Lt)])]))],64)):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Empty),{key:0,description:`请选择画布中的组件`}))]))}}),[[`__scopeId`,`data-v-32c36650`]]),zt={class:`designer-material-panel`},Bt={class:`designer-material-search`},Vt={key:0},Ht={class:`designer-material-group-title`},Ut={class:`designer-material-items`},Wt=[`data-component-type`,`title`],Gt={key:1,class:`designer-material-empty`},Kt=U((0,l.defineComponent)({name:`MaterialPanel`,__name:`MaterialPanel`,props:{designerState:{},materialTabs:{},dependence:{}},setup(e){let t=e,n=(0,l.ref)(``),r=(0,l.ref)({});(0,l.onMounted)(async()=>{let e=new Set,n=r=>{if(e.has(r))return;e.add(r);let i=t.dependence?.[r];i&&i.forEach(e=>n(e))};for(let e of t.materialTabs??[])for(let t of e.groups)for(let e of t.types)n(e);if(!(e.size<=0))try{let n=Array.from(e),[i]=await Promise.all([t.designerState.designerEngine.componentManage.loadAsyncComponentMeta(n),t.designerState.designerEngine.componentManage.loadAsyncComponent(n.filter(e=>!(0,u.isHtmlTag)(e)))]);r.value=i}catch(e){console.warn(`加载物料元信息失败`,e)}});let i=(0,l.computed)(()=>{let e=(n.value??``).trim().toLowerCase();return(t.materialTabs??[]).map(t=>({...t,groups:t.groups.map(e=>({...e,metas:e.types.map(e=>r.value[e]).filter(Boolean)})).filter(e=>e.metas.length>0).map(t=>({...t,metas:e.length>0?t.metas.filter(t=>t.name.toLowerCase().includes(e)||t.type.toLowerCase().includes(e)):t.metas})).filter(e=>e.metas.length>0)})).filter(e=>e.groups.length>0)}),a=(0,l.computed)(()=>i.value.map(e=>({key:e.title,label:e.title})));return(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,zt,[(0,l.createElementVNode)(`div`,Bt,[(0,l.createVNode)((0,l.unref)(f.Input),{value:n.value,"onUpdate:value":t[0]||=e=>n.value=e,size:`small`,allowClear:``,placeholder:`搜索组件`},null,8,[`value`])]),i.value.length>0?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Tabs),{key:0,size:`small`,class:`designer-material-tabs`,items:a.value},{contentRender:(0,l.withCtx)(({item:e})=>[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(i.value,t=>((0,l.openBlock)(),(0,l.createElementBlock)(l.Fragment,{key:t.title},[t.title===e.key?((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Vt,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(t.groups,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.title,class:`designer-material-group`},[(0,l.createElementVNode)(`div`,Ht,(0,l.toDisplayString)(e.title),1),(0,l.createElementVNode)(`div`,Ut,[((0,l.openBlock)(!0),(0,l.createElementBlock)(l.Fragment,null,(0,l.renderList)(e.metas,e=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,{key:e.type,class:`draggable material-item`,"data-component-type":e.type,title:e.type},(0,l.toDisplayString)(e.name),9,Wt))),128))])]))),128))])):(0,l.createCommentVNode)(``,!0)],64))),128))]),_:1},8,[`items`])):((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Gt,`未配置物料或无匹配组件`))]))}}),[[`__scopeId`,`data-v-7b3124e5`]]),qt={class:`designer-outline-panel`},Jt=U((0,l.defineComponent)({name:`OutlinePanel`,__name:`OutlinePanel`,props:{designerState:{}},setup(e){let t=e;function n(e,r=0){if(r>30)return[];let i=[];for(let a of e){if(!c.Typeof.isObj(a)||c.Typeof.isArray(a))continue;let e=a,o=t.designerState.designerEngine.componentManage.getComponentMeta(e.type),s=[];s.push(...n(e.items??[],r+1));for(let t in e.slots){let i=n(e.slots[t]??[],r+1);i.length>0&&s.push(...i)}i.push({title:o?.name??e.type,key:e.id,children:s.length>0?s:void 0})}return i}let r=(0,l.computed)(()=>{let e=t.designerState.blockInstance?.globalContext.runtimeBlock;return e?n(e.items??[]):[]}),i=(0,l.computed)(()=>t.designerState.selections.map(e=>e.nodeId).filter(Boolean));function a(e){e.length===1&&t.designerState.selectNodeByIds([e[0]])}return(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,qt,[r.value.length<=0?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Empty),{key:0,description:`画布为空`})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Tree),{key:1,"block-node":``,"tree-data":r.value,"selected-keys":i.value,"default-expand-all":``,onSelect:a},null,8,[`tree-data`,`selected-keys`]))]))}}),[[`__scopeId`,`data-v-08830f87`]]),Yt={class:`designer-workbench`},Xt={class:`designer-workbench-toolbar`},Zt={class:`designer-workbench-toolbar-group`},Qt={class:`designer-workbench-toolbar-group`},$t={class:`designer-workbench-body`},en={class:`designer-workbench-left`},tn={class:`designer-workbench-left-content`},nn={class:`designer-workbench-center`},rn={class:`designer-workbench-right`},an={class:`designer-workbench-right-content`},on=U((0,l.defineComponent)({name:`Workbench`,__name:`Workbench`,props:{designerState:{},block:{},materialTabs:{}},setup(e){let t=e,n=(0,l.computed)(()=>t.designerState.designerEngine),r=(0,l.ref)(!1),i=(0,l.ref)(`material`),a=(0,l.ref)(`props`);function o(){t.designerState.commandStack.undo(),t.designerState.clearSelections()}function s(){t.designerState.commandStack.redo(),t.designerState.clearSelections()}function c(){let e=t.designerState.selections.map(e=>e.nodeId).filter(Boolean);if(e.length<=0)return;let n=new B(t.designerState,`删除 ${e.length} 个组件`,{nodeIds:e,onExecute:()=>t.designerState.clearSelections()});t.designerState.commandStack.execute(n)}function d(){let e=t.designerState.blockInstance?.globalContext.runtimeBlock;if(!e)return;let n=(e.items??[]).filter(e=>!!e&&typeof e==`object`&&!Array.isArray(e)).map(e=>e.id);if(n.length<=0){f.message.info(`画布已经是空的`);return}let r=new B(t.designerState,`清空画布`,{nodeIds:n,onExecute:()=>t.designerState.clearSelections()});t.designerState.commandStack.execute(r)}let m=(0,l.computed)(()=>t.designerState.selectedComponentMeta?.setter?.props),h=(0,l.computed)(()=>t.designerState.selectedComponentMeta?.setter?.style),g=(0,l.computed)(()=>t.designerState.selectedComponentMeta?.setter?.events),_=(0,l.computed)(()=>t.designerState.selectedComponentMeta?.setter?.advanced),v=(0,l.computed)(()=>{if(!r.value)return;let e=t.designerState.blockInstance?.globalContext.runtimeBlock;return e?z(e):void 0});return(y,b)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,Yt,[(0,l.createElementVNode)(`div`,Xt,[(0,l.createElementVNode)(`div`,Zt,[(0,l.createVNode)((0,l.unref)(f.Tooltip),{title:`撤销 Ctrl+Z`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`text`,disabled:!e.designerState.commandStack.canUndo||r.value,onClick:o},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(p.UndoOutlined))]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(f.Tooltip),{title:`重做 Ctrl+Y`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`text`,disabled:!e.designerState.commandStack.canRedo||r.value,onClick:s},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(p.RedoOutlined))]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(f.Tooltip),{title:`删除选中 Delete`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`text`,danger:``,disabled:!e.designerState.existsSelection||r.value,onClick:c},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(p.DeleteOutlined))]),_:1},8,[`disabled`])]),_:1}),(0,l.createVNode)((0,l.unref)(f.Tooltip),{title:`清空画布`},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:`text`,danger:``,disabled:r.value,onClick:d},{default:(0,l.withCtx)(()=>[(0,l.createVNode)((0,l.unref)(p.ClearOutlined))]),_:1},8,[`disabled`])]),_:1})]),b[3]||=(0,l.createElementVNode)(`div`,{class:`designer-workbench-toolbar-title`},`可视化页面设计器`,-1),(0,l.createElementVNode)(`div`,Qt,[(0,l.createVNode)((0,l.unref)(f.Button),{size:`small`,type:r.value?`primary`:`default`,onClick:b[0]||=e=>r.value=!r.value},{default:(0,l.withCtx)(()=>[r.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(p.EditOutlined),{key:1})):((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(p.EyeOutlined),{key:0})),(0,l.createTextVNode)(` `+(0,l.toDisplayString)(r.value?`编辑`:`预览`),1)]),_:1},8,[`type`])])]),(0,l.createElementVNode)(`div`,$t,[(0,l.createElementVNode)(`div`,en,[(0,l.createVNode)((0,l.unref)(f.Tabs),{activeKey:i.value,"onUpdate:activeKey":b[1]||=e=>i.value=e,size:`small`,class:`designer-workbench-left-tabs`,items:[{key:`material`,label:`物料`},{key:`outline`,label:`大纲`}]},null,8,[`activeKey`]),(0,l.createElementVNode)(`div`,tn,[(0,l.withDirectives)((0,l.createVNode)(Kt,{designerState:e.designerState,materialTabs:t.materialTabs},null,8,[`designerState`,`materialTabs`]),[[l.vShow,i.value===`material`]]),(0,l.withDirectives)((0,l.createVNode)(Jt,{designerState:e.designerState},null,8,[`designerState`]),[[l.vShow,i.value===`outline`]])])]),(0,l.createElementVNode)(`div`,nn,[r.value?((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(u.BlockComponent),{key:1,class:`designer-workbench-preview`,componentManage:n.value.componentManage,block:v.value,isDesigning:!1},null,8,[`componentManage`,`block`])):((0,l.openBlock)(),(0,l.createBlock)(qe,{key:0,designerState:e.designerState,block:t.block},null,8,[`designerState`,`block`]))]),(0,l.createElementVNode)(`div`,rn,[(0,l.createVNode)((0,l.unref)(f.Tabs),{activeKey:a.value,"onUpdate:activeKey":b[2]||=e=>a.value=e,size:`small`,class:`designer-workbench-right-tabs`,items:[{key:`props`,label:`属性`},{key:`style`,label:`样式`},{key:`events`,label:`事件`},{key:`advanced`,label:`高级`}]},null,8,[`activeKey`]),(0,l.createElementVNode)(`div`,an,[(0,l.withDirectives)((0,l.createVNode)(it,{designerState:e.designerState,propsPanel:m.value},null,8,[`designerState`,`propsPanel`]),[[l.vShow,a.value===`props`]]),(0,l.withDirectives)((0,l.createVNode)(yt,{designerState:e.designerState,stylePanel:h.value},null,8,[`designerState`,`stylePanel`]),[[l.vShow,a.value===`style`]]),(0,l.withDirectives)((0,l.createVNode)(Dt,{designerState:e.designerState,eventPanel:g.value},null,8,[`designerState`,`eventPanel`]),[[l.vShow,a.value===`events`]]),(0,l.withDirectives)((0,l.createVNode)(Rt,{designerState:e.designerState,advancedPanel:_.value},null,8,[`designerState`,`advancedPanel`]),[[l.vShow,a.value===`advanced`]])])])]),(0,l.createVNode)(Ye,{designerEngine:n.value},null,8,[`designerEngine`])]))}}),[[`__scopeId`,`data-v-f0d077aa`]]),sn=`存在多个不同值`,cn=e=>{if(!c.Typeof.noValue(e))return(0,l.markRaw)(e)},K=e=>d.default.toString(e),q=e=>!!e,J=e=>{if(!c.Typeof.noValue(e))return e=d.default.toNumber(e),(e===1/0||isNaN(e))&&(e=void 0),e},ln=e=>e?JSON.stringify(e,null,4):``;function Y(){return{multipleValues:!1,value:void 0}}function X(e,t,n){let r=un(e,t,n);return c.Typeof.isFunction(n)&&(r=n(r)),r}function un(e,t,n){let{nodes:r,propsName:i,getPropsValue:a}=e;if(!r||!i&&!c.Typeof.isFunction(a))return;let o=new Set;for(let t of r){let r;if(a?r=a(t.props,t):i&&(r=d.default.hasIn(t.props,i)?t.props?.[i]:e.defPropsValue),c.Typeof.isFunction(n)&&(r=n(r)),c.Typeof.noValue(r)&&(r=void 0),o.add(r),o.size>1)break}if(!(o.size<=0)){if(o.size===1)return o.values().next().value;t.multipleValues=!0,t.value=void 0}}function Z(e,t,n,r){let{designerState:i,blockInstance:a,nodes:o,propsName:s,applyPropsValue:l,disableReRender:u,recalcAuxToolPosition:f,recalcAuxToolPositionDelay:p,updateVNodeKey:m}=e,h=!1;if(!o||!s&&!c.Typeof.isFunction(l))return h;if(c.Typeof.isFunction(l)){for(let e of o)h=l(e.props,r,e,n)!==!1,m&&h&&(e.designExt.designKey=`__design_key_${Date.now()}_${Math.random().toString(36).slice(2,12)}`);return h&&(t.multipleValues=!1,dn(i,a,o,u,f,p)),h}if(!s)return h;let g=[];for(let e of o){if(!e.props)continue;let t=d.default.hasIn(e.props,s)?d.default.cloneDeep(e.props[s]):void 0;d.default.isEqual(t,r)||g.push({nodeId:e.id,changeKey:`props:${s}`,oldValue:t,newValue:r,write:(e,t)=>{e.props[s]=t,m&&(e.designExt.designKey=`__design_key_${Date.now()}_${Math.random().toString(36).slice(2,12)}`)}})}if(g.length<=0)return h;let _=new V(i,`修改属性 ${s}`,{changes:g,disableReRender:u});return h=i.commandStack.execute(_),h&&(t.multipleValues=!1),h}function dn(e,t,n,r,i,a){if(!r&&t&&(t.$forceUpdate(),i)){let r=()=>{let t=n.map(e=>e.id);for(let n of e.selections)n.nodeId&&t.includes(n.nodeId)&&n.recalcPosition()};t.$nextTick(()=>{(a??0)>0?setTimeout(r,a):r()})}}function Q(e,t,n){(0,l.watch)(()=>e.nodes,()=>{t.value=X(e,t,n)})}function $(e,t,n,r){return{designerState:e.designerState,blockInstance:e.blockInstance,nodes:e.nodes,getValue:()=>t.value,setValue:i=>{c.Typeof.isFunction(r)&&(i=r(i)),t.value=i,Z(e,t,n,i)}}}var fn=(0,l.defineComponent)({name:`StringSetter`,__name:`StringSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});return i.value=X(r,i,K),Q(r,i,K),t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Input),(0,l.mergeProps)({placeholder:i.multipleValues?`存在多个不同值`:`请输入`,title:i.multipleValues?`存在多个不同值`:void 0},e.$attrs,{value:i.value,"onUpdate:value":t[0]||=e=>i.value=e,onChange:t[1]||=()=>(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,i.value)}),null,16,[`placeholder`,`title`,`value`]))}}),pn=U((0,l.defineComponent)({name:`NumberSetter`,__name:`NumberSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});return i.value=X(r,i,J),Q(r,i,J),t({...$(r,i,n?.proxy,J)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.InputNumber),(0,l.mergeProps)({class:`designer-setter-full`,placeholder:i.multipleValues?`存在多个不同值`:`请输入`},e.$attrs,{value:i.value,"onUpdate:value":t[0]||=e=>i.value=e,onChange:t[1]||=e=>(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,e)}),null,16,[`placeholder`,`value`]))}}),[[`__scopeId`,`data-v-88c57114`]]),mn=(0,l.defineComponent)({name:`BoolSetter`,__name:`BoolSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});return i.value=X(r,i,q),Q(r,i,q),t({...$(r,i,n?.proxy,q)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Switch),(0,l.mergeProps)(e.$attrs,{checked:!!i.value,onChange:t[0]||=e=>{i.value=e,(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,e)}}),null,16,[`checked`]))}}),hn=U((0,l.defineComponent)({name:`SelectSetter`,__name:`SelectSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});return i.value=X(r,i,K),Q(r,i,K),t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.Select),(0,l.mergeProps)({class:`designer-setter-full`,placeholder:i.multipleValues?`存在多个不同值`:`请选择`},e.$attrs,{value:i.value,onChange:t[0]||=e=>{i.value=e,(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,e)}}),null,16,[`placeholder`,`value`]))}}),[[`__scopeId`,`data-v-1e6d81c2`]]),gn={class:`designer-color-setter`},_n=[`value`],vn={class:`color-text`},yn=U((0,l.defineComponent)({name:`ColorSetter`,__name:`ColorSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});i.value=X(r,i,K),Q(r,i,K);function a(){i.value=void 0,Z(r,i,n?.proxy,void 0)}return t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createElementBlock)(`div`,gn,[(0,l.createElementVNode)(`input`,{class:`color-input`,type:`color`,value:i.value??`#000000`,onChange:t[0]||=e=>{i.value=e.target.value,(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,i.value)}},null,40,_n),(0,l.createElementVNode)(`span`,vn,(0,l.toDisplayString)(i.value),1),(0,l.withDirectives)((0,l.createElementVNode)(`span`,{class:`color-clear`,title:`清除颜色`,onClick:a},`×`,512),[[l.vShow,i.value]])]))}}),[[`__scopeId`,`data-v-dc1ec0da`]]),bn=U((0,l.defineComponent)({name:`DateSetter`,__name:`DateSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});i.value=X(r,i,K),Q(r,i,K);function a(e){return e?(0,h.default)(e):void 0}return t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.DatePicker),(0,l.mergeProps)({class:`designer-setter-full`,value:a(i.value)},e.$attrs,{valueFormat:`YYYY-MM-DD`,onChange:t[0]||=(e,t)=>{let a=Array.isArray(t)?t[0]:t;i.value=a||void 0,(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,i.value)}}),null,16,[`value`]))}}),[[`__scopeId`,`data-v-bb6b512f`]]),xn=U((0,l.defineComponent)({name:`TimeSetter`,__name:`TimeSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});i.value=X(r,i,K),Q(r,i,K);function a(e){return e?(0,h.default)(e,`HH:mm:ss`):void 0}return t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.TimePicker),(0,l.mergeProps)({class:`designer-setter-full`,value:a(i.value)},e.$attrs,{valueFormat:`HH:mm:ss`,onChange:t[0]||=(e,t)=>{let a=Array.isArray(t)?t[0]:t;i.value=a||void 0,(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,i.value)}}),null,16,[`value`]))}}),[[`__scopeId`,`data-v-4cba15d0`]]),Sn=(0,l.defineComponent)({name:`EditorSetter`,__name:`EditorSetter`,props:{designerState:{},blockInstance:{},nodes:{},watchValue:{type:Boolean},propsName:{},getPropsValue:{},defPropsValue:{},applyPropsValue:{},disableReRender:{type:Boolean},updateVNodeKey:{type:Boolean},recalcAuxToolPosition:{type:Boolean},recalcAuxToolPositionDelay:{}},setup(e,{expose:t}){let n=(0,l.getCurrentInstance)(),r=e,i=(0,l.reactive)({...Y()});return i.value=X(r,i,K),Q(r,i,K),t({...$(r,i,n?.proxy,K)}),(e,t)=>((0,l.openBlock)(),(0,l.createBlock)((0,l.unref)(f.TextArea),(0,l.mergeProps)({placeholder:i.multipleValues?`存在多个不同值`:`请输入内容`},e.$attrs,{value:i.value,"onUpdate:value":t[0]||=e=>i.value=e,autoSize:{minRows:2,maxRows:12},onChange:t[1]||=()=>(0,l.unref)(Z)(r,i,(0,l.unref)(n)?.proxy,i.value)}),null,16,[`placeholder`,`value`]))}});function Cn(e){e.registerComponent(`StringSetter`,fn),e.registerComponent(`NumberSetter`,pn),e.registerComponent(`BoolSetter`,mn),e.registerComponent(`SelectSetter`,hn),e.registerComponent(`ColorSetter`,yn),e.registerComponent(`DateSetter`,bn),e.registerComponent(`TimeSetter`,xn),e.registerComponent(`EditorSetter`,Sn)}var wn=`1.1.0`,Tn=6;exports.AbstractCursorEvent=T,exports.AddNodesCommand=Le,exports.AuxToolEffect=Ae,exports.CommandEvent=ae,exports.CommandStack=ve,exports.Cursor=de,exports.CursorEffect=De,exports.CursorStatus=g,exports.DESIGNER_STAGE=Tn,exports.DESIGNER_VERSION=wn,exports.DesignCanvas=qe,exports.DesignerCursorMode=_,exports.DesignerDriver=A,exports.DesignerEffect=j,exports.DesignerEngine=Se,exports.DesignerEvent=S,exports.DesignerLayout=v,exports.DesignerModule=se,exports.DesignerState=be,exports.DesignerTab=y,exports.Direction=b,exports.DragDropDriver=Ce,exports.DragDropEvent=ie,exports.DragGhost=Ye,exports.DragMoveEvent=D,exports.DragStartEvent=E,exports.DragStopEvent=O,exports.DraggingCmpMetas=fe,exports.DraggingEffect=Oe,exports.EngineMountEvent=C,exports.EngineUnmountEvent=w,exports.EventBus=oe,exports.HoverDashed=he,exports.Insertion=pe,exports.KeyboardDriver=we,exports.MaterialPanel=Kt,exports.MouseClickDriver=Te,exports.MouseClickEvent=te,exports.MouseDoubleClickEvent=ne,exports.MouseMoveDriver=Ee,exports.MouseMoveEvent=k,exports.MoveNodesCommand=Re,exports.NodeOperationEffect=We,exports.OutlinePanel=Jt,exports.PointDirection=x,exports.RemoveNodesCommand=B,exports.Selection=L,exports.SetterAdvancedPanel=Rt,exports.SetterEventPanel=Dt,exports.SetterPropsPanel=it,exports.SetterShareState=ye,exports.SetterStylePanel=yt,exports.ShortcutKeyEvent=re,exports.UpdateListenersCommand=H,exports.UpdatePropsCommand=V,exports.Workbench=on,exports.applyAddNodes=Pe,exports.applyClass=ut,exports.applyMoveNodes=Ne,exports.applySetterValue=Z,exports.applyStyle=lt,exports.applyStyleDebounceTime=ot,exports.calcAuxToolPosition=N,exports.calcDistance=F,exports.calcNodeToCursorDistance=P,exports.calcPositionDelta=I,exports.defCursorPosition=M,exports.existsPlaceholder=me,exports.forceUpdateBlock=dn,exports.getActiveClass=dt,exports.getDefState=Y,exports.getNodeDocIndex=je,exports.getNodeInsertTarget=R,exports.getSetterExpose=$,exports.getSetterValue=X,exports.getStyle=st,exports.insertionToTarget=Fe,exports.isAllowDrag=ke,exports.jsonStringify=ln,exports.multipleValuesText=sn,exports.registerSetterComponents=Cn,exports.runtimeNodeToDesignNode=z,exports.styleGroupDefines=at,exports.toBool=q,exports.toNumber=J,exports.toObj=cn,exports.toObjectStyle=W,exports.toRuntimeNodes=Ie,exports.toStr=K,exports.watchNodes=Q;
@@ -0,0 +1,2 @@
1
+ .design-canvas[data-v-8c34617f]{background:repeating-conic-gradient(#fafafa 0% 25%,#fff 0% 50%) 50%/16px 16px;width:100%;height:100%;position:relative;overflow:auto}.design-canvas-hover[data-v-8c34617f]{pointer-events:none;z-index:10;border:1px dashed #1677ff}.design-canvas-selection[data-v-8c34617f]{pointer-events:none;z-index:11;background-color:#1677ff0f;border:1px solid #1677ff}.design-canvas-selection-name[data-v-8c34617f]{white-space:nowrap;color:#fff;background-color:#1677ff;padding:0 4px;font-size:12px;line-height:18px;position:absolute;top:-18px;left:-1px}.design-canvas-insertion[data-v-8c34617f]{pointer-events:none;z-index:12;background-color:#1677ff}.designer-ghost[data-v-eab9afd4]{z-index:999;pointer-events:none;color:#fff;opacity:.6;background-color:#1677ff;border-radius:16px;justify-content:center;align-items:center;min-width:60px;max-width:150px;height:40px;padding:4px 16px;display:flex;position:fixed;top:0;left:0}.designer-ghost-name[data-v-eab9afd4]{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.designer-props-item[data-v-da94f8a5]{align-items:center;gap:4px;padding:3px 0;display:flex}.designer-props-label[data-v-da94f8a5]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;flex:none;width:76px;overflow:hidden}.designer-props-control[data-v-da94f8a5]{flex:1;min-width:0}.designer-props-bind[data-v-da94f8a5]{text-align:center;color:#9ca3af;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #e5e7eb;border-radius:4px;flex:none;width:22px;height:22px;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:20px}.designer-props-bind[data-v-da94f8a5]:hover{color:#1677ff;border-color:#1677ff}.designer-props-bind-active[data-v-da94f8a5]{color:#1677ff;background:#e6f4ff;border-color:#1677ff}.designer-props-panel[data-v-08d0d16e]{width:100%;height:100%;font-size:12px;overflow:auto}.designer-props-node[data-v-08d0d16e]{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.designer-props-node-name[data-v-08d0d16e]{color:#111827;font-weight:600}.designer-props-node-type[data-v-08d0d16e]{color:#9ca3af;font-family:Consolas,Monaco,monospace;font-size:11px}.designer-style-item[data-v-f020ce55]{align-items:center;gap:4px;padding:3px 0;display:flex}.designer-style-label[data-v-f020ce55]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;flex:none;width:76px;overflow:hidden}.designer-style-control[data-v-f020ce55]{flex:1;min-width:0}.designer-style-panel[data-v-abf7f607]{width:100%;height:100%;font-size:12px;overflow:auto}.designer-style-theme-item[data-v-abf7f607]{align-items:center;gap:4px;padding:3px 0;display:flex}.designer-style-theme-label[data-v-abf7f607]{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;flex:none;width:76px;overflow:hidden}.designer-style-theme-control[data-v-abf7f607]{flex:1;min-width:0}.designer-event-panel[data-v-f03d037b]{width:100%;height:100%;padding:4px 0;font-size:12px;overflow:auto}.designer-event-group-title[data-v-f03d037b]{color:#374151;padding:6px 12px 2px;font-weight:600}.designer-event-item[data-v-f03d037b]{justify-content:space-between;align-items:center;padding:3px 12px;display:flex}.designer-event-name[data-v-f03d037b]{color:#374151}.designer-event-key[data-v-f03d037b]{color:#9ca3af;margin-left:4px;font-family:Consolas,Monaco,monospace;font-size:11px}.designer-event-tag[data-v-f03d037b]{margin-right:0;font-size:11px;line-height:16px}.designer-event-actions[data-v-f03d037b]{align-items:center;gap:2px;display:flex}.designer-event-editor[data-v-f03d037b]{background:#fafafa;border:1px solid #e5e7eb;border-radius:4px;margin:8px 12px;padding:8px}.designer-event-editor-title[data-v-f03d037b]{color:#374151;margin-bottom:6px}.designer-event-textarea[data-v-f03d037b]{box-sizing:border-box;resize:vertical;border:1px solid #e5e7eb;border-radius:4px;width:100%;min-height:72px;padding:4px 8px;font-family:Consolas,Monaco,monospace;font-size:12px}.designer-event-textarea[data-v-f03d037b]:focus{border-color:#1677ff;outline:none}.designer-event-editor-actions[data-v-f03d037b]{gap:8px;margin-top:6px;display:flex}.designer-advanced-panel[data-v-32c36650]{box-sizing:border-box;width:100%;height:100%;padding:8px 12px;font-size:12px;overflow:auto}.designer-advanced-item[data-v-32c36650]{align-items:center;gap:4px;padding:4px 0;display:flex}.designer-advanced-column[data-v-32c36650]{flex-direction:column;align-items:stretch}.designer-advanced-label[data-v-32c36650]{color:#6b7280;flex:none;width:76px}.designer-advanced-column .designer-advanced-label[data-v-32c36650]{width:auto}.designer-advanced-control[data-v-32c36650]{flex:1;min-width:0}.designer-advanced-switch[data-v-32c36650]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.designer-advanced-textarea[data-v-32c36650]{box-sizing:border-box;resize:vertical;border:1px solid #e5e7eb;border-radius:4px;width:100%;min-height:48px;padding:4px 8px;font-family:Consolas,Monaco,monospace;font-size:12px}.designer-advanced-textarea[data-v-32c36650]:focus{border-color:#1677ff;outline:none}.designer-material-panel[data-v-7b3124e5]{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.designer-material-search[data-v-7b3124e5]{flex:none;padding:8px 8px 4px}.designer-material-tabs[data-v-7b3124e5]{flex:1;min-height:0;padding:0 8px;overflow:auto}.designer-material-group-title[data-v-7b3124e5]{color:#6b7280;padding:6px 0 4px;font-size:12px;font-weight:600}.designer-material-items[data-v-7b3124e5]{grid-template-columns:1fr 1fr;gap:6px;padding-bottom:8px;display:grid}.draggable.material-item[data-v-7b3124e5]{cursor:grab;-webkit-user-select:none;user-select:none;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px dashed #d9d9d9;border-radius:4px;padding:6px 8px;font-size:12px;overflow:hidden}.draggable.material-item[data-v-7b3124e5]:hover{color:#1677ff;border-color:#1677ff}.designer-material-empty[data-v-7b3124e5]{text-align:center;color:#9ca3af;padding:24px;font-size:12px}.designer-outline-panel[data-v-08830f87]{width:100%;height:100%;padding:4px;font-size:12px;overflow:auto}.designer-workbench[data-v-f0d077aa]{background:#fff;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.designer-workbench-toolbar[data-v-f0d077aa]{background:#fafafa;border-bottom:1px solid #e5e7eb;flex:none;justify-content:space-between;align-items:center;padding:4px 12px;display:flex}.designer-workbench-toolbar-group[data-v-f0d077aa]{align-items:center;gap:4px;display:flex}.designer-workbench-toolbar-title[data-v-f0d077aa]{color:#374151;font-size:14px;font-weight:600}.designer-workbench-body[data-v-f0d077aa]{flex:1;min-height:0;display:flex}.designer-workbench-left[data-v-f0d077aa]{border-right:1px solid #e5e7eb;flex-direction:column;flex:none;width:240px;min-height:0;display:flex}.designer-workbench-left-tabs[data-v-f0d077aa],.designer-workbench-right-tabs[data-v-f0d077aa]{flex:none;margin-bottom:0;padding:0 8px}.designer-workbench-left-content[data-v-f0d077aa],.designer-workbench-right-content[data-v-f0d077aa]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.designer-workbench-center[data-v-f0d077aa]{flex:1;min-width:0;padding:12px}.designer-workbench-preview[data-v-f0d077aa]{width:100%;height:100%;overflow:auto}.designer-workbench-right[data-v-f0d077aa]{border-left:1px solid #e5e7eb;flex-direction:column;flex:none;width:320px;min-height:0;display:flex}.designer-setter-full[data-v-88c57114],.designer-setter-full[data-v-1e6d81c2]{width:100%}.designer-color-setter[data-v-dc1ec0da]{align-items:center;min-height:24px;display:flex}input[type=color].color-input[data-v-dc1ec0da]{cursor:pointer;background:0 0;border:none;border-radius:4px;width:24px;height:24px;padding:0}.color-text[data-v-dc1ec0da]{color:#6b7280;margin-left:8px;font-size:12px}.color-clear[data-v-dc1ec0da]{color:#6b7280;cursor:pointer;border-radius:4px;margin-left:6px;padding:0 6px;font-size:14px;line-height:20px}.color-clear[data-v-dc1ec0da]:hover{color:#1677ff;background:#f3f4f6}.designer-setter-full[data-v-bb6b512f],.designer-setter-full[data-v-4cba15d0]{width:100%}
2
+ /*$vite$:1*/