@chamn/engine 0.10.1 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +9 -9
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +103 -82
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +66 -66
- package/dist/index.umd.js.map +1 -1
- package/package.json +7 -7
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var As=Object.defineProperty;var Bs=(n,t,e)=>t in n?As(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var w=(n,t,e)=>Bs(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),p=require("react"),hn=require("re-resizable"),f=require("antd"),D=require("@ant-design/icons"),T=require("clsx"),it=require("mitt"),_=require("@chamn/model"),Os=require("color"),F=require("lodash-es"),zs=require("css-tree"),he=require("@chamn/render"),$s=require("consola"),Bn=require("react-dom"),On=require("@monaco-editor/react"),Xt=require("i18next"),be=require("react-i18next"),ne=require("@chamn/layout");require("@chamn/layout/dist/style.css");const K=require("@xyflow/react");require("@xyflow/react/dist/style.css");const fn=require("@dagrejs/dagre"),Yt=require("@dnd-kit/utilities"),Y=require("@dnd-kit/core"),tt=require("@dnd-kit/sortable"),Fs=require("@dnd-kit/modifiers"),St=require("quicktype-core"),Hs=require("react-color"),A=require("lucide-react"),Us=require("antd/es/tag/CheckableTag");function Gs(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const ye=Gs(zs),Ws="_workbenchContainer_1z0k5_2",Ks="_topToolBarBox_1z0k5_9",qs="_topToolBarView_1z0k5_15",Js="_bodyContent_1z0k5_18",Xs="_leftBox_1z0k5_24",Ys="_pluginIconBar_1z0k5_31",Qs="_pluginIconItem_1z0k5_36",Zs="_active_1z0k5_46",ea="_pluginPanelBoxResizeBox_1z0k5_62",ta="_pluginHeader_1z0k5_69",na="_pluginNameText_1z0k5_77",sa="_closeBtn_1z0k5_84",aa="_fixedBtn_1z0k5_85",oa="_pluginPanelBox_1z0k5_62",ra="_hiddenLeftPanel_1z0k5_101",ia="_rightResizeBox_1z0k5_104",la="_arrowCursor_1z0k5_108",ca="_rightBox_1z0k5_123",ua="_hiddenRightPanel_1z0k5_130",da="_centerBox_1z0k5_134",pa="_subTopToolbarBox_1z0k5_141",ga="_canvasBox_1z0k5_146",ma="_scrollBox_1z0k5_153",ha="_canvasBoxPadding_1z0k5_157",fa="_customViewBox_1z0k5_161",V={workbenchContainer:Ws,topToolBarBox:Ks,topToolBarView:qs,bodyContent:Js,leftBox:Xs,pluginIconBar:Ys,pluginIconItem:Qs,active:Zs,pluginPanelBoxResizeBox:ea,pluginHeader:ta,pluginNameText:na,closeBtn:sa,fixedBtn:aa,pluginPanelBox:oa,hiddenLeftPanel:ra,rightResizeBox:ia,arrowCursor:la,rightBox:ca,hiddenRightPanel:ua,centerBox:da,subTopToolbarBox:pa,canvasBox:ga,scrollBox:ma,canvasBoxPadding:ha,customViewBox:fa},lt=n=>{const t={};return n.forEach(e=>{t[e.property]=e.value}),t},Qt=(n={})=>Object.keys(n).reduce((e,s)=>[...e,{property:s,value:n[s]}],[]),zn=n=>{let t="";return n.forEach(e=>{t+=`${e.property}:${e.value};`}),t},_e=(n=[])=>{F.isPlainObject(n)&&(n=Object.keys(n).map(r=>({property:r,value:n[r]})));const t=[],e=[],s=[];return n.forEach(r=>{const i=r.value,l={property:r.property,value:i};s.push(l),_.isExpression(i)?e.push({...l,value:i}):t.push({...l,value:i})}),{normalProperty:t,expressionProperty:e,allProperty:s}},$n=n=>{const t=ye.parse(`.node {${n}}`),e=[];return ye.walk(t,function(s){s.type==="Declaration"&&e.push({id:_.getRandomStr(),property:s.property,value:ye.generate(s.value)})}),e},Fn=(n,t)=>{const e={class:n,value:[]},s=[];return Object.keys(t).forEach(o=>{const r=t[o],i={state:o,media:[],text:(r==null?void 0:r.normal)||""};Object.keys(r||{}).forEach(l=>{i.media=i.media||[],l!=="normal"&&i.media.push({type:"max-width",value:l,text:(r==null?void 0:r[l])||""})}),s.push(i)}),e.value=s,e},Hn=n=>{if(!n)return{};const t=n.value,e={};return t.forEach(s=>{var i;const o=s.style;!s.text&&o&&(s.text=Object.keys(o).reduce((l,c)=>(l+=`${c}: ${o[c]};`,l),""));const r={normal:s.text||""};(i=s.media)==null||i.forEach(l=>{r[l.value]=l.text||""}),e[s.state]=r}),e},At=n=>{const t=/#(?:[0-9a-fA-F]{3}){1,2}\b/g,e=/rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(?:\d*\.\d+|\d+\.\d*|\d+)\s*\)/g,s=/rgb?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)/g,o=/hsb?\(\s*\d+\s*,\s*\d+%\s*,\s*\d+%\s*\)/g,r=n.match(t)||[],i=n.match(e)||[],l=n.match(s)||[],c=n.match(o)||[];return[...r,...i,...l,...c]},nt=n=>{const t=At(n),e=t.reduce((r,i)=>(r[i]=Os(i).hexa(),r),{});let s=n;return t.forEach(r=>{s=s.replaceAll(r,e[r])}),s.split(",").map(r=>{const i={offsetX:void 0,offsetY:void 0,blur:void 0,spread:void 0,color:void 0,type:void 0};let l=r;l.includes("inset")&&(i.type="inset",l=l.replace("inset","").trim());const c=At(l);c.length&&(i.color=c[0],l=l.replace(i.color,"").trim());const u=l.split(" "),d=[];for(let g=0;g<u.length&&!isNaN(parseInt(u[g]));g++)d.push(u[g]);return i.offsetX=d[0],i.offsetY=d[1],i.blur=d[2]||"",i.spread=d[3]||"",i.color||(i.color=u[d.length]),i})};class Un{constructor(t){w(this,"_assets");this._assets=t}getList(){return this._assets}setList(t){const e=[...t,...this._assets],s=Zt(e);this._assets=s}}const Zt=n=>{const t=[],e={};return n.forEach(s=>{e[s.package]||(e[s.package]=s,t.push(s))}),t},Gn=async({iframe:n})=>{const t=n.getWindow();t&&(t.React=window.React,t.ReactDOM=window.ReactDOM,t.ReactDOMClient=window.ReactDOMClient)},Wn=n=>async({iframe:e,assets:s,page:o,pageModel:r,ready:i,renderJSUrl:l})=>{await e.injectJS(l||"");const c=e.getWindow(),u=e.getDocument(),d=c.React,g=c.ReactDOMClient,m=c.CRender,v=o||(r==null?void 0:r.export());if(!v){console.log("page schema is empty");return}const h=Zt([...s,...v.assets||[]]);new m.AssetLoader(h,{window:e.getWindow()}).onSuccess(()=>{const x=he.collectVariable(h,c),y=he.flatObject(x),S=he.getThirdLibs(x,v.thirdLibs||[]),j=d==null?void 0:d.createElement(m.DesignRender,{adapter:m==null?void 0:m.ReactAdapter,page:o,pageModel:r,components:{...y,...n.components||{}},$$context:{thirdLibs:S},onMount:C=>{i(C)},...(n==null?void 0:n.renderProps)||{}});g.createRoot(u.getElementById("app")).render(j)}).onError(()=>{console.log("资源加载出错")}).load()},ee=$s.consola.create({level:1}),se=({time:n=1e3/60,cb:t}={})=>new Promise(e=>{setTimeout(()=>{e("ok"),t==null||t()},n)}),Ae=(n,t,e)=>{n[t]===void 0&&(n[t]=e)},Kn=function(n,t){try{return JSON.parse(n)}catch{return t??null}};class qn extends p.Component{constructor(e){super(e);w(this,"emitter");w(this,"leftPanelContentRef");w(this,"addLeftPanel",e=>{this.state.leftPanels.push(e),this.setState({leftPanels:[...this.state.leftPanels]})});w(this,"replaceLeftPanel",(e,s)=>{const o=this.state.leftPanels.findIndex(r=>r.name===e);if(o>-1){const r=[...this.state.leftPanels];r[o]=s,this.setState({leftPanels:r})}});w(this,"openLeftPanel",async e=>{const s=e||this.state.currentActiveLeftPanel;this.setState({leftBoxVisible:!0,leftBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:s}),await se(),this.emitter.emit("leftPanelVisible",{visible:!0,panelName:s})});w(this,"closeLeftPanel",async()=>{this.setState({leftBoxVisible:!1,leftBoxSize:{width:0,height:"100%"}}),await se(),this.emitter.emit("leftPanelVisible",{visible:!1,panelName:this.state.currentActiveLeftPanel})});w(this,"toggleLeftPanel",()=>{const{leftBoxVisible:e}=this.state;!e?this.openLeftPanel():this.closeLeftPanel()});w(this,"onPluginIconClick",e=>{const{currentActiveLeftPanel:s}=this.state;s===e.name&&this.state.leftBoxVisible?this.closeLeftPanel():this.openLeftPanel(e.name)});w(this,"openRightPanel",()=>{const{rightBoxSize:e}=this.state;this.setState({rightBoxVisible:!0,rightBoxSize:{width:400,height:e.height}})});w(this,"closeRightPanel",()=>{const{rightBoxSize:e}=this.state;this.setState({rightBoxVisible:!1,rightBoxSize:{width:0,height:e.height}})});w(this,"replaceBodyView",e=>{this.setState({bodyView:e})});w(this,"replaceRightView",e=>{this.setState({rightView:e})});w(this,"replaceTopBarView",e=>{this.setState({topToolBarView:e})});w(this,"replaceSubTopBarView",e=>{this.setState({subTopToolBarView:e})});w(this,"toggleRightPanel",()=>{const{rightBoxVisible:e,rightBoxSize:s}=this.state,o=!e;this.setState({rightBoxVisible:o,rightBoxSize:{width:o?400:0,height:s.height}})});w(this,"onLeftBoxResizeStop",(e,s,o,r)=>{const i=this.state.leftBoxSize.width+r.width;this.setState({leftBoxSize:{width:i,height:this.state.leftBoxSize.height}})});w(this,"onGlobalClick",e=>{var s;e.target&&((s=this.leftPanelContentRef.current)!=null&&s.contains(e.target))||!this.state.leftBoxFixed&&this.state.leftBoxVisible&&this.closeLeftPanel()});this.emitter=e.emitter||it(),this.leftPanelContentRef=p.createRef(),this.state={leftBoxVisible:!0,leftBoxSize:{width:300,height:"100%"},leftBoxFixed:!0,rightBoxVisible:!0,rightBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:"ComponentLib",leftPanels:[],bodyView:null,rightView:null,topToolBarView:null,subTopToolBarView:null,customViewList:[],hiddenTopBar:e.hiddenTopBar??!1,hiddenLeftPanel:e.hiddenLeftPanel??!1,hiddenRightPanel:e.hiddenRightPanel??!1,canvasFull:e.canvasFull??!1}}getHiddenWidgetConfig(){return{hiddenTopBar:this.state.hiddenTopBar,hiddenLeftPanel:this.state.hiddenLeftPanel,hiddenRightPanel:this.state.hiddenRightPanel}}hiddenWidget(e){this.setState({...e||{}})}addCustomView(e){const s=this.state.customViewList;return s.push(e),this.setState({customViewList:[...s]}),()=>{const o=this.state.customViewList.filter(r=>r!==e);this.setState({customViewList:[...o]})}}componentDidMount(){document.addEventListener("click",this.onGlobalClick)}render(){const{leftBoxVisible:e,leftBoxSize:s,leftBoxFixed:o,rightBoxSize:r,rightBoxVisible:i,leftPanels:l,currentActiveLeftPanel:c,bodyView:u,rightView:d,topToolBarView:g,subTopToolBarView:m,customViewList:v,hiddenTopBar:h,hiddenLeftPanel:b,hiddenRightPanel:x}=this.state,y={};o||(y.position="absolute",y.left="50px",y.top=0);const S=l.find(E=>E.name===c),j=(S==null?void 0:S.render)||null,{onPluginIconClick:C,toggleRightPanel:P,toggleLeftPanel:N,onLeftBoxResizeStop:k}=this;return a.jsxs("div",{className:V.workbenchContainer,children:[!h&&a.jsx("div",{className:V.topToolBarBox,children:a.jsx("div",{className:V.topToolBarView,children:g})}),a.jsxs("div",{className:V.bodyContent,children:[!b&&a.jsxs("div",{className:T([V.leftBox,b??V.hiddenLeftPanel]),ref:this.leftPanelContentRef,children:[a.jsx("div",{className:V.pluginIconBar,children:l.map(E=>a.jsx("div",{onClick:()=>C(E),className:T([V.pluginIconItem,(S==null?void 0:S.name)===E.name&&V.active]),children:E.icon},E.name))}),e&&a.jsxs(hn.Resizable,{className:V.pluginPanelBoxResizeBox,size:s,style:y,minWidth:300,maxWidth:600,enable:{right:e},onResizeStop:k,children:[a.jsxs("div",{className:V.pluginHeader,children:[a.jsx("span",{className:V.pluginNameText,children:(S==null?void 0:S.title)||(S==null?void 0:S.name)}),a.jsx(f.Button,{className:T([V.fixedBtn]),type:"text",size:"small",onClick:()=>{this.setState({leftBoxFixed:!this.state.leftBoxFixed})},children:a.jsx(D.PushpinOutlined,{className:T([o&&V.active])})}),a.jsx(f.Button,{className:V.closeBtn,type:"text",size:"small",onClick:N,children:a.jsx(D.CloseOutlined,{})})]}),a.jsx("div",{className:V.pluginPanelBox,children:j})]})]}),a.jsxs("div",{className:V.centerBox,children:[m&&a.jsx("div",{className:V.subTopToolbarBox,children:m}),a.jsx("div",{className:T([V.canvasBox,this.state.canvasFull!==!0&&V.canvasBoxPadding]),children:a.jsx("div",{className:V.scrollBox,children:u})})]}),a.jsxs("div",{className:T([V.rightResizeBox,x&&V.hiddenRightPanel]),children:[a.jsx("div",{className:V.arrowCursor,onClick:P,children:a.jsx(D.DoubleRightOutlined,{className:T([!i&&V.active])})}),a.jsx("div",{style:{display:i?"block":"none",height:"100%"},children:a.jsx(hn.Resizable,{minWidth:400,maxWidth:600,enable:{left:i},size:r,onResizeStop:(E,H,O,z)=>{this.setState({rightBoxSize:{width:this.state.rightBoxSize.width+z.width,height:this.state.rightBoxSize.height}})},children:a.jsx("div",{className:V.rightBox,children:d})})})]})]}),Bn.createPortal(a.jsx("div",{className:V.customViewBox,children:v.map(E=>a.jsx("div",{style:{pointerEvents:"auto",display:"inline-block"},children:E.view},E.key))}),document.body)]})}}const xa="_engineContainer_f3ly9_2",va={engineContainer:xa},ya={translation:{"Welcome to React":"欢迎使用 React"}},ba={translation:{"Welcome to React":"Welcome to React and react-i18next"}},Sa={zh_CN:ya,en_US:ba};Xt.use(be.initReactI18next).init({resources:Sa,lng:"zh_CN",react:{bindI18n:"added languageChanged",bindI18nStore:"added"}});const ct=Xt;ct.update=()=>{setTimeout(()=>{Xt.emit("added")},0)};ct.changeLanguage("en_US");class Jn{constructor({getWorkbench:t,emitter:e,pageModel:s,i18n:o,assetsPackageListManager:r,engine:i}){w(this,"plugins",new Map);w(this,"emitter",it());w(this,"getWorkbench");w(this,"pageModel");w(this,"i18n");w(this,"assetsPackageListManager");w(this,"engine");w(this,"customPluginHooks",{});w(this,"customPlugin",(t,e)=>{const s=this.customPluginHooks,o=s[t]||[];o.push(e),s[t]=o,this.customPluginHooks=s});w(this,"createPluginCtx",()=>({globalEmitter:this.emitter,emitter:it(),config:{},getWorkbench:this.getWorkbench,pluginManager:this,pageModel:this.pageModel,i18n:this.i18n,assetsPackageListManager:this.assetsPackageListManager,engine:this.engine,pluginReadyOk:()=>{}}));this.getWorkbench=t,this.emitter=e,this.pageModel=s,this.i18n=o,this.assetsPackageListManager=r,this.engine=i}async add(t){var i;const e=this.createPluginCtx();let s;typeof t=="function"?s=t(e):s=t;let o={source:s,ctx:e,export:((i=s.export)==null?void 0:i.call(s,e))||{},ready:!1};(this.customPluginHooks[s.name]||[]).forEach(l=>{o=l(o)}),e.pluginReadyOk=()=>{this.emitter.emit(`${s.name}:ready`),o.ready=!0},this.plugins.set(s.name,o),await s.init(e)}async get(t){const e=this.plugins.get(t);return e!=null&&e.ready||await this.onPluginReadyOk(t),e}async remove(t){const e=this.plugins.get(t);await(e==null?void 0:e.source.destroy(e.ctx)),this.plugins.delete(t)}onPluginReadyOk(t,e){return new Promise(s=>{const o=this.plugins.get(t);o!=null&&o.ready?s(o):o===void 0&&console.warn(`plugin: ${t} not found.`),this.emitter.on(`${t}:ready`,()=>{const r=this.plugins.get(t);r&&(r.ready=!0,e==null||e(r),s(r))})})}}const wa={pluginName:"组件库"},Ca={pluginName:"Components"},xn={zh_CN:wa,en_US:Ca},Na="_container_e0jz7_2",ja="_header_e0jz7_8",Ra="_tabTitle_e0jz7_25",_a="_notFoundComponent_e0jz7_37",st={container:Na,header:ja,tabTitle:Ra,notFoundComponent:_a},Pa="_square_1b87f_2",ka="_componentItem_1b87f_18",Ea="_iconImg_1b87f_41",Ma="_iconBox_1b87f_45",Ta="_iconText_1b87f_54",De={square:Pa,componentItem:ka,iconImg:Ea,iconBox:Ma,iconText:Ta},Ia=n=>{const t={[Xn]:n.id},e=p.useMemo(()=>n.iconText?a.jsx("div",{className:De.iconText,children:String(n.iconText).toUpperCase()}):typeof n.icon=="string"?a.jsx("img",{className:De.iconImg,src:n.icon,draggable:!1}):n.icon,[n.icon,n.iconText]),s=a.jsx("div",{className:T([De.square,n.containerClassName]),children:a.jsxs("div",{...t,className:De.componentItem,style:n.style,children:[a.jsx("div",{className:De.iconBox,children:e}),a.jsx("span",{children:n.name})]})});return n.description?a.jsx(f.Popover,{overlayInnerStyle:{maxWidth:"300px",maxHeight:"200px",overflow:"auto"},content:n.description||"",zIndex:1e3,placement:"right",children:s}):s},Xn="data-drag-key",Da="_ListBox_1mtsn_2",Va="_collapsePanel_1mtsn_24",vn={ListBox:Da,collapsePanel:Va},yn=n=>{const{dataSource:t}=n,e=t.map(o=>o.name||""),s=p.useMemo(()=>t.map(o=>{const r=o.name||"",i=a.jsx("div",{className:vn.collapsePanel,children:o.list.map(l=>a.jsx(Ia,{id:l.id,name:l.title,icon:l.snapshot||l.snapshotText,iconText:l.snapshotText,description:l.description||""},l.id))});return{key:r,label:r,children:i}}),[t]);return t.length?a.jsx("div",{className:vn.ListBox,children:a.jsx(f.Collapse,{style:{width:"100%"},defaultActiveKey:e,items:s})}):null},Yn=(n,t)=>{if(!n)return null;const e=n.getAttribute(t);return e||Yn(n.parentElement,t)},La=(n,t)=>{const e=[],s=t==null?void 0:t.toLowerCase();return n.forEach(o=>{[...o.list].forEach(i=>{const l=i.list.filter(c=>{var d,g,m,v;let u=!1;return typeof c.description=="string"&&(u=(d=c.description)==null?void 0:d.includes(s)),u=u||((g=c.title)==null?void 0:g.toLowerCase().includes(s)),u=u||((m=c.snapshotText)==null?void 0:m.toLowerCase().includes(s)),u=u||((v=c.category)==null?void 0:v.toLowerCase().includes(s)),u});l.length&&e.push({name:i.name,list:l})})}),e},fe="ComponentLib",Bt=`plugin:${fe}`,Aa=({children:n})=>a.jsx("div",{className:st.tabTitle,children:n});class Ba extends p.Component{constructor(e){super(e);w(this,"containerRef");w(this,"disposeList",[]);w(this,"boxSensor");w(this,"leftPanelVisibleCb",async({visible:e,panelName:s})=>{await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),s===fe&&e&&this.registerDragEvent()});w(this,"getNewNode",e=>{const{pluginCtx:s}=this.props,o=s.pageModel;if(!e)return;const r=Yn(e,Xn);if(!r)return;const i=o.materialsModel.findSnippetById(r);if(i)return o==null?void 0:o.createNode(i.schema)});w(this,"registerDragEvent",async()=>{const{containerRef:e}=this,{pluginCtx:s}=this.props,o=await s.pluginManager.get("Designer");if(!o||!e.current)return;const i=o.export.getDnd(),l=new ne.Sensor({name:"ComponentListBox",container:e.current,mainDocument:document});this.boxSensor=l,l.setCanDrag(async u=>{const d=this.getNewNode(u.event.target);return this.props.pluginCtx.pluginManager.get("Designer").then(g=>{const m=g==null?void 0:g.export;m==null||m.selectNode("")}),{...u,extraData:{dropType:"NEW_ADD",dragNode:d}}}),i.registerSensor(l);const c=()=>{const{getWorkbench:u}=this.props.pluginCtx,d=u();d.state.leftBoxFixed||d.closeLeftPanel()};this.disposeList.push(()=>{i.emitter.off("dragStart",c)}),i.emitter.on("dragStart",c)});w(this,"toAddNewNode",async e=>{const s=this.getNewNode(e.nativeEvent.target);if(!s)return;const{pageModel:o}=this.props.pluginCtx;return this.props.pluginCtx.pluginManager.get("Designer").then(async r=>{var b;const i=r==null?void 0:r.export,l=i==null?void 0:i.getSelectedNodeId(),c=o.getNode(l),u=_.findContainerNode(c);let d="CHILD_END",g=c??null;if(c)u===c.parent?c.isContainer()?(d="CHILD_END",g=c):(d="AFTER",g=c):u&&!_.isPageModel(u)&&(d="CHILD_END",g=u);else{const x=o.getRootNode();x&&(d="CHILD_END",g=x)}const m=i==null?void 0:i.getInstance(),v=await(m==null?void 0:m.customAdvanceHook.onNewAdd({dragNode:s,dropNode:g,eventObj:{from:e.nativeEvent,fromSensor:this.boxSensor,pointer:null,fromPointer:null,extraData:{}}}));if(v===!1)return;let h={dragNode:s,dropNode:g,pos:d};typeof v=="object"&&(h={...h,dragNode:v.addNode??h.dragNode,dropNode:v.dropNode??h.dropNode,pos:((b=v.dropPosInfo)==null?void 0:b.pos)??h.pos}),o.addNode(h.dragNode,h.dropNode,h.pos),setTimeout(()=>{i==null||i.selectNode(h.dragNode.id)},16)})});w(this,"onSearch",()=>{if(!this.state.searchString.length){this.setState({searchResultList:[],searchMode:!1});return}const e=La(this.state.componentsList,this.state.searchString);this.setState({searchResultList:e,searchMode:!0})});this.containerRef=p.createRef(),this.state={componentsList:[],searchString:"",searchMode:!1,searchResultList:[]}}updateComponentsList(){const{pluginCtx:e}=this.props,{pageModel:s}=e,{materialsModel:o}=s,r=o.getAllSnippets();if(r.length&&r[0].name==="default"){const i=r.shift();i&&r.push(i)}this.setState({componentsList:r})}async componentDidMount(){await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent();const{pluginCtx:e}=this.props,{i18n:s}=e;Object.keys(xn).forEach(o=>{s.addResourceBundle(o,Bt,xn[o],!0,!0)}),s.update(),this.updateComponentsList(),e.globalEmitter.on("updateMaterials",()=>{this.updateComponentsList()})}componentWillUnmount(){this.disposeList.map(e=>e())}render(){const{componentsList:e,searchString:s,searchResultList:o,searchMode:r}=this.state,{toAddNewNode:i}=this,l=this.props.pluginCtx.config.customSearchBar,c=e.map(d=>({label:a.jsx(Aa,{children:F.capitalize(d.name)}),key:d.name,children:a.jsx(yn,{dataSource:d.list})})),u=a.jsx(f.Input,{value:s,placeholder:"input search text",suffix:a.jsx(D.SearchOutlined,{style:{color:"rgba(0,0,0,.25)"}}),onPressEnter:this.onSearch,allowClear:!0,onClear:()=>{this.setState({searchMode:!1,searchResultList:[]})},onChange:d=>{this.setState({searchString:d.target.value})}});return a.jsxs("div",{ref:this.containerRef,className:st.container,onClick:i,children:[a.jsx("div",{className:st.header,children:l?a.jsx(l,{defaultInputView:u,updateState:this.setState.bind(this)}):u}),r&&a.jsxs("div",{children:[!o.length&&a.jsx("div",{className:st.notFoundComponent,children:"暂无相关组件"}),a.jsx(yn,{dataSource:o})]}),!o.length&&!r&&a.jsx(f.Tabs,{defaultActiveKey:"BaseComponent",items:c,style:{width:"100%"}})]})}}const Be={name:fe,PLUGIN_NAME:fe,async init(n){const t=be.withTranslation(Bt)(Ba),e=be.withTranslation(Bt)(({t:o})=>a.jsx(a.Fragment,{children:o("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(e,{}),name:"ComponentLib",icon:a.jsx(D.AppstoreAddOutlined,{}),render:a.jsx(t,{pluginCtx:n})}),n.pluginReadyOk()},reload:async()=>{console.log(fe,"not suooprt reload")},async destroy(n){console.log("destroy",n)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};Be.PLUGIN_NAME=fe;const Ve="Designer",Oa={pluginName:"组件库"},za={pluginName:"Designer Canvas"},bn={zh_CN:Oa,en_US:za},$a="_toolBarBox_h5ljb_2",Fa="_item_h5ljb_10",Ha="_layoutSelectBox_h5ljb_20",Ua="_hoverBox_h5ljb_25",Ga="_hoverBoxActive_h5ljb_35",Wa="_hoverItem_h5ljb_39",Ka="_placeholder_h5ljb_47",le={toolBarBox:$a,item:Fa,layoutSelectBox:Ha,hoverBox:Ua,hoverBoxActive:Ga,hoverItem:Wa,placeholder:Ka},qa=({dataSource:n,children:t,onSelect:e})=>{const[s,o]=p.useState(!1);return a.jsxs("div",{className:le.layoutSelectBox,children:[a.jsx("div",{className:T([le.hoverBox,s&&le.hoverBoxActive]),children:n.map(r=>a.jsx("div",{className:le.hoverItem,onClick:()=>e(r.key),children:r.label},r.key))}),a.jsx("div",{className:le.placeholder,onMouseOver:()=>o(!0),onMouseOut:()=>o(!1),children:t})]})},Qn=n=>{var v;const{nodeList:t,toSelectNode:e,toDelete:s,toCopy:o,toHidden:r}=n,i=[...t],l=i.shift(),c=i.map(h=>{var S;const b=h,x=(S=b.materialsModel.findByComponentName(b.value.componentName))==null?void 0:S.value.title,y=b.value.title||x||b.value.componentName||"";return{key:h.id,label:y||"Empty"}}),u=a.jsx("div",{className:le.item,onClick:()=>o((l==null?void 0:l.id)||""),children:a.jsx(D.CopyOutlined,{})},"CopyOutlined"),d=a.jsx("div",{className:le.item,onClick:()=>s((l==null?void 0:l.id)||""),children:a.jsx(D.DeleteOutlined,{})},"DeleteOutlined"),g=a.jsx("div",{className:le.item,onClick:()=>r((l==null?void 0:l.id)||""),children:a.jsx(D.EyeInvisibleOutlined,{})},"EyeInvisibleOutlined"),m=a.jsx(qa,{dataSource:c.reverse(),onSelect:e,children:a.jsx("div",{children:(l==null?void 0:l.value.title)||((v=l==null?void 0:l.material)==null?void 0:v.value.title)||"Empty"})},"LayoutSelect");return{map:{copyItem:u,deleteItem:d,visibleItem:g,nodeLayout:m},list:[m,g,u,d]}},Ja=n=>{const{copyItem:t,deleteItem:e,visibleItem:s,nodeLayout:o}=p.useMemo(()=>Qn(n).map,[n]);return a.jsxs("div",{className:le.toolBarBox,children:[o,s,t,e]})},Xa=(n,t=5)=>{const e=[];let s=0,o=n;for(;s<t&&o;)_.isNodeModel(o)&&(e.push(o),s++),o=o.parent||null;return e},Ya=({node:n})=>a.jsx("div",{style:{backgroundColor:"rgba(100,100,100)",padding:"3px 10px 3px 15px",borderRadius:"2px",opacity:.9,color:"rgba(220,220,220)"},children:n.value.componentName}),Qa="_hoverTips_k3vn7_2",Za={hoverTips:Qa};class eo{constructor(t){w(this,"getPortalViewCtx");w(this,"ctx");w(this,"layoutRef");this.getPortalViewCtx=t.getPortalViewCtx,this.ctx=t.ctx,this.layoutRef=t.layoutRef}async canDrag({dragNode:t,eventObj:e}){var o;const s=(o=t==null?void 0:t.material)==null?void 0:o.value.advanceCustom;return s!=null&&s.canDragNode?s==null?void 0:s.canDragNode(t,{context:this.ctx,viewPortal:this.getPortalViewCtx(),event:e,extra:e.extraData}):!0}async canDrop({dragNode:t,dropNode:e,eventObj:s}){var c,u;const o=(c=t==null?void 0:t.material)==null?void 0:c.value.advanceCustom,r=(u=e.material)==null?void 0:u.value.advanceCustom;let i={};const l={dropNode:e,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:s,extra:s.extraData};if(o!=null&&o.canDropNode)if(i=await o.canDropNode(t,l),r!=null&&r.canAcceptNode){let d;return typeof i=="object"?d=await(r==null?void 0:r.canAcceptNode(i.dragNode,{...l,...i})):d=await(r==null?void 0:r.canAcceptNode(t,{...l})),d}else return i;else if(r!=null&&r.canAcceptNode)return await(r==null?void 0:r.canAcceptNode(t,{...l}));return!0}async onNewAdd({dragNode:t,dropNode:e,eventObj:s}){var r,i,l;const o=await((l=(i=(r=t.material)==null?void 0:r.value.advanceCustom)==null?void 0:i.onNewAdd)==null?void 0:l.call(i,t,{dropNode:e,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:s,extra:s.extraData}));return o===!1?!1:o}getSelectRectViewRender(t){var s;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.selectRectViewRender}getHoverRectViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.hoverRectViewRender}getDropViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.dropViewRender}getGhostViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.ghostViewRender}getToolbarViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.toolbarViewRender}async onCopy(t){var i;let e=t;const s=this.ctx,o=t.material,r=(i=o==null?void 0:o.value.advanceCustom)==null?void 0:i.onCopy;if(r){const l=await r(t,{viewPortal:this.getPortalViewCtx(),context:s,extra:{}});if(l===!1)return!1;typeof l=="object"&&(e=l.copyNode??e)}return e&&s.pageModel.copyNode(e)&&await se(),e}async onDelete(t){var i;let e=t;const s=this.ctx,o=t.material,r=(i=o==null?void 0:o.value.advanceCustom)==null?void 0:i.onDelete;if(r){const l=await r(t,{viewPortal:this.getPortalViewCtx(),context:s,extra:{}});if(l===!1)return!1;typeof l=="object"&&(e=l.deleteNode??e)}return e&&s.pageModel.deleteNode(e)&&await se(),e}}class to extends p.Component{constructor(e){super(e);w(this,"layoutRef");w(this,"customAdvanceHook");w(this,"getPortalViewCtx",()=>({setView:e=>{this.setState({portalView:e})},clearView:()=>{this.setState({portalView:null})}}));w(this,"onNodeDragging",async e=>{var r,i,l;const s=e.extraData,o=s==null?void 0:s.dragNode;if(o)return(l=(i=(r=o.material)==null?void 0:r.value.advanceCustom)==null?void 0:i.onDragging)==null?void 0:l.call(i,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:s})});w(this,"onNodeDragEnd",async()=>{this.setState({...this.state,dropViewRender:this.props.pluginCtx.config.dropViewRender})});w(this,"onNodeDrop",async e=>{var u,d,g,m,v,h,b,x,y,S,j;const{layoutRef:s}=this,o=this.props.pluginCtx.pageModel,r=e.extraData,i=r==null?void 0:r.dropPosInfo,l={before:"BEFORE",after:"AFTER",current:"CHILD_START"}[(i==null?void 0:i.pos)||"after"],c=r==null?void 0:r.dragNode;if(c&&await((g=(d=(u=c.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.onDrop)==null?void 0:g.call(d,c,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:r}))===!1)return!1;if(!(r!=null&&r.dropNode))return console.warn("cancel drop, because drop node is null"),!1;if(r.dropType==="NEW_ADD"){if(c&&await((h=(v=(m=c.material)==null?void 0:m.value.advanceCustom)==null?void 0:v.onNewAdd)==null?void 0:h.call(v,c,{dropNode:r.dropNode,context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:r}))===!1)return!1;((b=r.dropNode)==null?void 0:b.nodeType)!=="NODE"?o==null||o.addNode(r.dragNode,r.dropNode,"CHILD_START"):o==null||o.addNode(r.dragNode,r.dropNode,l)}else{if(((x=r.dropNode)==null?void 0:x.id)===((y=r.dragNode)==null?void 0:y.id))return console.warn("dragNode and dropNode id is the same"),!1;if(!o.moveNodeById(((S=r.dragNode)==null?void 0:S.id)||"",((j=r==null?void 0:r.dropNode)==null?void 0:j.id)||"",l))return console.warn("drop failed"),!1}return this.props.pluginCtx.emitter.emit("onDrop",e),new Promise(C=>{setTimeout(async()=>{var P,N,k;if(c&&await this.onSelectNode(c,null)===!1)return(P=s.current)==null||P.selectNode(""),C(!1);(k=s.current)==null||k.selectNode(((N=r.dragNode)==null?void 0:N.id)||""),C(!0)},16)})});w(this,"onSelectNode",async(e,s)=>{var c,u,d,g;const{pluginCtx:o}=this.props,{layoutRef:r}=this;if(!e)return o.engine.updateCurrentSelectNode(null),(c=r.current)==null||c.selectNode(""),this.setState({selectToolbarView:null}),!1;const i=await((g=(d=(u=e.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.onSelect)==null?void 0:g.call(d,e,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:s,extra:{}}));if(i===!1)return i;const l=this.getToolbarView(e);return this.setState({selectToolbarView:l,selectRectViewRender:this.customAdvanceHook.getSelectRectViewRender(e)||this.props.pluginCtx.config.selectRectViewRender}),setTimeout(()=>{o.engine.updateCurrentSelectNode(e)},16.66),!0});w(this,"onDragStart",async e=>{var u,d,g,m,v,h;const s=e.extraData,o=s==null?void 0:s.dragNode;if(!o)return!1;const r={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:s},i=await((g=(d=(u=o.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.canDragNode)==null?void 0:g.call(d,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:{}}));if(i===!1)return i;const l=await((h=(v=(m=o.material)==null?void 0:m.value.advanceCustom)==null?void 0:v.onDragStart)==null?void 0:h.call(v,o,{...r}));if(l===!1)return l;const c=this.getGhostView(o,r);return this.setState({...this.state,ghostView:c,dropViewRender:this.customAdvanceHook.getDropViewRender(o)||this.props.pluginCtx.config.dropViewRender}),!0});w(this,"getGhostView",(e,s)=>{let o=a.jsx(Ya,{node:e});const i=this.customAdvanceHook.getGhostViewRender(e)||this.props.pluginCtx.config.ghostViewRender;return i&&(o=a.jsx(i,{node:e,params:s})),o});w(this,"toSelectNode",async e=>{var i;const o=this.props.pluginCtx.pageModel.getNode(e);return await this.onSelectNode(o||null,null)===!1?!1:((i=this.layoutRef.current)==null||i.selectNode(e),!0)});w(this,"toCopyNode",async e=>{const o=this.props.pluginCtx.pageModel.getNode(e),r=await this.customAdvanceHook.onCopy(o);if(r)return this.toSelectNode(r.id),!0});w(this,"toDeleteNode",async e=>{const o=this.props.pluginCtx.pageModel.getNode(e);return o?await this.customAdvanceHook.onDelete(o)===!1?!1:(this.toSelectNode(""),!0):void 0});w(this,"toHidden",e=>{const s=this.props.pluginCtx.pageModel.getNode(e);if(!s)return;const o=s.value.configure.devState??{};return o.condition=!1,s.value.configure.devState=o,s.updateValue(),!0});w(this,"getToolbarView",e=>{const o={nodeList:Xa(e,5),toSelectNode:this.toSelectNode,toCopy:this.toCopyNode,toDelete:this.toDeleteNode,toHidden:this.toHidden},r=Qn(o);let i=a.jsx(Ja,{...o});const l=this.customAdvanceHook.getToolbarViewRender(e)||this.props.pluginCtx.config.toolbarViewRender;return l&&(i=a.jsx(l,{node:e,context:this.props.pluginCtx,toolBarItems:r.map,toolBarItemList:r.list})),i});w(this,"onHoverNode",(e,s,o)=>{this.props.pluginCtx.emitter.emit("onHover",e);const r=e==null?void 0:e.material;r||console.warn("material not found",e);const i={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:o,extra:{}},l=this.getGhostView(s,i),c={hoverToolbarView:a.jsx("div",{className:Za.hoverTips,children:(r==null?void 0:r.value.title)||(r==null?void 0:r.componentName)}),ghostView:l,hoverRectViewRender:this.customAdvanceHook.getHoverRectViewRender(e)||this.props.pluginCtx.config.hoverRectViewRender};s||(c.ghostView=null),this.setState({...c})});w(this,"nodeCanDrag",async e=>{const s=e.extraData,o=s==null?void 0:s.dragNode;return await this.customAdvanceHook.canDrag({dragNode:o,eventObj:e})});w(this,"nodeCanDrop",async e=>{const s=e.extraData,o=s==null?void 0:s.dragNode;return await this.customAdvanceHook.canDrop({dragNode:o,eventObj:e,...s})});w(this,"innerSelectRectViewRender",e=>{const{selectRectViewRender:s}=this.state,{pluginCtx:o}=this.props,r=s,i=o.engine.getActiveNode();return!r||!i?a.jsx(a.Fragment,{}):a.jsx(r,{node:i,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}})});w(this,"innerHoverRectViewRender",e=>{const{hoverRectViewRender:s}=this.state,o=s;return o?a.jsx(o,{node:e.instance._NODE_MODEL,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):a.jsx(a.Fragment,{})});w(this,"innerDropViewRender",e=>{const{dropViewRender:s}=this.state,o=s;return o?a.jsx(o,{...e,node:e.instance._NODE_MODEL,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):a.jsx(a.Fragment,{})});this.state={pageModel:e.pluginCtx.pageModel,hoverToolbarView:null,selectToolbarView:null,ghostView:null,portalView:null,selectRectViewRender:null,hoverRectViewRender:null,dropViewRender:null},this.layoutRef=p.createRef(),this.customAdvanceHook=new eo({getPortalViewCtx:this.getPortalViewCtx,ctx:this.props.pluginCtx,layoutRef:this.layoutRef})}async updateRenderComponents(e={}){var l,c;const o={...this.props.pluginCtx.config.components||{},...e};this.props.pluginCtx.config.components=o;const{layoutRef:r}=this;if(!r.current){console.warn("layout not ready ok");return}await r.current.ready();const i=r.current;(c=(l=i==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.updateComponents(o)}componentDidMount(){const{i18n:e}=this.props.pluginCtx;Object.keys(bn).forEach(s=>{e.addResourceBundle(s,`plugin:${Ve}`,bn[s],!0,!0)}),this.init()}getIframeDom(){var e;return(e=this.layoutRef.current)==null?void 0:e.iframeContainer}reloadRender(){var e;(e=this.layoutRef.current)==null||e.reload(),this.props.pluginCtx.pageModel.reloadPage()}async init(){const{layoutRef:e}=this,{pluginCtx:s}=this.props;if(!e.current){console.warn("layout not ready ok");return}await e.current.ready();const o=e.current;s.emitter.emit("ready",{UIInstance:this}),o.dnd.emitter.on("click",({event:r})=>{s.getWorkbench().onGlobalClick(r)}),this.props.pluginCtx.pageModel.emitter.on("onPageChange",({node:r})=>{var i,l,c;(c=(l=(i=e.current)==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.rerender(r)}),this.props.pluginCtx.pageModel.emitter.on("onReloadPage",({node:r})=>{var i,l,c;(c=(l=(i=e.current)==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.rerender(r)}),s.pluginReadyOk()}render(){const{layoutRef:e,props:s,onSelectNode:o,onDragStart:r,onHoverNode:i,onNodeDrop:l,onNodeDragging:c,onNodeDragEnd:u}=this,{pageModel:d,hoverToolbarView:g,selectToolbarView:m,ghostView:v,portalView:h,selectRectViewRender:b,hoverRectViewRender:x,dropViewRender:y}=this.state,{pluginCtx:S}=s,j=S.assetsPackageListManager.getList()||[],C=S.engine.props.renderJSUrl||"./render.umd.js",P={};return b&&(P.selectRectViewRender=this.innerSelectRectViewRender),x&&(P.hoverRectViewRender=this.innerHoverRectViewRender),y&&(P.dropViewRender=this.innerDropViewRender),m&&(P.selectToolbarView=this.state.selectToolbarView),a.jsxs(a.Fragment,{children:[a.jsx(ne.Layout,{beforeInitRender:s.pluginCtx.config.beforeInitRender,customRender:s.pluginCtx.config.customRender,ref:e,pageModel:d,renderJSUrl:C,...s,hoverToolBarView:g,selectBoxStyle:{},hoverBoxStyle:{},nodeCanDrag:this.nodeCanDrag,nodeCanDrop:this.nodeCanDrop,onSelectNode:o,onNodeDragStart:r,onHoverNode:i,onNodeDrop:l,onNodeDragging:c,onNodeDraEnd:u,...P,ghostView:v,assets:j,pluginCtx:this.props.pluginCtx}),h&&Bn.createPortal(h,document.body)]})}}const Oe=()=>{const n=p.createRef();return{name:Ve,PLUGIN_NAME:Ve,async init(t){t.name=Ve,t.getWorkbench().replaceBodyView(a.jsx(to,{ref:n,pluginCtx:t}))},async destroy(t){console.log("destroy",t)},export:()=>({setMode(t){var e,s;return(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.setMode(t)},setPreviewMode(){var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.setMode(ne.LayoutMode.PREVIEW)},setEditMode(){var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.setMode(ne.LayoutMode.EDIT)},setCanvasWidth(t){var s;const e=(s=n.current)==null?void 0:s.getIframeDom();if(e!=null&&e.containerDom){let o=t;typeof t=="number"&&(o=`${t}px`),e.containerDom.style.width=String(o),e.containerDom.style.margin="0 auto"}},getIframeDom(){var t;return(t=n.current)==null?void 0:t.getIframeDom()},getInstance:()=>n.current,getDnd:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.dnd},selectNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toSelectNode(t))},copyNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toCopyNode(t))},deleteNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toDeleteNode(t))},getSelectedNodeId:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.state.currentSelectId},updatePage:t=>{var e,s,o,r;(r=(o=(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.designRenderRef)==null?void 0:o.current)==null||r.rerender(t)},reload:()=>{var t;(t=n.current)==null||t.reloadRender()},getComponentInstances:t=>{var e,s,o;return((o=(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.designRenderRef.current)==null?void 0:o.getInstancesById(t))||[]},getDynamicComponentInstances:t=>{var s,o,r,i;const e=(i=(r=(o=(s=n.current)==null?void 0:s.layoutRef.current)==null?void 0:o.designRenderRef.current)==null?void 0:r.renderRef.current)==null?void 0:i.dynamicComponentInstanceMap;return(e==null?void 0:e.get(t))||[]},getLayoutRef:()=>{var t;return(t=n.current)==null?void 0:t.layoutRef},getDesignerWindow:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.iframeContainer.getWindow()},updateRenderComponents:t=>{var e;return(e=n.current)==null?void 0:e.updateRenderComponents(t)}}),meta:{engine:{version:"1.0.0"}}}};Oe.PLUGIN_NAME=Ve;const Ot=(n,t)=>{if(!n)return null;const e=n.getAttribute(t);return e||Ot(n.parentElement,t)},Zn=(n,t,e)=>{const s=(o,r)=>{var b,x,y;let i=o.children||[];Array.isArray(i)||(i=[]),i=i.filter(S=>typeof S!="string");const l=(b=e.materialsModel.findByComponentName(o.componentName))==null?void 0:b.value.title,c={title:o.title||l||o.componentName,key:o.id,children:[],parent:r,canDropPos:(x=e.getNode(o.id||""))!=null&&x.isContainer()?void 0:["after","before"]},u=[],d={title:"SLOT",key:`${o.id}-SLOT`,children:u,canBeSelected:!1,canDropPos:!1,parent:null,containerRender:({treeNodeView:S})=>a.jsx("div",{style:{border:"1px solid #a97cf8",borderTopWidth:"6px",marginRight:"2px",marginTop:"5px"},children:S})},g=o.props||{},m=(S,j,C)=>{if(_.isJSSlotPropNode(S)){const N=S,k=e.getNode(o.id);let E="";if(k){const q=v(k,[...C,j]);E=_.getMTitle(q)}let H=j;E&&(H=_.getMTitle(E)||j);const O={title:H,key:`${o.id}-${C.join("_")}`,children:[],canBeSelected:!1,canDrag:!1,canDropPos:["current"],parent:d};let z=[];N.value&&!Array.isArray(N.value)?z=[N.value]:z=N.value,O.children=Zn(z,O,e),u.push(O);return}if(F.isPlainObject(S)){const N=S;Object.keys(N).forEach(k=>{m(N[k],k,[...C,j])})}Array.isArray(S)&&S.forEach((k,E)=>{m(k,String(E),[...C,j])})},v=(S,j)=>{const C=so(S),P=j.map(N=>String(parseInt(N,10))===N?"$NUM":N);return C[P.join(".")]||""};Object.keys(g).forEach(S=>{m(g[S],S,[])}),u.length>0&&((y=c.children)==null||y.push(d),d.parent=c);const h=i.map(S=>s(S,c))||[];return c.children=[...c.children,...h],c};return Array.isArray(n)?n.map(o=>s(o,t)):s(n,t)},es=(n,t)=>{const e=n.componentsTree;let s=e.children||[];Array.isArray(s)||(s=[]);const o={title:"Page",key:e.id||"globalState",rootNode:!0,children:[]};return o.children=Zn(s,o,t),[o]},at=(n,t)=>{let e=[];Array.isArray(n)?e=n:e=[n];let s=!1;const o=(r,i)=>{var c;if(s)return;i(r)?s=!0:(c=r.children)==null||c.forEach(u=>{o(u,i)})};e.forEach(r=>{o(r,t)})};function no(n){const{point:t,dom:e}=n;let s;const o=t,r=e.getBoundingClientRect(),i=r.height,l=r.x+50,c=r.y+Math.round(i/2);return o.y>c?s="after":s="before",o.x>l&&s==="after"&&(s="current"),{pos:s,direction:"vertical"}}const so=n=>{var o;const t={},e=(o=n.material)==null?void 0:o.value.props;if(!e)return t;const s=(r,i)=>{var l,c;if(F.isPlainObject(r)){const u=[...i],d=r,g=d.componentName;if(g==="ArraySetter"){const v=((l=d.props)==null?void 0:l.item.setters)||[],h=t[i.join(".")];let b="";typeof h=="string"?b=h:b=h.label,u.push("$NUM"),v.forEach(x=>{b=`${b}`,t[u.join(".")]=b,s(x,u)})}else g==="ShapeSetter"&&(((c=d.props)==null?void 0:c.elements)||[]).forEach(h=>{const b=[...u];b.push(h.name),t[b.join(".")]=h.title,(h.setters||[]).forEach(y=>{s(y,[...b])})})}};return e.forEach(r=>{let i=null;_.isSpecialMaterialPropType(r)?i=r.content:i=r;let l=[];Array.isArray(i)?l=i:l=[i],l.forEach(c=>{var d;const u=[c.name];t[u.join(".")]=c.title,(d=c.setters)==null||d.forEach(g=>{s(g,u)})})}),t};var Re=(n=>(n.DRAGGING="DRAGGING",n.NORMAL="NORMAL",n))(Re||{});const ts=p.createContext({state:{treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:!1,dragState:"NORMAL",pageModel:null},updateState:()=>{},onSelectNode:async()=>!0,onDeleteNode:async()=>!0,onCopyNode:async()=>!0}),ao="_contentBox_1tkrj_2",oo="_nodeBox_1tkrj_13",ro="_toolbarBox_1tkrj_17",io="_iconItem_1tkrj_21",lo="_nodeContent_1tkrj_25",co="_selected_1tkrj_35",uo="_nodeArrow_1tkrj_38",po="_expanded_1tkrj_41",go="_nodeRenderView_1tkrj_45",mo="_nodeChildren_1tkrj_56",ho="_dropAnchorLine_1tkrj_73",fo="_arrowSpan_1tkrj_82",J={contentBox:ao,nodeBox:oo,toolbarBox:ro,iconItem:io,nodeContent:lo,selected:co,nodeArrow:uo,expanded:po,nodeRenderView:go,nodeChildren:mo,dropAnchorLine:ho,arrowSpan:fo},je="data-drag-key",ns=n=>{var B,U,G,de;const t=p.useRef({titleEditable:!1}),{level:e=0,item:s,paths:o=["0"]}=n,[r,i]=p.useState(!0),{state:l,updateState:c,onSelectNode:u,onDeleteNode:d,getDesignerHandler:g,onCopyNode:m}=p.useContext(ts),[v,h]=p.useState((B=t.current)==null?void 0:B.titleEditable),[b,x]=p.useState("");t.current.titleEditable=v;const y=l.expandKeys.find(M=>M===s.key),S=M=>{let I=l.expandKeys;M!==void 0?M===!0?y||I.push(s.key||""):y&&(I=I.filter(W=>W!==s.key)):y?I=I.filter(W=>W!==s.key):I.push(s.key||""),c({expandKeys:I})},j=l.currentSelectNodeKeys.find(M=>M===s.key),C=p.useRef(null),P=async()=>{var I;if(S(!0),v){(I=C==null?void 0:C.current)==null||I.focus();return}if(s.canBeSelected!==void 0&&s.canBeSelected===!1)return;let M=l.currentSelectNodeKeys;if(!l.multiSelect){s.key?await(u==null?void 0:u({keys:[s.key],node:s}))&&c({currentSelectNodeKeys:[String(s.key)]}):u==null||u({keys:[],node:s});return}j?M=M.filter(W=>W!==s.key):M.push(String(s.key)),u==null||u({keys:M,node:s}),c({currentSelectNodeKeys:M})},N=20,k=N*e,E=s.canBeSelected??!0,H={[je]:s.key},O=p.useRef(),z=p.useRef();z.current=l,O.current=M=>{const I=l.expandKeys,W=Array.from(new Set([...I,M]));c({expandKeys:W})};const q=p.useRef(null);p.useEffect(()=>{var Ie,mn;let M=0;(Ie=q.current)==null||Ie.addEventListener("mouseenter",()=>{M=window.setTimeout(()=>{var pe,ae;((pe=z.current)==null?void 0:pe.dragState)===Re.DRAGGING&&((ae=O.current)==null||ae.call(O,s.key||""))},.8*1e3)}),(mn=q.current)==null||mn.addEventListener("mouseleave",()=>{clearTimeout(M)});const I=pe=>{var ae;if(t.current.titleEditable){if(pe.target===((ae=C.current)==null?void 0:ae.input))return;h(!1),L.updateValue()}};let W;return(async()=>{const pe=await n.pluginCtx.pluginManager.get("Designer"),ae=pe==null?void 0:pe.export,qe=ae==null?void 0:ae.getDesignerWindow();qe==null||qe.addEventListener("click",I),W=qe||null})(),document.addEventListener("click",I),()=>{M&&clearTimeout(M),document.removeEventListener("click",I),W==null||W.removeEventListener("click",I)}},[]);const L=(U=l.pageModel)==null?void 0:U.getNode(s.key||""),Ee=()=>{const M=!r;if(!L)return;const I=L.value.configure.devState??{};I.condition=M,L.value.configure.devState=I,L.updateValue(),i(M)};let Me=s.title;s.titleViewRender&&(Me=s.titleViewRender({item:s,titleView:s.title}));const Te=a.jsxs("div",{className:J.nodeBox,children:[a.jsxs("div",{className:T([J.nodeContent,j&&E&&J.selected]),style:{marginLeft:`${-k}px`,paddingLeft:`${k+8}px`},onMouseMove:async()=>{if(!s.key)return;const M=await(g==null?void 0:g()),I=M==null?void 0:M.getDynamicComponentInstances(s.key);typeof(I==null?void 0:I._CONDITION)<"u"&&i(I==null?void 0:I._CONDITION)},children:[(G=s.children)!=null&&G.length?a.jsx("span",{style:{paddingRight:"5px"},className:J.arrowSpan,onClickCapture:()=>S(),children:a.jsx(D.RightOutlined,{className:T([J.nodeArrow,y&&J.expanded])})}):null,a.jsxs("div",{className:J.nodeRenderView,...H,ref:q,onClick:P,onDoubleClick:()=>{var bt;if(!L)return;const M=L,I=(bt=M.materialsModel.findByComponentName(M.value.componentName))==null?void 0:bt.value.title,W=M.value.title||I||M.value.componentName||"";x(W),h(!0),setTimeout(()=>{var Ie;(Ie=C.current)==null||Ie.focus()},16.66)},children:[!v&&Me,v&&a.jsx("div",{style:{paddingRight:"10px"},children:a.jsx(f.Input,{size:"small",maxLength:20,style:{},ref:C,value:b,onPressEnter:()=>{h(!1),L.updateValue()},onChange:M=>{L.value.title=M.target.value,x(M.target.value)}})})]}),!v&&!s.rootNode&&a.jsxs("div",{className:J.toolbarBox,children:[a.jsxs("div",{className:J.iconItem,children:[!r&&a.jsx(D.EyeOutlined,{onClick:Ee}),r&&a.jsx(D.EyeInvisibleOutlined,{onClick:Ee})]}),a.jsx("div",{className:J.iconItem,onClick:()=>{m(s.key||"")},children:a.jsx(D.CopyOutlined,{})}),a.jsx("div",{className:J.iconItem,onClick:()=>{d(s.key||"")},children:a.jsx(D.DeleteOutlined,{})})]})]}),a.jsx("div",{className:T([J.nodeChildren,j&&J.selected]),style:{paddingLeft:`${N}px`,height:y?"auto":"0"},children:y&&((de=s.children)==null?void 0:de.map((M,I)=>{const W=`${M.key}-${I}`;return a.jsx(ns,{item:M,paths:[...o,I],level:e+1,pluginCtx:n.pluginCtx},W)}))})]});return s.containerRender?s.containerRender({item:s,treeNodeView:Te}):Te};class xo extends p.Component{constructor(e){super(e);w(this,"domRef");w(this,"disposeCbList",[]);w(this,"sensor");w(this,"getDesignerHandler",async()=>{const e=await this.props.pluginCtx.pluginManager.get("Designer");return e==null?void 0:e.export});w(this,"updateTreeDataFromNode",()=>{const{pluginCtx:e}=this.props,{pageModel:s}=e,o=s.export(),r=es(o,s);this.setState({treeData:r})});w(this,"getParentKeyPaths",e=>{const{treeData:s}=this.state;let o=null;if(at(s,r=>r.key===e?(o=r,!0):!1),o){let r=o==null?void 0:o.parent;const i=[];for(;r;)r.key&&i.push(r.key),r=r.parent;return i}else return[]});w(this,"scrollNodeToView",e=>{var o;const s=document.querySelector(`[${je}="${e}"]`);(o=s==null?void 0:s.scrollIntoView)==null||o.call(s,{behavior:"smooth",block:"center"})});w(this,"toSelectTreeNode",e=>{if(!e){this.setState({currentSelectNodeKeys:[]});return}const s=this.getParentKeyPaths(e.id);ee.debug("onSelectNodeChange parent path",s,e);const o=Array.from(new Set([...this.state.expandKeys,...s]));ee.debug("onSelectNodeChange newExpandKeys",o,e),this.setState({currentSelectNodeKeys:[e.id],expandKeys:o}),setTimeout(()=>{this.scrollNodeToView(e.id)},16)});w(this,"containNode",(e,s)=>{let o=null;return at(e,r=>r.key===s.key?(o=r,!0):!1),o});w(this,"getTreeNodeByKey",e=>{const{treeData:s}=this.state;let o=null;return at(s,r=>r.key===e?(o=r,!0):!1),o});w(this,"registerDragEvent",async()=>{if(!this.domRef.current)return;const e=new ne.Sensor({container:this.domRef.current,name:"OutlineTree",eventPriority:999,mainDocument:document}),{pluginCtx:s}=this.props,o=s.pageModel,r=await this.getDesignerHandler(),i=r.getDnd();e.setCanDrag(async l=>{var b;const c=l.event.target;if(!c)return;const u=Ot(c,je);if(!u)return;const d=o.getNode(u),g=this.getTreeNodeByKey(u);if((g==null?void 0:g.canDrag)!==void 0&&(g==null?void 0:g.canDrag)===!1)return;const m=r.getInstance(),v=await(m==null?void 0:m.customAdvanceHook.canDrag({dragNode:d,eventObj:{extraData:{},...l,from:l.event,fromSensor:e,fromPointer:l.pointer}}));if(v===!1)return!1;if(!d){console.log("targetNode not found");return}const h={...l,extraData:{dragNode:d,dragNodeUID:d.id}};return typeof v=="object"&&(h.extraData.dragNode=v.dragNode,h.extraData.dragNodeUID=((b=v.dragNode)==null?void 0:b.id)||""),h}),e.setCanDrop(async l=>{var S;const c=l.event.target;if(!c)return ee.debug("drop dom not found"),l;const u=Ot(c,je);if(!u)return ee.debug("targetNodeId dom not found",l,c,je),l;const d=this.getTreeNodeByKey(u);if((d==null?void 0:d.canDropPos)!==void 0&&d.canDropPos===!1)return ee.debug("node can not be drop by tree node config"),l;const g=o.getNode(u);if(!g)return ee.debug("targetNode not found"),l;const m=(S=l.extraData)==null?void 0:S.dragNode;if(!m)return ee.debug("startNode not found"),l;if((m==null?void 0:m.id)===g.id)return ee.debug("startNode and dropNode is the same"),l;if(m.contains(g.id))return ee.debug("startNode contain dropNode"),l;const h=no({point:l.pointer,dom:c});if(Array.isArray(d==null?void 0:d.canDropPos)&&!(d!=null&&d.canDropPos.includes(h.pos)))return!1;ee.info("can dropNode",g);const b={...l,extraData:{...l.extraData,dropPosInfo:h,dropNode:g,dropNodeUID:g.id}},x=r.getInstance(),y=await(x==null?void 0:x.customAdvanceHook.canDrop({dragNode:b.extraData.dragNode,dropNode:g,eventObj:{...b,from:b.event,fromSensor:e,fromPointer:b.pointer}}));return y===!1?!1:(typeof y=="object"&&(b.extraData={...b.extraData,...y}),b)}),i.registerSensor(e),e.emitter.on("dragging",l=>{var v,h;const c=l.extraData.dropNode;if(this.setState({dragState:Re.DRAGGING}),!c){this.setState({dropPosInfo:null});return}const u=(v=document.querySelectorAll(`[${je}="${c.id}"]`))==null?void 0:v[0];if(!u)return;const d=((h=l.extraData)==null?void 0:h.dropPosInfo)||{},g=u.getBoundingClientRect(),m={x:0,y:0};m.x=g.x,d.pos==="before"?m.y=g.y:d.pos==="after"?m.y=g.y+g.height:(m.y=g.y+g.height,m.x=g.x+20),this.setState({dropPosInfo:m})}),e.emitter.on("dragEnd",()=>{this.setState({dragState:Re.NORMAL})}),this.sensor=e});this.domRef=p.createRef(),this.state={treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:e.multiSelect||!1,dropPosInfo:{x:0,y:0},pageModel:e.pluginCtx.pageModel,dragState:Re.NORMAL}}async componentDidMount(){this.updateTreeDataFromNode();const{pluginCtx:e}=this.props,{pageModel:s}=e;s.emitter.on("*",()=>{this.updateTreeDataFromNode()}),e.globalEmitter.on("onSelectNodeChange",({node:i})=>{this.toSelectTreeNode(i)}),e.getWorkbench().emitter.on("leftPanelVisible",({visible:i,panelName:l})=>{if(i&&l==="OutlineTree"){console.log("visible, panelName",i,l);const c=e.engine.getActiveNode();c&&this.toSelectTreeNode(c)}});const r=e.engine.getActiveNode();r&&this.toSelectTreeNode(r),await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent(),this.props.pluginCtx.engine.pageModel.emitter.on("onReloadPage",()=>{this.registerDragEvent()})}render(){const{treeData:e,dragState:s,dropPosInfo:o}=this.state,{pluginCtx:r}=this.props;return a.jsx(ts.Provider,{value:{sensor:this.sensor,state:this.state,getDesignerHandler:this.getDesignerHandler,onSelectNode:async({keys:i})=>{const l=await r.pluginManager.get("Designer");if(!l)return console.warn("Designer is empty"),!1;const c=(i==null?void 0:i[0])||"";return r.pageModel.getNode(c)?await l.export.selectNode(c):!1},updateState:i=>{this.setState(i)},onDeleteNode:async i=>{const l=await r.pluginManager.get("Designer");if(!l)return console.warn("Designer is empty"),!1;const c=l.export,u=i;if(!r.pageModel.getNode(u))return f.message.error("该节点不能删除"),!1;const g=await c.deleteNode(i);return g||f.message.error("该节点不能删除"),g},onCopyNode:async i=>{const l=await r.pluginManager.get("Designer");return l?await l.export.copyNode(i):(console.warn("Designer is empty"),!1)}},children:a.jsxs("div",{className:J.contentBox,ref:this.domRef,children:[e.map((i,l)=>a.jsx(ns,{item:i,pluginCtx:this.props.pluginCtx},i.key+`${l}`)),s===Re.DRAGGING&&o&&a.jsx("div",{className:J.dropAnchorLine,style:{left:`${o.x}px`,top:`${o.y}px`}})]})})}}const vo={pluginName:"大纲树"},yo={pluginName:"Layout Tree"},Sn={zh_CN:vo,en_US:yo},Le="OutlineTree",wt=`plugin:${Le}`,ze={name:Le,PLUGIN_NAME:Le,async init(n){const{i18n:t}=n;Object.keys(Sn).forEach(r=>{t.addResourceBundle(r,wt,Sn[r],!0,!0)});const e=be.withTranslation(wt)(xo),s=be.withTranslation(wt)(({t:r})=>a.jsx(a.Fragment,{children:r("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(s,{}),name:Le,icon:a.jsx(D.ApartmentOutlined,{}),render:a.jsx(e,{pluginCtx:n})}),n.pluginReadyOk()},async destroy(n){console.log("destroy",n)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};ze.PLUGIN_NAME=Le;const ce="chamn-action-drag-handler",ht="INPUT_HANDLE_ID",Z="OUTPUT_HANDLE_ID",Pe="REQUEST_API_FAILED_HANDLE_ID",ft=p.createContext({formName:"",formState:{},conditionConfig:{},updateContext:()=>{},updateConditionConfig:()=>{},customSetterMap:{}}),zt={};let ot=()=>{};const ss=n=>{Object.assign(zt,n),ot==null||ot()};class Se extends p.Component{constructor(e){super(e);w(this,"updateContext");w(this,"isMount",!1);w(this,"getFieldsValue",()=>this.formatValue(this.state.formState));w(this,"setFields",e=>{this.setState({formState:e})});w(this,"formatValue",e=>{const s={},o=this.state.conditionConfig;return Object.keys(e).forEach(r=>{var l;(((l=o[r])==null?void 0:l.call(o,e))??!0)&&(s[r]=e[r])}),s});this.updateContext=(s,o)=>{var r,i;this.setState({formState:s,customSetterMap:zt}),(i=(r=this.props).onValueChange)==null||i.call(r,this.formatValue(s),o)},ot=()=>{this.isMount&&this.setState({customSetterMap:{...zt,...this.props.customSetterMap}})},ss(e.customSetterMap||{}),this.state={formName:e.name,formState:e.initialValue??{},conditionConfig:{},customSetterMap:e.customSetterMap||{},updateContext:this.updateContext,updateConditionConfig:(s,o)=>{this.setState({conditionConfig:{...this.state.conditionConfig,[s]:o}})}}}componentDidMount(){this.isMount=!0}componentWillUnmount(){this.isMount=!1}render(){const{state:e}=this,{children:s}=this.props;return a.jsx(ft.Provider,{value:e,children:s})}}const as=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Input,{...s,value:s.value??e,onChange:o=>{var r;(r=s.onChange)==null||r.call(s,o),n==null||n(o.target.value)}})});as.setterName="字符设置器";const os=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.InputNumber,{style:{width:"100%"},...s,value:s.value??e,onChange:o=>{var r;(r=s.onChange)==null||r.call(s,o),n==null||n(o)}})});os.setterName="数字设置器";const xt=(n=[])=>n.map(t=>typeof t=="string"?{componentName:t}:t),bo={string:"StringSetter",number:"NumberSetter",boolean:"BooleanSetter",array:"ArraySetter",expression:"ExpressionSetter",function:"FunctionSetter",json:"JSONSetter"},So=n=>n==null?"string":Array.isArray(n)?"array":typeof n=="object"?n.type==="EXPRESSION"?"expression":n.type==="FUNCTION"?"function":"json":typeof n,wo=(n,t)=>{const e=So(n),s=bo[e];return t.find(o=>o.componentName===s)};function Co(n){const{index:t,keyPaths:e,setters:s}=n,o={...n.style},r={[t]:n.value},i=p.useRef(null);return p.useEffect(()=>{var l;(l=i.current)==null||l.setFields({[t]:n.value})},[t,n.value]),a.jsx("div",{style:o,children:a.jsx(Se,{ref:i,name:String(t),initialValue:r||{},onValueChange:n.onValueChange,customSetterMap:{},children:a.jsx(yt,{suffix:a.jsx("div",{style:{marginLeft:"8px",cursor:"pointer",fontSize:"12px"},children:a.jsx(D.DeleteOutlined,{onClick:n.onDelete})}),name:String(t),label:`${n.labelPrefix??`元素-${t}`}`,keyPaths:[...e,String(t)],setters:s})})})}const No="_dragItem_xzliq_2",jo="_sortModalBox_xzliq_13",Ro="_addOneBtn_xzliq_19",en={dragItem:No,sortModalBox:jo,addOneBtn:Ro},_o=({list:n,onValueChange:t,keyPaths:e,label:s,sortLabelKey:o,...r})=>{const[i,l]=p.useState([]);p.useEffect(()=>{const m=n.map((v,h)=>({val:v,oldIndex:h,id:_.getRandomStr()}));l(m)},[n,r.open]);const c=Y.useSensors(Y.useSensor(Y.PointerSensor,{activationConstraint:{distance:15}}),Y.useSensor(Y.KeyboardSensor,{coordinateGetter:tt.sortableKeyboardCoordinates}));function u(m){const{active:v,over:h}=m;if(v.id!==(h==null?void 0:h.id)){const b=i.findIndex(j=>j.id===(v==null?void 0:v.id)),x=i.findIndex(j=>j.id===(h==null?void 0:h.id)),y=tt.arrayMove(i,b,x),S=y.map(j=>j.val);l(y),t==null||t(S)}}const[d,g]=p.useState({x:0,y:0,scaleX:1,scaleY:1});return a.jsx(f.Modal,{...r,title:`Sort: ${s} [${e.join(".")}]`,styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.1)"}},modalRender:m=>a.jsx(Y.DndContext,{sensors:c,onDragEnd:({delta:v})=>{const h={...d,...v,x:d.x+((v==null?void 0:v.x)||0),y:d.y+((v==null?void 0:v.y)||0)};g(h)},children:a.jsx(Po,{modal:m,transform:d})}),children:a.jsx("div",{className:en.sortModalBox,children:a.jsx(Y.DndContext,{sensors:c,onDragEnd:u,modifiers:[Fs.restrictToVerticalAxis],children:a.jsx(tt.SortableContext,{items:i,children:i.map(({id:m,val:v},h)=>a.jsx(ko,{id:m,index:h,label:v[o||""]},m))})})})})},Po=({modal:n,transform:t})=>{const e=p.useRef(_.getRandomStr()),{setNodeRef:s,attributes:o,listeners:r,transform:i}=Y.useDraggable({id:e.current}),l={...t,...i,x:t.x+((i==null?void 0:i.x)||0),y:t.y+((i==null?void 0:i.y)||0)};return a.jsx("div",{ref:s,style:{pointerEvents:"auto",transform:Yt.CSS.Transform.toString(l)},...o,...r,children:n})},ko=n=>{const{attributes:t,listeners:e,setNodeRef:s,transform:o,transition:r}=tt.useSortable({id:n.id}),i={transform:Yt.CSS.Transform.toString(o),transition:r},l=n.label||`Ele ${n.index}`;return a.jsx("div",{className:en.dragItem,ref:s,style:i,...t,...e,children:l})};function Eo(n){return Array.isArray(n)?n:[]}const rs=({onValueChange:n,setterContext:t,item:{setters:e,initialValue:s},sortLabelKey:o,initialValue:r,itemLabelPrefix:i,itemLabelPrefixKey:l,...c})=>{const{keyPaths:u,label:d}=t,g=p.useMemo(()=>Eo(c.value??r),[r,c.value]),[m,v]=p.useState(!1),h=xt(e||[{component:"StringSetter"}]);return p.useEffect(()=>{var b;t.setCollapseHeaderExt&&((b=t.setCollapseHeaderExt)==null||b.call(t,a.jsx(f.Button,{type:"text",size:"small",style:{color:"gray"},onClick:x=>{x.preventDefault(),x.stopPropagation(),v(!0)},children:"sort"})))},[t]),a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:[g.map((b,x)=>a.jsx(Co,{labelPrefix:b[l||o||""]||i,style:{paddingBottom:"10px"},index:x,keyPaths:u,value:b,onValueChange:y=>{g[x]=y[x],n==null||n([...g])},setters:h,onDelete:()=>{const y=[...g];y.splice(x,1),n==null||n(y)}},x)),a.jsx(f.Button,{className:en.addOneBtn,size:"small",onClick:()=>{const b=[...g];n==null||n([...b,s??""])},children:"Add One"}),a.jsx(_o,{label:d,sortLabelKey:o,onValueChange:b=>{n==null||n([...b])},open:m,list:g,keyPaths:u,onCancel:()=>{v(!1)},onOk:()=>{v(!1)}})]})};rs.setterName="数组设置器";const is=({onValueChange:n,elements:t,value:e,setterContext:s,initialValue:o})=>{const{keyPaths:r}=s,i=p.useRef(null);return p.useEffect(()=>{var l;(l=i.current)==null||l.setFields(e||{})},[e]),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(Se,{ref:i,name:r.join("."),initialValue:e||o||{},onValueChange:l=>{n==null||n(l)},customSetterMap:{},children:t.map((l,c)=>{const u=xt(l.setters),d=_.getMTitle(l.title),g=_.getMTitleTip(l.title)||(l==null?void 0:l.description);return a.jsx("div",{children:a.jsx(yt,{name:l.name,label:d,tips:g,condition:l.condition,keyPaths:[...r,l.name],setters:u})},c)})})})};is.setterName="对象设置器";const xe=n=>{const t=s=>{var o;(o=n.beforeMount)==null||o.call(n,s)},e=s=>{var o;(o=n.onDidMount)==null||o.call(n,s)};return a.jsx(On,{height:"100%",width:"100%",defaultLanguage:n.language,defaultValue:n.initialValue,beforeMount:t,onMount:e,options:n.options,theme:n.theme,onChange:n.onChange})},tn=`type SetStateInternal<T> = {
|
|
1
|
+
"use strict";var As=Object.defineProperty;var Bs=(n,t,e)=>t in n?As(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var w=(n,t,e)=>Bs(n,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),g=require("react"),hn=require("re-resizable"),f=require("antd"),V=require("@ant-design/icons"),T=require("clsx"),it=require("mitt"),_=require("@chamn/model"),Os=require("color"),F=require("lodash-es"),zs=require("css-tree"),he=require("@chamn/render"),$s=require("consola"),Bn=require("react-dom"),On=require("@monaco-editor/react"),Xt=require("i18next"),be=require("react-i18next"),ne=require("@chamn/layout");require("@chamn/layout/dist/style.css");const K=require("@xyflow/react");require("@xyflow/react/dist/style.css");const fn=require("@dagrejs/dagre"),Yt=require("@dnd-kit/utilities"),Y=require("@dnd-kit/core"),tt=require("@dnd-kit/sortable"),Fs=require("@dnd-kit/modifiers"),St=require("quicktype-core"),Hs=require("react-color"),A=require("lucide-react"),Us=require("antd/es/tag/CheckableTag");function Gs(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const ye=Gs(zs),Ws="_workbenchContainer_1z0k5_2",Ks="_topToolBarBox_1z0k5_9",qs="_topToolBarView_1z0k5_15",Js="_bodyContent_1z0k5_18",Xs="_leftBox_1z0k5_24",Ys="_pluginIconBar_1z0k5_31",Qs="_pluginIconItem_1z0k5_36",Zs="_active_1z0k5_46",ea="_pluginPanelBoxResizeBox_1z0k5_62",ta="_pluginHeader_1z0k5_69",na="_pluginNameText_1z0k5_77",sa="_closeBtn_1z0k5_84",aa="_fixedBtn_1z0k5_85",oa="_pluginPanelBox_1z0k5_62",ra="_hiddenLeftPanel_1z0k5_101",ia="_rightResizeBox_1z0k5_104",la="_arrowCursor_1z0k5_108",ca="_rightBox_1z0k5_123",ua="_hiddenRightPanel_1z0k5_130",da="_centerBox_1z0k5_134",ga="_subTopToolbarBox_1z0k5_141",pa="_canvasBox_1z0k5_146",ma="_scrollBox_1z0k5_153",ha="_canvasBoxPadding_1z0k5_157",fa="_customViewBox_1z0k5_161",D={workbenchContainer:Ws,topToolBarBox:Ks,topToolBarView:qs,bodyContent:Js,leftBox:Xs,pluginIconBar:Ys,pluginIconItem:Qs,active:Zs,pluginPanelBoxResizeBox:ea,pluginHeader:ta,pluginNameText:na,closeBtn:sa,fixedBtn:aa,pluginPanelBox:oa,hiddenLeftPanel:ra,rightResizeBox:ia,arrowCursor:la,rightBox:ca,hiddenRightPanel:ua,centerBox:da,subTopToolbarBox:ga,canvasBox:pa,scrollBox:ma,canvasBoxPadding:ha,customViewBox:fa},lt=n=>{const t={};return n.forEach(e=>{t[e.property]=e.value}),t},Qt=(n={})=>Object.keys(n).reduce((e,s)=>[...e,{property:s,value:n[s]}],[]),zn=n=>{let t="";return n.forEach(e=>{t+=`${e.property}:${e.value};`}),t},_e=(n=[])=>{F.isPlainObject(n)&&(n=Object.keys(n).map(r=>({property:r,value:n[r]})));const t=[],e=[],s=[];return n.forEach(r=>{const i=r.value,l={property:r.property,value:i};s.push(l),_.isExpression(i)?e.push({...l,value:i}):t.push({...l,value:i})}),{normalProperty:t,expressionProperty:e,allProperty:s}},$n=n=>{const t=ye.parse(`.node {${n}}`),e=[];return ye.walk(t,function(s){s.type==="Declaration"&&e.push({id:_.getRandomStr(),property:s.property,value:ye.generate(s.value)})}),e},Fn=(n,t)=>{const e={class:n,value:[]},s=[];return Object.keys(t).forEach(o=>{const r=t[o],i={state:o,media:[],text:(r==null?void 0:r.normal)||""};Object.keys(r||{}).forEach(l=>{i.media=i.media||[],l!=="normal"&&i.media.push({type:"max-width",value:l,text:(r==null?void 0:r[l])||""})}),s.push(i)}),e.value=s,e},Hn=n=>{if(!n)return{};const t=n.value,e={};return t.forEach(s=>{var i;const o=s.style;!s.text&&o&&(s.text=Object.keys(o).reduce((l,c)=>(l+=`${c}: ${o[c]};`,l),""));const r={normal:s.text||""};(i=s.media)==null||i.forEach(l=>{r[l.value]=l.text||""}),e[s.state]=r}),e},At=n=>{const t=/#(?:[0-9a-fA-F]{3}){1,2}\b/g,e=/rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(?:\d*\.\d+|\d+\.\d*|\d+)\s*\)/g,s=/rgb?\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)/g,o=/hsb?\(\s*\d+\s*,\s*\d+%\s*,\s*\d+%\s*\)/g,r=n.match(t)||[],i=n.match(e)||[],l=n.match(s)||[],c=n.match(o)||[];return[...r,...i,...l,...c]},nt=n=>{const t=At(n),e=t.reduce((r,i)=>(r[i]=Os(i).hexa(),r),{});let s=n;return t.forEach(r=>{s=s.replaceAll(r,e[r])}),s.split(",").map(r=>{const i={offsetX:void 0,offsetY:void 0,blur:void 0,spread:void 0,color:void 0,type:void 0};let l=r;l.includes("inset")&&(i.type="inset",l=l.replace("inset","").trim());const c=At(l);c.length&&(i.color=c[0],l=l.replace(i.color,"").trim());const u=l.split(" "),d=[];for(let p=0;p<u.length&&!isNaN(parseInt(u[p]));p++)d.push(u[p]);return i.offsetX=d[0],i.offsetY=d[1],i.blur=d[2]||"",i.spread=d[3]||"",i.color||(i.color=u[d.length]),i})};class Un{constructor(t){w(this,"_assets");this._assets=t}getList(){return this._assets}setList(t){const e=[...t,...this._assets],s=Zt(e);this._assets=s}}const Zt=n=>{const t=[],e={};return n.forEach(s=>{e[s.package]||(e[s.package]=s,t.push(s))}),t},Gn=async({iframe:n})=>{const t=n.getWindow();t&&(t.React=window.React,t.ReactDOM=window.ReactDOM,t.ReactDOMClient=window.ReactDOMClient)},Wn=n=>async({iframe:e,assets:s,page:o,pageModel:r,ready:i,renderJSUrl:l})=>{await e.injectJS(l||"");const c=e.getWindow(),u=e.getDocument(),d=c.React,p=c.ReactDOMClient,m=c.CRender,v=o||(r==null?void 0:r.export());if(!v){console.log("page schema is empty");return}const h=Zt([...s,...v.assets||[]]);new m.AssetLoader(h,{window:e.getWindow()}).onSuccess(()=>{const x=he.collectVariable(h,c),y=he.flatObject(x),S=he.getThirdLibs(x,v.thirdLibs||[]),j=d==null?void 0:d.createElement(m.DesignRender,{adapter:m==null?void 0:m.ReactAdapter,page:o,pageModel:r,components:{...y,...n.components||{}},$$context:{thirdLibs:S},onMount:C=>{i(C)},...(n==null?void 0:n.renderProps)||{}});p.createRoot(u.getElementById("app")).render(j)}).onError(()=>{console.log("资源加载出错")}).load()},ee=$s.consola.create({level:1}),se=({time:n=1e3/60,cb:t}={})=>new Promise(e=>{setTimeout(()=>{e("ok"),t==null||t()},n)}),Ae=(n,t,e)=>{n[t]===void 0&&(n[t]=e)},Kn=function(n,t){try{return JSON.parse(n)}catch{return t??null}};class qn extends g.Component{constructor(e){super(e);w(this,"emitter");w(this,"leftPanelContentRef");w(this,"addLeftPanel",e=>{this.state.leftPanels.push(e),this.setState({leftPanels:[...this.state.leftPanels]})});w(this,"replaceLeftPanel",(e,s)=>{const o=this.state.leftPanels.findIndex(r=>r.name===e);if(o>-1){const r=[...this.state.leftPanels];r[o]=s,this.setState({leftPanels:r})}});w(this,"openLeftPanel",async e=>{const s=e||this.state.currentActiveLeftPanel;this.setState({leftBoxVisible:!0,leftBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:s}),await se(),this.emitter.emit("leftPanelVisible",{visible:!0,panelName:s})});w(this,"closeLeftPanel",async()=>{this.setState({leftBoxVisible:!1,leftBoxSize:{width:0,height:"100%"}}),await se(),this.emitter.emit("leftPanelVisible",{visible:!1,panelName:this.state.currentActiveLeftPanel})});w(this,"toggleLeftPanel",()=>{const{leftBoxVisible:e}=this.state;!e?this.openLeftPanel():this.closeLeftPanel()});w(this,"onPluginIconClick",e=>{const{currentActiveLeftPanel:s}=this.state;s===e.name&&this.state.leftBoxVisible?this.closeLeftPanel():this.openLeftPanel(e.name)});w(this,"openRightPanel",()=>{const{rightBoxSize:e}=this.state;this.setState({rightBoxVisible:!0,rightBoxSize:{width:400,height:e.height}})});w(this,"closeRightPanel",()=>{const{rightBoxSize:e}=this.state;this.setState({rightBoxVisible:!1,rightBoxSize:{width:0,height:e.height}})});w(this,"replaceBodyView",e=>{this.setState({bodyView:e})});w(this,"replaceRightView",e=>{this.setState({rightView:e})});w(this,"replaceTopBarView",e=>{this.setState({topToolBarView:e})});w(this,"replaceSubTopBarView",e=>{this.setState({subTopToolBarView:e})});w(this,"toggleRightPanel",()=>{const{rightBoxVisible:e,rightBoxSize:s}=this.state,o=!e;this.setState({rightBoxVisible:o,rightBoxSize:{width:o?400:0,height:s.height}})});w(this,"onLeftBoxResizeStop",(e,s,o,r)=>{const i=this.state.leftBoxSize.width+r.width;this.setState({leftBoxSize:{width:i,height:this.state.leftBoxSize.height}})});w(this,"onGlobalClick",e=>{var s;e.target&&((s=this.leftPanelContentRef.current)!=null&&s.contains(e.target))||!this.state.leftBoxFixed&&this.state.leftBoxVisible&&this.closeLeftPanel()});this.emitter=e.emitter||it(),this.leftPanelContentRef=g.createRef(),this.state={leftBoxVisible:!0,leftBoxSize:{width:300,height:"100%"},leftBoxFixed:!0,rightBoxVisible:!0,rightBoxSize:{width:350,height:"100%"},currentActiveLeftPanel:"ComponentLib",leftPanels:[],bodyView:null,rightView:null,topToolBarView:null,subTopToolBarView:null,customViewList:[],hiddenTopBar:e.hiddenTopBar??!1,hiddenLeftPanel:e.hiddenLeftPanel??!1,hiddenRightPanel:e.hiddenRightPanel??!1,canvasFull:e.canvasFull??!1}}getHiddenWidgetConfig(){return{hiddenTopBar:this.state.hiddenTopBar,hiddenLeftPanel:this.state.hiddenLeftPanel,hiddenRightPanel:this.state.hiddenRightPanel}}hiddenWidget(e){this.setState({...e||{}})}addCustomView(e){const s=this.state.customViewList;return s.push(e),this.setState({customViewList:[...s]}),()=>{const o=this.state.customViewList.filter(r=>r!==e);this.setState({customViewList:[...o]})}}componentDidMount(){document.addEventListener("click",this.onGlobalClick)}render(){const{leftBoxVisible:e,leftBoxSize:s,leftBoxFixed:o,rightBoxSize:r,rightBoxVisible:i,leftPanels:l,currentActiveLeftPanel:c,bodyView:u,rightView:d,topToolBarView:p,subTopToolBarView:m,customViewList:v,hiddenTopBar:h,hiddenLeftPanel:b,hiddenRightPanel:x}=this.state,y={};o||(y.position="absolute",y.left="50px",y.top=0);const S=l.find(E=>E.name===c),j=(S==null?void 0:S.render)||null,{onPluginIconClick:C,toggleRightPanel:P,toggleLeftPanel:N,onLeftBoxResizeStop:k}=this;return a.jsxs("div",{className:D.workbenchContainer,children:[!h&&a.jsx("div",{className:D.topToolBarBox,children:a.jsx("div",{className:D.topToolBarView,children:p})}),a.jsxs("div",{className:D.bodyContent,children:[!b&&a.jsxs("div",{className:T([D.leftBox,b??D.hiddenLeftPanel]),ref:this.leftPanelContentRef,children:[a.jsx("div",{className:D.pluginIconBar,children:l.map(E=>a.jsx("div",{onClick:()=>C(E),className:T([D.pluginIconItem,(S==null?void 0:S.name)===E.name&&D.active]),children:E.icon},E.name))}),e&&a.jsxs(hn.Resizable,{className:D.pluginPanelBoxResizeBox,size:s,style:y,minWidth:300,maxWidth:600,enable:{right:e},onResizeStop:k,children:[a.jsxs("div",{className:D.pluginHeader,children:[a.jsx("span",{className:D.pluginNameText,children:(S==null?void 0:S.title)||(S==null?void 0:S.name)}),a.jsx(f.Button,{className:T([D.fixedBtn]),type:"text",size:"small",onClick:()=>{this.setState({leftBoxFixed:!this.state.leftBoxFixed})},children:a.jsx(V.PushpinOutlined,{className:T([o&&D.active])})}),a.jsx(f.Button,{className:D.closeBtn,type:"text",size:"small",onClick:N,children:a.jsx(V.CloseOutlined,{})})]}),a.jsx("div",{className:D.pluginPanelBox,children:j})]})]}),a.jsxs("div",{className:D.centerBox,children:[m&&a.jsx("div",{className:D.subTopToolbarBox,children:m}),a.jsx("div",{className:T([D.canvasBox,this.state.canvasFull!==!0&&D.canvasBoxPadding]),children:a.jsx("div",{className:D.scrollBox,children:u})})]}),a.jsxs("div",{className:T([D.rightResizeBox,x&&D.hiddenRightPanel]),children:[a.jsx("div",{className:D.arrowCursor,onClick:P,children:a.jsx(V.DoubleRightOutlined,{className:T([!i&&D.active])})}),a.jsx("div",{style:{display:i?"block":"none",height:"100%"},children:a.jsx(hn.Resizable,{minWidth:400,maxWidth:600,enable:{left:i},size:r,onResizeStop:(E,H,O,z)=>{this.setState({rightBoxSize:{width:this.state.rightBoxSize.width+z.width,height:this.state.rightBoxSize.height}})},children:a.jsx("div",{className:D.rightBox,children:d})})})]})]}),Bn.createPortal(a.jsx("div",{className:D.customViewBox,children:v.map(E=>a.jsx("div",{style:{pointerEvents:"auto",display:"inline-block"},children:E.view},E.key))}),document.body)]})}}const xa="_engineContainer_f3ly9_2",va={engineContainer:xa},ya={translation:{"Welcome to React":"欢迎使用 React"}},ba={translation:{"Welcome to React":"Welcome to React and react-i18next"}},Sa={zh_CN:ya,en_US:ba};Xt.use(be.initReactI18next).init({resources:Sa,lng:"zh_CN",react:{bindI18n:"added languageChanged",bindI18nStore:"added"}});const ct=Xt;ct.update=()=>{setTimeout(()=>{Xt.emit("added")},0)};ct.changeLanguage("en_US");class Jn{constructor({getWorkbench:t,emitter:e,pageModel:s,i18n:o,assetsPackageListManager:r,engine:i}){w(this,"plugins",new Map);w(this,"emitter",it());w(this,"getWorkbench");w(this,"pageModel");w(this,"i18n");w(this,"assetsPackageListManager");w(this,"engine");w(this,"customPluginHooks",{});w(this,"customPlugin",(t,e)=>{const s=this.customPluginHooks,o=s[t]||[];o.push(e),s[t]=o,this.customPluginHooks=s});w(this,"createPluginCtx",()=>({globalEmitter:this.emitter,emitter:it(),config:{},getWorkbench:this.getWorkbench,pluginManager:this,pageModel:this.pageModel,i18n:this.i18n,assetsPackageListManager:this.assetsPackageListManager,engine:this.engine,pluginReadyOk:()=>{}}));this.getWorkbench=t,this.emitter=e,this.pageModel=s,this.i18n=o,this.assetsPackageListManager=r,this.engine=i}async add(t){var i;const e=this.createPluginCtx();let s;typeof t=="function"?s=t(e):s=t;let o={source:s,ctx:e,export:((i=s.export)==null?void 0:i.call(s,e))||{},ready:!1};(this.customPluginHooks[s.name]||[]).forEach(l=>{o=l(o)}),e.pluginReadyOk=()=>{this.emitter.emit(`${s.name}:ready`),o.ready=!0},this.plugins.set(s.name,o),await s.init(e)}async get(t){const e=this.plugins.get(t);return e!=null&&e.ready||await this.onPluginReadyOk(t),e}async remove(t){const e=this.plugins.get(t);await(e==null?void 0:e.source.destroy(e.ctx)),this.plugins.delete(t)}onPluginReadyOk(t,e){return new Promise(s=>{const o=this.plugins.get(t);o!=null&&o.ready?s(o):o===void 0&&console.warn(`plugin: ${t} not found.`),this.emitter.on(`${t}:ready`,()=>{const r=this.plugins.get(t);r&&(r.ready=!0,e==null||e(r),s(r))})})}}const wa={pluginName:"组件库"},Ca={pluginName:"Components"},xn={zh_CN:wa,en_US:Ca},Na="_container_e0jz7_2",ja="_header_e0jz7_8",Ra="_tabTitle_e0jz7_25",_a="_notFoundComponent_e0jz7_37",st={container:Na,header:ja,tabTitle:Ra,notFoundComponent:_a},Pa="_square_1b87f_2",ka="_componentItem_1b87f_18",Ea="_iconImg_1b87f_41",Ma="_iconBox_1b87f_45",Ta="_iconText_1b87f_54",Ve={square:Pa,componentItem:ka,iconImg:Ea,iconBox:Ma,iconText:Ta},Ia=n=>{const t={[Xn]:n.id},e=g.useMemo(()=>n.iconText?a.jsx("div",{className:Ve.iconText,children:String(n.iconText).toUpperCase()}):typeof n.icon=="string"?a.jsx("img",{className:Ve.iconImg,src:n.icon,draggable:!1}):n.icon,[n.icon,n.iconText]),s=a.jsx("div",{className:T([Ve.square,n.containerClassName]),children:a.jsxs("div",{...t,className:Ve.componentItem,style:n.style,children:[a.jsx("div",{className:Ve.iconBox,children:e}),a.jsx("span",{children:n.name})]})});return n.description?a.jsx(f.Popover,{overlayInnerStyle:{maxWidth:"300px",maxHeight:"200px",overflow:"auto"},content:n.description||"",zIndex:1e3,placement:"right",children:s}):s},Xn="data-drag-key",Va="_ListBox_1mtsn_2",Da="_collapsePanel_1mtsn_24",vn={ListBox:Va,collapsePanel:Da},yn=n=>{const{dataSource:t}=n,e=t.map(o=>o.name||""),s=g.useMemo(()=>t.map(o=>{const r=o.name||"",i=a.jsx("div",{className:vn.collapsePanel,children:o.list.map(l=>a.jsx(Ia,{id:l.id,name:l.title,icon:l.snapshot||l.snapshotText,iconText:l.snapshotText,description:l.description||""},l.id))});return{key:r,label:r,children:i}}),[t]);return t.length?a.jsx("div",{className:vn.ListBox,children:a.jsx(f.Collapse,{style:{width:"100%"},defaultActiveKey:e,items:s})}):null},Yn=(n,t)=>{if(!n)return null;const e=n.getAttribute(t);return e||Yn(n.parentElement,t)},La=(n,t)=>{const e=[],s=t==null?void 0:t.toLowerCase();return n.forEach(o=>{[...o.list].forEach(i=>{const l=i.list.filter(c=>{var d,p,m,v;let u=!1;return typeof c.description=="string"&&(u=(d=c.description)==null?void 0:d.includes(s)),u=u||((p=c.title)==null?void 0:p.toLowerCase().includes(s)),u=u||((m=c.snapshotText)==null?void 0:m.toLowerCase().includes(s)),u=u||((v=c.category)==null?void 0:v.toLowerCase().includes(s)),u});l.length&&e.push({name:i.name,list:l})})}),e},fe="ComponentLib",Bt=`plugin:${fe}`,Aa=({children:n})=>a.jsx("div",{className:st.tabTitle,children:n});class Ba extends g.Component{constructor(e){super(e);w(this,"containerRef");w(this,"disposeList",[]);w(this,"boxSensor");w(this,"leftPanelVisibleCb",async({visible:e,panelName:s})=>{await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),s===fe&&e&&this.registerDragEvent()});w(this,"getNewNode",e=>{const{pluginCtx:s}=this.props,o=s.pageModel;if(!e)return;const r=Yn(e,Xn);if(!r)return;const i=o.materialsModel.findSnippetById(r);if(i)return o==null?void 0:o.createNode(i.schema)});w(this,"registerDragEvent",async()=>{const{containerRef:e}=this,{pluginCtx:s}=this.props,o=await s.pluginManager.get("Designer");if(!o||!e.current)return;const i=o.export.getDnd(),l=new ne.Sensor({name:"ComponentListBox",container:e.current,mainDocument:document});this.boxSensor=l,l.setCanDrag(async u=>{const d=this.getNewNode(u.event.target);return this.props.pluginCtx.pluginManager.get("Designer").then(p=>{const m=p==null?void 0:p.export;m==null||m.selectNode("")}),{...u,extraData:{dropType:"NEW_ADD",dragNode:d}}}),i.registerSensor(l);const c=()=>{const{getWorkbench:u}=this.props.pluginCtx,d=u();d.state.leftBoxFixed||d.closeLeftPanel()};this.disposeList.push(()=>{i.emitter.off("dragStart",c)}),i.emitter.on("dragStart",c)});w(this,"toAddNewNode",async e=>{const s=this.getNewNode(e.nativeEvent.target);if(!s)return;const{pageModel:o}=this.props.pluginCtx;return this.props.pluginCtx.pluginManager.get("Designer").then(async r=>{var b;const i=r==null?void 0:r.export,l=i==null?void 0:i.getSelectedNodeId(),c=o.getNode(l),u=_.findContainerNode(c);let d="CHILD_END",p=c??null;if(c)u===c.parent?c.isContainer()?(d="CHILD_END",p=c):(d="AFTER",p=c):u&&!_.isPageModel(u)&&(d="CHILD_END",p=u);else{const x=o.getRootNode();x&&(d="CHILD_END",p=x)}const m=i==null?void 0:i.getInstance(),v=await(m==null?void 0:m.customAdvanceHook.onNewAdd({dragNode:s,dropNode:p,eventObj:{from:e.nativeEvent,fromSensor:this.boxSensor,pointer:null,fromPointer:null,extraData:{}}}));if(v===!1)return;let h={dragNode:s,dropNode:p,pos:d};typeof v=="object"&&(h={...h,dragNode:v.addNode??h.dragNode,dropNode:v.dropNode??h.dropNode,pos:((b=v.dropPosInfo)==null?void 0:b.pos)??h.pos}),o.addNode(h.dragNode,h.dropNode,h.pos),setTimeout(()=>{i==null||i.selectNode(h.dragNode.id)},16)})});w(this,"onSearch",()=>{if(!this.state.searchString.length){this.setState({searchResultList:[],searchMode:!1});return}const e=La(this.state.componentsList,this.state.searchString);this.setState({searchResultList:e,searchMode:!0})});this.containerRef=g.createRef(),this.state={componentsList:[],searchString:"",searchMode:!1,searchResultList:[]}}updateComponentsList(){const{pluginCtx:e}=this.props,{pageModel:s}=e,{materialsModel:o}=s,r=o.getAllSnippets();if(r.length&&r[0].name==="default"){const i=r.shift();i&&r.push(i)}this.setState({componentsList:r})}async componentDidMount(){await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent();const{pluginCtx:e}=this.props,{i18n:s}=e;Object.keys(xn).forEach(o=>{s.addResourceBundle(o,Bt,xn[o],!0,!0)}),s.update(),this.updateComponentsList(),e.globalEmitter.on("updateMaterials",()=>{this.updateComponentsList()})}componentWillUnmount(){this.disposeList.map(e=>e())}render(){const{componentsList:e,searchString:s,searchResultList:o,searchMode:r}=this.state,{toAddNewNode:i}=this,l=this.props.pluginCtx.config.customSearchBar,c=e.map(d=>({label:a.jsx(Aa,{children:F.capitalize(d.name)}),key:d.name,children:a.jsx(yn,{dataSource:d.list})})),u=a.jsx(f.Input,{value:s,placeholder:"input search text",suffix:a.jsx(V.SearchOutlined,{style:{color:"rgba(0,0,0,.25)"}}),onPressEnter:this.onSearch,allowClear:!0,onClear:()=>{this.setState({searchMode:!1,searchResultList:[]})},onChange:d=>{this.setState({searchString:d.target.value})}});return a.jsxs("div",{ref:this.containerRef,className:st.container,onClick:i,children:[a.jsx("div",{className:st.header,children:l?a.jsx(l,{defaultInputView:u,updateState:this.setState.bind(this)}):u}),r&&a.jsxs("div",{children:[!o.length&&a.jsx("div",{className:st.notFoundComponent,children:"暂无相关组件"}),a.jsx(yn,{dataSource:o})]}),!o.length&&!r&&a.jsx(f.Tabs,{defaultActiveKey:"BaseComponent",items:c,style:{width:"100%"}})]})}}const Be={name:fe,PLUGIN_NAME:fe,async init(n){const t=be.withTranslation(Bt)(Ba),e=be.withTranslation(Bt)(({t:o})=>a.jsx(a.Fragment,{children:o("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(e,{}),name:"ComponentLib",icon:a.jsx(V.AppstoreAddOutlined,{}),render:a.jsx(t,{pluginCtx:n})}),n.pluginReadyOk()},reload:async()=>{console.log(fe,"not suooprt reload")},async destroy(n){console.log("destroy",n)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};Be.PLUGIN_NAME=fe;const De="Designer",Oa={pluginName:"组件库"},za={pluginName:"Designer Canvas"},bn={zh_CN:Oa,en_US:za},$a="_toolBarBox_h5ljb_2",Fa="_item_h5ljb_10",Ha="_layoutSelectBox_h5ljb_20",Ua="_hoverBox_h5ljb_25",Ga="_hoverBoxActive_h5ljb_35",Wa="_hoverItem_h5ljb_39",Ka="_placeholder_h5ljb_47",le={toolBarBox:$a,item:Fa,layoutSelectBox:Ha,hoverBox:Ua,hoverBoxActive:Ga,hoverItem:Wa,placeholder:Ka},qa=({dataSource:n,children:t,onSelect:e})=>{const[s,o]=g.useState(!1);return a.jsxs("div",{className:le.layoutSelectBox,children:[a.jsx("div",{className:T([le.hoverBox,s&&le.hoverBoxActive]),children:n.map(r=>a.jsx("div",{className:le.hoverItem,onClick:()=>e(r.key),children:r.label},r.key))}),a.jsx("div",{className:le.placeholder,onMouseOver:()=>o(!0),onMouseOut:()=>o(!1),children:t})]})},Qn=n=>{var v;const{nodeList:t,toSelectNode:e,toDelete:s,toCopy:o,toHidden:r}=n,i=[...t],l=i.shift(),c=i.map(h=>{var S;const b=h,x=(S=b.materialsModel.findByComponentName(b.value.componentName))==null?void 0:S.value.title,y=b.value.title||x||b.value.componentName||"";return{key:h.id,label:y||"Empty"}}),u=a.jsx("div",{className:le.item,onClick:()=>o((l==null?void 0:l.id)||""),children:a.jsx(V.CopyOutlined,{})},"CopyOutlined"),d=a.jsx("div",{className:le.item,onClick:()=>s((l==null?void 0:l.id)||""),children:a.jsx(V.DeleteOutlined,{})},"DeleteOutlined"),p=a.jsx("div",{className:le.item,onClick:()=>r((l==null?void 0:l.id)||""),children:a.jsx(V.EyeInvisibleOutlined,{})},"EyeInvisibleOutlined"),m=a.jsx(qa,{dataSource:c.reverse(),onSelect:e,children:a.jsx("div",{children:(l==null?void 0:l.value.title)||((v=l==null?void 0:l.material)==null?void 0:v.value.title)||"Empty"})},"LayoutSelect");return{map:{copyItem:u,deleteItem:d,visibleItem:p,nodeLayout:m},list:[m,p,u,d]}},Ja=n=>{const{copyItem:t,deleteItem:e,visibleItem:s,nodeLayout:o}=g.useMemo(()=>Qn(n).map,[n]);return a.jsxs("div",{className:le.toolBarBox,children:[o,s,t,e]})},Xa=(n,t=5)=>{const e=[];let s=0,o=n;for(;s<t&&o;)_.isNodeModel(o)&&(e.push(o),s++),o=o.parent||null;return e},Ya=({node:n})=>a.jsx("div",{style:{backgroundColor:"rgba(100,100,100)",padding:"3px 10px 3px 15px",borderRadius:"2px",opacity:.9,color:"rgba(220,220,220)"},children:n.value.componentName}),Qa="_hoverTips_k3vn7_2",Za={hoverTips:Qa};class eo{constructor(t){w(this,"getPortalViewCtx");w(this,"ctx");w(this,"layoutRef");this.getPortalViewCtx=t.getPortalViewCtx,this.ctx=t.ctx,this.layoutRef=t.layoutRef}async canDrag({dragNode:t,eventObj:e}){var o;const s=(o=t==null?void 0:t.material)==null?void 0:o.value.advanceCustom;return s!=null&&s.canDragNode?s==null?void 0:s.canDragNode(t,{context:this.ctx,viewPortal:this.getPortalViewCtx(),event:e,extra:e.extraData}):!0}async canDrop({dragNode:t,dropNode:e,eventObj:s}){var c,u;const o=(c=t==null?void 0:t.material)==null?void 0:c.value.advanceCustom,r=(u=e.material)==null?void 0:u.value.advanceCustom;let i={};const l={dropNode:e,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:s,extra:s.extraData};if(o!=null&&o.canDropNode)if(i=await o.canDropNode(t,l),r!=null&&r.canAcceptNode){let d;return typeof i=="object"?d=await(r==null?void 0:r.canAcceptNode(i.dragNode,{...l,...i})):d=await(r==null?void 0:r.canAcceptNode(t,{...l})),d}else return i;else if(r!=null&&r.canAcceptNode)return await(r==null?void 0:r.canAcceptNode(t,{...l}));return!0}async onNewAdd({dragNode:t,dropNode:e,eventObj:s}){var r,i,l;const o=await((l=(i=(r=t.material)==null?void 0:r.value.advanceCustom)==null?void 0:i.onNewAdd)==null?void 0:l.call(i,t,{dropNode:e,context:this.ctx,viewPortal:this.getPortalViewCtx(),event:s,extra:s.extraData}));return o===!1?!1:o}getSelectRectViewRender(t){var s;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.selectRectViewRender}getHoverRectViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.hoverRectViewRender}getDropViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.dropViewRender}getGhostViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.ghostViewRender}getToolbarViewRender(t){var s;if(!t)return null;const e=t.material;return(s=e==null?void 0:e.value.advanceCustom)==null?void 0:s.toolbarViewRender}async onCopy(t){var i;let e=t;const s=this.ctx,o=t.material,r=(i=o==null?void 0:o.value.advanceCustom)==null?void 0:i.onCopy;if(r){const l=await r(t,{viewPortal:this.getPortalViewCtx(),context:s,extra:{}});if(l===!1)return!1;typeof l=="object"&&(e=l.copyNode??e)}return e&&s.pageModel.copyNode(e)&&await se(),e}async onDelete(t){var i;let e=t;const s=this.ctx,o=t.material,r=(i=o==null?void 0:o.value.advanceCustom)==null?void 0:i.onDelete;if(r){const l=await r(t,{viewPortal:this.getPortalViewCtx(),context:s,extra:{}});if(l===!1)return!1;typeof l=="object"&&(e=l.deleteNode??e)}return e&&s.pageModel.deleteNode(e)&&await se(),e}}class to extends g.Component{constructor(e){super(e);w(this,"layoutRef");w(this,"customAdvanceHook");w(this,"getPortalViewCtx",()=>({setView:e=>{this.setState({portalView:e})},clearView:()=>{this.setState({portalView:null})}}));w(this,"onNodeDragging",async e=>{var r,i,l;const s=e.extraData,o=s==null?void 0:s.dragNode;if(o)return(l=(i=(r=o.material)==null?void 0:r.value.advanceCustom)==null?void 0:i.onDragging)==null?void 0:l.call(i,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:s})});w(this,"onNodeDragEnd",async()=>{this.setState({...this.state,dropViewRender:this.props.pluginCtx.config.dropViewRender})});w(this,"onNodeDrop",async e=>{var u,d,p,m,v,h,b,x,y,S,j;const{layoutRef:s}=this,o=this.props.pluginCtx.pageModel,r=e.extraData,i=r==null?void 0:r.dropPosInfo,l={before:"BEFORE",after:"AFTER",current:"CHILD_START"}[(i==null?void 0:i.pos)||"after"],c=r==null?void 0:r.dragNode;if(c&&await((p=(d=(u=c.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.onDrop)==null?void 0:p.call(d,c,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:r}))===!1)return!1;if(!(r!=null&&r.dropNode))return console.warn("cancel drop, because drop node is null"),!1;if(r.dropType==="NEW_ADD"){if(c&&await((h=(v=(m=c.material)==null?void 0:m.value.advanceCustom)==null?void 0:v.onNewAdd)==null?void 0:h.call(v,c,{dropNode:r.dropNode,context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:r}))===!1)return!1;((b=r.dropNode)==null?void 0:b.nodeType)!=="NODE"?o==null||o.addNode(r.dragNode,r.dropNode,"CHILD_START"):o==null||o.addNode(r.dragNode,r.dropNode,l)}else{if(((x=r.dropNode)==null?void 0:x.id)===((y=r.dragNode)==null?void 0:y.id))return console.warn("dragNode and dropNode id is the same"),!1;if(!o.moveNodeById(((S=r.dragNode)==null?void 0:S.id)||"",((j=r==null?void 0:r.dropNode)==null?void 0:j.id)||"",l))return console.warn("drop failed"),!1}return this.props.pluginCtx.emitter.emit("onDrop",e),new Promise(C=>{setTimeout(async()=>{var P,N,k;if(c&&await this.onSelectNode(c,null)===!1)return(P=s.current)==null||P.selectNode(""),C(!1);(k=s.current)==null||k.selectNode(((N=r.dragNode)==null?void 0:N.id)||""),C(!0)},16)})});w(this,"onSelectNode",async(e,s)=>{var c,u,d,p;const{pluginCtx:o}=this.props,{layoutRef:r}=this;if(!e)return o.engine.updateCurrentSelectNode(null),(c=r.current)==null||c.selectNode(""),this.setState({selectToolbarView:null}),!1;const i=await((p=(d=(u=e.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.onSelect)==null?void 0:p.call(d,e,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:s,extra:{}}));if(i===!1)return i;const l=this.getToolbarView(e);return this.setState({selectToolbarView:l,selectRectViewRender:this.customAdvanceHook.getSelectRectViewRender(e)||this.props.pluginCtx.config.selectRectViewRender}),setTimeout(()=>{o.engine.updateCurrentSelectNode(e)},16.66),!0});w(this,"onDragStart",async e=>{var u,d,p,m,v,h;const s=e.extraData,o=s==null?void 0:s.dragNode;if(!o)return!1;const r={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:s},i=await((p=(d=(u=o.material)==null?void 0:u.value.advanceCustom)==null?void 0:d.canDragNode)==null?void 0:p.call(d,o,{context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:e,extra:{}}));if(i===!1)return i;const l=await((h=(v=(m=o.material)==null?void 0:m.value.advanceCustom)==null?void 0:v.onDragStart)==null?void 0:h.call(v,o,{...r}));if(l===!1)return l;const c=this.getGhostView(o,r);return this.setState({...this.state,ghostView:c,dropViewRender:this.customAdvanceHook.getDropViewRender(o)||this.props.pluginCtx.config.dropViewRender}),!0});w(this,"getGhostView",(e,s)=>{let o=a.jsx(Ya,{node:e});const i=this.customAdvanceHook.getGhostViewRender(e)||this.props.pluginCtx.config.ghostViewRender;return i&&(o=a.jsx(i,{node:e,params:s})),o});w(this,"toSelectNode",async e=>{var i;const o=this.props.pluginCtx.pageModel.getNode(e);return await this.onSelectNode(o||null,null)===!1?!1:((i=this.layoutRef.current)==null||i.selectNode(e),!0)});w(this,"toCopyNode",async e=>{const o=this.props.pluginCtx.pageModel.getNode(e),r=await this.customAdvanceHook.onCopy(o);if(r)return this.toSelectNode(r.id),!0});w(this,"toDeleteNode",async e=>{const o=this.props.pluginCtx.pageModel.getNode(e);return o?await this.customAdvanceHook.onDelete(o)===!1?!1:(this.toSelectNode(""),!0):void 0});w(this,"toHidden",e=>{const s=this.props.pluginCtx.pageModel.getNode(e);if(!s)return;const o=s.value.configure.devState??{};return o.condition=!1,s.value.configure.devState=o,s.updateValue(),!0});w(this,"getToolbarView",e=>{const o={nodeList:Xa(e,5),toSelectNode:this.toSelectNode,toCopy:this.toCopyNode,toDelete:this.toDeleteNode,toHidden:this.toHidden},r=Qn(o);let i=a.jsx(Ja,{...o});const l=this.customAdvanceHook.getToolbarViewRender(e)||this.props.pluginCtx.config.toolbarViewRender;return l&&(i=a.jsx(l,{node:e,context:this.props.pluginCtx,toolBarItems:r.map,toolBarItemList:r.list})),i});w(this,"onHoverNode",(e,s,o)=>{this.props.pluginCtx.emitter.emit("onHover",e);const r=e==null?void 0:e.material;r||console.warn("material not found",e);const i={context:this.props.pluginCtx,viewPortal:this.getPortalViewCtx(),event:o,extra:{}},l=this.getGhostView(s,i),c={hoverToolbarView:a.jsx("div",{className:Za.hoverTips,children:(r==null?void 0:r.value.title)||(r==null?void 0:r.componentName)}),ghostView:l,hoverRectViewRender:this.customAdvanceHook.getHoverRectViewRender(e)||this.props.pluginCtx.config.hoverRectViewRender};s||(c.ghostView=null),this.setState({...c})});w(this,"nodeCanDrag",async e=>{const s=e.extraData,o=s==null?void 0:s.dragNode;return await this.customAdvanceHook.canDrag({dragNode:o,eventObj:e})});w(this,"nodeCanDrop",async e=>{const s=e.extraData,o=s==null?void 0:s.dragNode;return await this.customAdvanceHook.canDrop({dragNode:o,eventObj:e,...s})});w(this,"innerSelectRectViewRender",e=>{const{selectRectViewRender:s}=this.state,{pluginCtx:o}=this.props,r=s,i=o.engine.getActiveNode();return!r||!i?a.jsx(a.Fragment,{}):a.jsx(r,{node:i,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}})});w(this,"innerHoverRectViewRender",e=>{const{hoverRectViewRender:s}=this.state,o=s;return o?a.jsx(o,{node:e.instance._NODE_MODEL,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):a.jsx(a.Fragment,{})});w(this,"innerDropViewRender",e=>{const{dropViewRender:s}=this.state,o=s;return o?a.jsx(o,{...e,node:e.instance._NODE_MODEL,componentInstance:e.instance,componentInstanceIndex:e.index,params:{viewPortal:this.getPortalViewCtx(),context:this.props.pluginCtx,extra:{}}}):a.jsx(a.Fragment,{})});this.state={pageModel:e.pluginCtx.pageModel,hoverToolbarView:null,selectToolbarView:null,ghostView:null,portalView:null,selectRectViewRender:null,hoverRectViewRender:null,dropViewRender:null},this.layoutRef=g.createRef(),this.customAdvanceHook=new eo({getPortalViewCtx:this.getPortalViewCtx,ctx:this.props.pluginCtx,layoutRef:this.layoutRef})}async updateRenderComponents(e={}){var l,c;const o={...this.props.pluginCtx.config.components||{},...e};this.props.pluginCtx.config.components=o;const{layoutRef:r}=this;if(!r.current){console.warn("layout not ready ok");return}await r.current.ready();const i=r.current;(c=(l=i==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.updateComponents(o)}componentDidMount(){const{i18n:e}=this.props.pluginCtx;Object.keys(bn).forEach(s=>{e.addResourceBundle(s,`plugin:${De}`,bn[s],!0,!0)}),this.init()}getIframeDom(){var e;return(e=this.layoutRef.current)==null?void 0:e.iframeContainer}reloadRender(){var e;(e=this.layoutRef.current)==null||e.reload(),this.props.pluginCtx.pageModel.reloadPage()}async init(){const{layoutRef:e}=this,{pluginCtx:s}=this.props;if(!e.current){console.warn("layout not ready ok");return}await e.current.ready();const o=e.current;s.emitter.emit("ready",{UIInstance:this}),o.dnd.emitter.on("click",({event:r})=>{s.getWorkbench().onGlobalClick(r)}),this.props.pluginCtx.pageModel.emitter.on("onPageChange",({node:r})=>{var i,l,c;(c=(l=(i=e.current)==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.rerender(r)}),this.props.pluginCtx.pageModel.emitter.on("onReloadPage",({node:r})=>{var i,l,c;(c=(l=(i=e.current)==null?void 0:i.designRenderRef)==null?void 0:l.current)==null||c.rerender(r)}),s.pluginReadyOk()}render(){const{layoutRef:e,props:s,onSelectNode:o,onDragStart:r,onHoverNode:i,onNodeDrop:l,onNodeDragging:c,onNodeDragEnd:u}=this,{pageModel:d,hoverToolbarView:p,selectToolbarView:m,ghostView:v,portalView:h,selectRectViewRender:b,hoverRectViewRender:x,dropViewRender:y}=this.state,{pluginCtx:S}=s,j=S.assetsPackageListManager.getList()||[],C=S.engine.props.renderJSUrl||"./render.umd.js",P={};return b&&(P.selectRectViewRender=this.innerSelectRectViewRender),x&&(P.hoverRectViewRender=this.innerHoverRectViewRender),y&&(P.dropViewRender=this.innerDropViewRender),m&&(P.selectToolbarView=this.state.selectToolbarView),a.jsxs(a.Fragment,{children:[a.jsx(ne.Layout,{beforeInitRender:s.pluginCtx.config.beforeInitRender,customRender:s.pluginCtx.config.customRender,ref:e,pageModel:d,renderJSUrl:C,...s,hoverToolBarView:p,selectBoxStyle:{},hoverBoxStyle:{},nodeCanDrag:this.nodeCanDrag,nodeCanDrop:this.nodeCanDrop,onSelectNode:o,onNodeDragStart:r,onHoverNode:i,onNodeDrop:l,onNodeDragging:c,onNodeDraEnd:u,...P,ghostView:v,assets:j,pluginCtx:this.props.pluginCtx}),h&&Bn.createPortal(h,document.body)]})}}const Oe=()=>{const n=g.createRef();return{name:De,PLUGIN_NAME:De,async init(t){t.name=De,t.getWorkbench().replaceBodyView(a.jsx(to,{ref:n,pluginCtx:t}))},async destroy(t){console.log("destroy",t)},export:()=>({setMode(t){var e,s;return(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.setMode(t)},setPreviewMode(){var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.setMode(ne.LayoutMode.PREVIEW)},setEditMode(){var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.setMode(ne.LayoutMode.EDIT)},setCanvasWidth(t){var s;const e=(s=n.current)==null?void 0:s.getIframeDom();if(e!=null&&e.containerDom){let o=t;typeof t=="number"&&(o=`${t}px`),e.containerDom.style.width=String(o),e.containerDom.style.margin="0 auto"}},getIframeDom(){var t;return(t=n.current)==null?void 0:t.getIframeDom()},getInstance:()=>n.current,getDnd:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.dnd},selectNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toSelectNode(t))},copyNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toCopyNode(t))},deleteNode:async t=>{var e;return await((e=n.current)==null?void 0:e.toDeleteNode(t))},getSelectedNodeId:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.state.currentSelectId},updatePage:t=>{var e,s,o,r;(r=(o=(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.designRenderRef)==null?void 0:o.current)==null||r.rerender(t)},reload:()=>{var t;(t=n.current)==null||t.reloadRender()},getComponentInstances:t=>{var e,s,o;return((o=(s=(e=n.current)==null?void 0:e.layoutRef.current)==null?void 0:s.designRenderRef.current)==null?void 0:o.getInstancesById(t))||[]},getDynamicComponentInstances:t=>{var s,o,r,i;const e=(i=(r=(o=(s=n.current)==null?void 0:s.layoutRef.current)==null?void 0:o.designRenderRef.current)==null?void 0:r.renderRef.current)==null?void 0:i.dynamicComponentInstanceMap;return(e==null?void 0:e.get(t))||[]},getLayoutRef:()=>{var t;return(t=n.current)==null?void 0:t.layoutRef},getDesignerWindow:()=>{var t,e;return(e=(t=n.current)==null?void 0:t.layoutRef.current)==null?void 0:e.iframeContainer.getWindow()},updateRenderComponents:t=>{var e;return(e=n.current)==null?void 0:e.updateRenderComponents(t)}}),meta:{engine:{version:"1.0.0"}}}};Oe.PLUGIN_NAME=De;const Ot=(n,t)=>{if(!n)return null;const e=n.getAttribute(t);return e||Ot(n.parentElement,t)},Zn=(n,t,e)=>{const s=(o,r)=>{var b,x,y;let i=o.children||[];Array.isArray(i)||(i=[]),i=i.filter(S=>typeof S!="string");const l=(b=e.materialsModel.findByComponentName(o.componentName))==null?void 0:b.value.title,c={title:o.title||l||o.componentName,key:o.id,children:[],parent:r,canDropPos:(x=e.getNode(o.id||""))!=null&&x.isContainer()?void 0:["after","before"]},u=[],d={title:"SLOT",key:`${o.id}-SLOT`,children:u,canBeSelected:!1,canDropPos:!1,parent:null,containerRender:({treeNodeView:S})=>a.jsx("div",{style:{border:"1px solid #a97cf8",borderTopWidth:"6px",marginRight:"2px",marginTop:"5px"},children:S})},p=o.props||{},m=(S,j,C)=>{if(_.isJSSlotPropNode(S)){const N=S,k=e.getNode(o.id);let E="";if(k){const q=v(k,[...C,j]);E=_.getMTitle(q)}let H=j;E&&(H=_.getMTitle(E)||j);const O={title:H,key:`${o.id}-${C.join("_")}`,children:[],canBeSelected:!1,canDrag:!1,canDropPos:["current"],parent:d};let z=[];N.value&&!Array.isArray(N.value)?z=[N.value]:z=N.value,O.children=Zn(z,O,e),u.push(O);return}if(F.isPlainObject(S)){const N=S;Object.keys(N).forEach(k=>{m(N[k],k,[...C,j])})}Array.isArray(S)&&S.forEach((k,E)=>{m(k,String(E),[...C,j])})},v=(S,j)=>{const C=so(S),P=j.map(N=>String(parseInt(N,10))===N?"$NUM":N);return C[P.join(".")]||""};Object.keys(p).forEach(S=>{m(p[S],S,[])}),u.length>0&&((y=c.children)==null||y.push(d),d.parent=c);const h=i.map(S=>s(S,c))||[];return c.children=[...c.children,...h],c};return Array.isArray(n)?n.map(o=>s(o,t)):s(n,t)},es=(n,t)=>{const e=n.componentsTree;let s=e.children||[];Array.isArray(s)||(s=[]);const o={title:"Page",key:e.id||"globalState",rootNode:!0,children:[]};return o.children=Zn(s,o,t),[o]},at=(n,t)=>{let e=[];Array.isArray(n)?e=n:e=[n];let s=!1;const o=(r,i)=>{var c;if(s)return;i(r)?s=!0:(c=r.children)==null||c.forEach(u=>{o(u,i)})};e.forEach(r=>{o(r,t)})};function no(n){const{point:t,dom:e}=n;let s;const o=t,r=e.getBoundingClientRect(),i=r.height,l=r.x+50,c=r.y+Math.round(i/2);return o.y>c?s="after":s="before",o.x>l&&s==="after"&&(s="current"),{pos:s,direction:"vertical"}}const so=n=>{var o;const t={},e=(o=n.material)==null?void 0:o.value.props;if(!e)return t;const s=(r,i)=>{var l,c;if(F.isPlainObject(r)){const u=[...i],d=r,p=d.componentName;if(p==="ArraySetter"){const v=((l=d.props)==null?void 0:l.item.setters)||[],h=t[i.join(".")];let b="";typeof h=="string"?b=h:b=h.label,u.push("$NUM"),v.forEach(x=>{b=`${b}`,t[u.join(".")]=b,s(x,u)})}else p==="ShapeSetter"&&(((c=d.props)==null?void 0:c.elements)||[]).forEach(h=>{const b=[...u];b.push(h.name),t[b.join(".")]=h.title,(h.setters||[]).forEach(y=>{s(y,[...b])})})}};return e.forEach(r=>{let i=null;_.isSpecialMaterialPropType(r)?i=r.content:i=r;let l=[];Array.isArray(i)?l=i:l=[i],l.forEach(c=>{var d;const u=[c.name];t[u.join(".")]=c.title,(d=c.setters)==null||d.forEach(p=>{s(p,u)})})}),t};var Re=(n=>(n.DRAGGING="DRAGGING",n.NORMAL="NORMAL",n))(Re||{});const ts=g.createContext({state:{treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:!1,dragState:"NORMAL",pageModel:null},updateState:()=>{},onSelectNode:async()=>!0,onDeleteNode:async()=>!0,onCopyNode:async()=>!0}),ao="_contentBox_1tkrj_2",oo="_nodeBox_1tkrj_13",ro="_toolbarBox_1tkrj_17",io="_iconItem_1tkrj_21",lo="_nodeContent_1tkrj_25",co="_selected_1tkrj_35",uo="_nodeArrow_1tkrj_38",go="_expanded_1tkrj_41",po="_nodeRenderView_1tkrj_45",mo="_nodeChildren_1tkrj_56",ho="_dropAnchorLine_1tkrj_73",fo="_arrowSpan_1tkrj_82",J={contentBox:ao,nodeBox:oo,toolbarBox:ro,iconItem:io,nodeContent:lo,selected:co,nodeArrow:uo,expanded:go,nodeRenderView:po,nodeChildren:mo,dropAnchorLine:ho,arrowSpan:fo},je="data-drag-key",ns=n=>{var B,U,G,de;const t=g.useRef({titleEditable:!1}),{level:e=0,item:s,paths:o=["0"]}=n,[r,i]=g.useState(!0),{state:l,updateState:c,onSelectNode:u,onDeleteNode:d,getDesignerHandler:p,onCopyNode:m}=g.useContext(ts),[v,h]=g.useState((B=t.current)==null?void 0:B.titleEditable),[b,x]=g.useState("");t.current.titleEditable=v;const y=l.expandKeys.find(M=>M===s.key),S=M=>{let I=l.expandKeys;M!==void 0?M===!0?y||I.push(s.key||""):y&&(I=I.filter(W=>W!==s.key)):y?I=I.filter(W=>W!==s.key):I.push(s.key||""),c({expandKeys:I})},j=l.currentSelectNodeKeys.find(M=>M===s.key),C=g.useRef(null),P=async()=>{var I;if(S(!0),v){(I=C==null?void 0:C.current)==null||I.focus();return}if(s.canBeSelected!==void 0&&s.canBeSelected===!1)return;let M=l.currentSelectNodeKeys;if(!l.multiSelect){s.key?await(u==null?void 0:u({keys:[s.key],node:s}))&&c({currentSelectNodeKeys:[String(s.key)]}):u==null||u({keys:[],node:s});return}j?M=M.filter(W=>W!==s.key):M.push(String(s.key)),u==null||u({keys:M,node:s}),c({currentSelectNodeKeys:M})},N=20,k=N*e,E=s.canBeSelected??!0,H={[je]:s.key},O=g.useRef(),z=g.useRef();z.current=l,O.current=M=>{const I=l.expandKeys,W=Array.from(new Set([...I,M]));c({expandKeys:W})};const q=g.useRef(null);g.useEffect(()=>{var Ie,mn;let M=0;(Ie=q.current)==null||Ie.addEventListener("mouseenter",()=>{M=window.setTimeout(()=>{var ge,ae;((ge=z.current)==null?void 0:ge.dragState)===Re.DRAGGING&&((ae=O.current)==null||ae.call(O,s.key||""))},.8*1e3)}),(mn=q.current)==null||mn.addEventListener("mouseleave",()=>{clearTimeout(M)});const I=ge=>{var ae;if(t.current.titleEditable){if(ge.target===((ae=C.current)==null?void 0:ae.input))return;h(!1),L.updateValue()}};let W;return(async()=>{const ge=await n.pluginCtx.pluginManager.get("Designer"),ae=ge==null?void 0:ge.export,qe=ae==null?void 0:ae.getDesignerWindow();qe==null||qe.addEventListener("click",I),W=qe||null})(),document.addEventListener("click",I),()=>{M&&clearTimeout(M),document.removeEventListener("click",I),W==null||W.removeEventListener("click",I)}},[]);const L=(U=l.pageModel)==null?void 0:U.getNode(s.key||""),Ee=()=>{const M=!r;if(!L)return;const I=L.value.configure.devState??{};I.condition=M,L.value.configure.devState=I,L.updateValue(),i(M)};let Me=s.title;s.titleViewRender&&(Me=s.titleViewRender({item:s,titleView:s.title}));const Te=a.jsxs("div",{className:J.nodeBox,children:[a.jsxs("div",{className:T([J.nodeContent,j&&E&&J.selected]),style:{marginLeft:`${-k}px`,paddingLeft:`${k+8}px`},onMouseMove:async()=>{if(!s.key)return;const M=await(p==null?void 0:p()),I=M==null?void 0:M.getDynamicComponentInstances(s.key);typeof(I==null?void 0:I._CONDITION)<"u"&&i(I==null?void 0:I._CONDITION)},children:[(G=s.children)!=null&&G.length?a.jsx("span",{style:{paddingRight:"5px"},className:J.arrowSpan,onClickCapture:()=>S(),children:a.jsx(V.RightOutlined,{className:T([J.nodeArrow,y&&J.expanded])})}):null,a.jsxs("div",{className:J.nodeRenderView,...H,ref:q,onClick:P,onDoubleClick:()=>{var bt;if(!L)return;const M=L,I=(bt=M.materialsModel.findByComponentName(M.value.componentName))==null?void 0:bt.value.title,W=M.value.title||I||M.value.componentName||"";x(W),h(!0),setTimeout(()=>{var Ie;(Ie=C.current)==null||Ie.focus()},16.66)},children:[!v&&Me,v&&a.jsx("div",{style:{paddingRight:"10px"},children:a.jsx(f.Input,{size:"small",maxLength:20,style:{},ref:C,value:b,onPressEnter:()=>{h(!1),L.updateValue()},onChange:M=>{L.value.title=M.target.value,x(M.target.value)}})})]}),!v&&!s.rootNode&&a.jsxs("div",{className:J.toolbarBox,children:[a.jsxs("div",{className:J.iconItem,children:[!r&&a.jsx(V.EyeOutlined,{onClick:Ee}),r&&a.jsx(V.EyeInvisibleOutlined,{onClick:Ee})]}),a.jsx("div",{className:J.iconItem,onClick:()=>{m(s.key||"")},children:a.jsx(V.CopyOutlined,{})}),a.jsx("div",{className:J.iconItem,onClick:()=>{d(s.key||"")},children:a.jsx(V.DeleteOutlined,{})})]})]}),a.jsx("div",{className:T([J.nodeChildren,j&&J.selected]),style:{paddingLeft:`${N}px`,height:y?"auto":"0"},children:y&&((de=s.children)==null?void 0:de.map((M,I)=>{const W=`${M.key}-${I}`;return a.jsx(ns,{item:M,paths:[...o,I],level:e+1,pluginCtx:n.pluginCtx},W)}))})]});return s.containerRender?s.containerRender({item:s,treeNodeView:Te}):Te};class xo extends g.Component{constructor(e){super(e);w(this,"domRef");w(this,"disposeCbList",[]);w(this,"sensor");w(this,"getDesignerHandler",async()=>{const e=await this.props.pluginCtx.pluginManager.get("Designer");return e==null?void 0:e.export});w(this,"updateTreeDataFromNode",()=>{const{pluginCtx:e}=this.props,{pageModel:s}=e,o=s.export(),r=es(o,s);this.setState({treeData:r})});w(this,"getParentKeyPaths",e=>{const{treeData:s}=this.state;let o=null;if(at(s,r=>r.key===e?(o=r,!0):!1),o){let r=o==null?void 0:o.parent;const i=[];for(;r;)r.key&&i.push(r.key),r=r.parent;return i}else return[]});w(this,"scrollNodeToView",e=>{var o;const s=document.querySelector(`[${je}="${e}"]`);(o=s==null?void 0:s.scrollIntoView)==null||o.call(s,{behavior:"smooth",block:"center"})});w(this,"toSelectTreeNode",e=>{if(!e){this.setState({currentSelectNodeKeys:[]});return}const s=this.getParentKeyPaths(e.id);ee.debug("onSelectNodeChange parent path",s,e);const o=Array.from(new Set([...this.state.expandKeys,...s]));ee.debug("onSelectNodeChange newExpandKeys",o,e),this.setState({currentSelectNodeKeys:[e.id],expandKeys:o}),setTimeout(()=>{this.scrollNodeToView(e.id)},16)});w(this,"containNode",(e,s)=>{let o=null;return at(e,r=>r.key===s.key?(o=r,!0):!1),o});w(this,"getTreeNodeByKey",e=>{const{treeData:s}=this.state;let o=null;return at(s,r=>r.key===e?(o=r,!0):!1),o});w(this,"registerDragEvent",async()=>{if(!this.domRef.current)return;const e=new ne.Sensor({container:this.domRef.current,name:"OutlineTree",eventPriority:999,mainDocument:document}),{pluginCtx:s}=this.props,o=s.pageModel,r=await this.getDesignerHandler(),i=r.getDnd();e.setCanDrag(async l=>{var b;const c=l.event.target;if(!c)return;const u=Ot(c,je);if(!u)return;const d=o.getNode(u),p=this.getTreeNodeByKey(u);if((p==null?void 0:p.canDrag)!==void 0&&(p==null?void 0:p.canDrag)===!1)return;const m=r.getInstance(),v=await(m==null?void 0:m.customAdvanceHook.canDrag({dragNode:d,eventObj:{extraData:{},...l,from:l.event,fromSensor:e,fromPointer:l.pointer}}));if(v===!1)return!1;if(!d){console.log("targetNode not found");return}const h={...l,extraData:{dragNode:d,dragNodeUID:d.id}};return typeof v=="object"&&(h.extraData.dragNode=v.dragNode,h.extraData.dragNodeUID=((b=v.dragNode)==null?void 0:b.id)||""),h}),e.setCanDrop(async l=>{var S;const c=l.event.target;if(!c)return ee.debug("drop dom not found"),l;const u=Ot(c,je);if(!u)return ee.debug("targetNodeId dom not found",l,c,je),l;const d=this.getTreeNodeByKey(u);if((d==null?void 0:d.canDropPos)!==void 0&&d.canDropPos===!1)return ee.debug("node can not be drop by tree node config"),l;const p=o.getNode(u);if(!p)return ee.debug("targetNode not found"),l;const m=(S=l.extraData)==null?void 0:S.dragNode;if(!m)return ee.debug("startNode not found"),l;if((m==null?void 0:m.id)===p.id)return ee.debug("startNode and dropNode is the same"),l;if(m.contains(p.id))return ee.debug("startNode contain dropNode"),l;const h=no({point:l.pointer,dom:c});if(Array.isArray(d==null?void 0:d.canDropPos)&&!(d!=null&&d.canDropPos.includes(h.pos)))return!1;ee.info("can dropNode",p);const b={...l,extraData:{...l.extraData,dropPosInfo:h,dropNode:p,dropNodeUID:p.id}},x=r.getInstance(),y=await(x==null?void 0:x.customAdvanceHook.canDrop({dragNode:b.extraData.dragNode,dropNode:p,eventObj:{...b,from:b.event,fromSensor:e,fromPointer:b.pointer}}));return y===!1?!1:(typeof y=="object"&&(b.extraData={...b.extraData,...y}),b)}),i.registerSensor(e),e.emitter.on("dragging",l=>{var v,h;const c=l.extraData.dropNode;if(this.setState({dragState:Re.DRAGGING}),!c){this.setState({dropPosInfo:null});return}const u=(v=document.querySelectorAll(`[${je}="${c.id}"]`))==null?void 0:v[0];if(!u)return;const d=((h=l.extraData)==null?void 0:h.dropPosInfo)||{},p=u.getBoundingClientRect(),m={x:0,y:0};m.x=p.x,d.pos==="before"?m.y=p.y:d.pos==="after"?m.y=p.y+p.height:(m.y=p.y+p.height,m.x=p.x+20),this.setState({dropPosInfo:m})}),e.emitter.on("dragEnd",()=>{this.setState({dragState:Re.NORMAL})}),this.sensor=e});this.domRef=g.createRef(),this.state={treeData:[],currentSelectNodeKeys:[],expandKeys:[],multiSelect:e.multiSelect||!1,dropPosInfo:{x:0,y:0},pageModel:e.pluginCtx.pageModel,dragState:Re.NORMAL}}async componentDidMount(){this.updateTreeDataFromNode();const{pluginCtx:e}=this.props,{pageModel:s}=e;s.emitter.on("*",()=>{this.updateTreeDataFromNode()}),e.globalEmitter.on("onSelectNodeChange",({node:i})=>{this.toSelectTreeNode(i)}),e.getWorkbench().emitter.on("leftPanelVisible",({visible:i,panelName:l})=>{if(i&&l==="OutlineTree"){console.log("visible, panelName",i,l);const c=e.engine.getActiveNode();c&&this.toSelectTreeNode(c)}});const r=e.engine.getActiveNode();r&&this.toSelectTreeNode(r),await this.props.pluginCtx.pluginManager.onPluginReadyOk("Designer"),this.registerDragEvent(),this.props.pluginCtx.engine.pageModel.emitter.on("onReloadPage",()=>{this.registerDragEvent()})}render(){const{treeData:e,dragState:s,dropPosInfo:o}=this.state,{pluginCtx:r}=this.props;return a.jsx(ts.Provider,{value:{sensor:this.sensor,state:this.state,getDesignerHandler:this.getDesignerHandler,onSelectNode:async({keys:i})=>{const l=await r.pluginManager.get("Designer");if(!l)return console.warn("Designer is empty"),!1;const c=(i==null?void 0:i[0])||"";return r.pageModel.getNode(c)?await l.export.selectNode(c):!1},updateState:i=>{this.setState(i)},onDeleteNode:async i=>{const l=await r.pluginManager.get("Designer");if(!l)return console.warn("Designer is empty"),!1;const c=l.export,u=i;if(!r.pageModel.getNode(u))return f.message.error("该节点不能删除"),!1;const p=await c.deleteNode(i);return p||f.message.error("该节点不能删除"),p},onCopyNode:async i=>{const l=await r.pluginManager.get("Designer");return l?await l.export.copyNode(i):(console.warn("Designer is empty"),!1)}},children:a.jsxs("div",{className:J.contentBox,ref:this.domRef,children:[e.map((i,l)=>a.jsx(ns,{item:i,pluginCtx:this.props.pluginCtx},i.key+`${l}`)),s===Re.DRAGGING&&o&&a.jsx("div",{className:J.dropAnchorLine,style:{left:`${o.x}px`,top:`${o.y}px`}})]})})}}const vo={pluginName:"大纲树"},yo={pluginName:"Layout Tree"},Sn={zh_CN:vo,en_US:yo},Le="OutlineTree",wt=`plugin:${Le}`,ze={name:Le,PLUGIN_NAME:Le,async init(n){const{i18n:t}=n;Object.keys(Sn).forEach(r=>{t.addResourceBundle(r,wt,Sn[r],!0,!0)});const e=be.withTranslation(wt)(xo),s=be.withTranslation(wt)(({t:r})=>a.jsx(a.Fragment,{children:r("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(s,{}),name:Le,icon:a.jsx(V.ApartmentOutlined,{}),render:a.jsx(e,{pluginCtx:n})}),n.pluginReadyOk()},async destroy(n){console.log("destroy",n)},export:()=>({}),meta:{engine:{version:"1.0.0"}}};ze.PLUGIN_NAME=Le;const ce="chamn-action-drag-handler",ht="INPUT_HANDLE_ID",Z="OUTPUT_HANDLE_ID",Pe="REQUEST_API_FAILED_HANDLE_ID",ft=g.createContext({formName:"",formState:{},conditionConfig:{},updateContext:()=>{},updateConditionConfig:()=>{},customSetterMap:{}}),zt={};let ot=()=>{};const ss=n=>{Object.assign(zt,n),ot==null||ot()};class Se extends g.Component{constructor(e){super(e);w(this,"updateContext");w(this,"isMount",!1);w(this,"getFieldsValue",()=>this.formatValue(this.state.formState));w(this,"setFields",e=>{this.setState({formState:e})});w(this,"formatValue",e=>{const s={},o=this.state.conditionConfig;return Object.keys(e).forEach(r=>{var l;(((l=o[r])==null?void 0:l.call(o,e))??!0)&&(s[r]=e[r])}),s});this.updateContext=(s,o)=>{var r,i;this.setState({formState:s,customSetterMap:zt}),(i=(r=this.props).onValueChange)==null||i.call(r,this.formatValue(s),o)},ot=()=>{this.isMount&&this.setState({customSetterMap:{...zt,...this.props.customSetterMap}})},ss(e.customSetterMap||{}),this.state={formName:e.name,formState:e.initialValue??{},conditionConfig:{},customSetterMap:e.customSetterMap||{},updateContext:this.updateContext,updateConditionConfig:(s,o)=>{this.setState({conditionConfig:{...this.state.conditionConfig,[s]:o}})}}}componentDidMount(){this.isMount=!0}componentWillUnmount(){this.isMount=!1}render(){const{state:e}=this,{children:s}=this.props;return a.jsx(ft.Provider,{value:e,children:s})}}const as=({onValueChange:n,setterContext:t,initialValue:e,...s})=>{const[o,r]=g.useState(s.value??e??""),i=g.useRef(s.value??e);return g.useEffect(()=>{const l=s.value??e;l!==i.current&&(i.current=l,r(l??""))},[s.value,e]),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Input,{...s,value:o,onChange:l=>{const c=l.target.value;r(c)},onBlur:l=>{var u,d;const c=l.target.value;i.current=c,(u=s.onChange)==null||u.call(s,l),n==null||n(c),(d=s.onBlur)==null||d.call(s,l)}})})};as.setterName="字符设置器";const os=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.InputNumber,{style:{width:"100%"},...s,value:s.value??e,onChange:o=>{var r;(r=s.onChange)==null||r.call(s,o),n==null||n(o)}})});os.setterName="数字设置器";const xt=(n=[])=>n.map(t=>typeof t=="string"?{componentName:t}:t),bo={string:"StringSetter",number:"NumberSetter",boolean:"BooleanSetter",array:"ArraySetter",expression:"ExpressionSetter",function:"FunctionSetter",json:"JSONSetter"},So=n=>n==null?"string":Array.isArray(n)?"array":typeof n=="object"?n.type==="EXPRESSION"?"expression":n.type==="FUNCTION"?"function":"json":typeof n,wo=(n,t)=>{const e=So(n),s=bo[e];return t.find(o=>o.componentName===s)};function Co(n){const{index:t,keyPaths:e,setters:s}=n,o={...n.style},r={[t]:n.value},i=g.useRef(null);return g.useEffect(()=>{var l;(l=i.current)==null||l.setFields({[t]:n.value})},[t,n.value]),a.jsx("div",{style:o,children:a.jsx(Se,{ref:i,name:String(t),initialValue:r||{},onValueChange:n.onValueChange,customSetterMap:{},children:a.jsx(yt,{suffix:a.jsx("div",{style:{marginLeft:"8px",cursor:"pointer",fontSize:"12px"},children:a.jsx(V.DeleteOutlined,{onClick:n.onDelete})}),name:String(t),label:`${n.labelPrefix??`元素-${t}`}`,keyPaths:[...e,String(t)],setters:s})})})}const No="_dragItem_xzliq_2",jo="_sortModalBox_xzliq_13",Ro="_addOneBtn_xzliq_19",en={dragItem:No,sortModalBox:jo,addOneBtn:Ro},_o=({list:n,onValueChange:t,keyPaths:e,label:s,sortLabelKey:o,...r})=>{const[i,l]=g.useState([]);g.useEffect(()=>{const m=n.map((v,h)=>({val:v,oldIndex:h,id:_.getRandomStr()}));l(m)},[n,r.open]);const c=Y.useSensors(Y.useSensor(Y.PointerSensor,{activationConstraint:{distance:15}}),Y.useSensor(Y.KeyboardSensor,{coordinateGetter:tt.sortableKeyboardCoordinates}));function u(m){const{active:v,over:h}=m;if(v.id!==(h==null?void 0:h.id)){const b=i.findIndex(j=>j.id===(v==null?void 0:v.id)),x=i.findIndex(j=>j.id===(h==null?void 0:h.id)),y=tt.arrayMove(i,b,x),S=y.map(j=>j.val);l(y),t==null||t(S)}}const[d,p]=g.useState({x:0,y:0,scaleX:1,scaleY:1});return a.jsx(f.Modal,{...r,title:`Sort: ${s} [${e.join(".")}]`,styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.1)"}},modalRender:m=>a.jsx(Y.DndContext,{sensors:c,onDragEnd:({delta:v})=>{const h={...d,...v,x:d.x+((v==null?void 0:v.x)||0),y:d.y+((v==null?void 0:v.y)||0)};p(h)},children:a.jsx(Po,{modal:m,transform:d})}),children:a.jsx("div",{className:en.sortModalBox,children:a.jsx(Y.DndContext,{sensors:c,onDragEnd:u,modifiers:[Fs.restrictToVerticalAxis],children:a.jsx(tt.SortableContext,{items:i,children:i.map(({id:m,val:v},h)=>a.jsx(ko,{id:m,index:h,label:v[o||""]},m))})})})})},Po=({modal:n,transform:t})=>{const e=g.useRef(_.getRandomStr()),{setNodeRef:s,attributes:o,listeners:r,transform:i}=Y.useDraggable({id:e.current}),l={...t,...i,x:t.x+((i==null?void 0:i.x)||0),y:t.y+((i==null?void 0:i.y)||0)};return a.jsx("div",{ref:s,style:{pointerEvents:"auto",transform:Yt.CSS.Transform.toString(l)},...o,...r,children:n})},ko=n=>{const{attributes:t,listeners:e,setNodeRef:s,transform:o,transition:r}=tt.useSortable({id:n.id}),i={transform:Yt.CSS.Transform.toString(o),transition:r},l=n.label||`Ele ${n.index}`;return a.jsx("div",{className:en.dragItem,ref:s,style:i,...t,...e,children:l})};function Eo(n){return Array.isArray(n)?n:[]}const rs=({onValueChange:n,setterContext:t,item:{setters:e,initialValue:s},sortLabelKey:o,initialValue:r,itemLabelPrefix:i,itemLabelPrefixKey:l,...c})=>{const{keyPaths:u,label:d}=t,p=g.useMemo(()=>Eo(c.value??r),[r,c.value]),[m,v]=g.useState(!1),h=xt(e||[{component:"StringSetter"}]);return g.useEffect(()=>{var b;t.setCollapseHeaderExt&&((b=t.setCollapseHeaderExt)==null||b.call(t,a.jsx(f.Button,{type:"text",size:"small",style:{color:"gray"},onClick:x=>{x.preventDefault(),x.stopPropagation(),v(!0)},children:"sort"})))},[t]),a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:[p.map((b,x)=>a.jsx(Co,{labelPrefix:b[l||o||""]||i,style:{paddingBottom:"10px"},index:x,keyPaths:u,value:b,onValueChange:y=>{p[x]=y[x],n==null||n([...p])},setters:h,onDelete:()=>{const y=[...p];y.splice(x,1),n==null||n(y)}},x)),a.jsx(f.Button,{className:en.addOneBtn,size:"small",onClick:()=>{const b=[...p];n==null||n([...b,s??""])},children:"Add One"}),a.jsx(_o,{label:d,sortLabelKey:o,onValueChange:b=>{n==null||n([...b])},open:m,list:p,keyPaths:u,onCancel:()=>{v(!1)},onOk:()=>{v(!1)}})]})};rs.setterName="数组设置器";const is=({onValueChange:n,elements:t,value:e,setterContext:s,initialValue:o})=>{const{keyPaths:r}=s,i=g.useRef(null);return g.useEffect(()=>{var l;(l=i.current)==null||l.setFields(e||{})},[e]),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(Se,{ref:i,name:r.join("."),initialValue:e||o||{},onValueChange:l=>{n==null||n(l)},customSetterMap:{},children:t.map((l,c)=>{const u=xt(l.setters),d=_.getMTitle(l.title),p=_.getMTitleTip(l.title)||(l==null?void 0:l.description);return a.jsx("div",{children:a.jsx(yt,{name:l.name,label:d,tips:p,condition:l.condition,keyPaths:[...r,l.name],setters:u})},c)})})})};is.setterName="对象设置器";const xe=n=>{const t=s=>{var o;(o=n.beforeMount)==null||o.call(n,s)},e=s=>{var o;(o=n.onDidMount)==null||o.call(n,s)};return a.jsx(On,{height:"100%",width:"100%",defaultLanguage:n.language,defaultValue:n.initialValue,beforeMount:t,onMount:e,options:n.options,theme:n.theme,onChange:n.onChange})},tn=`type SetStateInternal<T> = {
|
|
2
2
|
_(
|
|
3
3
|
partial:
|
|
4
4
|
| T
|
|
@@ -132,21 +132,21 @@ declare global {
|
|
|
132
132
|
/** action flow 中的局部变量 */
|
|
133
133
|
const $ACTION_VAR_SPACE: any;
|
|
134
134
|
}
|
|
135
|
-
`,Mo="_expressionCodeEditor_1wlyd_2",To={expressionCodeEditor:Mo};async function wn(n,t){const e=St.jsonInputForTargetLanguage("typescript");await e.addSource({name:n,samples:[t]});const s=new St.InputData;return s.addInput(e),await St.quicktype({inputData:s,lang:"typescript",rendererOptions:{"just-types":"true","nice-property-names":"false","acronym-style":"original"}})}const $t=async(n,t)=>{const e={},s=[];_.traversePageNode(n,d=>{if(e[d.id]={stateTypeDefined:"",methodsTypeDefined:""},d.value.state){const
|
|
136
|
-
`),methodsTypeDefined:""}};s.push(
|
|
137
|
-
`;const i=[];Object.keys(e).forEach(d=>{if(e[d].stateTypeDefined){const
|
|
135
|
+
`,Mo="_expressionCodeEditor_1wlyd_2",To={expressionCodeEditor:Mo};async function wn(n,t){const e=St.jsonInputForTargetLanguage("typescript");await e.addSource({name:n,samples:[t]});const s=new St.InputData;return s.addInput(e),await St.quicktype({inputData:s,lang:"typescript",rendererOptions:{"just-types":"true","nice-property-names":"false","acronym-style":"original"}})}const $t=async(n,t)=>{const e={},s=[];_.traversePageNode(n,d=>{if(e[d.id]={stateTypeDefined:"",methodsTypeDefined:""},d.value.state){const p=async()=>{let m=`CNode${d.id.toUpperCase()}`,v=d.id;d.value.componentName===_.InnerComponentNameEnum.ROOT_CONTAINER&&(m="GlobalState",v="GlobalState");const h=await wn(m,JSON.stringify(d.value.state));e[v]={stateTypeDefined:h.lines.join(`
|
|
136
|
+
`),methodsTypeDefined:""}};s.push(p())}}),await Promise.all(s);const o=e.GlobalState;delete e.GlobalState;let r="";r+=`type PageState = {
|
|
137
|
+
`;const i=[];Object.keys(e).forEach(d=>{if(e[d].stateTypeDefined){const p=Ct(`CNode${d.toUpperCase()}`,e[d].stateTypeDefined);r+=` '${d}': ${p},
|
|
138
138
|
`,i.push(`'${d}'`)}}),r+=`};
|
|
139
139
|
|
|
140
140
|
`;let l=tn.replace("type PageState = any;",r);l=l.replace("type NodeId = any;",`type NodeId = ${i.join(" | ")};`),o!=null&&o.stateTypeDefined&&(l=l.replace("type GlobalState = any;",o.stateTypeDefined),l=l.replace("Partial<GlobalState>",Ct("GlobalState",o.stateTypeDefined)));const u=(await wn("CurrentNodeState",JSON.stringify(t.value.state||{}))).lines.join(`
|
|
141
|
-
`);return l=l.replace("type CurrentNodeState = any;",u),l=l.replace("Partial<CurrentNodeState>",Ct("CurrentNodeState",u)),l},Ct=(n,t,e)=>t.replace(`export interface ${n}`,"").trim(),nn=({onValueChange:n,initialValue:t,setterContext:e,editorOptions:s,mode:o="modal",...r})=>{var m,v;const i=
|
|
142
|
-
}`),language:"javascript",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:o.minimap??!0},...u,...s||{}},onChange:()=>{o.mode==="inline"&&c()}});return o.mode==="inline"?a.jsx("div",{style:{border:"1px solid rgba(0,0,0, 0.2)",...o.containerStyle||{}},children:d}):a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:[a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},onClick:()=>{l(!0)},children:"Edit Function"}),a.jsx(f.Modal,{centered:!0,destroyOnClose:!0,open:i,title:"Function Editor",onCancel:()=>l(!1),width:"calc(100vw - 100px)",onOk:()=>{c(),l(!1)},style:{maxWidth:"1300px"},styles:{body:{minHeight:"500px",height:"calc(100vh - 280px)"}},children:a.jsx("div",{style:{height:"100%"},children:i&&d})})]})};sn.setterName="函数设置器";const ps=({onValueChange:n,setterContext:t,initialValue:e,valueValidator:s,...o})=>{const[r,i]=p.useState("");return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Input.TextArea,{status:r,...o,value:o.value??e,onChange:l=>{var u;const c=l.target.value;if(s!==void 0){const d=s(c);i(d?"":"error")}(u=o.onChange)==null||u.call(o,l),n==null||n(l.target.value)}})})};ps.setterName="长文本设置器";const Do="_inputAuto_gk0d2_2",Vo="_active_gk0d2_6",Nn={inputAuto:Do,active:Vo},gs={cssKeyValue:{"align-content":{values:["center","flex-end","flex-start","space-around","space-between","stretch"]},"align-items":{values:["baseline","center","flex-end","flex-start","stretch"]},"align-self":{values:["auto","normal","self-start","self-end","baseline","center","start","end","flex-end","flex-start","safe","stretch","unsafe"]},all:{values:[]},animation:{values:[]},"animation-delay":{values:[]},"animation-direction":{values:["alternate","alternate-reverse","normal","reverse"]},"animation-duration":{values:[]},"animation-fill-mode":{values:["backwards","both","forwards","none"]},"animation-iteration-count":{values:["infinite"]},"animation-name":{values:["none"]},"animation-play-state":{values:["paused","running"]},"animation-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"backface-visibility":{values:["hidden","visible"]},background:{values:[],type:"color"},"background-attachment":{values:["fixed","local","scroll"]},"background-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"background-clip":{values:["border-box","content-box","padding-box"]},"background-color":{values:[],type:"color"},"background-image":{values:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()","url()"]},"background-origin":{values:["border-box","content-box","padding-box"]},"background-position":{values:["left","center","right","bottom","top"]},"background-repeat":{values:["no-repeat","repeat","repeat-x","repeat-y","round","space"]},"background-size":{values:["auto","contain","cover"]},border:{values:[]},"border-collapse":{values:["collapse","separate"]},"border-color":{values:[],type:"color"},"border-spacing":{values:[]},"border-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom":{values:[]},"border-bottom-color":{values:[],type:"color"},"border-bottom-left-radius":{values:[]},"border-bottom-right-radius":{values:[]},"border-bottom-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom-width":{values:["medium","thin","thick"]},"border-image":{values:["url()"]},"border-image-outset":{values:[]},"border-image-slice":{values:[]},"border-image-source":{values:[]},"border-image-repeat":{values:["repeat","round","space","stretch"]},"border-image-width":{values:["auto"]},"border-left":{values:[]},"border-left-color":{values:[],type:"color"},"border-left-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-left-width":{values:["medium","thin","thick"]},"border-radius":{values:[]},"border-right":{values:[]},"border-right-color":{values:[],type:"color"},"border-right-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-right-width":{values:["medium","thin","thick"]},"border-top":{values:[]},"border-top-color":{values:[],type:"color"},"border-top-left-radius":{values:[]},"border-top-right-radius":{values:[]},"border-top-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-top-width":{values:["medium","thin","thick"]},"border-width":{values:["medium","thin","thick"]},"box-decoration-break":{values:["clone","slice"]},"box-shadow":{values:["none"]},"box-sizing":{values:["border-box","content-box"]},bottom:{values:["auto"]},"break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"caption-side":{values:["bottom","top"]},"caret-color":{values:["auto"],type:"color"},clear:{values:["both","left","none","right"]},clip:{values:["auto"]},color:{values:[],type:"color"},columns:{values:[]},"column-count":{values:[]},"column-fill":{values:["auto","balance"]},"column-gap":{values:["normal"]},"column-rule":{values:[]},"column-rule-color":{values:[],type:"color"},"column-rule-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"column-rule-width":{values:["medium","thin","thick"]},"column-span":{values:["all","none"]},"column-width":{values:["auto"]},content:{values:["attr()","close-quote","no-close-quote","no-open-quote","normal","none","open-quote"]},"counter-increment":{values:["none"]},"counter-reset":{values:["none"]},cursor:{values:["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","n-resize","ne-resize","nesw-resize","no-drop","none","not-allowed","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","s-resize","se-resize","sw-resize","text","vertical-text","w-resize","wait","zoom-in","zoom-out"]},direction:{values:["ltr","rtl"]},display:{values:["block","contents","flex","flow-root","grid","inline","inline-block","inline-flex","inline-grid","inline-table","list-item","none","run-in","subgrid","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group"]},"empty-cells":{values:["hide","show"]},fill:{values:[]},filter:{values:["blur()","brightness()","contrast()","custom()","drop-shadow()","grayscale()","hue-rotate()","invert()","none","opacity()","sepia()","saturate()","url()"]},flex:{values:["auto","none"]},"flex-basis":{values:["auto"]},"flex-direction":{values:["column","column-reverse","row","row-reverse"]},"flex-flow":{values:["column","column-reverse","nowrap","row","row-reverse","wrap","wrap-reverse"]},"flex-grow":{values:[]},"flex-shrink":{values:[]},"flex-wrap":{values:["nowrap","wrap","wrap-reverse"]},float:{values:["left","right","none","inline-start","inline-end"]},"flow-into":{values:["none"],type:"named-flow"},"flow-from":{values:["none"],type:"named-flow"},font:{values:[]},"font-display":{values:["auto","block","swap","fallback","optional"]},"font-family":{values:["auto","cursive","fantasy","monospace","sans-serif","serif"]},"font-feature-settings":{values:["normal"]},"font-kerning":{values:["auto","none","normal"]},"font-language-override":{values:["normal"]},"font-size":{values:["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]},"font-size-adjust":{values:["auto","none"]},"font-stretch":{values:["condensed","expanded","extra-condensed","extra-expanded","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded"]},"font-style":{values:["italic","normal","oblique"]},"font-synthesis":{values:["none","style","weight"]},"font-variant":{values:["normal","small-caps"]},"font-variant-alternates":{values:["normal"]},"font-variant-caps":{values:["normal","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps"]},"font-variant-east-asian":{values:["normal"]},"font-variant-ligatures":{values:["normal","none"]},"font-variant-numeric":{values:["normal"]},"font-variant-position":{values:["normal","sub","super"]},"font-weight":{values:["bold","bolder","lighter","normal","100","200","300","400","500","600","700","800","900"]},gap:{values:["revert-layer"]},grid:{values:[]},"grid-area":{values:[]},"grid-auto-columns":{values:[]},"grid-auto-flow":{values:["row","column","dense"]},"grid-auto-rows":{values:[]},"grid-column":{values:["auto"]},"grid-column-end":{values:[]},"grid-column-gap":{values:[]},"grid-column-start":{values:[]},"grid-gap":{values:[]},"grid-row":{values:["auto"]},"grid-row-end":{values:[]},"grid-row-start":{values:[]},"grid-row-gap":{values:[]},"grid-template":{values:["none"]},"grid-template-areas":{values:[]},"grid-template-columns":{values:["auto"]},"grid-template-rows":{values:["auto"]},"hanging-punctuation":{values:["allow-end","first","force-end","last","none"]},height:{values:["auto","max-content","min-content","fit-content"]},hyphens:{values:["auto","manual","none"]},"image-orientation":{values:[]},"image-resolution":{values:["from-image","snap"]},isolation:{values:["auto","isolate"]},"justify-content":{values:["center","flex-end","flex-start","space-around","space-between"]},"justify-items":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe","legacy"]},"justify-self":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe"]},left:{values:["auto"]},"letter-spacing":{values:["normal"]},"line-height":{values:["normal"]},"list-style":{values:["none","url()","armenian","circle","decimal","decimal-leading-zero","disc","georgian","inside","lower-alpha","lower-greek","lower-latin","lower-roman","outside","square","upper-alpha","upper-latin","upper-roman"]},"list-style-image":{values:["none","url()"]},"list-style-position":{values:["inside","outside"]},"list-style-type":{values:["armenian","circle","decimal","decimal-leading-zero","disc","georgian","lower-alpha","lower-greek","lower-latin","lower-roman","none","square","upper-alpha","upper-latin","upper-roman"]},margin:{values:["auto"]},"margin-bottom":{values:["auto"]},"margin-left":{values:["auto"]},"margin-right":{values:["auto"]},"margin-top":{values:["auto"]},"max-height":{values:["none"]},"max-width":{values:["none"]},"min-height":{values:[]},"min-width":{values:[]},"mix-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"object-fit":{values:["contain","cover","fill","none","scale-down"]},"object-position":{values:["left","center","right","bottom","top"]},opacity:{values:[]},order:{values:[]},orphans:{values:[]},outline:{values:[]},"outline-color":{values:["invert"],type:"color"},"outline-offset":{values:[]},"outline-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"outline-width":{values:["medium","thin","thick"]},overflow:{values:["auto","hidden","scroll","visible"]},"overflow-x":{values:["auto","hidden","scroll","visible"]},"overflow-y":{values:["auto","hidden","scroll","visible"]},"overflow-wrap":{values:["normal","anywhere","break-word"]},padding:{values:[]},"padding-bottom":{values:[]},"padding-left":{values:[]},"padding-right":{values:[]},"padding-top":{values:[]},"page-break-after":{values:["always","auto","avoid","left","right"]},"page-break-before":{values:["always","auto","avoid","left","right"]},"page-break-inside":{values:["auto","avoid"]},perspective:{values:["none"]},"perspective-origin":{values:["bottom","center","left","right","top"]},"pointer-events":{values:["all","auto","fill","none","painted","stroke","visible","visibleFill","visiblePainted","visibleStroke"]},position:{values:["absolute","fixed","relative","static","sticky"]},quotes:{values:["none"]},"region-break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"region-fragment":{values:["auto","break"]},resize:{values:["both","horizontal","none","vertical"]},right:{values:["auto"]},"scroll-behavior":{values:["auto","smooth"]},"scroll-snap-type":{values:["none","x","y","block","inline","both","mandatory","proximity"]},src:{values:["url()"]},"shape-image-threshold":{values:[]},"shape-inside":{values:["auto","circle()","ellipse()","outside-shape","polygon()","rectangle()"]},"shape-margin":{values:[]},"shape-outside":{values:["none","circle()","ellipse()","polygon()","inset()","margin-box","border-box","padding-box","content-box","url()","image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"tab-size":{values:[]},"table-layout":{values:["auto","fixed"]},"text-align":{values:["start","end","center","left","justify","right","match-parent","justify-all"]},"text-align-last":{values:["center","left","justify","right"]},"text-decoration":{values:["line-through","none","overline","underline"]},"text-decoration-color":{values:[],type:"color"},"text-decoration-line":{values:["line-through","none","overline","underline"]},"text-decoration-skip":{values:["edges","ink","none","objects","spaces"]},"text-decoration-style":{values:["dashed","dotted","double","solid","wavy"]},"text-emphasis":{values:[]},"text-emphasis-color":{values:[],type:"color"},"text-emphasis-position":{values:["above","below","left","right"]},"text-emphasis-style":{values:["circle","dot","double-circle","filled","none","open","sesame","triangle"]},"text-indent":{values:[]},"text-justify":{values:["auto","none","inter-word","inter-character"]},"text-overflow":{values:["clip","ellipsis"]},"text-shadow":{values:[]},"text-rendering":{values:["auto","geometricPrecision","optimizeLegibility","optimizeSpeed"]},"text-transform":{values:["capitalize","full-width","lowercase","none","uppercase"]},"text-underline-position":{values:["alphabetic","auto","below","left","right"]},top:{values:["auto"]},transform:{values:["matrix()","matrix3d()","none","perspective()","rotate()","rotate3d()","rotateX()","rotateY()","rotateZ()","scale()","scale3d()","scaleX()","scaleY()","scaleZ()","skewX()","skewY()","translate()","translate3d()","translateX()","translateY()","translateZ()"]},"transform-origin":{values:["bottom","center","left","right","top"]},"transform-style":{values:["flat","preserve-3d"]},transition:{values:[]},"transition-delay":{values:[]},"transition-duration":{values:[]},"transition-property":{values:["all","none"]},"transition-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"unicode-bidi":{values:["bidi-override","embed","normal"]},"unicode-range":{values:[]},"user-select":{values:["all","auto","contain","none","text"]},"vertical-align":{values:["baseline","bottom","middle","sub","super","text-bottom","text-top","top"]},visibility:{values:["collapse","hidden","visible"]},"white-space":{values:["normal","nowrap","pre","pre-line","pre-wrap"]},widows:{values:[]},width:{values:["auto","max-content","min-content","fit-content"]},"will-change":{values:["auto","contents","opacity","scroll-position"]},"word-break":{values:["normal","break-all","keep-all"]},"word-spacing":{values:["normal"]},"z-index":{values:["auto"]}}},ms=gs.cssKeyValue,Lo=Object.keys(gs.cssKeyValue),hs=({onValueChange:n,propertyKey:t="",value:e,initialValue:s})=>{const o=p.useRef(null),[r,i]=p.useState(e??(s||"")),[l,c]=p.useState(!1),u=()=>{n==null||n(r)};p.useEffect(()=>{i(e)},[e]);const d=p.useMemo(()=>{var m;return(((m=ms[t])==null?void 0:m.values)||[]).map(v=>({value:v}))},[t]);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.AutoComplete,{ref:o,popupMatchSelectWidth:200,variant:"borderless",value:r,onChange:g=>{i(g),u()},style:{flex:1},onFocus:()=>{c(!0)},onBlur:()=>{c(!1)},className:T([Nn.inputAuto,l&&Nn.active]),placeholder:"value",options:d})})};hs.setterName="CSS值设置器";const fs=({onValueChange:n,initialValue:t,value:e})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Popover,{trigger:"click",content:a.jsx(Hs.SketchPicker,{color:e||t,onChange:s=>{const o=`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b}, ${s.rgb.a||1})`;n==null||n(o)}}),placement:"bottomLeft",styles:{body:{padding:0}},arrow:{pointAtCenter:!1},children:a.jsx(f.Input,{placeholder:"color",value:e,onChange:s=>{n==null||n(s.target.value)},prefix:a.jsx("div",{style:{backgroundColor:e||"transparent",width:"10px",height:"10px",borderRadius:"4px",overflow:"hidden"}})})})});fs.setterName="颜色设置器";const $e=[{label:"Recommended",colors:["#000000","#000000E0","#000000A6","#00000073","#00000040","#00000026","#0000001A","#00000012","#0000000A","#00000005","#F5222D","#FA8C16","#FADB14","#8BBB11","#52C41A","#13A8A8","#1677FF","#2F54EB","#722ED1","#EB2F96","#F5222D4D","#FA8C164D","#FADB144D","#8BBB114D","#52C41A4D","#13A8A84D","#1677FF4D","#2F54EB4D","#722ED14D","#EB2F964D"]}],xs=({onValueChange:n,initialValue:t,value:e,setterContext:s,...o})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.ColorPicker,{showText:!0,allowClear:!0,value:e??t,onChangeComplete:r=>{n==null||n(r.toRgbString())},presets:$e,...o})});xs.setterName="颜色设置器";const vs=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.Slider,{...s,value:s.value??e,onChange:o=>{var r;(r=s.onChange)==null||r.call(s,o),n==null||n(o)}});vs.setterName="滑动条设置器";const ys=({onValueChange:n,value:t,initialValue:e,setterContext:s,...o})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Radio.Group,{onChange:r=>{n==null||n(r.target.value)},defaultValue:e,value:t,...o})});ys.setterName="单选设置器";const Ao="_cssSizeInput_1ig9c_2",Bo="_unitSelect_1ig9c_5",jn={cssSizeInput:Ao,unitSelect:Bo},Oo="_inputNumberPlus_1hb66_2",zo={inputNumberPlus:Oo},$o=({min:n,max:t,value:e,onChange:s,addonAfter:o,...r})=>{const i=u=>{s==null||s(u)},l=u=>{let d=u;n!==void 0&&(d=Math.max(n,d)),t!==void 0&&(d=Math.min(t,d)),i(d)},c=p.useMemo(()=>{if(e===void 0)return!0;let u=e;return n!==void 0&&(u=Math.max(n,u)),t!==void 0&&(u=Math.min(t,u)),u===e},[t,n,e]);return a.jsx("div",{className:zo.inputNumberPlus,children:a.jsx("div",{style:{display:"flex",position:"relative"},children:a.jsx(f.Input,{allowClear:!0,...r,status:c?void 0:"error",value:e,onClear:()=>{i(void 0)},onChange:u=>{const d=parseInt(u.target.value||"0",10);l(d)},addonAfter:o})})})},Rn=[{value:"px",label:"px"},{value:"%",label:"%"},{value:"vw",label:"vw"},{value:"vh",label:"vh"},{value:"rem",label:"rem"}],Fo=function(n){const t=p.useRef({status:"",start:{x:0,y:0,cumulativeX:0,cumulativeY:0},processing:{x:0,y:0,cumulativeX:0,cumulativeY:0},mouseDown:!1}),e=p.useCallback(()=>{var i;t.current.mouseDown=!1;const{processing:r}=t.current;(i=n==null?void 0:n.onEnd)==null||i.call(n,{...r}),t.current.status="",t.current.processing.cumulativeX=0,t.current.processing.cumulativeY=0},[n]),s=p.useCallback(()=>{t.current.mouseDown=!0},[]),o=p.useCallback(r=>{var v,h,b;if(!t.current.mouseDown)return;const{start:i,processing:l}=t.current,c=r.clientX-i.x,u=r.clientY-i.y,d=10;if(t.current.status!=="running"&&(Math.abs(c)>d||Math.abs(u)>d)){t.current.status="running";const x=t.current.start;x.x=r.clientX,x.y=r.clientY,(v=n==null?void 0:n.onStart)==null||v.call(n,{...x})}if(t.current.status!=="running")return;l.x=r.clientX,l.y=r.clientY,l.cumulativeX=r.clientX-i.x,l.cumulativeY=r.clientY-i.y;const[g,m]=((h=n==null?void 0:n.limitCumulative)==null?void 0:h.x)||[];if(g!==void 0&&l.cumulativeX<g){e(r);return}if(m!==void 0&&l.cumulativeX>m){e(r);return}(b=n==null?void 0:n.onChange)==null||b.call(n,{...l})},[n,e]);return p.useEffect(()=>{const r=ne.addEventListenerReturnCancel(document.body,"mousemove",c=>{o(c)}),i=ne.addEventListenerReturnCancel(document.body,"mouseup",c=>{e(c)}),l=ne.addEventListenerReturnCancel(document.body,"mouseleave",c=>{e(c)});return()=>{r(),i(),l()}},[e,o]),{onMouseDown:s}},$=n=>{const t=String(n.value),[e,s]=p.useState({value:0,status:""}),o=p.useMemo(()=>{const x={value:void 0,unit:"px"};if(n.value===void 0)return x;const y=parseFloat(n.value||"");isNaN(y)||(x.value=y);let S="px";return x.value!==void 0&&(S=t.replace(String(x.value),"").trim()),["px","%","rem","vw","vx"].includes(S)&&(x.unit=S||"px"),x},[t,n.value]),r=p.useMemo(()=>n.unitList?n.unitList.map(x=>Rn.find(y=>y.value===x)).filter(Boolean):Rn,[n.unitList]),i=p.useMemo(()=>{var x,y;return{min:typeof n.min=="number"?n.min:(x=n.min)==null?void 0:x[o.unit],max:typeof n.max=="number"?n.max:(y=n.max)==null?void 0:y[o.unit]}},[n,o]),l=p.useMemo(()=>{const x={...o};return e.status==="dragging"&&(x.value=e.value),x},[o,e]),c=p.useCallback(x=>{var S;let y=`${x.value}${x.unit}`;x.value===void 0&&(y=void 0),(S=n.onValueChange)==null||S.call(n,y)},[n]),u=p.useCallback((x,y)=>{let S={...x};n.cumulativeTransform&&(S=n.cumulativeTransform(S));let j=y??0;isNaN(j)&&(j=0);let C=j+S.cumulativeX;return i.min!==void 0&&(C=Math.max(C,i.min)),i.max!==void 0&&(C=Math.min(C,i.max)),C},[i.max,i.min,n]),d=p.useCallback(x=>{s({status:"dragging",value:u(x,o.value)})},[o.value,u]),g=p.useCallback(x=>{const y=u(x,o.value);s({status:"dragging",value:y})},[o.value,u]),m=p.useCallback(x=>{const y=u(x,o.value);e.status==="dragging"&&(c({value:y,unit:o.unit}),s({status:"",value:0}))},[e.status,o,u,c]),v=p.useRef({onStart:d,onChange:g,onEnd:m});v.current={onStart:d,onChange:g,onEnd:m};const h=Fo({onStart:x=>v.current.onStart(x),onChange:x=>v.current.onChange(x),onEnd:x=>v.current.onEnd(x),limitCumulative:{x:[-60,void 0]}}),b=a.jsx("span",{className:jn.unitSelect,children:a.jsx(f.Select,{size:n.size,defaultValue:"",value:l.unit,onChange:x=>{c({value:l.value,unit:x})},style:{width:"40px"},popupMatchSelectWidth:!1,options:r})});return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:2}},children:a.jsx("div",{className:T([jn.cssSizeInput,n==null?void 0:n.className]),...h,style:n.style,children:a.jsx($o,{size:n.size,value:l.value,addonAfter:n.unit===!1?"":b,min:i.min,max:i.max,onChange:x=>{c({value:x,unit:l.unit})}})})})},bs=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx($,{min:0,...s,value:s.value??e,onValueChange:o=>{n==null||n(o)}})});bs.setterName="CSS size 设置器";const Ho="_label_1ys7b_2",Uo="_fontOption_1ys7b_16",Go="_row_1ys7b_21",Wo="_styleUIPanel_1ys7b_25",Ko="_inputWidth_1ys7b_29",R={label:Ho,"m-p":"_m-p_1ys7b_12",fontOption:Uo,row:Go,styleUIPanel:Wo,inputWidth:Ko},Je=["width","height","min-width","max-width","min-height","max-height","flex","display","flex-direction","justify-content","align-items","flex-wrap"];function Nt(n){return n.reduce((t,e)=>({...t,[e]:""}),{})}const ve={px:2048,vw:100,vh:100,rem:100},qo=p.forwardRef((n,t)=>{const[e,s]=p.useState(n.initialValue??Nt(Je)),o=p.useCallback((i,l)=>{s(c=>{var d;const u={...c,...F.pick(i,Je)};return l!==!0&&((d=n.onChange)==null||d.call(n,u)),u})},[n]);p.useImperativeHandle(t,()=>({setValue:i=>o({...Nt(Je),...i},!0),setEmptyValue:()=>{s(Nt(Je))}}),[o]);const r=p.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,className:"flex",children:[a.jsx("span",{className:R.label,children:"layout:"}),a.jsxs(f.Radio.Group,{value:r.display,size:"small",buttonStyle:"solid",onChange:i=>{o({display:i.target.value})},children:[a.jsx(f.Radio.Button,{value:"block",children:"Block"}),a.jsx(f.Radio.Button,{value:"flex",children:"Flex"}),a.jsx(f.Radio.Button,{value:"inline-block",children:"InlineB"}),a.jsx(f.Radio.Button,{value:"inline",children:"Inline"}),a.jsx(f.Radio.Button,{value:"none",children:"None"})]})]})}),r.display==="flex"&&a.jsxs(a.Fragment,{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"AxisD:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["flex-direction"],buttonStyle:"outline",options:[{label:a.jsx(A.ArrowRightFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"row"},{label:a.jsx(A.ArrowLeftFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"row-reverse"},{label:a.jsx(A.ArrowDownFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"column"},{label:a.jsx(A.ArrowUpFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"column-reverse"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"flex-direction":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"MAxis:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["justify-content"],buttonStyle:"outline",options:[{label:a.jsx(A.AlignHorizontalDistributeStart,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-start"},{label:a.jsx(A.AlignHorizontalDistributeEnd,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-end"},{label:a.jsx(A.StretchVertical,{size:14,style:{top:"3px",position:"relative"}}),value:"center"},{label:a.jsx(A.AlignHorizontalSpaceBetween,{size:14,style:{top:"3px",position:"relative"}}),value:"space-between"},{label:a.jsx(A.AlignHorizontalSpaceAround,{size:14,style:{top:"3px",position:"relative"}}),value:"space-around"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"justify-content":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"CAxis:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["align-items"],buttonStyle:"outline",options:[{label:a.jsx(A.AlignVerticalJustifyStart,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-start"},{label:a.jsx(A.AlignVerticalJustifyEnd,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-end"},{label:a.jsx(A.StretchHorizontal,{size:14,style:{top:"3px",position:"relative"}}),value:"center"},{label:a.jsx(A.AlignVerticalSpaceBetween,{size:14,style:{top:"3px",position:"relative"}}),value:"space-between"},{label:a.jsx(A.AlignVerticalSpaceAround,{size:14,style:{top:"3px",position:"relative"}}),value:"space-around"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"align-items":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"flex:"}),a.jsx($,{className:R.inputWidth,unit:!1,min:0,max:ve,value:r.flex,onValueChange:i=>{o({flex:i||""})},size:"small"})]})})]}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"width:"}),a.jsx($,{style:{width:"180px"},min:0,max:ve,value:r.width,onValueChange:i=>{o({width:i})},className:R.inputWidth,size:"small"}),a.jsx(f.Button,{size:"small",style:{marginLeft:"10px"},onClick:()=>{o({width:"100%"})},children:a.jsx(A.MoveHorizontal,{size:14})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"height:"}),a.jsx($,{min:0,style:{width:"180px"},max:ve,value:r.height,onValueChange:i=>{o({height:i})},className:R.inputWidth,size:"small"}),a.jsx(f.Button,{size:"small",style:{marginLeft:"10px"},onClick:()=>{o({height:"100%"})},children:a.jsx(A.MoveVertical,{size:14})})]})}),a.jsxs("div",{children:[a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"minW:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["min-width"],onValueChange:i=>{o({"min-width":i})},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:R.label,children:"minH:"}),a.jsx($,{min:0,max:ve,value:r["min-height"],onValueChange:i=>{o({"min-height":i})},className:R.inputWidth,size:"small"})]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"maxW:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["max-width"],onValueChange:i=>{o({"max-width":i})},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:R.label,children:"maxH:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["max-height"],onValueChange:i=>{o({"max-height":i})},size:"small"})]})]})]})]})}),Xe={px:2048,vw:100,vh:100,rem:100},Ye="100px",jt=()=>({left:"",right:"",top:"",bottom:""}),_n=p.forwardRef((n,t)=>{const[e,s]=p.useState(n.initialValue??jt()),o=p.useMemo(()=>["left","top","right","bottom"].map(c=>`${n.prefix}-${c}`),[n.prefix]),r=p.useCallback((c,u)=>{s(d=>{var v;const g={...d,...c},m=Object.keys(g).reduce((h,b)=>(b==="all"?h[`${n.prefix}`]=g==null?void 0:g[b]:h[`${n.prefix}-${b}`]=g==null?void 0:g[b],h),{});return u!==!0&&((v=n.onChange)==null||v.call(n,F.pick(m,o))),g})},[o,n]),i=p.useCallback((c,u)=>Object.keys(c||{}).filter(m=>m.includes(u)).reduce((m,v)=>(v.replace(`${n.prefix}`,"")===""?m.all=c==null?void 0:c[v]:m[v.replace(`${n.prefix}-`,"")]=c==null?void 0:c[v],m),{}),[n.prefix]);p.useImperativeHandle(t,()=>({setValue:c=>{r({...jt(),...i(c,n.prefix)},!0)},setEmptyValue:()=>{r({...jt()},!0)}}),[i,n.prefix,r]);const l=p.useMemo(()=>{const c=i(n.value||{},n.prefix);return n.value===void 0?e:c},[i,n.value,n.prefix,e]);return a.jsxs("div",{children:[a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"T:"}),a.jsx($,{min:0,max:Xe,value:l.top,onValueChange:c=>{r({top:c})},style:{width:Ye},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"L:"}),a.jsx($,{min:0,max:Xe,value:l.left,onValueChange:c=>{r({left:c})},style:{width:Ye},size:"small"})]})]}),a.jsx("div",{children:a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"B:"}),a.jsx($,{min:0,max:Xe,value:l.bottom,onValueChange:c=>{r({bottom:c})},style:{width:Ye},size:"small"})]}),a.jsxs(f.Col,{span:12,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"R:"}),a.jsx($,{style:{width:Ye},min:0,max:Xe,value:l.right,onValueChange:c=>{r({right:c})},size:"small"})]})]})})]})}),vt=p.forwardRef(function(t,e){const[s,o]=p.useState();return p.useImperativeHandle(e,()=>({updateColor:r=>{o(r)}})),a.jsx(f.ColorPicker,{...t,value:s,onChange:r=>{o(r)},onChangeComplete:r=>{var i;(i=t.onChange)==null||i.call(t,r.toRgbString())}})}),Jo=["font-size","color","text-align","font-weight"],Xo={px:100,vw:100,vh:100,rem:100},Yo=[{label:a.jsx("span",{className:R.fontOption,children:"Left"}),value:"left"},{label:a.jsx("span",{className:R.fontOption,children:"Center"}),value:"center"},{label:a.jsx("span",{className:R.fontOption,children:"Right"}),value:"Right"}],Qo=[{label:a.jsx("span",{className:R.fontOption,children:"Regular"}),value:"400"},{label:a.jsx("span",{className:R.fontOption,children:"Medium"}),value:"500"},{label:a.jsx("span",{className:R.fontOption,children:"Bold"}),value:"700"}],Rt=()=>({"font-size":"",color:"","text-align":"","font-weight":""}),Zo=p.forwardRef((n,t)=>{const[e,s]=p.useState(n.initialValue??Rt()),o=p.useRef(null),r=p.useCallback((l,c)=>{s(u=>{var g;const d={...u,...l};return c!==!0&&((g=n.onChange)==null||g.call(n,d)),d})},[n]);p.useImperativeHandle(t,()=>({setValue:l=>{var c;(c=o.current)==null||c.updateColor((l==null?void 0:l.color)||""),r({...Rt(),...F.pick(l,Jo)},!0)},setEmptyValue:()=>{r({...Rt()},!0)}}),[r]);const i=p.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",onChange:l=>{r({color:l})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Size:"}),a.jsx($,{min:0,max:Xo,value:i["font-size"],onValueChange:l=>{r({"font-size":l})},style:{width:"158px"},size:"small"})]})}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:T([R.label]),children:"Align:"}),a.jsx(f.Radio.Group,{options:Yo,onChange:({target:{value:l}})=>{r({"text-align":l})},value:i["text-align"]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:T([R.label]),children:"Weight:"}),a.jsx(f.Radio.Group,{options:Qo,onChange:({target:{value:l}})=>{r({"font-weight":l})},value:i["font-weight"]})]})]})}),er=["border","border-radius"],Pn={px:100,vw:100,vh:100,rem:100},_t=()=>({border:"","border-radius":""}),tr=p.forwardRef((n,t)=>{const[e,s]=p.useState(n.initialValue??_t()),o=p.useRef(null),r=p.useCallback((c,u)=>{s(d=>{var m;const g={...d,...c};return u!==!0&&((m=n.onChange)==null||m.call(n,g)),g})},[n]);p.useImperativeHandle(t,()=>({setValue:c=>{const u=_t();Object.keys(c).length?r({...u,...F.pick(c,er)},!0):r(u,!0)},setEmptyValue:()=>{r({..._t()},!0)}}),[r]);const i=p.useMemo(()=>{var g;const c=e.border||"",u=c.split(" "),d={size:u[0]||"",type:u[1]||"",color:c.replace(" ","").replace(u[0],"").replace(u[1],"")};return(g=o.current)==null||g.updateColor(d.color),d},[e]),l=c=>{r({border:`${c.size||"0px"} ${c.type||"none"} ${c.color||"transparent"}`.trim()})};return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{position:"relative"},span:24,children:[a.jsx(D.CloseCircleOutlined,{style:{position:"absolute",right:0,top:"5px",color:"#4e4e4e",cursor:"pointer"},onClick:()=>{r({border:void 0})}}),a.jsx("span",{className:R.label,children:"Size:"}),a.jsx($,{min:0,max:Pn,value:i.size,style:{width:"100px"},unitList:["px"],onValueChange:c=>{l({...i,size:c||""})},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",value:i.color||"",onChange:c=>{l({...i,color:c})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Type:"}),a.jsxs(f.Radio.Group,{value:i.type,size:"small",onChange:c=>{l({...i,type:c.target.value||""})},children:[a.jsx(f.Radio.Button,{value:"solid",children:"Solid"}),a.jsx(f.Radio.Button,{value:"dashed",children:"Dashed"}),a.jsx(f.Radio.Button,{value:"dotted",children:"Dotted"}),a.jsx(f.Radio.Button,{value:"none",children:"None"})]})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Radius:"}),a.jsx($,{min:0,max:Pn,value:e["border-radius"],onValueChange:c=>{r({"border-radius":c})},style:{width:"158px"},size:"small"})]})})]})}),nr=["background-color","background-image","background-repeat","background-size"],Pt=()=>({"background-color":"","background-image":"","background-size":"","background-repeat":""}),sr=p.forwardRef((n,t)=>{var l;const[e,s]=p.useState(n.initialValue??Pt()),o=p.useRef(null),r=p.useCallback((c,u)=>{s(d=>{var m,v;const g={...d,...c};return(m=o.current)==null||m.updateColor(g["background-color"]),u!==!0&&((v=n.onChange)==null||v.call(n,g)),g})},[n]);p.useImperativeHandle(t,()=>({setValue:c=>{const u=Pt();Object.keys(c).length?r({...u,...F.pick(c,nr)},!0):r(u,!0)},setEmptyValue:()=>{const c=Pt();r(c,!0)}}),[r]);const i=p.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",value:i["background-color"]||"",onChange:c=>{r({"background-color":c})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:R.label,children:"Image:"}),a.jsx(f.Input,{style:{flex:1},size:"small",value:((l=/url\(['|"|*]?(.+?)['|"|*]?\)/.exec(i["background-image"]))==null?void 0:l[1])||"",onChange:c=>{console.log(`url("${c.target.value}")`),r({"background-image":`url("${c.target.value}")`})}})]})}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:R.label,children:"Size:"}),a.jsxs(f.Radio.Group,{size:"small",defaultValue:"a",buttonStyle:"solid",value:i["background-size"],onChange:c=>{r({"background-size":c.target.value})},children:[a.jsx(f.Radio.Button,{value:"contain",children:"Contain"}),a.jsx(f.Radio.Button,{value:"cover",children:"Cover"}),a.jsx(f.Radio.Button,{value:"auto",children:"Auto"})]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:R.label,children:"Repeat:"}),a.jsxs(f.Radio.Group,{size:"small",buttonStyle:"solid",value:i["background-repeat"],onChange:c=>{r({"background-repeat":c.target.value})},children:[a.jsx(f.Radio.Button,{value:"repeat",children:"Repeat"}),a.jsx(f.Radio.Button,{value:"no-repeat",children:"NoRepeat"})]})]})]})}),kt=()=>({"box-shadow":""}),ar=p.forwardRef((n,t)=>{const[e,s]=p.useState(n.initialValue??kt()),o=p.useRef(null),r=p.useMemo(()=>{var u,d;const l=((u=n.value)==null?void 0:u["box-shadow"])??e["box-shadow"],c=nt(l||"")[0]||{};return(d=o.current)==null||d.updateColor(c.color||""),c},[n.value,e]),i=p.useCallback((l,c)=>{s(u=>{var b,x;console.log("set val",u,l);const d=(b=n.value)==null?void 0:b["box-shadow"],m={...nt(d||"")[0]||{},...l},v=`${m.offsetX||"0"} ${m.offsetY||"0"} ${m.blur||"0"} ${m.spread||"0"} ${m.color||"transparent"}`,h={...u,"box-shadow":v};return c!==!0&&((x=n.onChange)==null||x.call(n,h)),h})},[n]);return p.useImperativeHandle(t,()=>({setValue:l=>{i({...kt(),...nt(l["box-shadow"]||"")[0]},!0)},setEmptyValue:()=>{i({...kt()},!0)}}),[i]),a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"OffsetX:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.offsetX,onValueChange:l=>{i({...r,offsetX:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"OffsetY:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.offsetY,onValueChange:l=>{i({...r,offsetY:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Blur:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.blur,onValueChange:l=>{i({...r,blur:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Spread:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.spread,onValueChange:l=>{i({...r,spread:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",onChange:l=>{i({...r,color:l})},presets:$e})]})})]})}),or="_cssCodeEditor_1vl7z_2",rr={cssCodeEditor:or};function ir(n){const t={},e=ye.parse(n,{context:"stylesheet"});return ye.walk(e,{visit:"Rule",enter(s){if(s.type==="Rule"&&s.prelude.type==="SelectorList"){const o=ye.generate(s.prelude),r={};if(s.block.type==="Block"){for(const i of s.block.children.toArray())if(i.type==="Declaration"){const l=i.property,c=ye.generate(i.value);r[l]=c}}t[o]=r}}}),t}const Et=(n={})=>{let t=`.node {
|
|
141
|
+
`);return l=l.replace("type CurrentNodeState = any;",u),l=l.replace("Partial<CurrentNodeState>",Ct("CurrentNodeState",u)),l},Ct=(n,t,e)=>t.replace(`export interface ${n}`,"").trim(),nn=({onValueChange:n,initialValue:t,setterContext:e,editorOptions:s,mode:o="modal",...r})=>{var m,v;const i=g.useRef(null),[l,c]=g.useState(!1),u=()=>{var b;const h=((b=i.current)==null?void 0:b.getValue())||"";n==null||n({type:_.CNodePropsTypeEnum.EXPRESSION,value:h})};let d={};(r.lineNumber===!1||o==="inline")&&(d={lineNumbers:"off",lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1});const p=a.jsx(xe,{beforeMount:async h=>{h.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),h.languages.typescript.javascriptDefaults.setCompilerOptions({target:h.languages.typescript.ScriptTarget.ES5,allowNonTsExtensions:!0});const b=await $t(e.pluginCtx.pageModel,e.nodeModel),x="ts:filename/chameleon.default.variable.d.ts";h.languages.typescript.javascriptDefaults.addExtraLib(b,x),h.editor.getModel(h.Uri.parse(x))||h.editor.createModel(tn,"typescript",h.Uri.parse(x))},onDidMount:h=>{i.current=h},initialValue:((m=r.value)==null?void 0:m.value)??t,language:"javascript",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:!1},folding:!1,hover:{},...d,...s||{}},onChange:()=>{o==="inline"&&u()}});return o==="inline"?a.jsx("div",{className:To.expressionCodeEditor,style:{border:"1px solid rgba(0,0,0, 0.2)",...r.containerStyle||{},height:"100px"},children:p}):a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:[a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},onClick:()=>{c(!0)},children:((v=r.value)==null?void 0:v.value)||"Edit Expression"}),a.jsx(f.Modal,{destroyOnClose:!0,open:l,title:"Expression Editor",onCancel:()=>c(!1),width:"calc(100vw - 100px)",onOk:()=>{u(),c(!1)},style:{maxWidth:"800px"},styles:{body:{height:"300px"}},children:a.jsx("div",{style:{height:"100%"},children:l&&p})})]})};nn.setterName="表达式";const ls=({onValueChange:n,initialValue:t,setterContext:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Switch,{...s,checked:s.value??t,onChange:(o,r)=>{var i;(i=s.onChange)==null||i.call(s,o,r),n==null||n(o)}})});ls.setterName="Bool 设置器";const cs=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Select,{showSearch:!0,style:{width:"100%"},...s,value:s.value??e,onChange:(o,r)=>{var i;(i=s.onChange)==null||i.call(s,o,r),n==null||n(o)}})});cs.setterName="选择设置器";const us=n=>{const t=Y.useSensors(Y.useSensor(Y.PointerSensor,{activationConstraint:{distance:15}})),[e,s]=g.useState({x:0,y:0,scaleX:1,scaleY:1});return a.jsx(f.Modal,{...n,styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.1)",pointerEvents:"none"}},modalRender:o=>a.jsx(Y.DndContext,{sensors:t,onDragEnd:({delta:r})=>{const i={...e,...r,x:e.x+((r==null?void 0:r.x)||0),y:e.y+((r==null?void 0:r.y)||0)};s(i)},children:a.jsx(Io,{modal:o,transform:e,setModalTransform:s})})})},Io=({modal:n,transform:t,setModalTransform:e})=>{const s=g.useRef(_.getRandomStr()),{setNodeRef:o,attributes:r,listeners:i,transform:l}=Y.useDraggable({id:s.current}),c={...t,...l,x:t.x+((l==null?void 0:l.x)||0),y:t.y+((l==null?void 0:l.y)||0)};return a.jsxs("div",{style:{pointerEvents:"auto",transform:Yt.CSS.Transform.toString(c)},children:[a.jsx("div",{onDoubleClick:()=>{e(u=>({...u,x:0,y:0}))},ref:o,style:{cursor:"move",position:"absolute",top:0,left:0,right:0,height:"55px",zIndex:1},...r,...i}),n]})},Ft={options:{automaticLayout:!0,tabSize:2,suggestOnTriggerCharacters:!1,minimap:{enabled:!1}},style:{height:"200px",border:"1px solid #d9d9d9",borderRadius:"4px"}},Cn=({editor:n,value:t,initialValue:e,onChange:s,height:o,editorOptions:r})=>{const i=g.useRef(),l=g.useRef();return l.current=t,g.useEffect(()=>{var u,d;const c=Kn(((u=i.current)==null?void 0:u.getValue())||"",{});JSON.stringify(t)!==JSON.stringify(c)&&((d=i.current)==null||d.setValue(JSON.stringify(t,null,2)))},[t]),a.jsx("div",{style:{height:o||Ft.style.height},children:a.jsx(xe,{onDidMount:c=>{n.current=c,i.current=c},onChange:s,initialValue:JSON.stringify(t??(e||{}),null,2),language:"json",options:{...Ft.options,...r}})})},ds=({onValueChange:n,initialValue:t,mode:e="modal",editorOptions:s,setterContext:o,...r})=>{const i=g.useRef(null),[l,c]=g.useState(!1),u=()=>{var p;const d=((p=i.current)==null?void 0:p.getValue())||"";try{const m=JSON.parse(d);n==null||n(m)}catch(m){console.warn(m)}};return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:e==="inline"?a.jsx("div",{style:Ft.style,children:a.jsx(Cn,{editor:i,value:r.value,initialValue:t,onChange:u,editorOptions:s||{}})}):a.jsxs(a.Fragment,{children:[a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},onClick:()=>c(!0),children:"Edit"}),a.jsx(us,{destroyOnClose:!0,open:l,title:"JSON Editor",width:"800px",onCancel:()=>c(!1),onOk:()=>{u(),c(!1)},children:l&&a.jsx(Cn,{editor:i,value:r.value,initialValue:t,height:"500px",editorOptions:s||{}})})]})})};ds.setterName="JSON 设置器";const sn=({onValueChange:n,initialValue:t,setterContext:e,editorOptions:s,...o})=>{var p;$t(e.pluginCtx.pageModel,e.nodeModel);const r=g.useRef(null),[i,l]=g.useState(!1),c=()=>{var v;const m=((v=r.current)==null?void 0:v.getValue())||"";n==null||n({type:_.CNodePropsTypeEnum.FUNCTION,value:m})};let u={};o.lineNumber===!1&&(u={lineNumbers:"off",lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1});const d=a.jsx(xe,{beforeMount:async m=>{m.languages.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!0,noSyntaxValidation:!1}),m.languages.typescript.javascriptDefaults.setCompilerOptions({target:m.languages.typescript.ScriptTarget.ES5,allowNonTsExtensions:!0});const v=await $t(e.pluginCtx.pageModel,e.nodeModel),h="ts:filename/chameleon.default.variable.d.ts";m.languages.typescript.javascriptDefaults.addExtraLib(v,h),m.editor.getModel(m.Uri.parse(h))||m.editor.createModel(tn,"typescript",m.Uri.parse(h))},onDidMount:m=>{r.current=m},initialValue:((p=o.value)==null?void 0:p.value)??(t||`function run() {
|
|
142
|
+
}`),language:"javascript",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:o.minimap??!0},...u,...s||{}},onChange:()=>{o.mode==="inline"&&c()}});return o.mode==="inline"?a.jsx("div",{style:{border:"1px solid rgba(0,0,0, 0.2)",...o.containerStyle||{}},children:d}):a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:[a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},onClick:()=>{l(!0)},children:"Edit Function"}),a.jsx(f.Modal,{centered:!0,destroyOnClose:!0,open:i,title:"Function Editor",onCancel:()=>l(!1),width:"calc(100vw - 100px)",onOk:()=>{c(),l(!1)},style:{maxWidth:"1300px"},styles:{body:{minHeight:"500px",height:"calc(100vh - 280px)"}},children:a.jsx("div",{style:{height:"100%"},children:i&&d})})]})};sn.setterName="函数设置器";const gs=({onValueChange:n,setterContext:t,initialValue:e,valueValidator:s,...o})=>{const[r,i]=g.useState(""),[l,c]=g.useState(o.value??e??""),u=g.useRef(o.value??e);g.useEffect(()=>{const p=o.value??e;p!==u.current&&(u.current=p,c(p??""))},[o.value,e]);const d=p=>{if(s!==void 0){const m=s(p);i(m?"":"error")}};return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Input.TextArea,{status:r,...o,value:l,onChange:p=>{const m=p.target.value;c(m),d(m)},onBlur:p=>{var v,h;const m=p.target.value;u.current=m,(v=o.onChange)==null||v.call(o,p),n==null||n(m),(h=o.onBlur)==null||h.call(o,p)}})})};gs.setterName="长文本设置器";const Vo="_inputAuto_gk0d2_2",Do="_active_gk0d2_6",Nn={inputAuto:Vo,active:Do},ps={cssKeyValue:{"align-content":{values:["center","flex-end","flex-start","space-around","space-between","stretch"]},"align-items":{values:["baseline","center","flex-end","flex-start","stretch"]},"align-self":{values:["auto","normal","self-start","self-end","baseline","center","start","end","flex-end","flex-start","safe","stretch","unsafe"]},all:{values:[]},animation:{values:[]},"animation-delay":{values:[]},"animation-direction":{values:["alternate","alternate-reverse","normal","reverse"]},"animation-duration":{values:[]},"animation-fill-mode":{values:["backwards","both","forwards","none"]},"animation-iteration-count":{values:["infinite"]},"animation-name":{values:["none"]},"animation-play-state":{values:["paused","running"]},"animation-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"backface-visibility":{values:["hidden","visible"]},background:{values:[],type:"color"},"background-attachment":{values:["fixed","local","scroll"]},"background-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"background-clip":{values:["border-box","content-box","padding-box"]},"background-color":{values:[],type:"color"},"background-image":{values:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()","url()"]},"background-origin":{values:["border-box","content-box","padding-box"]},"background-position":{values:["left","center","right","bottom","top"]},"background-repeat":{values:["no-repeat","repeat","repeat-x","repeat-y","round","space"]},"background-size":{values:["auto","contain","cover"]},border:{values:[]},"border-collapse":{values:["collapse","separate"]},"border-color":{values:[],type:"color"},"border-spacing":{values:[]},"border-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom":{values:[]},"border-bottom-color":{values:[],type:"color"},"border-bottom-left-radius":{values:[]},"border-bottom-right-radius":{values:[]},"border-bottom-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom-width":{values:["medium","thin","thick"]},"border-image":{values:["url()"]},"border-image-outset":{values:[]},"border-image-slice":{values:[]},"border-image-source":{values:[]},"border-image-repeat":{values:["repeat","round","space","stretch"]},"border-image-width":{values:["auto"]},"border-left":{values:[]},"border-left-color":{values:[],type:"color"},"border-left-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-left-width":{values:["medium","thin","thick"]},"border-radius":{values:[]},"border-right":{values:[]},"border-right-color":{values:[],type:"color"},"border-right-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-right-width":{values:["medium","thin","thick"]},"border-top":{values:[]},"border-top-color":{values:[],type:"color"},"border-top-left-radius":{values:[]},"border-top-right-radius":{values:[]},"border-top-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-top-width":{values:["medium","thin","thick"]},"border-width":{values:["medium","thin","thick"]},"box-decoration-break":{values:["clone","slice"]},"box-shadow":{values:["none"]},"box-sizing":{values:["border-box","content-box"]},bottom:{values:["auto"]},"break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"caption-side":{values:["bottom","top"]},"caret-color":{values:["auto"],type:"color"},clear:{values:["both","left","none","right"]},clip:{values:["auto"]},color:{values:[],type:"color"},columns:{values:[]},"column-count":{values:[]},"column-fill":{values:["auto","balance"]},"column-gap":{values:["normal"]},"column-rule":{values:[]},"column-rule-color":{values:[],type:"color"},"column-rule-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"column-rule-width":{values:["medium","thin","thick"]},"column-span":{values:["all","none"]},"column-width":{values:["auto"]},content:{values:["attr()","close-quote","no-close-quote","no-open-quote","normal","none","open-quote"]},"counter-increment":{values:["none"]},"counter-reset":{values:["none"]},cursor:{values:["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","n-resize","ne-resize","nesw-resize","no-drop","none","not-allowed","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","s-resize","se-resize","sw-resize","text","vertical-text","w-resize","wait","zoom-in","zoom-out"]},direction:{values:["ltr","rtl"]},display:{values:["block","contents","flex","flow-root","grid","inline","inline-block","inline-flex","inline-grid","inline-table","list-item","none","run-in","subgrid","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group"]},"empty-cells":{values:["hide","show"]},fill:{values:[]},filter:{values:["blur()","brightness()","contrast()","custom()","drop-shadow()","grayscale()","hue-rotate()","invert()","none","opacity()","sepia()","saturate()","url()"]},flex:{values:["auto","none"]},"flex-basis":{values:["auto"]},"flex-direction":{values:["column","column-reverse","row","row-reverse"]},"flex-flow":{values:["column","column-reverse","nowrap","row","row-reverse","wrap","wrap-reverse"]},"flex-grow":{values:[]},"flex-shrink":{values:[]},"flex-wrap":{values:["nowrap","wrap","wrap-reverse"]},float:{values:["left","right","none","inline-start","inline-end"]},"flow-into":{values:["none"],type:"named-flow"},"flow-from":{values:["none"],type:"named-flow"},font:{values:[]},"font-display":{values:["auto","block","swap","fallback","optional"]},"font-family":{values:["auto","cursive","fantasy","monospace","sans-serif","serif"]},"font-feature-settings":{values:["normal"]},"font-kerning":{values:["auto","none","normal"]},"font-language-override":{values:["normal"]},"font-size":{values:["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]},"font-size-adjust":{values:["auto","none"]},"font-stretch":{values:["condensed","expanded","extra-condensed","extra-expanded","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded"]},"font-style":{values:["italic","normal","oblique"]},"font-synthesis":{values:["none","style","weight"]},"font-variant":{values:["normal","small-caps"]},"font-variant-alternates":{values:["normal"]},"font-variant-caps":{values:["normal","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps"]},"font-variant-east-asian":{values:["normal"]},"font-variant-ligatures":{values:["normal","none"]},"font-variant-numeric":{values:["normal"]},"font-variant-position":{values:["normal","sub","super"]},"font-weight":{values:["bold","bolder","lighter","normal","100","200","300","400","500","600","700","800","900"]},gap:{values:["revert-layer"]},grid:{values:[]},"grid-area":{values:[]},"grid-auto-columns":{values:[]},"grid-auto-flow":{values:["row","column","dense"]},"grid-auto-rows":{values:[]},"grid-column":{values:["auto"]},"grid-column-end":{values:[]},"grid-column-gap":{values:[]},"grid-column-start":{values:[]},"grid-gap":{values:[]},"grid-row":{values:["auto"]},"grid-row-end":{values:[]},"grid-row-start":{values:[]},"grid-row-gap":{values:[]},"grid-template":{values:["none"]},"grid-template-areas":{values:[]},"grid-template-columns":{values:["auto"]},"grid-template-rows":{values:["auto"]},"hanging-punctuation":{values:["allow-end","first","force-end","last","none"]},height:{values:["auto","max-content","min-content","fit-content"]},hyphens:{values:["auto","manual","none"]},"image-orientation":{values:[]},"image-resolution":{values:["from-image","snap"]},isolation:{values:["auto","isolate"]},"justify-content":{values:["center","flex-end","flex-start","space-around","space-between"]},"justify-items":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe","legacy"]},"justify-self":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe"]},left:{values:["auto"]},"letter-spacing":{values:["normal"]},"line-height":{values:["normal"]},"list-style":{values:["none","url()","armenian","circle","decimal","decimal-leading-zero","disc","georgian","inside","lower-alpha","lower-greek","lower-latin","lower-roman","outside","square","upper-alpha","upper-latin","upper-roman"]},"list-style-image":{values:["none","url()"]},"list-style-position":{values:["inside","outside"]},"list-style-type":{values:["armenian","circle","decimal","decimal-leading-zero","disc","georgian","lower-alpha","lower-greek","lower-latin","lower-roman","none","square","upper-alpha","upper-latin","upper-roman"]},margin:{values:["auto"]},"margin-bottom":{values:["auto"]},"margin-left":{values:["auto"]},"margin-right":{values:["auto"]},"margin-top":{values:["auto"]},"max-height":{values:["none"]},"max-width":{values:["none"]},"min-height":{values:[]},"min-width":{values:[]},"mix-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"object-fit":{values:["contain","cover","fill","none","scale-down"]},"object-position":{values:["left","center","right","bottom","top"]},opacity:{values:[]},order:{values:[]},orphans:{values:[]},outline:{values:[]},"outline-color":{values:["invert"],type:"color"},"outline-offset":{values:[]},"outline-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"outline-width":{values:["medium","thin","thick"]},overflow:{values:["auto","hidden","scroll","visible"]},"overflow-x":{values:["auto","hidden","scroll","visible"]},"overflow-y":{values:["auto","hidden","scroll","visible"]},"overflow-wrap":{values:["normal","anywhere","break-word"]},padding:{values:[]},"padding-bottom":{values:[]},"padding-left":{values:[]},"padding-right":{values:[]},"padding-top":{values:[]},"page-break-after":{values:["always","auto","avoid","left","right"]},"page-break-before":{values:["always","auto","avoid","left","right"]},"page-break-inside":{values:["auto","avoid"]},perspective:{values:["none"]},"perspective-origin":{values:["bottom","center","left","right","top"]},"pointer-events":{values:["all","auto","fill","none","painted","stroke","visible","visibleFill","visiblePainted","visibleStroke"]},position:{values:["absolute","fixed","relative","static","sticky"]},quotes:{values:["none"]},"region-break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"region-fragment":{values:["auto","break"]},resize:{values:["both","horizontal","none","vertical"]},right:{values:["auto"]},"scroll-behavior":{values:["auto","smooth"]},"scroll-snap-type":{values:["none","x","y","block","inline","both","mandatory","proximity"]},src:{values:["url()"]},"shape-image-threshold":{values:[]},"shape-inside":{values:["auto","circle()","ellipse()","outside-shape","polygon()","rectangle()"]},"shape-margin":{values:[]},"shape-outside":{values:["none","circle()","ellipse()","polygon()","inset()","margin-box","border-box","padding-box","content-box","url()","image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"tab-size":{values:[]},"table-layout":{values:["auto","fixed"]},"text-align":{values:["start","end","center","left","justify","right","match-parent","justify-all"]},"text-align-last":{values:["center","left","justify","right"]},"text-decoration":{values:["line-through","none","overline","underline"]},"text-decoration-color":{values:[],type:"color"},"text-decoration-line":{values:["line-through","none","overline","underline"]},"text-decoration-skip":{values:["edges","ink","none","objects","spaces"]},"text-decoration-style":{values:["dashed","dotted","double","solid","wavy"]},"text-emphasis":{values:[]},"text-emphasis-color":{values:[],type:"color"},"text-emphasis-position":{values:["above","below","left","right"]},"text-emphasis-style":{values:["circle","dot","double-circle","filled","none","open","sesame","triangle"]},"text-indent":{values:[]},"text-justify":{values:["auto","none","inter-word","inter-character"]},"text-overflow":{values:["clip","ellipsis"]},"text-shadow":{values:[]},"text-rendering":{values:["auto","geometricPrecision","optimizeLegibility","optimizeSpeed"]},"text-transform":{values:["capitalize","full-width","lowercase","none","uppercase"]},"text-underline-position":{values:["alphabetic","auto","below","left","right"]},top:{values:["auto"]},transform:{values:["matrix()","matrix3d()","none","perspective()","rotate()","rotate3d()","rotateX()","rotateY()","rotateZ()","scale()","scale3d()","scaleX()","scaleY()","scaleZ()","skewX()","skewY()","translate()","translate3d()","translateX()","translateY()","translateZ()"]},"transform-origin":{values:["bottom","center","left","right","top"]},"transform-style":{values:["flat","preserve-3d"]},transition:{values:[]},"transition-delay":{values:[]},"transition-duration":{values:[]},"transition-property":{values:["all","none"]},"transition-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"unicode-bidi":{values:["bidi-override","embed","normal"]},"unicode-range":{values:[]},"user-select":{values:["all","auto","contain","none","text"]},"vertical-align":{values:["baseline","bottom","middle","sub","super","text-bottom","text-top","top"]},visibility:{values:["collapse","hidden","visible"]},"white-space":{values:["normal","nowrap","pre","pre-line","pre-wrap"]},widows:{values:[]},width:{values:["auto","max-content","min-content","fit-content"]},"will-change":{values:["auto","contents","opacity","scroll-position"]},"word-break":{values:["normal","break-all","keep-all"]},"word-spacing":{values:["normal"]},"z-index":{values:["auto"]}}},ms=ps.cssKeyValue,Lo=Object.keys(ps.cssKeyValue),hs=({onValueChange:n,propertyKey:t="",value:e,initialValue:s})=>{const o=g.useRef(null),[r,i]=g.useState(e??(s||"")),[l,c]=g.useState(!1),u=()=>{n==null||n(r)};g.useEffect(()=>{i(e)},[e]);const d=g.useMemo(()=>{var m;return(((m=ms[t])==null?void 0:m.values)||[]).map(v=>({value:v}))},[t]);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.AutoComplete,{ref:o,popupMatchSelectWidth:200,variant:"borderless",value:r,onChange:p=>{i(p),u()},style:{flex:1},onFocus:()=>{c(!0)},onBlur:()=>{c(!1)},className:T([Nn.inputAuto,l&&Nn.active]),placeholder:"value",options:d})})};hs.setterName="CSS值设置器";const fs=({onValueChange:n,initialValue:t,value:e})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Popover,{trigger:"click",content:a.jsx(Hs.SketchPicker,{color:e||t,onChange:s=>{const o=`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b}, ${s.rgb.a||1})`;n==null||n(o)}}),placement:"bottomLeft",styles:{body:{padding:0}},arrow:{pointAtCenter:!1},children:a.jsx(f.Input,{placeholder:"color",value:e,onChange:s=>{n==null||n(s.target.value)},prefix:a.jsx("div",{style:{backgroundColor:e||"transparent",width:"10px",height:"10px",borderRadius:"4px",overflow:"hidden"}})})})});fs.setterName="颜色设置器";const $e=[{label:"Recommended",colors:["#000000","#000000E0","#000000A6","#00000073","#00000040","#00000026","#0000001A","#00000012","#0000000A","#00000005","#F5222D","#FA8C16","#FADB14","#8BBB11","#52C41A","#13A8A8","#1677FF","#2F54EB","#722ED1","#EB2F96","#F5222D4D","#FA8C164D","#FADB144D","#8BBB114D","#52C41A4D","#13A8A84D","#1677FF4D","#2F54EB4D","#722ED14D","#EB2F964D"]}],xs=({onValueChange:n,initialValue:t,value:e,setterContext:s,...o})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.ColorPicker,{showText:!0,allowClear:!0,value:e??t,onChangeComplete:r=>{n==null||n(r.toRgbString())},presets:$e,...o})});xs.setterName="颜色设置器";const vs=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.Slider,{...s,value:s.value??e,onChange:o=>{var r;(r=s.onChange)==null||r.call(s,o),n==null||n(o)}});vs.setterName="滑动条设置器";const ys=({onValueChange:n,value:t,initialValue:e,setterContext:s,...o})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx(f.Radio.Group,{onChange:r=>{n==null||n(r.target.value)},defaultValue:e,value:t,...o})});ys.setterName="单选设置器";const Ao="_cssSizeInput_1ig9c_2",Bo="_unitSelect_1ig9c_5",jn={cssSizeInput:Ao,unitSelect:Bo},Oo="_inputNumberPlus_1hb66_2",zo={inputNumberPlus:Oo},$o=({min:n,max:t,value:e,onChange:s,addonAfter:o,...r})=>{const i=u=>{s==null||s(u)},l=u=>{let d=u;n!==void 0&&(d=Math.max(n,d)),t!==void 0&&(d=Math.min(t,d)),i(d)},c=g.useMemo(()=>{if(e===void 0)return!0;let u=e;return n!==void 0&&(u=Math.max(n,u)),t!==void 0&&(u=Math.min(t,u)),u===e},[t,n,e]);return a.jsx("div",{className:zo.inputNumberPlus,children:a.jsx("div",{style:{display:"flex",position:"relative"},children:a.jsx(f.Input,{allowClear:!0,...r,status:c?void 0:"error",value:e,onClear:()=>{i(void 0)},onChange:u=>{const d=parseInt(u.target.value||"0",10);l(d)},addonAfter:o})})})},Rn=[{value:"px",label:"px"},{value:"%",label:"%"},{value:"vw",label:"vw"},{value:"vh",label:"vh"},{value:"rem",label:"rem"}],Fo=function(n){const t=g.useRef({status:"",start:{x:0,y:0,cumulativeX:0,cumulativeY:0},processing:{x:0,y:0,cumulativeX:0,cumulativeY:0},mouseDown:!1}),e=g.useCallback(()=>{var i;t.current.mouseDown=!1;const{processing:r}=t.current;(i=n==null?void 0:n.onEnd)==null||i.call(n,{...r}),t.current.status="",t.current.processing.cumulativeX=0,t.current.processing.cumulativeY=0},[n]),s=g.useCallback(()=>{t.current.mouseDown=!0},[]),o=g.useCallback(r=>{var v,h,b;if(!t.current.mouseDown)return;const{start:i,processing:l}=t.current,c=r.clientX-i.x,u=r.clientY-i.y,d=10;if(t.current.status!=="running"&&(Math.abs(c)>d||Math.abs(u)>d)){t.current.status="running";const x=t.current.start;x.x=r.clientX,x.y=r.clientY,(v=n==null?void 0:n.onStart)==null||v.call(n,{...x})}if(t.current.status!=="running")return;l.x=r.clientX,l.y=r.clientY,l.cumulativeX=r.clientX-i.x,l.cumulativeY=r.clientY-i.y;const[p,m]=((h=n==null?void 0:n.limitCumulative)==null?void 0:h.x)||[];if(p!==void 0&&l.cumulativeX<p){e(r);return}if(m!==void 0&&l.cumulativeX>m){e(r);return}(b=n==null?void 0:n.onChange)==null||b.call(n,{...l})},[n,e]);return g.useEffect(()=>{const r=ne.addEventListenerReturnCancel(document.body,"mousemove",c=>{o(c)}),i=ne.addEventListenerReturnCancel(document.body,"mouseup",c=>{e(c)}),l=ne.addEventListenerReturnCancel(document.body,"mouseleave",c=>{e(c)});return()=>{r(),i(),l()}},[e,o]),{onMouseDown:s}},$=n=>{const t=String(n.value),[e,s]=g.useState({value:0,status:""}),o=g.useMemo(()=>{const x={value:void 0,unit:"px"};if(n.value===void 0)return x;const y=parseFloat(n.value||"");isNaN(y)||(x.value=y);let S="px";return x.value!==void 0&&(S=t.replace(String(x.value),"").trim()),["px","%","rem","vw","vx"].includes(S)&&(x.unit=S||"px"),x},[t,n.value]),r=g.useMemo(()=>n.unitList?n.unitList.map(x=>Rn.find(y=>y.value===x)).filter(Boolean):Rn,[n.unitList]),i=g.useMemo(()=>{var x,y;return{min:typeof n.min=="number"?n.min:(x=n.min)==null?void 0:x[o.unit],max:typeof n.max=="number"?n.max:(y=n.max)==null?void 0:y[o.unit]}},[n,o]),l=g.useMemo(()=>{const x={...o};return e.status==="dragging"&&(x.value=e.value),x},[o,e]),c=g.useCallback(x=>{var S;let y=`${x.value}${x.unit}`;x.value===void 0&&(y=void 0),(S=n.onValueChange)==null||S.call(n,y)},[n]),u=g.useCallback((x,y)=>{let S={...x};n.cumulativeTransform&&(S=n.cumulativeTransform(S));let j=y??0;isNaN(j)&&(j=0);let C=j+S.cumulativeX;return i.min!==void 0&&(C=Math.max(C,i.min)),i.max!==void 0&&(C=Math.min(C,i.max)),C},[i.max,i.min,n]),d=g.useCallback(x=>{s({status:"dragging",value:u(x,o.value)})},[o.value,u]),p=g.useCallback(x=>{const y=u(x,o.value);s({status:"dragging",value:y})},[o.value,u]),m=g.useCallback(x=>{const y=u(x,o.value);e.status==="dragging"&&(c({value:y,unit:o.unit}),s({status:"",value:0}))},[e.status,o,u,c]),v=g.useRef({onStart:d,onChange:p,onEnd:m});v.current={onStart:d,onChange:p,onEnd:m};const h=Fo({onStart:x=>v.current.onStart(x),onChange:x=>v.current.onChange(x),onEnd:x=>v.current.onEnd(x),limitCumulative:{x:[-60,void 0]}}),b=a.jsx("span",{className:jn.unitSelect,children:a.jsx(f.Select,{size:n.size,defaultValue:"",value:l.unit,onChange:x=>{c({value:l.value,unit:x})},style:{width:"40px"},popupMatchSelectWidth:!1,options:r})});return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:2}},children:a.jsx("div",{className:T([jn.cssSizeInput,n==null?void 0:n.className]),...h,style:n.style,children:a.jsx($o,{size:n.size,value:l.value,addonAfter:n.unit===!1?"":b,min:i.min,max:i.max,onChange:x=>{c({value:x,unit:l.unit})}})})})},bs=({onValueChange:n,setterContext:t,initialValue:e,...s})=>a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx($,{min:0,...s,value:s.value??e,onValueChange:o=>{n==null||n(o)}})});bs.setterName="CSS size 设置器";const Ho="_label_1ys7b_2",Uo="_fontOption_1ys7b_16",Go="_row_1ys7b_21",Wo="_styleUIPanel_1ys7b_25",Ko="_inputWidth_1ys7b_29",R={label:Ho,"m-p":"_m-p_1ys7b_12",fontOption:Uo,row:Go,styleUIPanel:Wo,inputWidth:Ko},Je=["width","height","min-width","max-width","min-height","max-height","flex","display","flex-direction","justify-content","align-items","flex-wrap"];function Nt(n){return n.reduce((t,e)=>({...t,[e]:""}),{})}const ve={px:2048,vw:100,vh:100,rem:100},qo=g.forwardRef((n,t)=>{const[e,s]=g.useState(n.initialValue??Nt(Je)),o=g.useCallback((i,l)=>{s(c=>{var d;const u={...c,...F.pick(i,Je)};return l!==!0&&((d=n.onChange)==null||d.call(n,u)),u})},[n]);g.useImperativeHandle(t,()=>({setValue:i=>o({...Nt(Je),...i},!0),setEmptyValue:()=>{s(Nt(Je))}}),[o]);const r=g.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,className:"flex",children:[a.jsx("span",{className:R.label,children:"layout:"}),a.jsxs(f.Radio.Group,{value:r.display,size:"small",buttonStyle:"solid",onChange:i=>{o({display:i.target.value})},children:[a.jsx(f.Radio.Button,{value:"block",children:"Block"}),a.jsx(f.Radio.Button,{value:"flex",children:"Flex"}),a.jsx(f.Radio.Button,{value:"inline-block",children:"InlineB"}),a.jsx(f.Radio.Button,{value:"inline",children:"Inline"}),a.jsx(f.Radio.Button,{value:"none",children:"None"})]})]})}),r.display==="flex"&&a.jsxs(a.Fragment,{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"AxisD:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["flex-direction"],buttonStyle:"outline",options:[{label:a.jsx(A.ArrowRightFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"row"},{label:a.jsx(A.ArrowLeftFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"row-reverse"},{label:a.jsx(A.ArrowDownFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"column"},{label:a.jsx(A.ArrowUpFromLine,{size:14,style:{top:"3px",position:"relative"}}),value:"column-reverse"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"flex-direction":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"MAxis:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["justify-content"],buttonStyle:"outline",options:[{label:a.jsx(A.AlignHorizontalDistributeStart,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-start"},{label:a.jsx(A.AlignHorizontalDistributeEnd,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-end"},{label:a.jsx(A.StretchVertical,{size:14,style:{top:"3px",position:"relative"}}),value:"center"},{label:a.jsx(A.AlignHorizontalSpaceBetween,{size:14,style:{top:"3px",position:"relative"}}),value:"space-between"},{label:a.jsx(A.AlignHorizontalSpaceAround,{size:14,style:{top:"3px",position:"relative"}}),value:"space-around"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"justify-content":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",flexDirection:"row",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"CAxis:"}),a.jsx("div",{style:{width:"200px",marginLeft:"3px"},children:a.jsx(f.Radio.Group,{size:"small",value:r["align-items"],buttonStyle:"outline",options:[{label:a.jsx(A.AlignVerticalJustifyStart,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-start"},{label:a.jsx(A.AlignVerticalJustifyEnd,{size:14,style:{top:"3px",position:"relative"}}),value:"flex-end"},{label:a.jsx(A.StretchHorizontal,{size:14,style:{top:"3px",position:"relative"}}),value:"center"},{label:a.jsx(A.AlignVerticalSpaceBetween,{size:14,style:{top:"3px",position:"relative"}}),value:"space-between"},{label:a.jsx(A.AlignVerticalSpaceAround,{size:14,style:{top:"3px",position:"relative"}}),value:"space-around"},{label:a.jsx(A.SquareX,{size:14,style:{top:"3px",position:"relative"}}),value:""}],onChange:i=>{o({"align-items":i.target.value||""})},optionType:"button"})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"flex:"}),a.jsx($,{className:R.inputWidth,unit:!1,min:0,max:ve,value:r.flex,onValueChange:i=>{o({flex:i||""})},size:"small"})]})})]}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"width:"}),a.jsx($,{style:{width:"180px"},min:0,max:ve,value:r.width,onValueChange:i=>{o({width:i})},className:R.inputWidth,size:"small"}),a.jsx(f.Button,{size:"small",style:{marginLeft:"10px"},onClick:()=>{o({width:"100%"})},children:a.jsx(A.MoveHorizontal,{size:14})})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex",alignItems:"center"},children:[a.jsx("span",{className:R.label,children:"height:"}),a.jsx($,{min:0,style:{width:"180px"},max:ve,value:r.height,onValueChange:i=>{o({height:i})},className:R.inputWidth,size:"small"}),a.jsx(f.Button,{size:"small",style:{marginLeft:"10px"},onClick:()=>{o({height:"100%"})},children:a.jsx(A.MoveVertical,{size:14})})]})}),a.jsxs("div",{children:[a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"minW:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["min-width"],onValueChange:i=>{o({"min-width":i})},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:R.label,children:"minH:"}),a.jsx($,{min:0,max:ve,value:r["min-height"],onValueChange:i=>{o({"min-height":i})},className:R.inputWidth,size:"small"})]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,className:"flex",children:[a.jsx("span",{className:R.label,children:"maxW:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["max-width"],onValueChange:i=>{o({"max-width":i})},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:R.label,children:"maxH:"}),a.jsx($,{className:R.inputWidth,min:0,max:ve,value:r["max-height"],onValueChange:i=>{o({"max-height":i})},size:"small"})]})]})]})]})}),Xe={px:2048,vw:100,vh:100,rem:100},Ye="100px",jt=()=>({left:"",right:"",top:"",bottom:""}),_n=g.forwardRef((n,t)=>{const[e,s]=g.useState(n.initialValue??jt()),o=g.useMemo(()=>["left","top","right","bottom"].map(c=>`${n.prefix}-${c}`),[n.prefix]),r=g.useCallback((c,u)=>{s(d=>{var v;const p={...d,...c},m=Object.keys(p).reduce((h,b)=>(b==="all"?h[`${n.prefix}`]=p==null?void 0:p[b]:h[`${n.prefix}-${b}`]=p==null?void 0:p[b],h),{});return u!==!0&&((v=n.onChange)==null||v.call(n,F.pick(m,o))),p})},[o,n]),i=g.useCallback((c,u)=>Object.keys(c||{}).filter(m=>m.includes(u)).reduce((m,v)=>(v.replace(`${n.prefix}`,"")===""?m.all=c==null?void 0:c[v]:m[v.replace(`${n.prefix}-`,"")]=c==null?void 0:c[v],m),{}),[n.prefix]);g.useImperativeHandle(t,()=>({setValue:c=>{r({...jt(),...i(c,n.prefix)},!0)},setEmptyValue:()=>{r({...jt()},!0)}}),[i,n.prefix,r]);const l=g.useMemo(()=>{const c=i(n.value||{},n.prefix);return n.value===void 0?e:c},[i,n.value,n.prefix,e]);return a.jsxs("div",{children:[a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"T:"}),a.jsx($,{min:0,max:Xe,value:l.top,onValueChange:c=>{r({top:c})},style:{width:Ye},size:"small"})]}),a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"L:"}),a.jsx($,{min:0,max:Xe,value:l.left,onValueChange:c=>{r({left:c})},style:{width:Ye},size:"small"})]})]}),a.jsx("div",{children:a.jsxs(f.Row,{className:R.row,children:[a.jsxs(f.Col,{span:12,children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"B:"}),a.jsx($,{min:0,max:Xe,value:l.bottom,onValueChange:c=>{r({bottom:c})},style:{width:Ye},size:"small"})]}),a.jsxs(f.Col,{span:12,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label,R["m-p"]]),children:"R:"}),a.jsx($,{style:{width:Ye},min:0,max:Xe,value:l.right,onValueChange:c=>{r({right:c})},size:"small"})]})]})})]})}),vt=g.forwardRef(function(t,e){const[s,o]=g.useState();return g.useImperativeHandle(e,()=>({updateColor:r=>{o(r)}})),a.jsx(f.ColorPicker,{...t,value:s,onChange:r=>{o(r)},onChangeComplete:r=>{var i;(i=t.onChange)==null||i.call(t,r.toRgbString())}})}),Jo=["font-size","color","text-align","font-weight"],Xo={px:100,vw:100,vh:100,rem:100},Yo=[{label:a.jsx("span",{className:R.fontOption,children:"Left"}),value:"left"},{label:a.jsx("span",{className:R.fontOption,children:"Center"}),value:"center"},{label:a.jsx("span",{className:R.fontOption,children:"Right"}),value:"Right"}],Qo=[{label:a.jsx("span",{className:R.fontOption,children:"Regular"}),value:"400"},{label:a.jsx("span",{className:R.fontOption,children:"Medium"}),value:"500"},{label:a.jsx("span",{className:R.fontOption,children:"Bold"}),value:"700"}],Rt=()=>({"font-size":"",color:"","text-align":"","font-weight":""}),Zo=g.forwardRef((n,t)=>{const[e,s]=g.useState(n.initialValue??Rt()),o=g.useRef(null),r=g.useCallback((l,c)=>{s(u=>{var p;const d={...u,...l};return c!==!0&&((p=n.onChange)==null||p.call(n,d)),d})},[n]);g.useImperativeHandle(t,()=>({setValue:l=>{var c;(c=o.current)==null||c.updateColor((l==null?void 0:l.color)||""),r({...Rt(),...F.pick(l,Jo)},!0)},setEmptyValue:()=>{r({...Rt()},!0)}}),[r]);const i=g.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",onChange:l=>{r({color:l})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Size:"}),a.jsx($,{min:0,max:Xo,value:i["font-size"],onValueChange:l=>{r({"font-size":l})},style:{width:"158px"},size:"small"})]})}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:T([R.label]),children:"Align:"}),a.jsx(f.Radio.Group,{options:Yo,onChange:({target:{value:l}})=>{r({"text-align":l})},value:i["text-align"]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:T([R.label]),children:"Weight:"}),a.jsx(f.Radio.Group,{options:Qo,onChange:({target:{value:l}})=>{r({"font-weight":l})},value:i["font-weight"]})]})]})}),er=["border","border-radius"],Pn={px:100,vw:100,vh:100,rem:100},_t=()=>({border:"","border-radius":""}),tr=g.forwardRef((n,t)=>{const[e,s]=g.useState(n.initialValue??_t()),o=g.useRef(null),r=g.useCallback((c,u)=>{s(d=>{var m;const p={...d,...c};return u!==!0&&((m=n.onChange)==null||m.call(n,p)),p})},[n]);g.useImperativeHandle(t,()=>({setValue:c=>{const u=_t();Object.keys(c).length?r({...u,...F.pick(c,er)},!0):r(u,!0)},setEmptyValue:()=>{r({..._t()},!0)}}),[r]);const i=g.useMemo(()=>{var p;const c=e.border||"",u=c.split(" "),d={size:u[0]||"",type:u[1]||"",color:c.replace(" ","").replace(u[0],"").replace(u[1],"")};return(p=o.current)==null||p.updateColor(d.color),d},[e]),l=c=>{r({border:`${c.size||"0px"} ${c.type||"none"} ${c.color||"transparent"}`.trim()})};return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{position:"relative"},span:24,children:[a.jsx(V.CloseCircleOutlined,{style:{position:"absolute",right:0,top:"5px",color:"#4e4e4e",cursor:"pointer"},onClick:()=>{r({border:void 0})}}),a.jsx("span",{className:R.label,children:"Size:"}),a.jsx($,{min:0,max:Pn,value:i.size,style:{width:"100px"},unitList:["px"],onValueChange:c=>{l({...i,size:c||""})},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",value:i.color||"",onChange:c=>{l({...i,color:c})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Type:"}),a.jsxs(f.Radio.Group,{value:i.type,size:"small",onChange:c=>{l({...i,type:c.target.value||""})},children:[a.jsx(f.Radio.Button,{value:"solid",children:"Solid"}),a.jsx(f.Radio.Button,{value:"dashed",children:"Dashed"}),a.jsx(f.Radio.Button,{value:"dotted",children:"Dotted"}),a.jsx(f.Radio.Button,{value:"none",children:"None"})]})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Radius:"}),a.jsx($,{min:0,max:Pn,value:e["border-radius"],onValueChange:c=>{r({"border-radius":c})},style:{width:"158px"},size:"small"})]})})]})}),nr=["background-color","background-image","background-repeat","background-size"],Pt=()=>({"background-color":"","background-image":"","background-size":"","background-repeat":""}),sr=g.forwardRef((n,t)=>{var l;const[e,s]=g.useState(n.initialValue??Pt()),o=g.useRef(null),r=g.useCallback((c,u)=>{s(d=>{var m,v;const p={...d,...c};return(m=o.current)==null||m.updateColor(p["background-color"]),u!==!0&&((v=n.onChange)==null||v.call(n,p)),p})},[n]);g.useImperativeHandle(t,()=>({setValue:c=>{const u=Pt();Object.keys(c).length?r({...u,...F.pick(c,nr)},!0):r(u,!0)},setEmptyValue:()=>{const c=Pt();r(c,!0)}}),[r]);const i=g.useMemo(()=>n.value??e,[n.value,e]);return a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",value:i["background-color"]||"",onChange:c=>{r({"background-color":c})},presets:$e})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:R.label,children:"Image:"}),a.jsx(f.Input,{style:{flex:1},size:"small",value:((l=/url\(['|"|*]?(.+?)['|"|*]?\)/.exec(i["background-image"]))==null?void 0:l[1])||"",onChange:c=>{console.log(`url("${c.target.value}")`),r({"background-image":`url("${c.target.value}")`})}})]})}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:R.label,children:"Size:"}),a.jsxs(f.Radio.Group,{size:"small",defaultValue:"a",buttonStyle:"solid",value:i["background-size"],onChange:c=>{r({"background-size":c.target.value})},children:[a.jsx(f.Radio.Button,{value:"contain",children:"Contain"}),a.jsx(f.Radio.Button,{value:"cover",children:"Cover"}),a.jsx(f.Radio.Button,{value:"auto",children:"Auto"})]})]}),a.jsxs(f.Row,{className:R.row,children:[a.jsx("span",{className:R.label,children:"Repeat:"}),a.jsxs(f.Radio.Group,{size:"small",buttonStyle:"solid",value:i["background-repeat"],onChange:c=>{r({"background-repeat":c.target.value})},children:[a.jsx(f.Radio.Button,{value:"repeat",children:"Repeat"}),a.jsx(f.Radio.Button,{value:"no-repeat",children:"NoRepeat"})]})]})]})}),kt=()=>({"box-shadow":""}),ar=g.forwardRef((n,t)=>{const[e,s]=g.useState(n.initialValue??kt()),o=g.useRef(null),r=g.useMemo(()=>{var u,d;const l=((u=n.value)==null?void 0:u["box-shadow"])??e["box-shadow"],c=nt(l||"")[0]||{};return(d=o.current)==null||d.updateColor(c.color||""),c},[n.value,e]),i=g.useCallback((l,c)=>{s(u=>{var b,x;console.log("set val",u,l);const d=(b=n.value)==null?void 0:b["box-shadow"],m={...nt(d||"")[0]||{},...l},v=`${m.offsetX||"0"} ${m.offsetY||"0"} ${m.blur||"0"} ${m.spread||"0"} ${m.color||"transparent"}`,h={...u,"box-shadow":v};return c!==!0&&((x=n.onChange)==null||x.call(n,h)),h})},[n]);return g.useImperativeHandle(t,()=>({setValue:l=>{i({...kt(),...nt(l["box-shadow"]||"")[0]},!0)},setEmptyValue:()=>{i({...kt()},!0)}}),[i]),a.jsxs("div",{children:[a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"OffsetX:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.offsetX,onValueChange:l=>{i({...r,offsetX:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"OffsetY:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.offsetY,onValueChange:l=>{i({...r,offsetY:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Blur:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.blur,onValueChange:l=>{i({...r,blur:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{children:[a.jsx("span",{className:R.label,children:"Spread:"}),a.jsx($,{min:-40,max:40,unitList:["px"],value:r.spread,onValueChange:l=>{i({...r,spread:l})},style:{width:"158px"},size:"small"})]})}),a.jsx(f.Row,{className:R.row,children:a.jsxs(f.Col,{span:24,style:{display:"flex"},children:[a.jsx("span",{className:T([R.label]),children:"Color:"}),a.jsx(vt,{ref:o,showText:!0,size:"small",onChange:l=>{i({...r,color:l})},presets:$e})]})})]})}),or="_cssCodeEditor_1vl7z_2",rr={cssCodeEditor:or};function ir(n){const t={},e=ye.parse(n,{context:"stylesheet"});return ye.walk(e,{visit:"Rule",enter(s){if(s.type==="Rule"&&s.prelude.type==="SelectorList"){const o=ye.generate(s.prelude),r={};if(s.block.type==="Block"){for(const i of s.block.children.toArray())if(i.type==="Declaration"){const l=i.property,c=ye.generate(i.value);r[l]=c}}t[o]=r}}}),t}const Et=(n={})=>{let t=`.node {
|
|
143
143
|
`;return Object.keys(n).forEach(e=>{t+=` ${e}: ${n[e]};
|
|
144
|
-
`}),t+="}",t},lr=p.forwardRef((n,t)=>{const e=p.useRef(null),s=p.useRef({});return p.useImperativeHandle(t,()=>({setEmptyValue:()=>{var o;s.current={},(o=e.current)==null||o.setValue(Et({}))},setValue:o=>{var r;F.isEqual(o,s.current)||(s.current=o,(r=e.current)==null||r.setValue(Et(o)))}}),[]),a.jsx("div",{className:rr.cssCodeEditor,style:{paddingTop:"10px",width:"100%",height:"150px",border:"1px solid rgba(0,0,0,0.2)",position:"relative",borderRadius:"4px"},children:a.jsx(xe,{language:"css",onDidMount:o=>{var r;e.current=o,(r=e.current)==null||r.setValue(Et(s.current||{}))},onChange:o=>{var l;const i=ir(o||"")[".node"]||{};s.current=i,(l=n.onValueChange)==null||l.call(n,i)},options:{tabSize:2,minimap:{enabled:!1},folding:!1,lineNumbers:"off",hover:{}}})})}),Ss=p.forwardRef(({value:n,initialVal:t,onValueChange:e,noCard:s},o)=>{const[r,i]=p.useState(localStorage.getItem("CHAMN_STYLE_EDITOR_MODE")||"VISUAL"),l=p.useRef(null),c=p.useRef(null),u=p.useRef(null),d=p.useRef(null),g=p.useRef(null),m=p.useRef(null),v=p.useRef(null),h=p.useRef(null);p.useEffect(()=>{localStorage.setItem("CHAMN_STYLE_EDITOR_MODE",r)},[r]);const b=p.useMemo(()=>[l,c,u,d,g,m,v],[l,c,u,d,g,m,v]),x=p.useRef(null),y=p.useCallback(P=>{var N;if(P){if(x.current=P,r==="CODE"){(N=h.current)==null||N.setValue(P);return}b.forEach(k=>{setTimeout(()=>{var E;(E=k.current)==null||E.setValue(P)})})}},[b,r]),S=p.useCallback(P=>{const N={...x.current||{},...P};x.current=N;const k=F.omitBy(N,E=>F.isNil(E)||E==="");e==null||e(k)},[e]);p.useEffect(()=>{y(x.current)},[r,y]),p.useImperativeHandle(o,()=>({setValue:y,setEmptyValue:()=>y({})}),[y]);const j=p.useMemo(()=>[{key:"dimension",label:"Dimension",children:a.jsx(qo,{ref:l,initialValue:t,value:n,onChange:S})},{key:"margin",label:"Margin",children:a.jsx(_n,{prefix:"margin",ref:c,initialValue:t,value:n,onChange:S})},{key:"padding",label:"Padding",children:a.jsx(_n,{ref:u,initialValue:t,prefix:"padding",value:n,onChange:S})},{key:"background",label:"Background",children:a.jsx(sr,{ref:g,value:n,initialValue:t,onChange:S})},{key:"font",label:"Font",children:a.jsx(Zo,{ref:v,initialValue:t,value:n,onChange:S})},{key:"border",label:"Border",children:a.jsx(tr,{ref:d,initialValue:t,onChange:S})},{key:"shadow",label:"Shadow",children:a.jsx(ar,{ref:m,initialValue:t,value:n,onChange:S})}],[t,S,n]),C=a.jsxs(a.Fragment,{children:[r==="CODE"&&a.jsx(lr,{onValueChange:P=>{x.current=P,e==null||e(P)},ref:h}),r!=="CODE"&&a.jsx(f.Collapse,{className:R.styleUIPanel,items:j,bordered:!1,defaultActiveKey:["dimension","background","padding","margin"],onChange:async()=>{await se(),y(x.current)}})]});return a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:2}},children:[s&&C,!s&&a.jsx(f.Card,{size:"small",type:"inner",title:a.jsx("span",{style:{fontSize:"12px"},children:"Style"}),extra:a.jsxs(f.Button,{type:"text",size:"small",onClick:()=>{i(P=>P==="CODE"?"VISUAL":"CODE")},children:[r==="VISUAL"&&a.jsx(A.SquareCode,{size:16}),r!=="VISUAL"&&a.jsx(A.Component,{size:16})]}),style:{marginBottom:"10px",borderRadius:"8px"},children:C})]})}),cr=({value:n,setterContext:t,initialValue:e,...s})=>{const o=p.useRef(null),r=t.nodeModel,i=p.useRef(),l=p.useMemo(()=>{const u=r.value.style||[],{normalProperty:d}=_e(u);return lt(d)},[r.value.style]),c=p.useCallback(()=>{var g;i.current=r;const u=r.value.style||[],{normalProperty:d}=_e(u);(g=o.current)==null||g.setValue(lt(d)||{})},[r]);return p.useEffect(()=>(c(),r.emitter.on("onNodeChange",c),r.emitter.on("onReloadPage",c),()=>{r.emitter.off("onNodeChange",c),r.emitter.off("onReloadPage",c)}),[r.emitter,r.id,c]),a.jsx(Ss,{...s,initialVal:l,ref:o,onValueChange:u=>{const d=Qt(u),{expressionProperty:g}=_e(r.value.style||[]),m=[...d,...g];F.isEqual(r.value.style,m)||(r.value.style=m,r.updateValue())}})},ur={_null_:null,_undefined_:void 0},ws=({onValueChange:n,setterContext:t,initialValue:e,emptyValue:s,hiddenDefaultOption:o,...r})=>{const i=p.useMemo(()=>{const c=[{label:"Undefined",value:"_undefined_"},{label:"Null",value:"_null_"}];if(s){if(o)return[{label:s,value:s}];c.push({label:s,value:s})}return c},[s,o]),l=p.useMemo(()=>{const c=e||r.value;return c===void 0?"_undefined_":c===null?"_null_":c||"_undefined_"},[e,r.value]);return p.useEffect(()=>{n==null||n(s??void 0)},[]),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:6}},children:a.jsx(f.Radio.Group,{block:!0,options:i,defaultValue:e,optionType:"button",size:"small",...r,value:l,onChange:c=>{let u=c.target.value;["_null_","_undefined_"].includes(u)&&(u=ur[u]),n==null||n(u)}})})};ws.setterName="空值设置器";const ue={FastLayoutSetter:cr,StringSetter:as,ArraySetter:rs,ShapeSetter:is,NumberSetter:os,ExpressionSetter:nn,BooleanSetter:ls,SelectSetter:cs,JSONSetter:ds,FunctionSetter:sn,TextAreaSetter:ps,CSSValueSetter:hs,ColorSetter:fs,SliderSetter:vs,AntDColorSetter:xs,RadioGroupSetter:ys,CSSSizeSetter:bs,EmptyValueSetter:ws},dr="_fieldBox_1nwst_3",pr="_label_1nwst_11",gr="_tipsLabel_1nwst_24",mr="_content_1nwst_31",hr="_error_1nwst_36",fr="_errorTipIcon_1nwst_42",Ce={fieldBox:dr,label:pr,tipsLabel:gr,content:mr,error:hr,errorTipIcon:fr},te=n=>{const{children:t,label:e,tips:s,name:o,hiddenLabel:r}=n,[i,l]=p.useState({isPass:!0,errorMsg:""});let c=e;const{formState:u,updateContext:d,updateConditionConfig:g}=p.useContext(ft);if(p.useEffect(()=>{n.condition&&g(o,n.condition)},[o,n.condition,g]),p.useEffect(()=>{var y;const x=(n.condition??(()=>!0))(u);(y=n.onConditionValueChange)==null||y.call(n,x)},[u,n]),s){let b=s;typeof s=="function"&&(b=s()),c=a.jsx(f.Tooltip,{title:a.jsx("span",{style:{color:"rgba(255,255,255,0.9",fontSize:"12px"},children:b}),color:"rgba(50,50,50,0.8)",children:a.jsx("span",{className:Ce.tipsLabel,children:e})})}let m=t;if(p.isValidElement(t)){const x={[n.valueChangeEventName??"onValueChange"]:async y=>{let S=y;n.formatEventValue&&(S=n.formatEventValue(y));const j=n.rules||[],C=await xr(n.name,S,j);C.isPass?l({isPass:!0,errorMsg:""}):l(C),d({...u,[o]:S},[o])}};x.value=u[o],m=p.cloneElement(t,x)}return(n.condition??(()=>!0))(u)?n.noStyle?a.jsx(a.Fragment,{children:m}):a.jsxs("div",{className:T([Ce.fieldBox,!i.isPass&&Ce.error]),style:{alignItems:n.labelAlign??"center"},children:[r!==!0&&a.jsx("div",{className:Ce.label,style:{width:n.labelWidth??"60px"},children:c}),a.jsx("div",{className:Ce.content,children:m}),!i.isPass&&a.jsx(f.Popover,{content:a.jsx(f.Alert,{message:i.errorMsg,type:"error"}),children:a.jsx(D.QuestionCircleOutlined,{className:Ce.errorTipIcon})})]}):null},xr=async(n,t,e=[])=>{var r,i,l;let s=!0,o="";for(let c=0;c<e.length;c++){if(e[c].required&&!t){s=!1,o=`${n} is required.`;break}if(e[c].validator)try{if(!await((i=(r=e[c]).validator)==null?void 0:i.call(r,t))){s=!1,o=((l=e[c])==null?void 0:l.msg)||`${n} is illegal `;break}}catch(u){s=!1,o=`${String(u)}`;break}}return{isPass:s,errorMsg:o}},vr="_switchBtn_k17cr_2",yr="_shapeFieldBox_k17cr_8",br="_collapseHeader_k17cr_9",Mt={switchBtn:vr,shapeFieldBox:yr,collapseHeader:br},we=p.createContext({defaultSetterConfig:{},onSetterChange:()=>{},customSetterMap:{}}),Ht=({setters:n,keyPaths:t,currentSetter:e,setCurrentSetter:s,customSetterMap:o,...r})=>{const{customSetterMap:i}=p.useContext(ft),{defaultSetterConfig:l}=p.useContext(we),c={...ue,...o||{},...i};p.useEffect(()=>{var v;const d=((v=l[t.join(".")])==null?void 0:v.setter)||"",m=n.find(h=>h.componentName===d)||wo(r.value,n)||n[0];s(m)},[]);let u=null;return e!=null&&e.componentName&&(u=c[e==null?void 0:e.componentName]||e.component),u||(u=function(){return a.jsx("div",{style:{backgroundColor:"whitesmoke",margin:"5px 0",padding:"5px",borderRadius:"2px",color:"gray"},children:`${e==null?void 0:e.componentName} is not found.`})}),a.jsx(u,{...r})},yt=({setters:n,keyPaths:t,condition:e,useField:s=!0,...o})=>{var Me,Te;const[r,i]=p.useState(!0),{customSetterMap:l}=p.useContext(ft),{onSetterChange:c,defaultSetterConfig:u,formRef:d,pluginCtx:g,nodeId:m}=p.useContext(we),v={...ue,...l},h=p.useMemo(()=>[...n,{componentName:_.SetterTypeEnum.EMPTY_VALUE_SETTER}],[n]),[b,x]=p.useState(()=>{var G;const B=((G=u[t.join(".")])==null?void 0:G.setter)||"";return h.find(de=>de.componentName===B)||h[0]}),y=h.map(B=>{const U=(B==null?void 0:B.componentName)||"",G=v[U];return{key:B.componentName,label:(G==null?void 0:G.setterName)||B.componentName}}),S=p.useMemo(()=>{const B=({key:U})=>{const G=h.find(de=>de.componentName===U);G&&(x(G),c==null||c(t,G.componentName))};return y.length===1?null:a.jsx("div",{className:Mt.switchBtn,onClick:U=>{U.preventDefault(),U.stopPropagation()},children:a.jsx(f.Dropdown,{trigger:["click"],menu:{selectable:!0,items:y,onClick:B,defaultSelectedKeys:[(b==null?void 0:b.componentName)||""]},children:a.jsx(D.SwapOutlined,{})})})},[y,b==null?void 0:b.componentName,h,c,t]),j=p.useMemo(()=>{let B={...(b==null?void 0:b.props)||{},initialValue:b==null?void 0:b.initialValue};const U=h.find(G=>G.componentName===(b==null?void 0:b.componentName));return U&&(B={...B,...U.props}),B},[h,b]),[C,P]=p.useState([]);let N=null;const k=(b==null?void 0:b.hiddenLabel)===!0,E=b==null?void 0:b.labelWidth,H=(b==null?void 0:b.labelAlign)||"center",O=(Me=b==null?void 0:b.props)==null?void 0:Me.collapse,z=["ArraySetter","ShapeSetter"].includes(b==null?void 0:b.componentName),q=p.useMemo(()=>({formRef:d,pluginCtx:g,keyPaths:[...t],label:o.label,setCollapseHeaderExt:z?P:void 0,nodeModel:g==null?void 0:g.pageModel.getNode(m)}),[d,t,m,g,o.label,z]),L=p.useMemo(()=>{const B={...o.customSetterMap||{}},U={labelWidth:E,labelAlign:H,hiddenLabel:k,condition:e,noStyle:!!z,onConditionValueChange:G=>{i(G)}};return s===!1?a.jsx(Ht,{setters:h,keyPaths:t,currentSetter:b,setCurrentSetter:x,...o,...j,customSetterMap:B,setterContext:q}):a.jsx(te,{...U,...o,children:a.jsx(Ht,{setters:h,keyPaths:t,currentSetter:b,setCurrentSetter:x,...j,customSetterMap:B,setterContext:q})})},[e,b,k,t,H,E,o,q,j,h,z,s]),Ee=p.useMemo(function(){const U=typeof O=="object"?O:{};return de=>a.jsx(f.Collapse,{bordered:!1,...U,style:{marginBottom:"10px",flex:1},defaultActiveKey:[U.open?o.name:""],items:[{key:o.name,label:a.jsxs("div",{className:Mt.collapseHeader,children:[a.jsx("span",{style:{flex:1},children:o.label}),de,S]}),children:L}]})},[O,o.name,o.label,S,L]);return["ArraySetter"].includes((b==null?void 0:b.componentName)||"")?N=Ee(C):["ShapeSetter"].includes((b==null?void 0:b.componentName)||"")?N=a.jsxs("div",{className:Mt.shapeFieldBox,children:[o.prefix??null,((Te=b==null?void 0:b.props)==null?void 0:Te.collapse)===!1&&a.jsx("div",{style:{width:"100%"},children:L}),O!==!1&&Ee(),o.suffix??null]}):N=a.jsxs("div",{style:{display:"flex",alignItems:H,paddingBottom:"8px"},children:[o.prefix??null,L,S,o.suffix??null]}),a.jsx("div",{style:{display:r?"block":"none"},children:N})},Sr="_CFromRenderBox_13lda_2",wr={CFromRenderBox:Sr},Cr=(n,t)=>{const{properties:e,initialValue:s,onValueChange:o,onSetterChange:r,defaultSetterConfig:i,pluginCtx:l,customSetterMap:c}=n,u=e;return a.jsx(we.Provider,{value:{defaultSetterConfig:i,customSetterMap:c,onSetterChange:r,formRef:t,pluginCtx:l,nodeId:n.nodeId},children:a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{className:wr.CFromRenderBox,children:a.jsx(Se,{ref:t,name:"root-form",initialValue:s,customSetterMap:c,onValueChange:d=>{o==null||o(d)},children:u.map(d=>{if(_.isSpecialMaterialPropType(d))console.log("Current not Support type config for props, wait future....");else{const g=_.getMTitle(d.title),m=_.getMTitleTip(d.title)||(d==null?void 0:d.description),v=xt(d.setters),h=[d.name];return a.jsx(yt,{condition:d.condition,keyPaths:h,setters:v,label:g,name:d.name||"",tips:m},d.name)}})})})})})},Fe=p.forwardRef(Cr),Nr=(n,t)=>{const e=s=>{var o;for(const r of s){if(r.key===n)return r;if((o=r.children)!=null&&o.length){const i=e(r.children);if(i)return i}}return null};return e(t)},jr=n=>{const{open:t,onCancel:e,onOk:s,pageModel:o,value:r}=n,i=p.useRef(null),l=p.useMemo(()=>{if(!o)return;const c=es(o==null?void 0:o.export(),o);return at(c,u=>(u.sourceData={title:u.title,value:u.value},u.value=u.key,u.title=a.jsx("div",{style:{flexWrap:"nowrap",display:"flex",width:"150px"},children:u.title}),!1)),c},[o]);return a.jsx(f.Modal,{open:t,onCancel:e,title:"选择节点",onOk:()=>s({nodeId:r||"",title:""}),children:a.jsx("div",{ref:i,style:{width:"100%"},children:a.jsx(f.TreeSelect,{virtual:!1,showSearch:!0,style:{width:"100%"},value:r,allowClear:!0,onClear:()=>{s({nodeId:"",title:""})},filterTreeNode:(c,u)=>{var d;return((d=u.sourceData)==null?void 0:d.title.toLowerCase().indexOf(c.toLowerCase()))>-1},getPopupContainer:()=>i.current,treeDefaultExpandAll:!0,onChange:c=>{var d;const u=Nr(c,l??[]);s({nodeId:c,title:(d=u==null?void 0:u.sourceData)==null?void 0:d.title})},treeData:l})})})},Cs=n=>{const[t,e]=p.useState(!1),[s,o]=p.useState(n.value),r=p.useMemo(()=>{var l;const i=n.pageModel.getNode((s==null?void 0:s.nodeId)||n.value);return i&&(i.value.title||((l=i.material)==null?void 0:l.value.title)||(s==null?void 0:s.title))||""},[n.pageModel,n==null?void 0:n.value,s==null?void 0:s.nodeId,s==null?void 0:s.title]);return a.jsxs(a.Fragment,{children:[a.jsx(f.Button,{style:{width:"200px"},onClick:()=>e(!0),children:r??"选择节点"}),a.jsx(jr,{open:t,onCancel:()=>e(!1),onOk:i=>{var l;(l=n.onChange)==null||l.call(n,i),o(i),e(!1)},pageModel:n.pageModel,value:(s==null?void 0:s.nodeId)||n.value})]})},Rr=n=>{var t;return a.jsx("div",{children:a.jsxs(f.Space,{children:[a.jsx(Cs,{pageModel:n.pageModel,value:n.value,onChange:e=>{var s,o;(o=n.onChange)==null||o.call(n,{nodeId:e.nodeId,keyPath:((s=n.value)==null?void 0:s.keyPath)||""})}}),a.jsx(f.Input,{style:{width:250},value:(t=n.value)==null?void 0:t.keyPath,onChange:e=>{var o,r;const{value:s}=e.target;(r=n.onChange)==null||r.call(n,{nodeId:((o=n.value)==null?void 0:o.nodeId)||"",keyPath:String(s)})},placeholder:"variable name. support '.'"})]})})},_r="_line_mvkqx_2",Tt={line:_r};function Pr(n){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return!1;try{return new Function(`let ${n};`),!0}catch{return!1}}const kr="_l_1lpc6_2",Er="_r_1lpc6_11",Mr="_b_1lpc6_20",Tr="_dragBox_1lpc6_29",Ir="_selectStatus_1lpc6_36",Ne={l:kr,r:Er,b:Mr,dragBox:Tr,selectStatus:Ir},Dr=[{key:_.LogicType.ASSIGN_VALUE,name:"赋值/创建变量",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.ASSIGN_VALUE,valueType:_.AssignValueType.STATE,currentValue:"",targetValueName:""})},{key:_.LogicType.JUMP_LINK,name:"页面跳转",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.JUMP_LINK,link:""})},{key:_.LogicType.REQUEST_API,name:"请求数据",getInitData:()=>{const n=_.getRandomStr();return{id:n,type:_.LogicType.REQUEST_API,apiPath:"",method:"GET",header:{},query:{},responseVarName:`responseData_${n}`,afterSuccessResponse:[],afterFailedResponse:[{id:_.getRandomStr(),type:_.LogicType.RUN_CODE,value:'console.error("API request failed:", $$response)'}]}}},{key:_.LogicType.CALL_NODE_METHOD,name:"调用组件方法",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.CALL_NODE_METHOD,nodeId:"",methodName:"",args:[],returnVarName:""})},{key:_.LogicType.RUN_CODE,name:"运行代码",getInitData:()=>{const n=_.getRandomStr();return{id:n,type:_.LogicType.RUN_CODE,name:`run_code_${n}`,value:"console.log('hello world');"}}}],Ut=n=>{const{title:t="Next Step"}=n,[e,s]=p.useState(!1),o=i=>{s(i)},r=Dr.map(i=>a.jsx("div",{onClick:()=>{var l;s(!1),(l=n.onNewNodeAdd)==null||l.call(n,i.getInitData())},style:{padding:"10px 20px",border:"1px solid #c3c3c3b8",borderRadius:"4px",textAlign:"center",fontSize:"12px",cursor:"pointer"},children:i.name},i.key));return n.disabled?n.children:a.jsx(f.Popover,{onOpenChange:o,open:e,trigger:"hover",content:a.jsx("div",{style:{display:"flex",flexWrap:"wrap",width:"300px",gap:"8px",justifyContent:"space-between"},children:r.map(i=>a.jsx("div",{style:{flex:"0 0 calc(50% - 4px)"},children:i},i.key))}),title:t,children:n.children})},Ns=n=>a.jsx(K.Handle,{type:"target",id:ht,position:K.Position.Top,...n}),Gt=n=>a.jsx(K.Handle,{type:"source",position:K.Position.Bottom,id:Z,...n}),ke=({nodeProps:n,customHandle:t,handleNewNodeAdd:e,useCardStyle:s,outputHandle:o,inputHandle:r,...i})=>{const{data:l,isConnectable:c,selected:u}=n,d=K.useReactFlow(),g=ti(l,Z),m=h=>{const b=d.getNode(String(l.id));if(!b){console.error(`Not found node by id ${l.id}`);return}const{newEdge:x,newNode:y}=ni(b,h);d.addNodes(y),d.addEdges(x)};let v=a.jsxs(a.Fragment,{children:[r!==!1&&a.jsx(Ns,{isConnectable:c}),o!==!1&&a.jsx(Ut,{style:{position:"absolute",left:"50%",bottom:"0"},onNewNodeAdd:h=>{t||(e?e(h):m(h))},disabled:g,children:a.jsx(Gt,{isConnectable:c,style:{width:"10px",height:"10px"}})})]});return t&&(v=t),s===!1?a.jsxs("div",{className:T([u?Ne.selectStatus:""]),children:[a.jsx("div",{className:ce,children:i.children}),v]}):a.jsxs(f.Card,{...i,classNames:{header:ce},className:T([u?Ne.selectStatus:""]),styles:{body:{cursor:"default"}},extra:a.jsxs("div",{style:{display:"flex"},children:[i.extra,a.jsx("div",{className:Ne.dragBox,children:a.jsx(D.HolderOutlined,{})})]}),children:[i.children,a.jsx("div",{className:T([ce,Ne.l])}),a.jsx("div",{className:T([ce,Ne.r])}),a.jsx("div",{className:T([ce,Ne.b])}),v]})},js=p.createContext({pluginCtx:null,pageModel:null,onDataChange:()=>{},nodeModel:null}),He=()=>{const n=p.useContext(js);if(!n)throw new Error("useActionFlow must be used within ActionFlowProvider");return n},Vr="_fieldBox_1cjcm_2",Lr="_switchBtn_1cjcm_8",kn={fieldBox:Vr,switchBtn:Lr},ut=n=>{const{setterList:t,defaultSetterName:e,...s}=n,o=p.useMemo(()=>xt(t),[t]),{onSetterChange:r,defaultSetterConfig:i,pluginCtx:l,nodeId:c,customSetterMap:u}=p.useContext(we),d=[n.name],[g,m]=p.useState(()=>{var S;const y=((S=i[d.join(".")])==null?void 0:S.setter)||e||"";return[...o].find(j=>j.componentName===y)||o[0]}),v=o.map(y=>{const S=(y==null?void 0:y.componentName)||"",j={}[S];return{key:y.componentName,label:(j==null?void 0:j.setterName)||y.componentName}}),h=({key:y})=>{var j;const S=o.find(C=>C.componentName===y);S&&(m(S),r==null||r(d,S.componentName),(j=n.onSetterChange)==null||j.call(n,S.componentName))};let b=a.jsx("div",{onClick:y=>{y.preventDefault(),y.stopPropagation()},className:kn.switchBtn,children:a.jsx(f.Dropdown,{trigger:["click"],menu:{selectable:!0,items:v,onClick:h,defaultSelectedKeys:[(g==null?void 0:g.componentName)||""]},children:a.jsx(D.SwapOutlined,{})})});v.length===1&&(b=null);const x=p.useMemo(()=>{let y={...(g==null?void 0:g.props)||{},initialValue:g==null?void 0:g.initialValue};const S=o.find(j=>j.componentName===(g==null?void 0:g.componentName));return S&&(y={...y,...S.props}),y},[o,g]);return a.jsxs("div",{className:kn.fieldBox,style:{alignItems:n.labelAlign??"center"},children:[a.jsx(te,{...s,children:a.jsx(Ht,{...x,setters:o,keyPaths:d,currentSetter:g,customSetterMap:u,setCurrentSetter:m,setterContext:{pluginCtx:l,keyPaths:[n.name],label:n.label,nodeModel:l==null?void 0:l.pageModel.getNode(c)}})}),b]})},Ar=n=>{const{data:t}=n,{onDataChange:e,pageModel:s,pluginCtx:o,nodeModel:r}=He();Ae(t,_.DEV_CONFIG_KEY,{});const i=t[_.DEV_CONFIG_KEY],[l,c]=p.useState(!1),u=p.useRef(null),[d,g]=p.useState();return p.useEffect(()=>{var v;const m={id:t.id,type:t.type,valueType:t.valueType,currentValue:t.currentValue,targetValueName:t.targetValueName||""};(v=u.current)==null||v.setFields(m),g(m),c(!0)},[]),a.jsx(we.Provider,{value:{defaultSetterConfig:i.defaultSetterMap||{},formRef:u,onSetterChange:(m,v)=>{i.defaultSetterMap||(i.defaultSetterMap={}),i.defaultSetterMap[m.join(".")]={name:m.join("."),setter:v}},pluginCtx:o,nodeId:r==null?void 0:r.id,customSetterMap:{}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Assign Value",nodeProps:n,children:a.jsx(Se,{ref:u,name:"jump Link",customSetterMap:ue,onValueChange:m=>{Object.assign(t,m),g(m),e()},children:l&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:Tt.line,children:a.jsx(te,{name:"valueType",label:"Var Type",valueChangeEventName:"onChange",formatEventValue:({target:{value:m}})=>m,children:a.jsx(f.Radio.Group,{optionType:"button",buttonStyle:"solid",options:[{label:"Memory",value:_.AssignValueType.MEMORY},{label:"Node",value:_.AssignValueType.STATE}]})})}),a.jsxs("div",{className:Tt.line,children:[(d==null?void 0:d.valueType)==="STATE"&&a.jsx(te,{name:"targetValueName",label:"Var Name",valueChangeEventName:"onChange",children:a.jsx(Rr,{pageModel:s})}),(d==null?void 0:d.valueType)==="MEMORY"&&a.jsx(ut,{name:"targetValueName",label:"Var Name",labelWidth:"auto",labelAlign:"start",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",setterList:[{componentName:"TextAreaSetter",props:{valueValidator:Pr}}]})]}),a.jsx("div",{className:Tt.line,style:{minWidth:"450px"},children:a.jsx(ut,{name:"currentValue",label:"Value",labelWidth:"60px",labelAlign:"start",setterList:an})})]})})})})})},Br=n=>a.jsx(ke,{nodeProps:n,useCardStyle:!1,inputHandle:!1,children:a.jsx("div",{style:{minWidth:"100px",padding:"10px 20px",border:"1px solid #1a192b",borderRadius:"4px",textAlign:"center"},children:"Start"})}),Or="_line_mvkqx_2",Qe={line:Or};function zr(n){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return!1;try{return new Function(`let ${n};`),!0}catch{return!1}}const dt="args.",$r=(n,t)=>{var e,s,o;return _.isNodeModel(n)?((o=(s=(((e=n==null?void 0:n.material)==null?void 0:e.value.methods)||[]).find(l=>l.name===t))==null?void 0:s.params)==null?void 0:o.map((l,c)=>({name:`${dt}${c}`,title:{label:l.name||`arg[${c}]`,tip:l.description},valueType:"string",setters:an})))||[]:[]},Fr=n=>Object.keys(n).map(e=>parseInt(e.replace(dt,""))).sort().map(e=>n[`${dt}${e}`]),Hr=n=>{const t={};return n.forEach((e,s)=>{t[`${dt}${s}`]=e}),t},Ur=n=>{const{data:t}=n,{pageModel:e,onDataChange:s,pluginCtx:o,nodeModel:r}=He();Ae(t,_.DEV_CONFIG_KEY,{});const i=t[_.DEV_CONFIG_KEY],l=p.useRef(null),[c,u]=p.useState();p.useEffect(()=>{var b;const h={id:t.id||"",type:t.type,nodeId:t.nodeId,methodName:t.methodName,args:t.args,returnVarName:t.returnVarName};(b=l.current)==null||b.setFields(h),u(h)},[]);const d=p.useMemo(()=>{var x;const h=e.getNode(t.nodeId);return((x=h==null?void 0:h.material)==null?void 0:x.value.methods)||[]},[t.nodeId,e]),g=p.useMemo(()=>d==null?void 0:d.map(h=>({value:h.name,label:h.title})),[d]),m=p.useMemo(()=>$r(e.getNode(c==null?void 0:c.nodeId),(c==null?void 0:c.methodName)||""),[e,c==null?void 0:c.nodeId,c==null?void 0:c.methodName]),v=(h,b)=>{i.defaultSetterMap||(i.defaultSetterMap={}),i.defaultSetterMap[h.join(".")]={name:h.join("."),setter:b}};return a.jsx(we.Provider,{value:{defaultSetterConfig:i.defaultSetterMap||{},formRef:l,onSetterChange:v,customSetterMap:{...ue}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Call Node Method",nodeProps:n,children:a.jsxs(Se,{ref:l,name:"Call Node Method",customSetterMap:ue,onValueChange:(h,b)=>{b!=null&&b.includes("nodeId")&&(h={...h,methodName:"",args:[]},setTimeout(()=>{var x;(x=l.current)==null||x.setFields({...c,...h})})),Object.assign(t,h),u(h),s()},children:[a.jsx("div",{className:Qe.line,children:a.jsx(te,{label:"组件",name:"nodeId",valueChangeEventName:"onChange",formatEventValue:h=>h.nodeId,children:a.jsx(Cs,{pageModel:e})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"methodName",label:"方法",valueChangeEventName:"onChange",children:a.jsx(f.Select,{style:{width:250},allowClear:!0,options:g})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"args",label:"参数",labelWidth:"60px",labelAlign:"start",condition:()=>!!m.length,noStyle:!0,formatEventValue:h=>Fr(h),children:a.jsx(Fe,{initialValue:Hr(t.args||[]),pluginCtx:o,nodeId:r==null?void 0:r.id,properties:m,onSetterChange:v,defaultSetterConfig:i.defaultSetterMap||{}})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"returnVarName",label:"返回值变量名",labelWidth:"80px",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",rules:[{validator:async h=>h===""?!0:zr(h)}],valueChangeEventName:"onChange",formatEventValue:h=>h.target.value,children:a.jsx(f.Input,{allowClear:!0})})})]})})})})},Gr=n=>{const{data:t}=n,{onDataChange:e}=He(),s=p.useRef(null),[o,r]=p.useState(!1);p.useEffect(()=>{var l;(l=s.current)==null||l.setFields({link:t.link}),r(!0)},[]);const i=p.useMemo(()=>_.isFunction(t.link)?"FunctionSetter":_.isExpression(t.link)?"ExpressionSetter":"TextAreaSetter",[t.link]);return a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Jump Link",nodeProps:n,children:a.jsx(Se,{ref:s,name:"jump Link",customSetterMap:ue,onValueChange:l=>{Object.assign(t,l),e()},children:o&&a.jsx(a.Fragment,{children:a.jsx(ut,{name:"link",label:"link",labelWidth:"auto",labelAlign:"start",defaultSetterName:i,setterList:an})})})})})},Wr=[{componentName:"JSONSetter",labelAlign:"start",props:{mode:"inline",lineNumbers:"off",editorOptions:{lineNumbers:"off",lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1}}},{componentName:"FunctionSetter",labelAlign:"start",props:{mode:"inline",minimap:!1,containerStyle:{paddingTop:"10px",width:"470px",height:"150px"},lineNumber:!1}}],Kr=[{value:"GET",label:"GET"},{value:"POST",label:"POST"},{value:"PUT",label:"PUT"},{value:"PATCH",label:"PATCH"},{value:"DELETE",label:"DELETE"}],qr="_line_mvkqx_2",Ze={line:qr},Jr=n=>{var j;const{data:t,isConnectable:e}=n,{onDataChange:s,pluginCtx:o}=He(),r=o.config||{},i=p.useMemo(()=>{var C,P;return(C=r.requestAPINode)!=null&&C.customAPIInput?(P=r.requestAPINode)==null?void 0:P.customAPIInput:f.Input},[(j=r.requestAPINode)==null?void 0:j.customAPIInput]),l=K.useReactFlow();Ae(t,_.DEV_CONFIG_KEY,{});const c=t[_.DEV_CONFIG_KEY],u=p.useRef(null),[d,g]=p.useState(),m=C=>l.getEdges().some(N=>N.source===String(t.id)&&(N.sourceHandle||Z)===C),v=m(Z),h=m(Pe);p.useEffect(()=>{var P;const C={id:t.id,type:t.type,apiPath:t.apiPath,body:t.body,query:t.query,header:t.header,method:t.method||"GET",responseVarName:t.responseVarName||"",afterSuccessResponse:t.afterSuccessResponse||[],afterFailedResponse:t.afterFailedResponse||[]};(P=u.current)==null||P.setFields(C),g(C)},[]);const b=p.useMemo(()=>({updateFields:C=>{var N;const P={...d,...C};(N=u.current)==null||N.setFields({...P}),g(P)},getFields:()=>{var C;return(C=u.current)==null?void 0:C.getFieldsValue()}}),[d]),x=(C,P)=>{c.defaultSetterMap||(c.defaultSetterMap={}),c.defaultSetterMap[C.join(".")]={name:C.join("."),setter:P}},y=p.useMemo(()=>[{key:"header",label:"Header"},{key:"query",label:"Query"},{key:"body",label:"Body"}].map(N=>({...N,disabled:N.key==="body"&&(d==null?void 0:d.method)==="GET",children:a.jsx("div",{className:Ze.line,children:a.jsx(ut,{name:N.key,hiddenLabel:!0,labelAlign:"start",setterList:Wr})})})),[d]),S=(C,P)=>{var z,q;const N=l.getNode(String(t.id));if(!N)return;let k=0;P!==Z&&(k=(((z=N.measured)==null?void 0:z.width)??0)+150);const E={x:N.position.x+k,y:N.position.y+(((q=N.measured)==null?void 0:q.height)??0)+150},H={id:C.id,type:C.type,position:E,dragHandle:`.${ce}`,data:{...C}},O={id:`${t.id}_${H.id}`,source:String(t.id),sourceHandle:P,target:H.id,targetHandle:ht};l.addNodes(H),l.addEdges(O),P===Z?(t.afterSuccessResponse||(t.afterSuccessResponse=[]),t.afterSuccessResponse.push(C)):(t.afterFailedResponse||(t.afterFailedResponse=[]),t.afterFailedResponse.push(C))};return a.jsx(we.Provider,{value:{defaultSetterConfig:c.defaultSetterMap||{},formRef:u,onSetterChange:x,customSetterMap:{...ue}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Request Data",customHandle:a.jsxs(a.Fragment,{children:[a.jsx(Ns,{type:"target",isConnectable:e}),a.jsx(Ut,{style:{position:"absolute",left:"50%",bottom:"0"},title:"请求成功时",onNewNodeAdd:C=>S(C,Z),disabled:v,children:a.jsx(Gt,{isConnectable:e,style:{width:"10px",height:"10px",background:"#8BC34A"}})}),a.jsx(Ut,{title:"请求异常时",onNewNodeAdd:C=>S(C,Pe),disabled:h,children:a.jsx(Gt,{style:{left:"75%",bottom:"0",width:"10px",height:"10px",background:"#ff4d4f"},id:Pe,isConnectable:e})})]}),nodeProps:n,handleNewNodeAdd:()=>{},children:a.jsx("div",{style:{width:"500px"},children:a.jsxs(Se,{name:"requestAPI",ref:u,customSetterMap:ue,onValueChange:C=>{g(C),Object.assign(t,C),s()},children:[a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"API",name:"apiPath",valueChangeEventName:"onChange",formatEventValue:C=>C.target.value,children:a.jsx(i,{form:b})})}),a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"请求方法",name:"method",valueChangeEventName:"onChange",children:a.jsx(f.Select,{defaultValue:"GET",style:{width:230},options:Kr})})}),a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"返回值变量",name:"responseVarName",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",valueChangeEventName:"onChange",formatEventValue:C=>C.target.value,children:a.jsx(f.Input,{})})}),a.jsx(f.Tabs,{defaultActiveKey:(d==null?void 0:d.method)==="POST"?"body":"query",items:y})]})})})})})},Xr=n=>{const{data:t}=n;Ae(t,_.DEV_CONFIG_KEY,{});const{onDataChange:e,pluginCtx:s,nodeModel:o}=He();return a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Run Code",nodeProps:n,children:a.jsx(sn,{mode:"inline",initialValue:t.value,containerStyle:{paddingTop:"10px",width:"600px",height:"300px"},onValueChange:r=>{t.value=r.value,e()},setterContext:{pluginCtx:s,setCollapseHeaderExt:void 0,onSetterChange:function(){},keyPaths:[],label:"",nodeModel:o}})})})};var X=(n=>(n.START_NODE="START_NODE",n[n.JUMP_LINK=_.LogicType.JUMP_LINK]="JUMP_LINK",n[n.ASSIGN_VALUE=_.LogicType.ASSIGN_VALUE]="ASSIGN_VALUE",n[n.CALL_NODE_METHOD=_.LogicType.CALL_NODE_METHOD]="CALL_NODE_METHOD",n[n.RUN_CODE=_.LogicType.RUN_CODE]="RUN_CODE",n[n.REQUEST_API=_.LogicType.REQUEST_API]="REQUEST_API",n))(X||{});const Yr={START_NODE:Br,[X.JUMP_LINK]:Gr,[X.ASSIGN_VALUE]:Ar,[X.CALL_NODE_METHOD]:Ur,[X.RUN_CODE]:Xr,[X.REQUEST_API]:Jr},Qr=(n,t,e)=>{const s=new fn.graphlib.Graph().setDefaultEdgeLabel(()=>({}));return s.setGraph({rankdir:e.direction}),t.forEach(o=>s.setEdge(o.source,o.target)),n.forEach(o=>{var r,i;return s.setNode(o.id,{...o,width:((r=o.measured)==null?void 0:r.width)??0,height:((i=o.measured)==null?void 0:i.height)??0})}),fn.layout(s),{nodes:n.map(o=>{var c,u;const r=s.node(o.id),i=r.x-(((c=o.measured)==null?void 0:c.width)??0)/2,l=r.y-(((u=o.measured)==null?void 0:u.height)??0)/2;return{...o,position:{x:i,y:l}}}),edges:t}},En=n=>{const t=n.id||_.getRandomStr();return{id:t,type:n.type,position:{x:0,y:0},dragHandle:`.${ce}`,selectable:n.type!==X.START_NODE,data:{...n,id:t}}},et=(n,t,e=Z)=>({id:`${n}_${t}`,source:n,sourceHandle:e,target:t,targetHandle:ht}),Zr=n=>{var r;const t=[En({id:X.START_NODE,type:X.START_NODE})],e=[];if(!((r=n==null?void 0:n.handler)!=null&&r.length))return{nodes:t,edges:e};const s=(i,l)=>{i.forEach(c=>{var d,g;const u=En(c);t.push(u),c.next&&e.push(et(c.id,String(c.next),l==null?void 0:l.sourceHandler)),c.type==="REQUEST_API"&&((d=c.afterSuccessResponse)!=null&&d.length&&(e.push(et(c.id,String(c.afterSuccessResponse[0].id))),s(c.afterSuccessResponse)),(g=c.afterFailedResponse)!=null&&g.length&&(e.push(et(c.id,String(c.afterFailedResponse[0].id),Pe)),s(c.afterFailedResponse,{sourceHandler:Pe})))})},o=n.handler[0];return e.push(et(X.START_NODE,o.id)),s(n.handler),{nodes:t,edges:e}},ei=n=>{const{nodes:t,edges:e}=n,s={type:"ACTION",handler:[]},o=t.find(u=>u.type===X.START_NODE);if(!o)return s;const r=new Map(t.map(u=>[u.id,u])),i=new Set,l=u=>{if(i.has(u))return[];i.add(u);const d=r.get(u);if(!d)return[];const g=[],m={...d.data,id:u};if(d.type==="REQUEST_API"){const h=e.filter(x=>x.source===u&&x.sourceHandle===Z).map(x=>l(x.target)).flat(),b=e.filter(x=>x.source===u&&x.sourceHandle===Pe).map(x=>l(x.target)).flat();return m.afterSuccessResponse=h,m.afterFailedResponse=b,g.push(m),g}g.push(m);const v=e.filter(h=>h.source===u&&h.sourceHandle===Z);if(v.length>1)throw f.message.error("不允许存在一个节点连接多个节点"),new Error("不允许存在一个节点连接多个节点");return v.length!==0&&v.forEach(h=>{var x;const b=l(h.target);g.push(...b),m.next=((x=b[0])==null?void 0:x.id)??null}),g},c=l(o.id);return c.shift(),s.handler=c,s},an=["StringSetter","NumberSetter","ExpressionSetter","JSONSetter",{componentName:"FunctionSetter",props:{mode:"inline",minimap:!1,lineNumber:!1,containerStyle:{width:"500px",height:"250px"}}}],ti=function(n,t){return K.useReactFlow().getEdges().some(o=>o.source===String(n.id)&&(o.sourceHandle||Z)===t)},ni=function(n,t,e){var i;const s={x:n.position.x,y:n.position.y+(((i=n.measured)==null?void 0:i.height)??0)+150},o={id:t.id,type:t.type,position:s,dragHandle:`.${ce}`,data:{...t}};return{newEdge:{id:`${n.data.id}_${o.id}`,source:String(n.data.id),sourceHandle:Z,target:o.id,targetHandle:ht},newNode:o}},si=n=>{var y,S,j;const{fitView:t}=K.useReactFlow(),[e,s]=p.useState(!1),[o,r,i]=K.useNodesState([{id:X.START_NODE,data:{id:X.START_NODE},position:{x:0,y:0},type:X.START_NODE,dragHandle:`.${ce}`,selectable:!1}]),[l,c,u]=K.useEdgesState([]),d=p.useRef([]);d.current=l;const g=p.useCallback(C=>c(P=>K.addEdge({...C},P)),[c]),m=p.useRef([]);m.current=o;const[v,h]=p.useState(!1),b=p.useCallback(C=>{const P=Qr(m.current,l,{direction:"TB"});r([...P.nodes]),c([...P.edges]),setTimeout(()=>{s(!0),(C==null?void 0:C.fitView)!==!1&&t({})})},[l,t,c,r]);p.useEffect(()=>{const{nodes:C,edges:P}=Zr(n.value);r(C),c(P),setTimeout(()=>{h(!0)},300)},[n.value,c,r]);const x=p.useCallback(()=>{setTimeout(()=>{var P;const C=ei({nodes:m.current,edges:d.current});(P=n.onValueChange)==null||P.call(n,C)})},[n]);return a.jsx(js.Provider,{value:{pluginCtx:(y=n.setterContext)==null?void 0:y.pluginCtx,pageModel:(j=(S=n.setterContext)==null?void 0:S.pluginCtx)==null?void 0:j.pageModel,onDataChange:x,nodeModel:n.setterContext.nodeModel},children:a.jsx("div",{style:{width:"100%",height:"100%",display:"flex",position:"relative"},children:a.jsxs("div",{style:{flex:1,position:"relative"},children:[a.jsx(f.Button,{style:{position:"absolute",top:"10px",right:"20px",zIndex:99},onClick:()=>b({fitView:!1}),children:"Reset Layout"}),!e&&a.jsx("div",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",backgroundColor:"white",zIndex:999}}),v&&a.jsxs(K.ReactFlow,{nodes:o,edges:l,onNodesChange:C=>{i(C),x()},onEdgesChange:C=>{u(C),x()},onConnect:C=>{g(C),x()},defaultEdgeOptions:{type:"smoothstep"},minZoom:.2,maxZoom:1,onInit:()=>{b()},fitView:!0,nodeTypes:Yr,children:[a.jsx(K.Background,{}),a.jsx(K.Controls,{}),a.jsx(K.MiniMap,{})]})]})})})},on=n=>{const[t,e]=p.useState(!1),s=p.useRef(n.value),o=async i=>{var c,u,d;const l=await((d=(u=(c=n.setterContext)==null?void 0:c.pluginCtx)==null?void 0:u.pluginManager)==null?void 0:d.get("Hotkeys"));l==null||l.export.disable(i)},r=n.children||a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},children:"Edit Flow"});return a.jsxs(a.Fragment,{children:[a.jsx("div",{onClick:async()=>{await o(!0),e(!0)},children:r}),a.jsx(us,{destroyOnClose:!0,open:t,centered:!0,title:"Edit Flow",width:"calc(100vw - 200px)",onCancel:()=>{e(!1),o(!1)},onOk:async()=>{var i;(i=n.onValueChange)==null||i.call(n,s.current),await o(!1),e(!1)},children:a.jsx("div",{style:{width:"100%",height:"calc(100vh - 200px)"},children:a.jsx(K.ReactFlowProvider,{children:a.jsx(si,{...n,onValueChange:i=>{s.current=i}})})})})]})};on.setterName="逻辑流设置器";const ai={ActionFlowSetter:on},oi="_CFromRenderBox_cxwow_2",ri={CFromRenderBox:oi},ii=n=>{var c,u,d;const{node:t}=n,e=((c=t==null?void 0:t.material)==null?void 0:c.value.props)||[],s=p.useRef(null);p.useEffect(()=>{const g=()=>{var v,h;const m=((v=t==null?void 0:t.getPlainProps)==null?void 0:v.call(t))||{};(h=s.current)==null||h.setFields(m)};return g(),t==null||t.emitter.on("onNodeChange",g),()=>{t==null||t.emitter.off("onNodeChange",g)}},[t]);const o=((u=t==null?void 0:t.getPlainProps)==null?void 0:u.call(t))||{},r=g=>{t==null||t.updateValue({props:g})},i=(g,m)=>{t&&(t.value.configure=t.value.configure||{},t.value.configure.propsSetter=t.value.configure.propsSetter||{},t.value.configure.propsSetter[g.join(".")]={name:g.join("."),setter:m})},l=(d=n.pluginCtx.config)==null?void 0:d.customPropertySetterMap;return a.jsx("div",{className:ri.CFromRenderBox,children:a.jsx(Fe,{pluginCtx:n.pluginCtx,nodeId:t==null?void 0:t.id,defaultSetterConfig:(t==null?void 0:t.value.configure.propsSetter)||{},onSetterChange:i,properties:e,initialValue:o,ref:s,customSetterMap:{...ai,...l},onValueChange:r},t==null?void 0:t.id)})},rn={key:"Property",name:"Property",view:({node:n,pluginCtx:t})=>a.jsx(ii,{node:n,pluginCtx:t}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.property)!==!1}},ln=n=>{const t=n.node,e=t.value.state||{},s=p.useRef(null);p.useEffect(()=>{var i;const r=t.value.state||{};(i=s==null?void 0:s.current)==null||i.setValue(JSON.stringify(r,null,2))},[t]);const o=r=>{try{const i=JSON.parse(r||"{}");t.value.state=i,t.updateValue()}catch(i){console.warn(i)}};return a.jsx(a.Fragment,{children:a.jsx(xe,{initialValue:JSON.stringify(e,null,2),language:"json",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:!1},quickSuggestions:!1,suggestOnTriggerCharacters:!1,folding:!1},onDidMount:r=>{s.current=r},onChange:o})})},cn={key:"State",name:"State",view:({node:n,pluginCtx:t})=>n?a.jsx(ln,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.state)!==!1}},li="_advanceBox_9o3af_2",ci={advanceBox:li},ui=[{name:"id",title:{label:"id",tip:"node unique id"},valueType:"string",setters:[{componentName:"StringSetter",props:{disabled:!0,variant:"borderless"}}]},{name:"condition",title:{label:"Render",tip:"controller component render"},valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]},{name:"loop",title:"loop render",valueType:"object",setters:[{componentName:"ShapeSetter",props:{collapse:{open:!0},elements:[{name:"open",title:"open",valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]},{name:"data",title:"data",valueType:"array",setters:[{componentName:"ArraySetter",initialValue:[],props:{item:{setters:["JSONSetter","ExpressionSetter"],initialValue:{}}}},"JSONSetter","ExpressionSetter"]},{name:"forName",title:{label:"name",tip:"loop element name"},valueType:"string",setters:["StringSetter"]},{name:"forIndex",title:{label:"index",tip:"loop element index"},valueType:"string",setters:["StringSetter"]},{name:"key",title:{label:"key",tip:"loop element key"},valueType:"expression",setters:["ExpressionSetter"]},{name:"name",title:{label:`variable
|
|
145
|
-
name`,tip:"loop variable name"},valueType:"string",setters:[{componentName:"StringSetter",props:{prefix:"loopData"}}]}]},initialValue:{open:!1,data:[]}}]},{name:"refId",title:{label:"refId",tip:"unique node flag"},valueType:"string",setters:["StringSetter"]},{name:"nodeName",title:{label:a.jsxs(a.Fragment,{children:["node ",a.jsx("br",{})," name"]}),tip:"alias for node"},valueType:"string",setters:["StringSetter"]}],un=n=>{var i,l,c,u,d,g,m,v,h,b,x;const{node:t}=n,e=p.useMemo(()=>{var C,P,N,k,E,H,O,z,q;let y=ui;return!!((k=(N=(P=(C=t==null?void 0:t.material)==null?void 0:C.value.advanceCustom)==null?void 0:P.rightPanel)==null?void 0:N.advanceOptions)!=null&&k.loop)||!((E=t==null?void 0:t.material)!=null&&E.value.isContainer)||(y=y.filter(L=>(L==null?void 0:L.name)!=="loop")),!!((q=(z=(O=(H=t==null?void 0:t.material)==null?void 0:H.value.advanceCustom)==null?void 0:O.rightPanel)==null?void 0:z.advanceOptions)!=null&&q.render)||(y=y.filter(L=>(L==null?void 0:L.name)!=="condition")),y},[(u=(c=(l=(i=t==null?void 0:t.material)==null?void 0:i.value.advanceCustom)==null?void 0:l.rightPanel)==null?void 0:c.advanceOptions)==null?void 0:u.loop,(v=(m=(g=(d=t==null?void 0:t.material)==null?void 0:d.value.advanceCustom)==null?void 0:g.rightPanel)==null?void 0:m.advanceOptions)==null?void 0:v.render,(h=t==null?void 0:t.material)==null?void 0:h.value.isContainer]),s=(y,S)=>{t&&(t.value.configure=t.value.configure||{},t.value.configure.advanceSetter=t.value.configure.advanceSetter||{},t.value.configure.advanceSetter[y.join(".")]={name:y.join("."),setter:S})},o=p.useRef(null);p.useEffect(()=>{var j;const y=t==null?void 0:t.value.loop,S={id:t==null?void 0:t.id,condition:(t==null?void 0:t.value.condition)??!0,loop:{open:(y==null?void 0:y.open)||!1,data:(y==null?void 0:y.data)||[],forName:(y==null?void 0:y.forName)||"item",forIndex:(y==null?void 0:y.forIndex)||"index",key:(y==null?void 0:y.key)||"",name:(y==null?void 0:y.name)||""},refId:t==null?void 0:t.value.refId,nodeName:t==null?void 0:t.value.nodeName};(j=o.current)==null||j.setFields(S)},[t]);const r=y=>{t&&(t.value.loop=y.loop,t.value.condition=y.condition,t.value.refId=y.refId,t.value.nodeName=y.nodeName,t.updateValue())};return t?a.jsx("div",{className:ci.advanceBox,children:a.jsx(Fe,{nodeId:(b=n.node)==null?void 0:b.id,pluginCtx:n.pluginCtx,defaultSetterConfig:((x=t.value.configure)==null?void 0:x.advanceSetter)||{},onSetterChange:s,properties:e,initialValue:{},ref:o,onValueChange:r},t.id)}):a.jsx(a.Fragment,{})},dn={key:"Advance",name:"Advance",view:({node:n,pluginCtx:t})=>n?a.jsx(un,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.advance)!==!1}},di="_rightPanelContainer_313cp_2",pi={rightPanelContainer:di},gi="_visualPanelBox_6q12v_2",mi="_header_6q12v_5",Mn={visualPanelBox:gi,header:mi},hi="_cssFieldBox_16chi_2",fi="_row_16chi_9",xi="_fieldLabel_16chi_14",vi="_leftBox_16chi_20",yi="_rightBox_16chi_23",bi="_inputBox_16chi_26",Si="_cssBox_16chi_30",oe={cssFieldBox:hi,row:fi,fieldLabel:xi,leftBox:vi,rightBox:yi,inputBox:bi,cssBox:Si},wi={cssKeyValue:{"align-content":{values:["center","flex-end","flex-start","space-around","space-between","stretch"]},"align-items":{values:["baseline","center","flex-end","flex-start","stretch"]},"align-self":{values:["auto","normal","self-start","self-end","baseline","center","start","end","flex-end","flex-start","safe","stretch","unsafe"]},all:{values:[]},animation:{values:[]},"animation-delay":{values:[]},"animation-direction":{values:["alternate","alternate-reverse","normal","reverse"]},"animation-duration":{values:[]},"animation-fill-mode":{values:["backwards","both","forwards","none"]},"animation-iteration-count":{values:["infinite"]},"animation-name":{values:["none"]},"animation-play-state":{values:["paused","running"]},"animation-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"backface-visibility":{values:["hidden","visible"]},background:{values:[],type:"color"},"background-attachment":{values:["fixed","local","scroll"]},"background-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"background-clip":{values:["border-box","content-box","padding-box"]},"background-color":{values:[],type:"color"},"background-image":{values:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()","url()"]},"background-origin":{values:["border-box","content-box","padding-box"]},"background-position":{values:["left","center","right","bottom","top"]},"background-repeat":{values:["no-repeat","repeat","repeat-x","repeat-y","round","space"]},"background-size":{values:["auto","contain","cover"]},border:{values:[]},"border-collapse":{values:["collapse","separate"]},"border-color":{values:[],type:"color"},"border-spacing":{values:[]},"border-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom":{values:[]},"border-bottom-color":{values:[],type:"color"},"border-bottom-left-radius":{values:[]},"border-bottom-right-radius":{values:[]},"border-bottom-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom-width":{values:["medium","thin","thick"]},"border-image":{values:["url()"]},"border-image-outset":{values:[]},"border-image-slice":{values:[]},"border-image-source":{values:[]},"border-image-repeat":{values:["repeat","round","space","stretch"]},"border-image-width":{values:["auto"]},"border-left":{values:[]},"border-left-color":{values:[],type:"color"},"border-left-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-left-width":{values:["medium","thin","thick"]},"border-radius":{values:[]},"border-right":{values:[]},"border-right-color":{values:[],type:"color"},"border-right-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-right-width":{values:["medium","thin","thick"]},"border-top":{values:[]},"border-top-color":{values:[],type:"color"},"border-top-left-radius":{values:[]},"border-top-right-radius":{values:[]},"border-top-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-top-width":{values:["medium","thin","thick"]},"border-width":{values:["medium","thin","thick"]},"box-decoration-break":{values:["clone","slice"]},"box-shadow":{values:["none"]},"box-sizing":{values:["border-box","content-box"]},bottom:{values:["auto"]},"break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"caption-side":{values:["bottom","top"]},"caret-color":{values:["auto"],type:"color"},clear:{values:["both","left","none","right"]},clip:{values:["auto"]},color:{values:[],type:"color"},columns:{values:[]},"column-count":{values:[]},"column-fill":{values:["auto","balance"]},"column-gap":{values:["normal"]},"column-rule":{values:[]},"column-rule-color":{values:[],type:"color"},"column-rule-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"column-rule-width":{values:["medium","thin","thick"]},"column-span":{values:["all","none"]},"column-width":{values:["auto"]},content:{values:["attr()","close-quote","no-close-quote","no-open-quote","normal","none","open-quote"]},"counter-increment":{values:["none"]},"counter-reset":{values:["none"]},cursor:{values:["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","n-resize","ne-resize","nesw-resize","no-drop","none","not-allowed","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","s-resize","se-resize","sw-resize","text","vertical-text","w-resize","wait","zoom-in","zoom-out"]},direction:{values:["ltr","rtl"]},display:{values:["block","contents","flex","flow-root","grid","inline","inline-block","inline-flex","inline-grid","inline-table","list-item","none","run-in","subgrid","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group"]},"empty-cells":{values:["hide","show"]},fill:{values:[]},filter:{values:["blur()","brightness()","contrast()","custom()","drop-shadow()","grayscale()","hue-rotate()","invert()","none","opacity()","sepia()","saturate()","url()"]},flex:{values:["auto","none"]},"flex-basis":{values:["auto"]},"flex-direction":{values:["column","column-reverse","row","row-reverse"]},"flex-flow":{values:["column","column-reverse","nowrap","row","row-reverse","wrap","wrap-reverse"]},"flex-grow":{values:[]},"flex-shrink":{values:[]},"flex-wrap":{values:["nowrap","wrap","wrap-reverse"]},float:{values:["left","right","none","inline-start","inline-end"]},"flow-into":{values:["none"],type:"named-flow"},"flow-from":{values:["none"],type:"named-flow"},font:{values:[]},"font-display":{values:["auto","block","swap","fallback","optional"]},"font-family":{values:["auto","cursive","fantasy","monospace","sans-serif","serif"]},"font-feature-settings":{values:["normal"]},"font-kerning":{values:["auto","none","normal"]},"font-language-override":{values:["normal"]},"font-size":{values:["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]},"font-size-adjust":{values:["auto","none"]},"font-stretch":{values:["condensed","expanded","extra-condensed","extra-expanded","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded"]},"font-style":{values:["italic","normal","oblique"]},"font-synthesis":{values:["none","style","weight"]},"font-variant":{values:["normal","small-caps"]},"font-variant-alternates":{values:["normal"]},"font-variant-caps":{values:["normal","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps"]},"font-variant-east-asian":{values:["normal"]},"font-variant-ligatures":{values:["normal","none"]},"font-variant-numeric":{values:["normal"]},"font-variant-position":{values:["normal","sub","super"]},"font-weight":{values:["bold","bolder","lighter","normal","100","200","300","400","500","600","700","800","900"]},gap:{values:["revert-layer"]},grid:{values:[]},"grid-area":{values:[]},"grid-auto-columns":{values:[]},"grid-auto-flow":{values:["row","column","dense"]},"grid-auto-rows":{values:[]},"grid-column":{values:["auto"]},"grid-column-end":{values:[]},"grid-column-gap":{values:[]},"grid-column-start":{values:[]},"grid-gap":{values:[]},"grid-row":{values:["auto"]},"grid-row-end":{values:[]},"grid-row-start":{values:[]},"grid-row-gap":{values:[]},"grid-template":{values:["none"]},"grid-template-areas":{values:[]},"grid-template-columns":{values:["auto"]},"grid-template-rows":{values:["auto"]},"hanging-punctuation":{values:["allow-end","first","force-end","last","none"]},height:{values:["auto","max-content","min-content","fit-content"]},hyphens:{values:["auto","manual","none"]},"image-orientation":{values:[]},"image-resolution":{values:["from-image","snap"]},isolation:{values:["auto","isolate"]},"justify-content":{values:["center","flex-end","flex-start","space-around","space-between"]},"justify-items":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe","legacy"]},"justify-self":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe"]},left:{values:["auto"]},"letter-spacing":{values:["normal"]},"line-height":{values:["normal"]},"list-style":{values:["none","url()","armenian","circle","decimal","decimal-leading-zero","disc","georgian","inside","lower-alpha","lower-greek","lower-latin","lower-roman","outside","square","upper-alpha","upper-latin","upper-roman"]},"list-style-image":{values:["none","url()"]},"list-style-position":{values:["inside","outside"]},"list-style-type":{values:["armenian","circle","decimal","decimal-leading-zero","disc","georgian","lower-alpha","lower-greek","lower-latin","lower-roman","none","square","upper-alpha","upper-latin","upper-roman"]},margin:{values:["auto"]},"margin-bottom":{values:["auto"]},"margin-left":{values:["auto"]},"margin-right":{values:["auto"]},"margin-top":{values:["auto"]},"max-height":{values:["none"]},"max-width":{values:["none"]},"min-height":{values:[]},"min-width":{values:[]},"mix-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"object-fit":{values:["contain","cover","fill","none","scale-down"]},"object-position":{values:["left","center","right","bottom","top"]},opacity:{values:[]},order:{values:[]},orphans:{values:[]},outline:{values:[]},"outline-color":{values:["invert"],type:"color"},"outline-offset":{values:[]},"outline-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"outline-width":{values:["medium","thin","thick"]},overflow:{values:["auto","hidden","scroll","visible"]},"overflow-x":{values:["auto","hidden","scroll","visible"]},"overflow-y":{values:["auto","hidden","scroll","visible"]},"overflow-wrap":{values:["normal","anywhere","break-word"]},padding:{values:[]},"padding-bottom":{values:[]},"padding-left":{values:[]},"padding-right":{values:[]},"padding-top":{values:[]},"page-break-after":{values:["always","auto","avoid","left","right"]},"page-break-before":{values:["always","auto","avoid","left","right"]},"page-break-inside":{values:["auto","avoid"]},perspective:{values:["none"]},"perspective-origin":{values:["bottom","center","left","right","top"]},"pointer-events":{values:["all","auto","fill","none","painted","stroke","visible","visibleFill","visiblePainted","visibleStroke"]},position:{values:["absolute","fixed","relative","static","sticky"]},quotes:{values:["none"]},"region-break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"region-fragment":{values:["auto","break"]},resize:{values:["both","horizontal","none","vertical"]},right:{values:["auto"]},"scroll-behavior":{values:["auto","smooth"]},"scroll-snap-type":{values:["none","x","y","block","inline","both","mandatory","proximity"]},src:{values:["url()"]},"shape-image-threshold":{values:[]},"shape-inside":{values:["auto","circle()","ellipse()","outside-shape","polygon()","rectangle()"]},"shape-margin":{values:[]},"shape-outside":{values:["none","circle()","ellipse()","polygon()","inset()","margin-box","border-box","padding-box","content-box","url()","image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"tab-size":{values:[]},"table-layout":{values:["auto","fixed"]},"text-align":{values:["start","end","center","left","justify","right","match-parent","justify-all"]},"text-align-last":{values:["center","left","justify","right"]},"text-decoration":{values:["line-through","none","overline","underline"]},"text-decoration-color":{values:[],type:"color"},"text-decoration-line":{values:["line-through","none","overline","underline"]},"text-decoration-skip":{values:["edges","ink","none","objects","spaces"]},"text-decoration-style":{values:["dashed","dotted","double","solid","wavy"]},"text-emphasis":{values:[]},"text-emphasis-color":{values:[],type:"color"},"text-emphasis-position":{values:["above","below","left","right"]},"text-emphasis-style":{values:["circle","dot","double-circle","filled","none","open","sesame","triangle"]},"text-indent":{values:[]},"text-justify":{values:["auto","none","inter-word","inter-character"]},"text-overflow":{values:["clip","ellipsis"]},"text-shadow":{values:[]},"text-rendering":{values:["auto","geometricPrecision","optimizeLegibility","optimizeSpeed"]},"text-transform":{values:["capitalize","full-width","lowercase","none","uppercase"]},"text-underline-position":{values:["alphabetic","auto","below","left","right"]},top:{values:["auto"]},transform:{values:["matrix()","matrix3d()","none","perspective()","rotate()","rotate3d()","rotateX()","rotateY()","rotateZ()","scale()","scale3d()","scaleX()","scaleY()","scaleZ()","skewX()","skewY()","translate()","translate3d()","translateX()","translateY()","translateZ()"]},"transform-origin":{values:["bottom","center","left","right","top"]},"transform-style":{values:["flat","preserve-3d"]},transition:{values:[]},"transition-delay":{values:[]},"transition-duration":{values:[]},"transition-property":{values:["all","none"]},"transition-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"unicode-bidi":{values:["bidi-override","embed","normal"]},"unicode-range":{values:[]},"user-select":{values:["all","auto","contain","none","text"]},"vertical-align":{values:["baseline","bottom","middle","sub","super","text-bottom","text-top","top"]},visibility:{values:["collapse","hidden","visible"]},"white-space":{values:["normal","nowrap","pre","pre-line","pre-wrap"]},widows:{values:[]},width:{values:["auto","max-content","min-content","fit-content"]},"will-change":{values:["auto","contents","opacity","scroll-position"]},"word-break":{values:["normal","break-all","keep-all"]},"word-spacing":{values:["normal"]},"z-index":{values:["auto"]}}},Ci=Object.keys(wi.cssKeyValue),Rs=p.createContext({defaultSetterConfig:{},customSetterMap:{}}),Ni=()=>p.useContext(Rs),It=Ci.map(n=>({value:n})),Tn=p.forwardRef(function(t,e){var b,x;const[s,o]=p.useState(""),r=Ni(),{mod:i="create"}=t,[l,c]=p.useState({property:((b=t.value)==null?void 0:b.property)||"",value:((x=t.value)==null?void 0:x.value)||""});p.useEffect(()=>{t.value&&c(t.value)},[t.value]);const[u,d]=p.useState(It),g=y=>{const S=It.filter(j=>j.value.includes(y));d(y?S:It)},m=y=>{t.onValueChange({...y})},v=p.useRef(null);p.useImperativeHandle(e,()=>({reset:()=>{var y;c({property:"",value:{type:_.CNodePropsTypeEnum.EXPRESSION,value:""}}),(y=v.current)==null||y.focus()}}),[]);const h=()=>{var S,j;if(l.property===""){o("error");return}o("");const y=(S=t.onCreate)==null?void 0:S.call(t,l);(j=y==null?void 0:y.errorKey)!=null&&j.includes("key")&&o("error")};return a.jsx(a.Fragment,{children:a.jsxs("div",{className:oe.cssFieldBox,children:[a.jsxs("div",{className:oe.leftBox,children:[a.jsxs("div",{className:oe.row,children:[a.jsx("span",{className:oe.fieldLabel,children:"Name"}),a.jsx(f.AutoComplete,{status:s,disabled:i==="edit",ref:v,onSearch:g,popupMatchSelectWidth:200,value:l.property,onChange:y=>{o("");const S={...l,property:y};c(S),m(S)},className:T([oe.inputBox]),onBlur:()=>{m(l)},placeholder:"property",options:u})]}),i==="create"&&a.jsx("div",{children:a.jsx(f.Button,{size:"small",block:!0,icon:a.jsx(D.PlusOutlined,{style:{fontSize:"12px",display:"inline-flex"}}),onClick:h})}),i!=="create"&&a.jsxs("div",{className:oe.row,children:[a.jsx("span",{className:oe.fieldLabel,children:"Value"}),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{style:{width:"100%"},children:a.jsx(nn,{value:l.value,setterContext:{pluginCtx:r.pluginCtx,setCollapseHeaderExt:void 0,onSetterChange:function(){},keyPaths:[],label:"",nodeModel:r.nodeModel},onValueChange:function(y){const S={...l,value:y};console.log("newVal",S),c(S),m(S)},mode:"modal"})})})]})]}),a.jsx("div",{className:oe.rightBox,children:a.jsx("div",{style:{height:"30px"},children:t.onDelete&&i==="edit"&&a.jsx(f.Button,{size:"small",type:"text",onClick:()=>{var y;(y=t.onDelete)==null||y.call(t)},children:a.jsx(D.MinusOutlined,{style:{display:"inline-flex",fontSize:"12px"}})})})})]})})}),_s=p.forwardRef(function(t,e){const[s,o]=p.useState([]);p.useImperativeHandle(e,()=>({setValue:u=>{o(u)}}),[]),p.useEffect(()=>{t.initialValue&&o(t.initialValue)},[]);const[r,i]=p.useState({property:"",value:{type:"EXPRESSION",value:""}}),l=u=>{var d;(d=t.onValueChange)==null||d.call(t,u)},c=p.useRef(null);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsxs("div",{className:oe.cssBox,children:[s.map((u,d)=>a.jsx("div",{children:a.jsx(Tn,{value:u,mod:"edit",onValueChange:g=>{if(g.property===""){s.splice(d,1),o([...s]);return}s[d]=g,o([...s]),l(s)},onDelete:()=>{s.splice(d,1),o([...s]),l(s)}})},d)),a.jsx(Tn,{value:r,ref:c,mod:"create",onValueChange:u=>{i(u)},onCreate:u=>{if(s.find(g=>g.property===u.property))return f.message.error("The attribute name already exists, please replace"),{errorKey:[u.property]};s.push(u),o([...s]),l(s),i({property:"",value:{type:"EXPRESSION",value:""}})}})]})})}),ji=[{title:"Class Names",name:"className",valueType:"array",setters:[{componentName:"ArraySetter",props:{sortLabelKey:"name",collapse:{open:!0},item:{setters:[{componentName:"ShapeSetter",props:{elements:[{name:"name",title:"类名",valueType:"string",setters:["StringSetter"]},{name:"status",title:"启用",valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]}]},initialValue:{}}],initialValue:{name:"",status:!0}}},initialValue:[]}]}],Ps=p.forwardRef(function(t,e){const s=p.useRef(null);return p.useImperativeHandle(e,()=>({setValue(o){var r;(r=s==null?void 0:s.current)==null||r.setFields({className:o||[]})}})),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{children:a.jsx(Fe,{ref:s,initialValue:[],nodeId:t.nodeModel.id,pluginCtx:t.pluginContext,properties:ji,onSetterChange:function(){},onValueChange:o=>{var r;(r=t.onValueChange)==null||r.call(t,o.className||[])},defaultSetterConfig:{}})})})}),Ri="_cssFieldBox_1fdin_2",_i="_inputAuto_1fdin_17",Pi="_error_1fdin_22",ki="_keyField_1fdin_25",Ei="_notEdit_1fdin_30",Mi="_active_1fdin_33",Ti="_cssBox_1fdin_37",re={cssFieldBox:Ri,inputAuto:_i,error:Pi,keyField:ki,notEdit:Ei,active:Mi,cssBox:Ti},In=p.forwardRef(function(t,e){const[s]=p.useState(""),[o]=p.useState(""),{mode:r="edit"}=t,i=p.useMemo(()=>r==="create",[r]),l=t.value,[c,u]=p.useState(rt),[d,g]=p.useState([]),[m,v]=p.useState([]),h=N=>{const k=rt.filter(E=>E.value.includes(N));u(N?k:rt)},b=()=>{var E;let N=[];const k=ms[l==null?void 0:l.property];k&&(N=((E=k.values)==null?void 0:E.map(H=>({value:H})))||[]),g(N),v(N)},x=N=>{const k=m.filter(E=>E.value.includes(N));g(N?k:m)},y=N=>{var k;return(k=t.onValueChange)==null||k.call(t,{property:N,value:(l==null?void 0:l.value)||""}),!0},S=p.useRef(null),j=p.useRef(null),[C,P]=p.useState({key:!1,value:!1});return p.useImperativeHandle(e,()=>({reset:()=>{var N;(N=j.current)==null||N.focus()}}),[]),a.jsxs("div",{className:re.cssFieldBox,children:[a.jsxs("div",{className:T([re.keyField,i&&re.inputAuto,i&&C.key&&re.active,s==="error"&&re.error,!i&&re.notEdit]),children:[a.jsx(f.AutoComplete,{ref:j,variant:"borderless",disabled:!i,onSearch:h,status:s,popupMatchSelectWidth:200,value:l==null?void 0:l.property,onChange:N=>{y(N)},style:{width:"100%",position:"absolute",left:0,top:0},onFocus:()=>{P({key:!0,value:!1})},onBlur:()=>{P({key:!1,value:!1})},onKeyDown:N=>{var k;N.code==="Enter"&&(s||(k=S.current)==null||k.focus())},placeholder:"property",options:c}),a.jsx("span",{style:{display:"inline-block",visibility:"hidden",minWidth:"60px",padding:"0 2px"},children:l==null?void 0:l.property})]}),a.jsx("span",{style:{padding:"0 2px"},children:":"}),a.jsx(f.AutoComplete,{variant:"borderless",ref:S,status:o,popupMatchSelectWidth:200,value:l==null?void 0:l.value,onChange:N=>{var k;b(),(k=t.onValueChange)==null||k.call(t,{property:(l==null?void 0:l.property)||"",value:N||""})},style:{flex:1},onFocus:()=>{P({key:!1,value:!0})},onBlur:()=>{P({key:!1,value:!1})},className:T([re.inputAuto,C.value&&re.active]),placeholder:"value",onSearch:x,options:d,onKeyDown:N=>{var k;N.code==="Enter"&&i&&((k=t.onCreate)==null||k.call(t,{property:(l==null?void 0:l.property)||"",value:(l==null?void 0:l.value)||""}))}}),t.onDelete&&r==="edit"&&a.jsx(f.Button,{size:"small",type:"text",onClick:()=>{var N;(N=t.onDelete)==null||N.call(t)},children:a.jsx(D.MinusOutlined,{style:{display:"inline-flex",fontSize:"12px"}})}),t.onCreate&&r==="create"&&a.jsx("div",{children:a.jsx(f.Button,{size:"small",type:"text",icon:a.jsx(D.PlusOutlined,{style:{fontSize:"12px",display:"inline-flex"}}),onClick:()=>{var N;(N=t.onCreate)==null||N.call(t,{property:(l==null?void 0:l.property)||"",value:(l==null?void 0:l.value)||""})}})})]})}),rt=Lo.map(n=>({value:n})),Wt=p.forwardRef(function(t,e){const[s,o]=p.useState([]),[r,i]=p.useState({property:"",value:""});p.useImperativeHandle(e,()=>({setValue:u=>{o(u)}}),[]),p.useEffect(()=>{t.initialValue&&o([...t.initialValue])},[]);const l=u=>{var d;(d=t.onValueChange)==null||d.call(t,u)},c=p.useRef(null);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsxs("div",{className:re.cssBox,children:[s.map((u,d)=>a.jsx("div",{children:a.jsx(In,{mode:"edit",allValues:s,value:u,onValueChange:g=>{s[d]=g;const m=JSON.parse(JSON.stringify(s));o(m),l(m)},onDelete:()=>{s.splice(d,1);const g=JSON.parse(JSON.stringify(s));o(g),l(g)}})},d)),a.jsx(In,{allValues:s,mode:"create",value:r,ref:c,onValueChange:u=>{i({...u})},onCreate:u=>{var d;if(u.property&&u.value){const g=[...s];g.push(u),o(g),i({property:"",value:""}),l(g),(d=c.current)==null||d.reset()}}},"newInput")]})})}),Ii="_stateTag_5a8hc_2",Di="_stateTagClose_5a8hc_5",Dn={stateTag:Ii,stateTagClose:Di},Vi=["normal","hover","focus","focus-within","focus-visible","checked","disable","active"],Vn=Vi.map(n=>({key:n,label:n})),ks=n=>{const[t,e]=p.useState("normal"),[s]=p.useState([{key:"991",maxWidth:"991",label:"Medial Query ( <= 991 px )"},{key:"767",maxWidth:"767",label:"Medial Query ( <= 767 px )"},{key:"479",maxWidth:"479",label:"Medial Query ( <= 479 px )"}]),o=p.useRef({}),r=x=>{e(x)},[i,l]=p.useState([]),c=p.useMemo(()=>Vn.filter(x=>!i.includes(x.key)),[i]),u=p.useMemo(()=>Vn.filter(x=>i.includes(x.key)),[i]),[d,g]=p.useState(n.initialValue??{});p.useEffect(()=>{const x=Object.keys(d);l(x)},[d]);const m=p.useMemo(()=>{const x=d==null?void 0:d[t];if(!x)return{};const y={};return Object.keys(x).forEach(S=>{y[S]=$n(x[S]||"")}),y},[t,d]),v=p.useCallback(()=>{Object.keys(o.current).forEach(x=>{var j;const y=(j=o.current)==null?void 0:j[x],S=m[x]||[];y&&y.setValue(S)})},[m]),h=p.useRef();h.current=v,n.handler&&(n.handler.current={setValue:async x=>{var y;F.isEmpty(x)?g({normal:{normal:""}}):g(x),await se(),(y=h.current)==null||y.call(h)}}),p.useEffect(()=>{var x;(x=h.current)==null||x.call(h)},[t]);const b=p.useCallback((x,y)=>{var j;const S={...d,[t]:{...d[t]||{},[x]:zn(y)}};(j=n.onValueChange)==null||j.call(n,S)},[d,n,t]);return a.jsx(a.Fragment,{children:a.jsxs(f.Card,{size:"small",type:"inner",title:a.jsx("span",{style:{fontSize:"12px"},children:"CSS"}),extra:a.jsx(f.Dropdown,{menu:{items:c,onClick:x=>{l(y=>[...y,x.key])}},children:a.jsx(D.PlusOutlined,{})}),children:[a.jsx(f.Space,{size:[0,8],wrap:!0,style:{paddingBottom:"10px"},children:u.map(x=>{const y=t.includes(x.key);return a.jsxs(Us,{style:{border:y?"1px solid rgba(0,0,0,0))":"1px solid rgb(216 216 216 / 82%)"},checked:y,onChange:()=>r(x.key),className:Dn.stateTag,children:[x.label,x.key!=="normal"&&a.jsx(D.MinusCircleOutlined,{className:Dn.stateTagClose,onClick:S=>{S.stopPropagation(),S.preventDefault(),l(j=>j.filter(C=>C!==x.key)),e("normal")}})]},x.key)})}),a.jsx(f.Collapse,{defaultActiveKey:["normal"],bordered:!1,style:{marginBottom:"10px"},onChange:async()=>{var x;await se(),(x=h.current)==null||x.call(h)},items:[{key:"normal",label:a.jsx("span",{children:"Default"}),children:a.jsx(Wt,{ref:x=>{o.current.normal=x},onValueChange:x=>b("normal",x),initialValue:m.normal})},...s.map(x=>({key:x.key,label:a.jsx("span",{children:x.label}),children:a.jsx(Wt,{ref:y=>{o.current[x.key]=y},onValueChange:y=>b(x.key,y)})}))]})]})})},pn=n=>{const t=p.useRef(null),e=n.node,s=p.useMemo(()=>e.value.classNames||[],[e]),o=p.useRef(null),r=p.useRef(null),i=p.useRef(null),l=p.useMemo(()=>_e(e.value.style||[]),[e.value.style]),c=p.useRef(),u=p.useCallback(()=>{var y,S,j,C;c.current=e;const v=e.value.style||[],{expressionProperty:h,normalProperty:b}=_e(v),x=Hn(e.value.css);(y=t.current)==null||y.setValue([...h]),(S=o.current)==null||S.setValue(x),(j=i.current)==null||j.setValue(e.value.classNames||[]),(C=r.current)==null||C.setValue(lt(b)||{})},[e]);p.useEffect(()=>(u(),e.emitter.on("onNodeChange",u),e.emitter.on("onReloadPage",u),()=>{e.emitter.off("onNodeChange",u),e.emitter.off("onReloadPage",u)}),[e.emitter,e.id,n.activeTab,u]);const d=v=>{const h=[...l.normalProperty,...v];e.value.style=h,e.updateValue()},g=v=>{const h=[...v,...l.expressionProperty];e.value.style=h,e.updateValue()},m=v=>{e.value.css=Fn(`c_${e.id}`,v),e.updateValue()};return a.jsx("div",{className:Mn.visualPanelBox,children:a.jsxs("div",{style:{marginBottom:"10px"},children:[a.jsx(Ss,{ref:r,onValueChange:v=>{g(Qt(v))}}),a.jsx(f.Collapse,{bordered:!1,style:{marginBottom:"10px"},defaultActiveKey:["origin-css-edit"],onChange:v=>{v.length&&u()},items:[{key:"origin-css-edit",label:a.jsx("span",{className:Mn.header,children:"Style Variable"}),children:a.jsx(_s,{ref:t,initialValue:l.expressionProperty,onValueChange:v=>{d(v)}})}]}),a.jsx("div",{style:{paddingTop:"10px"},children:a.jsx(Ps,{nodeModel:n.node,initialValue:s,ref:i,pluginContext:n.pluginCtx,onValueChange:v=>{e.value.classNames=v,e.updateValue()}})}),a.jsx(ks,{handler:o,onValueChange:m})]})})},gn={key:"VisualPanelPlus",name:"Visual",view:({node:n,pluginCtx:t,activeTab:e})=>n?a.jsx(pn,{node:n,pluginCtx:t,activeTab:e}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.visual)!==!1}},Li="_eventBox_175c6_2",Ai={eventBox:Li},Bi=[{label:"初始化完成后",value:he.ON_DID_RENDER},{label:"组件销毁之前",value:he.ON_WILL_DESTROY}],Oi=n=>{var c;const{node:t}=n,[e,s]=p.useState([]),o=t==null?void 0:t.value.eventListener;p.useEffect(()=>{var d,g;const u=((g=(d=t==null?void 0:t.material)==null?void 0:d.value.events)==null?void 0:g.map(m=>typeof m=="string"?{label:m,value:m}:{label:m.name||m.event,value:m.event}))||[];s([...Bi,...u])},[t==null?void 0:t.id,(c=t==null?void 0:t.material)==null?void 0:c.value.events]);const[r,i]=p.useState(),l=u=>{i(u)};return t?a.jsxs("div",{className:Ai.eventBox,children:[a.jsxs("div",{style:{display:"flex"},children:[a.jsx(f.Select,{value:r,showSearch:!0,placeholder:"Select a person",optionFilterProp:"label",onChange:l,allowClear:!0,style:{width:"100%"},options:e}),a.jsx(f.Button,{type:"primary",style:{marginLeft:"10px"},onClick:()=>{const u=r;u&&(t.value.eventListener=[...t.value.eventListener||[],{name:u,func:{type:"ACTION",handler:[],params:[]}}],t.updateValue(),i(void 0))},children:"Add"})]}),a.jsx("div",{style:{marginTop:"16px"},children:o==null?void 0:o.map((u,d)=>{const g=e.find(m=>m.value===u.name);return a.jsxs("div",{style:{padding:"8px 12px",borderRadius:"4px",backgroundColor:"#f5f5f5",marginBottom:"8px",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer"},children:[a.jsx("div",{style:{width:"100%"},children:a.jsx(on,{value:u.func,onValueChange:m=>{u.func.handler=m.handler,t==null||t.updateValue()},setterContext:{pluginCtx:n.pluginCtx,onSetterChange:()=>{},keyPaths:[""],label:"",nodeModel:t},children:a.jsx("span",{children:(g==null?void 0:g.label)||u.name})})}),a.jsx(f.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(D.DeleteOutlined,{}),onClick:m=>{m.stopPropagation();const v=[...(t==null?void 0:t.value.eventListener)||[]];v.splice(d,1),t.value.eventListener=v,t==null||t.updateValue()}})]},d)})})]}):a.jsx(a.Fragment,{})},zi={key:"Event",name:"Event",view:({node:n,pluginCtx:t})=>n?a.jsx(Oi,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.advance)!==!1}};class $i extends p.Component{constructor(e){super(e);w(this,"addPanel",e=>{const s=[...this.state.panels,e];this.setState({panels:s}),this.updatePanels()});w(this,"removePanel",e=>{const s=this.state.panels.filter(o=>o.name!==e);this.setState({panels:s}),this.updatePanels()});w(this,"replacePanel",(e,s)=>{const o=this.state.panels.findIndex(i=>i.name===e),r=[...this.state.panels];o>-1&&(r[o]=s),this.setState({panels:r}),this.updatePanels()});w(this,"choosePanel",e=>{this.setState({activeKey:e}),this.updatePanels()});w(this,"updatePanels",()=>{var l,c,u;const{pluginCtx:e}=this.props,{node:s,panels:o}=this.state,r=o;let i={panels:[],displayPanels:[]};if(s){const d={node:s,pluginCtx:e,activeTab:this.state.activeKey},g=r.filter(v=>v.show===void 0?!0:v.show(d)),m=((u=(c=(l=s.material)==null?void 0:l.value.advanceCustom)==null?void 0:c.rightPanel)==null?void 0:u.customTabs)||[];g.concat(m),i={panels:r,displayPanels:g}}else i={panels:r,displayPanels:[]};return this.setState(i),i});w(this,"onNodeChange",({node:e})=>{var d;const{pluginCtx:s}=this.props,{panels:o,activeKey:r}=this.state,i={node:e,pluginCtx:s,activeTab:this.state.activeKey},l=o.filter(g=>g.show===void 0?!0:g.show(i)),c=((d=l.find((g,m)=>m===0))==null?void 0:d.key)||"";l.find(g=>g.key===r)?this.setState({node:e,displayPanels:l}):this.setState({activeKey:c,node:e,displayPanels:l})});this.state={node:e.pluginCtx.engine.getActiveNode(),activeKey:"Visual",panels:[rn,gn,zi,cn,dn],displayPanels:[]}}componentDidMount(){var i;const{pluginCtx:e}=this.props;e.globalEmitter.on("onSelectNodeChange",l=>{setTimeout(()=>{this.onNodeChange(l)},10)}),e.pageModel.emitter.on("*",()=>{const l=e.engine.getActiveNode();this.onNodeChange({node:l})});const{displayPanels:s}=this.updatePanels(),o=((i=s.find((l,c)=>c===0))==null?void 0:i.key)||"";s.find(l=>l.key===this.state.activeKey)||this.setState({activeKey:o}),e.pluginReadyOk()}render(){var c,u;const{displayPanels:e,node:s,activeKey:o}=this.state,{pluginCtx:r}=this.props;if(!s)return a.jsx("div",{style:{overflow:"hidden"},children:a.jsx(f.Empty,{image:f.Empty.PRESENTED_IMAGE_SIMPLE,description:"Please select a node from left view"})});const i={node:s,pluginCtx:r,activeTab:this.state.activeKey},l=(c=r.config)==null?void 0:c.customPropertySetterMap;return a.jsx(Rs.Provider,{value:{customSetterMap:{...l},defaultSetterConfig:{},nodeId:(u=this.state.node)==null?void 0:u.id,nodeModel:this.state.node,pluginCtx:this.props.pluginCtx},children:a.jsx("div",{className:pi.rightPanelContainer,children:a.jsx(f.Tabs,{activeKey:o,tabPosition:"top",style:{flex:1,height:"100%"},onChange:d=>{this.setState({activeKey:d})},items:e.map(d=>{var g;return{label:a.jsx("div",{style:{padding:"0 10px"},children:typeof d.name=="string"?d.name:(g=d.name)==null?void 0:g.call(d,i)}),key:d.key,children:d.view(i)}})})})})}}const Kt="RightPanel",Ue=()=>{const n=p.createRef();return{name:Kt,PLUGIN_NAME:Kt,async init(t){t.getWorkbench().replaceRightView(a.jsx($i,{ref:n,pluginCtx:t}))},async destroy(){},export:()=>n==null?void 0:n.current,meta:{engine:{version:"1.0.0"}}}};Ue.PLUGIN_NAME=Kt;const Fi={pluginName:"全局状态"},Hi={pluginName:"Global State"},Ln={zh_CN:Fi,en_US:Hi},Ui="_box_tl0hm_2",Gi={box:Ui},pt="GlobalState",Dt=`plugin:${pt}`;let Vt=!1;const Wi=n=>{const{pluginCtx:t}=n,e=t.pageModel.value.componentsTree.value.state||{},s=p.useRef(null);p.useEffect(()=>{var r;(r=s==null?void 0:s.current)==null||r.setValue(JSON.stringify(e,null,2)),t.pageModel.emitter.on("onReloadPage",()=>{var i;if(Vt){Vt=!1;return}(i=s.current)==null||i.setValue(JSON.stringify(t.pageModel.value.componentsTree.value.state,null,2))})},[]);const o=r=>{try{const i=JSON.parse(r||"{}");t.pageModel.value.componentsTree.value.state=i,Vt=!0,t.pageModel.value.componentsTree.updateValue()}catch(i){console.warn(i)}};return a.jsx("div",{className:Gi.box,children:a.jsx(xe,{initialValue:JSON.stringify(t.pageModel.value.componentsTree.value.state,null,2),language:"json",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:!1},quickSuggestions:!1,suggestOnTriggerCharacters:!1,folding:!1,comments:{}},onDidMount:r=>{s.current=r},beforeMount:()=>{},onChange:o})})},Ge={name:pt,async init(n){const{i18n:t}=n;Object.keys(Ln).forEach(r=>{t.addResourceBundle(r,Dt,Ln[r],!0,!0)});const e=be.withTranslation(Dt)(Wi),s=be.withTranslation(Dt)(({t:r})=>a.jsx(a.Fragment,{children:r("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(s,{}),name:pt,icon:a.jsx(D.DatabaseOutlined,{}),render:a.jsx(e,{pluginCtx:n})})},async destroy(){},export:()=>({}),meta:{engine:{version:"1.0.0"}}};Ge.PLUGIN_NAME=pt;const Es=n=>{const t=n.pageModel.export(),{engineCtx:e}=n,[s,o]=p.useState(!1),r=p.useRef(null);return a.jsxs(a.Fragment,{children:[a.jsx("div",{onClick:()=>{o(!0)},children:n.children}),a.jsx(f.Modal,{open:s,title:"Source Schema",width:"100%",onCancel:()=>o(!1),onOk:async()=>{var g;o(!1);const i=(g=r.current)==null?void 0:g.getValue();if(!i)return;const l=JSON.parse(i);n.pageModel.updatePage(l),await se();const c=e.engine.getActiveNode(),u=await e.pluginManager.get("Designer"),d=(c==null?void 0:c.id)||"";u==null||u.ctx.emitter.on("ready",()=>{u.export.selectNode(d)}),u&&u.export.selectNode(d)},style:{height:"calc(100vh - 50px)",top:"25px"},destroyOnClose:!0,children:a.jsx("div",{style:{width:"100%",height:"calc(100vh - 200px)"},children:a.jsx(xe,{initialValue:JSON.stringify(t,null,2),language:"json",options:{automaticLayout:!0},onDidMount:i=>{r.current=i}})})})]})},qt="History",We=n=>{const t=n,e={historyRecords:[],currentStepIndex:0};let s=null;const o=n.pageModel.export();s=o,e.historyRecords.push(o);const r=async c=>{t&&(t.pageModel.reloadPage(c),await se())},i={addStep:()=>{const{currentStepIndex:c,historyRecords:u}=e,d=n.pageModel.export();c!==u.length-1&&(e.historyRecords=u.slice(0,c+1)),e.historyRecords.push(d),e.currentStepIndex=u.length-1},reset:async()=>{if(!t){console.warn("plugin ctx is null, pls check it");return}s&&(e.historyRecords=[],r(s))},preStep:()=>{const{currentStepIndex:c,historyRecords:u}=e;if(!i.canGoPreStep())return;const d=c-1;e.currentStepIndex=d;const g=F.cloneDeep(u[d]);r(g)},nextStep:()=>{if(!i.canGoNextStep())return;const{currentStepIndex:c,historyRecords:u}=e,d=c+1;e.currentStepIndex=d;const g=F.cloneDeep(u[d]);return r(g)},canGoPreStep:()=>{const{currentStepIndex:c}=e;return!(c<=0)},canGoNextStep:()=>{const{currentStepIndex:c,historyRecords:u}=e;return!(c>=u.length-1)}},l=F.debounce(()=>{i.addStep()},500);return{name:qt,PLUGIN_NAME:qt,async init(c){c.pageModel.emitter.on("onNodeChange",()=>{l()}),c.pageModel.emitter.on("onPageChange",()=>{i.addStep()}),c.pluginReadyOk()},async destroy(c){console.log("destroy",c)},export:()=>i,meta:{engine:{version:"1.0.0"}}}};We.PLUGIN_NAME=qt;const Lt=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1,gt={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Lt?173:189,"=":Lt?61:187,";":Lt?59:186,"'":222,"[":219,"]":221,"\\":220},Jt={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91};for(let n=1;n<20;n++)gt[`f${n}`]=111+n;const Ki=n=>gt[n.toLowerCase()]||Jt[n.toLowerCase()]||n.toUpperCase().charCodeAt(0),qi=n=>Object.keys(gt).find(t=>gt[t]===n),Ji=n=>Object.keys(Jt).find(t=>Jt[t]===n),Xi=n=>qi(n)||Ji(n)||String.fromCharCode(n);class Yi{constructor(t){w(this,"splitStr","_");w(this,"downKeyCodeList",[]);w(this,"elements");w(this,"disposeEventCbList",[]);w(this,"disable",!1);w(this,"hotActionMap",{});this.elements=t.elements,this.init()}setDisable(t){this.disable=t}init(){const t=this.elements.map(e=>this.registerKeyEvent(e));this.disposeEventCbList=[...t]}addElement(t){const e=this.registerKeyEvent(t);this.disposeEventCbList.push(e)}registerKeyEvent(t){const e=this.getTriggerHotkeyDebounce(),s=i=>{if(this.filterInputElement(i))return;const l=i.keyCode||i.which||i.charCode;this.downKeyCodeList.includes(l)||this.downKeyCodeList.push(l),e()};t==null||t.addEventListener("keydown",s);const o=i=>{setTimeout(()=>{if(this.filterInputElement(i))return;const l=i.keyCode||i.which||i.charCode,c=this.downKeyCodeList.findIndex(u=>u===l);c>=0&&this.downKeyCodeList.splice(c,1)},0)};t==null||t.addEventListener("keyup",o);const r=()=>{this.downKeyCodeList=[]};return window==null||window.addEventListener("blur",r),()=>{t.removeEventListener("keydown",s),t.removeEventListener("keyup",o),window==null||window.removeEventListener("blur",r)}}addHotAction(t,e){const s=t.map(o=>typeof o!="number"?this.getKeyCodeByLabel(o):o);this.hotActionMap[s.join(this.splitStr)]=()=>{this.disable||e()}}triggerHotKey(){const t=this.downKeyCodeList.join(this.splitStr),e=this.hotActionMap[t];e==null||e()}getTriggerHotkeyDebounce(){return this.triggerHotKey.bind(this)}getKeyCodeByLabel(t){return Ki(t)}getKeyString(t){return Xi(t)}filterInputElement(t){const e=t.target||t.srcElement;if(!e)return!1;const{tagName:s}=e;let o=!1;const r=s==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(r||s==="TEXTAREA"||s==="SELECT")&&!e.readOnly)&&(o=!0),o}destroy(){this.disposeEventCbList.forEach(t=>t())}}const Qi={pluginName:"快捷键"},Zi={pluginName:"Hot Keys"},An={zh_CN:Qi,en_US:Zi},Q={deleteNode:async n=>{var s;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode();if(e){const o=await((s=t==null?void 0:t.export)==null?void 0:s.deleteNode(e.id));return o||f.message.error("该节点不能删除"),o}},copyNode:async n=>{var s;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode();if(e)return await((s=t==null?void 0:t.export)==null?void 0:s.copyNode(e.id))},moveToUp:async n=>{var r;if(await Q.moveToSiblingUp(n))return;const e=await n.pluginManager.get("Designer"),s=n.engine.getActiveNode(),o=s==null?void 0:s.parent;if(o&&o.nodeType!=="PAGE")return await((r=e==null?void 0:e.export)==null?void 0:r.selectNode(o.id))},moveToSiblingUp:async n=>{var u;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.parent;if((s==null?void 0:s.nodeType)==="PAGE"||!e)return;const o=s==null?void 0:s.value,r=o.children||o.value,l=r.findIndex(d=>d.id===e.id)-1;if(l<0)return;const c=r==null?void 0:r[l];if(c&&c.id)return await((u=t==null?void 0:t.export)==null?void 0:u.selectNode(c.id))},moveToDown:async n=>{var r;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.value.children,o=s==null?void 0:s[0];return o&&o.id?await((r=t==null?void 0:t.export)==null?void 0:r.selectNode(o.id)):await Q.moveToSiblingDown(n)},moveToSiblingDown:async n=>{var u;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.parent;if((s==null?void 0:s.nodeType)==="PAGE"||!e)return;const o=s==null?void 0:s.value,r=o.children||o.value,l=r.findIndex(d=>d.id===e.id)+1;if(l>=r.length)return;const c=r==null?void 0:r[l];if(c&&c.id)return await((u=t==null?void 0:t.export)==null?void 0:u.selectNode(c.id))},redo:async n=>{const t=await n.pluginManager.get("History");if(t!=null&&t.export.canGoNextStep())return t==null||t.export.nextStep(),!0},undo:async n=>{const t=await n.pluginManager.get("History");if(t!=null&&t.export.canGoPreStep())return t==null||t.export.preStep(),!0}},mt="Hotkeys",el=`plugin:${mt}`,Ke={name:mt,PLUGIN_NAME:mt,async init(n){const{i18n:t}=n;Object.keys(An).forEach(r=>{t.addResourceBundle(r,el,An[r],!0,!0)});const e=await n.pluginManager.get("Designer"),s=e==null?void 0:e.export.getDesignerWindow(),o=new Yi({elements:[window.document.body,s.document.body]});n.engine.pageModel.emitter.on("onReloadPage",()=>{const r=e==null?void 0:e.export.getDesignerWindow();setTimeout(()=>{o.addElement(r.document.body)},1e3)}),o.addHotAction(["ctrl","c"],()=>{Q.copyNode(n)}),o.addHotAction(["ctrl","z"],()=>{Q.undo(n)}),o.addHotAction(["ctrl","shift","z"],()=>{Q.redo(n)}),o.addHotAction(["up"],()=>{Q.moveToUp(n)}),o.addHotAction(["w"],()=>{Q.moveToUp(n)}),o.addHotAction(["shift","w"],()=>{Q.moveToSiblingUp(n)}),o.addHotAction(["down"],()=>{Q.moveToDown(n)}),o.addHotAction(["s"],()=>{Q.moveToDown(n)}),o.addHotAction(["shift","s"],()=>{Q.moveToSiblingDown(n)}),o.addHotAction(["backspace"],()=>{Q.deleteNode(n)}),n.hotkeyManager=o,n.pluginReadyOk()},async destroy(n){const t=n.hotkeyManager;t==null||t.destroy()},export:n=>({addHotAction:(t,e)=>{n.hotkeyManager.addHotAction(t,e)},disable:t=>{n.hotkeyManager.setDisable(t)}}),meta:{engine:{version:"1.0.0"}}};Ke.PLUGIN_NAME=mt;const Ms=[Oe,ze,Be,Ge,Ue,We,Ke],Ts={HotkeysPlugin:Ke.PLUGIN_NAME,ComponentLibPlugin:Be.PLUGIN_NAME,RightPanelPlugin:Ue.PLUGIN_NAME,GlobalStatePanelPlugin:Ge.PLUGIN_NAME,HistoryPlugin:We.PLUGIN_NAME,DesignerPlugin:Oe.PLUGIN_NAME,OutlineTreePlugin:ze.PLUGIN_NAME},tl=Object.freeze(Object.defineProperty({__proto__:null,AdvancePanel:un,AdvancePanelConfig:dn,ComponentLibPlugin:Be,ComponentStatePanel:ln,ComponentStatePanelConfig:cn,DEFAULT_PLUGIN_LIST:Ms,DEFAULT_PLUGIN_NAME_MAP:Ts,DesignerPlugin:Oe,DisplaySourceSchema:Es,GlobalStatePanelPlugin:Ge,HistoryPlugin:We,HotkeysPlugin:Ke,OutlineTreePlugin:ze,PLUGIN_NAME:fe,PropertyPanelConfig:rn,RightPanelPlugin:Ue,VisualPanelPlus:pn,VisualPanelPlusConfig:gn},Symbol.toStringTag,{value:"Module"})),nl=n=>{const t=p.useRef(),[e,s]=p.useState("AUTO"),[o,r]=p.useState(1200),i=p.useCallback(()=>{const c=t.current,u=c==null?void 0:c.export.getDesignerWindow(),d=u==null?void 0:u.innerWidth;r(Number(d))},[]);p.useEffect(()=>{let c,u;return n.ctx.pluginManager.onPluginReadyOk("Designer").then(d=>{t.current=d,u=d==null?void 0:d.export.getDesignerWindow(),c=()=>{r(Number(u==null?void 0:u.innerWidth))},u==null||u.addEventListener("resize",c),i()}),()=>{u==null||u.removeEventListener("resize",c)}},[]);const l=p.useCallback(F.debounce(c=>{const u=t.current;u==null||u.export.setCanvasWidth(c)},100),[]);return a.jsx(f.Space,{children:a.jsx(f.Segmented,{defaultValue:e,onChange:c=>{const u=t.current;u&&(c==="AUTO"?(u.export.setCanvasWidth("100%"),i()):c==="IPAD"?u.export.setCanvasWidth(768):u.export.setCanvasWidth(350),s(c))},options:[{label:a.jsxs("span",{children:[a.jsx("span",{onClick:()=>{const c=t.current;c==null||c.export.setCanvasWidth("100%"),i()},children:"Auto"}),e==="AUTO"&&a.jsx(f.InputNumber,{size:"small",style:{marginLeft:"10px"},controls:!1,changeOnWheel:!0,suffix:"px",value:o,min:350,max:1920,onChange:c=>{r(Number(c)),l(Number(c))}})]}),value:"AUTO"},{label:a.jsx(D.BorderOutlined,{}),value:"IPAD"},{label:a.jsx(D.MobileOutlined,{}),value:"MOBILE"}]})})},sl=[{name:"style",title:"布局",valueType:"string",setters:[{componentName:"FastLayoutSetter",initialValue:{},hiddenLabel:!0,props:{}}]}],ie={name:"$$attributes",title:"属性",valueType:"object",setters:[{componentName:"ArraySetter",props:{collapse:{open:!0},sortLabelKey:"key",item:{setters:[{componentName:"ShapeSetter",props:{elements:[{name:"key",title:"属性名",valueType:"string",setters:["StringSetter"]},{name:"value",title:"值",valueType:"string",setters:["StringSetter","NumberSetter","JSONSetter","FunctionSetter","ExpressionSetter"]}]},initialValue:{}}],initialValue:{}}},initialValue:[]}]},ge="内置组件",me="原子组件",Is="1.0.0",Ds="CHAMELEON_INNER_PKG",al=_.HTMl_TAGS.map(n=>({title:F.capitalize(n),componentName:n,props:[ie],snippets:[],npm:{name:n,package:Ds,version:Is}})),Vs=[{title:"块",componentName:"CBlock",props:[{name:"children",title:"文本",valueType:"string",setters:["StringSetter","ExpressionSetter"]},ie],groupName:ge,snippets:[{title:"块",snapshotText:"Block",category:me,schema:{props:{},css:{value:[{state:"normal",media:[],text:"background: white ; width: 100%; height: 100px"}]}}}]},{title:"容器",componentName:"CContainer",isContainer:!0,props:[...sl,ie],groupName:ge,snippets:[{title:"容器",snapshotText:"Con",category:me,schema:{css:{value:[{state:"normal",media:[],text:"background: white;width: 100%;"}]}}}]},{title:"图片",componentName:"CImage",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},ie],advanceCustom:{wrapComponent:n=>t=>{const e=n;return a.jsx(e,{...t,style:{...t.style||{},userSelect:"none",WebkitUserDrag:"none"}})}},groupName:ge,snippets:[{title:"图片",snapshotText:"Img",category:me,schema:{css:{value:[{text:"background:white;width:500px;height:300px;overflow:auto;",media:[],state:"normal"}]},props:{src:"https://images.unsplash.com/photo-1584080277544-2db5b2c2d9dd?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80"}}}]},{title:"视频",componentName:"CVideo",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},{name:"autoPlay",title:"自动播放",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},{name:"controls",title:"控制面板",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},ie],fixedProps:{autoPlay:!1},advanceCustom:{wrapComponent:n=>t=>a.jsx("div",{style:{...t.style,display:"inline-flex"},children:a.jsx(n,{...t,style:{...t.style,pointerEvents:"none"}})})},groupName:ge,snippets:[{title:"视频",snapshotText:"Video",category:me,schema:{props:{src:"https://vjs.zencdn.net/v/oceans.mp4"},css:{value:[{state:"normal",media:[],text:"background:white;width:300px;height:150px;"}]}}}]},{title:"音频",groupName:ge,componentName:"CAudio",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},{name:"autoPlay",title:"自动播放",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},{name:"controls",title:"控制面板",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},ie],advanceCustom:{wrapComponent:()=>n=>a.jsx("div",{style:{display:"inline-block",fontSize:0},children:a.jsx("audio",{...n,style:{pointerEvents:"none",...n.style}})})},snippets:[{title:"音频",snapshotText:"Audio",category:me,schema:{props:{src:"https://vjs.zencdn.net/v/oceans.mp4",controls:!0}}}]},{title:"文本",componentName:"CText",groupName:ge,props:[{name:"content",title:"内容",valueType:"string",setters:["TextAreaSetter","ExpressionSetter"]},ie],snippets:[{title:"文本",snapshotText:"Text",category:me,schema:{props:{content:"text"}}}]},{title:"Canvas",componentName:"CCanvas",props:[{name:"afterMount",title:"渲染之后",valueType:"function",setters:["FunctionSetter","ExpressionSetter","ActionFlowSetter"]},{name:"beforeDestroy",title:"销毁之前",valueType:"function",setters:["FunctionSetter","ExpressionSetter"]},ie],groupName:ge,advanceCustom:{onNewAdd:async n=>{const t=n.getPlainProps(),e=Math.random().toString(32).slice(3,9);return t.$$attributes=[{key:"id",value:e},{key:"style",value:{display:"block",margin:"0 auto"}}],t.afterMount.value=t.afterMount.value.replace("$[id]",e),n.updateWithPlainObj({props:t}),{addNode:n}}},snippets:[{title:"画布",snapshotText:"Cavs",category:me,schema:{props:{width:"600px",height:"150px",style:{margin:"0 auto"},afterMount:{type:"FUNCTION",value:`
|
|
144
|
+
`}),t+="}",t},lr=g.forwardRef((n,t)=>{const e=g.useRef(null),s=g.useRef({});return g.useImperativeHandle(t,()=>({setEmptyValue:()=>{var o;s.current={},(o=e.current)==null||o.setValue(Et({}))},setValue:o=>{var r;F.isEqual(o,s.current)||(s.current=o,(r=e.current)==null||r.setValue(Et(o)))}}),[]),a.jsx("div",{className:rr.cssCodeEditor,style:{paddingTop:"10px",width:"100%",height:"150px",border:"1px solid rgba(0,0,0,0.2)",position:"relative",borderRadius:"4px"},children:a.jsx(xe,{language:"css",onDidMount:o=>{var r;e.current=o,(r=e.current)==null||r.setValue(Et(s.current||{}))},onChange:o=>{var l;const i=ir(o||"")[".node"]||{};s.current=i,(l=n.onValueChange)==null||l.call(n,i)},options:{tabSize:2,minimap:{enabled:!1},folding:!1,lineNumbers:"off",hover:{}}})})}),Ss=g.forwardRef(({value:n,initialVal:t,onValueChange:e,noCard:s},o)=>{const[r,i]=g.useState(localStorage.getItem("CHAMN_STYLE_EDITOR_MODE")||"VISUAL"),l=g.useRef(null),c=g.useRef(null),u=g.useRef(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),v=g.useRef(null),h=g.useRef(null);g.useEffect(()=>{localStorage.setItem("CHAMN_STYLE_EDITOR_MODE",r)},[r]);const b=g.useMemo(()=>[l,c,u,d,p,m,v],[l,c,u,d,p,m,v]),x=g.useRef(null),y=g.useCallback(P=>{var N;if(P){if(x.current=P,r==="CODE"){(N=h.current)==null||N.setValue(P);return}b.forEach(k=>{setTimeout(()=>{var E;(E=k.current)==null||E.setValue(P)})})}},[b,r]),S=g.useCallback(P=>{const N={...x.current||{},...P};x.current=N;const k=F.omitBy(N,E=>F.isNil(E)||E==="");e==null||e(k)},[e]);g.useEffect(()=>{y(x.current)},[r,y]),g.useImperativeHandle(o,()=>({setValue:y,setEmptyValue:()=>y({})}),[y]);const j=g.useMemo(()=>[{key:"dimension",label:"Dimension",children:a.jsx(qo,{ref:l,initialValue:t,value:n,onChange:S})},{key:"margin",label:"Margin",children:a.jsx(_n,{prefix:"margin",ref:c,initialValue:t,value:n,onChange:S})},{key:"padding",label:"Padding",children:a.jsx(_n,{ref:u,initialValue:t,prefix:"padding",value:n,onChange:S})},{key:"background",label:"Background",children:a.jsx(sr,{ref:p,value:n,initialValue:t,onChange:S})},{key:"font",label:"Font",children:a.jsx(Zo,{ref:v,initialValue:t,value:n,onChange:S})},{key:"border",label:"Border",children:a.jsx(tr,{ref:d,initialValue:t,onChange:S})},{key:"shadow",label:"Shadow",children:a.jsx(ar,{ref:m,initialValue:t,value:n,onChange:S})}],[t,S,n]),C=a.jsxs(a.Fragment,{children:[r==="CODE"&&a.jsx(lr,{onValueChange:P=>{x.current=P,e==null||e(P)},ref:h}),r!=="CODE"&&a.jsx(f.Collapse,{className:R.styleUIPanel,items:j,bordered:!1,defaultActiveKey:["dimension","background","padding","margin"],onChange:async()=>{await se(),y(x.current)}})]});return a.jsxs(f.ConfigProvider,{theme:{token:{borderRadius:2}},children:[s&&C,!s&&a.jsx(f.Card,{size:"small",type:"inner",title:a.jsx("span",{style:{fontSize:"12px"},children:"Style"}),extra:a.jsxs(f.Button,{type:"text",size:"small",onClick:()=>{i(P=>P==="CODE"?"VISUAL":"CODE")},children:[r==="VISUAL"&&a.jsx(A.SquareCode,{size:16}),r!=="VISUAL"&&a.jsx(A.Component,{size:16})]}),style:{marginBottom:"10px",borderRadius:"8px"},children:C})]})}),cr=({value:n,setterContext:t,initialValue:e,...s})=>{const o=g.useRef(null),r=t.nodeModel,i=g.useRef(),l=g.useMemo(()=>{const u=r.value.style||[],{normalProperty:d}=_e(u);return lt(d)},[r.value.style]),c=g.useCallback(()=>{var p;i.current=r;const u=r.value.style||[],{normalProperty:d}=_e(u);(p=o.current)==null||p.setValue(lt(d)||{})},[r]);return g.useEffect(()=>(c(),r.emitter.on("onNodeChange",c),r.emitter.on("onReloadPage",c),()=>{r.emitter.off("onNodeChange",c),r.emitter.off("onReloadPage",c)}),[r.emitter,r.id,c]),a.jsx(Ss,{...s,initialVal:l,ref:o,onValueChange:u=>{const d=Qt(u),{expressionProperty:p}=_e(r.value.style||[]),m=[...d,...p];F.isEqual(r.value.style,m)||(r.value.style=m,r.updateValue())}})},ur={_null_:null,_undefined_:void 0},ws=({onValueChange:n,setterContext:t,initialValue:e,emptyValue:s,hiddenDefaultOption:o,...r})=>{const i=g.useMemo(()=>{const c=[{label:"Undefined",value:"_undefined_"},{label:"Null",value:"_null_"}];if(s){if(o)return[{label:s,value:s}];c.push({label:s,value:s})}return c},[s,o]),l=g.useMemo(()=>{const c=e||r.value;return c===void 0?"_undefined_":c===null?"_null_":c||"_undefined_"},[e,r.value]);return g.useEffect(()=>{n==null||n(s??void 0)},[]),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:6}},children:a.jsx(f.Radio.Group,{block:!0,options:i,defaultValue:e,optionType:"button",size:"small",...r,value:l,onChange:c=>{let u=c.target.value;["_null_","_undefined_"].includes(u)&&(u=ur[u]),n==null||n(u)}})})};ws.setterName="空值设置器";const ue={FastLayoutSetter:cr,StringSetter:as,ArraySetter:rs,ShapeSetter:is,NumberSetter:os,ExpressionSetter:nn,BooleanSetter:ls,SelectSetter:cs,JSONSetter:ds,FunctionSetter:sn,TextAreaSetter:gs,CSSValueSetter:hs,ColorSetter:fs,SliderSetter:vs,AntDColorSetter:xs,RadioGroupSetter:ys,CSSSizeSetter:bs,EmptyValueSetter:ws},dr="_fieldBox_1nwst_3",gr="_label_1nwst_11",pr="_tipsLabel_1nwst_24",mr="_content_1nwst_31",hr="_error_1nwst_36",fr="_errorTipIcon_1nwst_42",Ce={fieldBox:dr,label:gr,tipsLabel:pr,content:mr,error:hr,errorTipIcon:fr},te=n=>{const{children:t,label:e,tips:s,name:o,hiddenLabel:r}=n,[i,l]=g.useState({isPass:!0,errorMsg:""});let c=e;const{formState:u,updateContext:d,updateConditionConfig:p}=g.useContext(ft);if(g.useEffect(()=>{n.condition&&p(o,n.condition)},[o,n.condition,p]),g.useEffect(()=>{var y;const x=(n.condition??(()=>!0))(u);(y=n.onConditionValueChange)==null||y.call(n,x)},[u,n]),s){let b=s;typeof s=="function"&&(b=s()),c=a.jsx(f.Tooltip,{title:a.jsx("span",{style:{color:"rgba(255,255,255,0.9",fontSize:"12px"},children:b}),color:"rgba(50,50,50,0.8)",children:a.jsx("span",{className:Ce.tipsLabel,children:e})})}let m=t;if(g.isValidElement(t)){const x={[n.valueChangeEventName??"onValueChange"]:async y=>{let S=y;n.formatEventValue&&(S=n.formatEventValue(y));const j=n.rules||[],C=await xr(n.name,S,j);C.isPass?l({isPass:!0,errorMsg:""}):l(C),d({...u,[o]:S},[o])}};x.value=u[o],m=g.cloneElement(t,x)}return(n.condition??(()=>!0))(u)?n.noStyle?a.jsx(a.Fragment,{children:m}):a.jsxs("div",{className:T([Ce.fieldBox,!i.isPass&&Ce.error]),style:{alignItems:n.labelAlign??"center"},children:[r!==!0&&a.jsx("div",{className:Ce.label,style:{width:n.labelWidth??"60px"},children:c}),a.jsx("div",{className:Ce.content,children:m}),!i.isPass&&a.jsx(f.Popover,{content:a.jsx(f.Alert,{message:i.errorMsg,type:"error"}),children:a.jsx(V.QuestionCircleOutlined,{className:Ce.errorTipIcon})})]}):null},xr=async(n,t,e=[])=>{var r,i,l;let s=!0,o="";for(let c=0;c<e.length;c++){if(e[c].required&&!t){s=!1,o=`${n} is required.`;break}if(e[c].validator)try{if(!await((i=(r=e[c]).validator)==null?void 0:i.call(r,t))){s=!1,o=((l=e[c])==null?void 0:l.msg)||`${n} is illegal `;break}}catch(u){s=!1,o=`${String(u)}`;break}}return{isPass:s,errorMsg:o}},vr="_switchBtn_k17cr_2",yr="_shapeFieldBox_k17cr_8",br="_collapseHeader_k17cr_9",Mt={switchBtn:vr,shapeFieldBox:yr,collapseHeader:br},we=g.createContext({defaultSetterConfig:{},onSetterChange:()=>{},customSetterMap:{}}),Ht=({setters:n,keyPaths:t,currentSetter:e,setCurrentSetter:s,customSetterMap:o,...r})=>{const{customSetterMap:i}=g.useContext(ft),{defaultSetterConfig:l}=g.useContext(we),c={...ue,...o||{},...i};g.useEffect(()=>{var v;const d=((v=l[t.join(".")])==null?void 0:v.setter)||"",m=n.find(h=>h.componentName===d)||wo(r.value,n)||n[0];s(m)},[]);let u=null;return e!=null&&e.componentName&&(u=c[e==null?void 0:e.componentName]||e.component),u||(u=function(){return a.jsx("div",{style:{backgroundColor:"whitesmoke",margin:"5px 0",padding:"5px",borderRadius:"2px",color:"gray"},children:`${e==null?void 0:e.componentName} is not found.`})}),a.jsx(u,{...r})},yt=({setters:n,keyPaths:t,condition:e,useField:s=!0,...o})=>{var Me,Te;const[r,i]=g.useState(!0),{customSetterMap:l}=g.useContext(ft),{onSetterChange:c,defaultSetterConfig:u,formRef:d,pluginCtx:p,nodeId:m}=g.useContext(we),v={...ue,...l},h=g.useMemo(()=>[...n,{componentName:_.SetterTypeEnum.EMPTY_VALUE_SETTER}],[n]),[b,x]=g.useState(()=>{var G;const B=((G=u[t.join(".")])==null?void 0:G.setter)||"";return h.find(de=>de.componentName===B)||h[0]}),y=h.map(B=>{const U=(B==null?void 0:B.componentName)||"",G=v[U];return{key:B.componentName,label:(G==null?void 0:G.setterName)||B.componentName}}),S=g.useMemo(()=>{const B=({key:U})=>{const G=h.find(de=>de.componentName===U);G&&(x(G),c==null||c(t,G.componentName))};return y.length===1?null:a.jsx("div",{className:Mt.switchBtn,onClick:U=>{U.preventDefault(),U.stopPropagation()},children:a.jsx(f.Dropdown,{trigger:["click"],menu:{selectable:!0,items:y,onClick:B,defaultSelectedKeys:[(b==null?void 0:b.componentName)||""]},children:a.jsx(V.SwapOutlined,{})})})},[y,b==null?void 0:b.componentName,h,c,t]),j=g.useMemo(()=>{let B={...(b==null?void 0:b.props)||{},initialValue:b==null?void 0:b.initialValue};const U=h.find(G=>G.componentName===(b==null?void 0:b.componentName));return U&&(B={...B,...U.props}),B},[h,b]),[C,P]=g.useState([]);let N=null;const k=(b==null?void 0:b.hiddenLabel)===!0,E=b==null?void 0:b.labelWidth,H=(b==null?void 0:b.labelAlign)||"center",O=(Me=b==null?void 0:b.props)==null?void 0:Me.collapse,z=["ArraySetter","ShapeSetter"].includes(b==null?void 0:b.componentName),q=g.useMemo(()=>({formRef:d,pluginCtx:p,keyPaths:[...t],label:o.label,setCollapseHeaderExt:z?P:void 0,nodeModel:p==null?void 0:p.pageModel.getNode(m)}),[d,t,m,p,o.label,z]),L=g.useMemo(()=>{const B={...o.customSetterMap||{}},U={labelWidth:E,labelAlign:H,hiddenLabel:k,condition:e,noStyle:!!z,onConditionValueChange:G=>{i(G)}};return s===!1?a.jsx(Ht,{setters:h,keyPaths:t,currentSetter:b,setCurrentSetter:x,...o,...j,customSetterMap:B,setterContext:q}):a.jsx(te,{...U,...o,children:a.jsx(Ht,{setters:h,keyPaths:t,currentSetter:b,setCurrentSetter:x,...j,customSetterMap:B,setterContext:q})})},[e,b,k,t,H,E,o,q,j,h,z,s]),Ee=g.useMemo(function(){const U=typeof O=="object"?O:{};return de=>a.jsx(f.Collapse,{bordered:!1,...U,style:{marginBottom:"10px",flex:1},defaultActiveKey:[U.open?o.name:""],items:[{key:o.name,label:a.jsxs("div",{className:Mt.collapseHeader,children:[a.jsx("span",{style:{flex:1},children:o.label}),de,S]}),children:L}]})},[O,o.name,o.label,S,L]);return["ArraySetter"].includes((b==null?void 0:b.componentName)||"")?N=Ee(C):["ShapeSetter"].includes((b==null?void 0:b.componentName)||"")?N=a.jsxs("div",{className:Mt.shapeFieldBox,children:[o.prefix??null,((Te=b==null?void 0:b.props)==null?void 0:Te.collapse)===!1&&a.jsx("div",{style:{width:"100%"},children:L}),O!==!1&&Ee(),o.suffix??null]}):N=a.jsxs("div",{style:{display:"flex",alignItems:H,paddingBottom:"8px"},children:[o.prefix??null,L,S,o.suffix??null]}),a.jsx("div",{style:{display:r?"block":"none"},children:N})},Sr="_CFromRenderBox_13lda_2",wr={CFromRenderBox:Sr},Cr=(n,t)=>{const{properties:e,initialValue:s,onValueChange:o,onSetterChange:r,defaultSetterConfig:i,pluginCtx:l,customSetterMap:c}=n,u=e;return a.jsx(we.Provider,{value:{defaultSetterConfig:i,customSetterMap:c,onSetterChange:r,formRef:t,pluginCtx:l,nodeId:n.nodeId},children:a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{className:wr.CFromRenderBox,children:a.jsx(Se,{ref:t,name:"root-form",initialValue:s,customSetterMap:c,onValueChange:d=>{o==null||o(d)},children:u.map(d=>{if(_.isSpecialMaterialPropType(d))console.log("Current not Support type config for props, wait future....");else{const p=_.getMTitle(d.title),m=_.getMTitleTip(d.title)||(d==null?void 0:d.description),v=xt(d.setters),h=[d.name];return a.jsx(yt,{condition:d.condition,keyPaths:h,setters:v,label:p,name:d.name||"",tips:m},d.name)}})})})})})},Fe=g.forwardRef(Cr),Nr=(n,t)=>{const e=s=>{var o;for(const r of s){if(r.key===n)return r;if((o=r.children)!=null&&o.length){const i=e(r.children);if(i)return i}}return null};return e(t)},jr=n=>{const{open:t,onCancel:e,onOk:s,pageModel:o,value:r}=n,i=g.useRef(null),l=g.useMemo(()=>{if(!o)return;const c=es(o==null?void 0:o.export(),o);return at(c,u=>(u.sourceData={title:u.title,value:u.value},u.value=u.key,u.title=a.jsx("div",{style:{flexWrap:"nowrap",display:"flex",width:"150px"},children:u.title}),!1)),c},[o]);return a.jsx(f.Modal,{open:t,onCancel:e,title:"选择节点",onOk:()=>s({nodeId:r||"",title:""}),children:a.jsx("div",{ref:i,style:{width:"100%"},children:a.jsx(f.TreeSelect,{virtual:!1,showSearch:!0,style:{width:"100%"},value:r,allowClear:!0,onClear:()=>{s({nodeId:"",title:""})},filterTreeNode:(c,u)=>{var d;return((d=u.sourceData)==null?void 0:d.title.toLowerCase().indexOf(c.toLowerCase()))>-1},getPopupContainer:()=>i.current,treeDefaultExpandAll:!0,onChange:c=>{var d;const u=Nr(c,l??[]);s({nodeId:c,title:(d=u==null?void 0:u.sourceData)==null?void 0:d.title})},treeData:l})})})},Cs=n=>{const[t,e]=g.useState(!1),[s,o]=g.useState(n.value),r=g.useMemo(()=>{var l;const i=n.pageModel.getNode((s==null?void 0:s.nodeId)||n.value);return i&&(i.value.title||((l=i.material)==null?void 0:l.value.title)||(s==null?void 0:s.title))||""},[n.pageModel,n==null?void 0:n.value,s==null?void 0:s.nodeId,s==null?void 0:s.title]);return a.jsxs(a.Fragment,{children:[a.jsx(f.Button,{style:{width:"200px"},onClick:()=>e(!0),children:r??"选择节点"}),a.jsx(jr,{open:t,onCancel:()=>e(!1),onOk:i=>{var l;(l=n.onChange)==null||l.call(n,i),o(i),e(!1)},pageModel:n.pageModel,value:(s==null?void 0:s.nodeId)||n.value})]})},Rr=n=>{var t;return a.jsx("div",{children:a.jsxs(f.Space,{children:[a.jsx(Cs,{pageModel:n.pageModel,value:n.value,onChange:e=>{var s,o;(o=n.onChange)==null||o.call(n,{nodeId:e.nodeId,keyPath:((s=n.value)==null?void 0:s.keyPath)||""})}}),a.jsx(f.Input,{style:{width:250},value:(t=n.value)==null?void 0:t.keyPath,onChange:e=>{var o,r;const{value:s}=e.target;(r=n.onChange)==null||r.call(n,{nodeId:((o=n.value)==null?void 0:o.nodeId)||"",keyPath:String(s)})},placeholder:"variable name. support '.'"})]})})},_r="_line_mvkqx_2",Tt={line:_r};function Pr(n){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return!1;try{return new Function(`let ${n};`),!0}catch{return!1}}const kr="_l_1lpc6_2",Er="_r_1lpc6_11",Mr="_b_1lpc6_20",Tr="_dragBox_1lpc6_29",Ir="_selectStatus_1lpc6_36",Ne={l:kr,r:Er,b:Mr,dragBox:Tr,selectStatus:Ir},Vr=[{key:_.LogicType.ASSIGN_VALUE,name:"赋值/创建变量",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.ASSIGN_VALUE,valueType:_.AssignValueType.STATE,currentValue:"",targetValueName:""})},{key:_.LogicType.JUMP_LINK,name:"页面跳转",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.JUMP_LINK,link:""})},{key:_.LogicType.REQUEST_API,name:"请求数据",getInitData:()=>{const n=_.getRandomStr();return{id:n,type:_.LogicType.REQUEST_API,apiPath:"",method:"GET",header:{},query:{},responseVarName:`responseData_${n}`,afterSuccessResponse:[],afterFailedResponse:[{id:_.getRandomStr(),type:_.LogicType.RUN_CODE,value:'console.error("API request failed:", $$response)'}]}}},{key:_.LogicType.CALL_NODE_METHOD,name:"调用组件方法",getInitData:()=>({id:_.getRandomStr(),type:_.LogicType.CALL_NODE_METHOD,nodeId:"",methodName:"",args:[],returnVarName:""})},{key:_.LogicType.RUN_CODE,name:"运行代码",getInitData:()=>{const n=_.getRandomStr();return{id:n,type:_.LogicType.RUN_CODE,name:`run_code_${n}`,value:"console.log('hello world');"}}}],Ut=n=>{const{title:t="Next Step"}=n,[e,s]=g.useState(!1),o=i=>{s(i)},r=Vr.map(i=>a.jsx("div",{onClick:()=>{var l;s(!1),(l=n.onNewNodeAdd)==null||l.call(n,i.getInitData())},style:{padding:"10px 20px",border:"1px solid #c3c3c3b8",borderRadius:"4px",textAlign:"center",fontSize:"12px",cursor:"pointer"},children:i.name},i.key));return n.disabled?n.children:a.jsx(f.Popover,{onOpenChange:o,open:e,trigger:"hover",content:a.jsx("div",{style:{display:"flex",flexWrap:"wrap",width:"300px",gap:"8px",justifyContent:"space-between"},children:r.map(i=>a.jsx("div",{style:{flex:"0 0 calc(50% - 4px)"},children:i},i.key))}),title:t,children:n.children})},Ns=n=>a.jsx(K.Handle,{type:"target",id:ht,position:K.Position.Top,...n}),Gt=n=>a.jsx(K.Handle,{type:"source",position:K.Position.Bottom,id:Z,...n}),ke=({nodeProps:n,customHandle:t,handleNewNodeAdd:e,useCardStyle:s,outputHandle:o,inputHandle:r,...i})=>{const{data:l,isConnectable:c,selected:u}=n,d=K.useReactFlow(),p=ti(l,Z),m=h=>{const b=d.getNode(String(l.id));if(!b){console.error(`Not found node by id ${l.id}`);return}const{newEdge:x,newNode:y}=ni(b,h);d.addNodes(y),d.addEdges(x)};let v=a.jsxs(a.Fragment,{children:[r!==!1&&a.jsx(Ns,{isConnectable:c}),o!==!1&&a.jsx(Ut,{style:{position:"absolute",left:"50%",bottom:"0"},onNewNodeAdd:h=>{t||(e?e(h):m(h))},disabled:p,children:a.jsx(Gt,{isConnectable:c,style:{width:"10px",height:"10px"}})})]});return t&&(v=t),s===!1?a.jsxs("div",{className:T([u?Ne.selectStatus:""]),children:[a.jsx("div",{className:ce,children:i.children}),v]}):a.jsxs(f.Card,{...i,classNames:{header:ce},className:T([u?Ne.selectStatus:""]),styles:{body:{cursor:"default"}},extra:a.jsxs("div",{style:{display:"flex"},children:[i.extra,a.jsx("div",{className:Ne.dragBox,children:a.jsx(V.HolderOutlined,{})})]}),children:[i.children,a.jsx("div",{className:T([ce,Ne.l])}),a.jsx("div",{className:T([ce,Ne.r])}),a.jsx("div",{className:T([ce,Ne.b])}),v]})},js=g.createContext({pluginCtx:null,pageModel:null,onDataChange:()=>{},nodeModel:null}),He=()=>{const n=g.useContext(js);if(!n)throw new Error("useActionFlow must be used within ActionFlowProvider");return n},Dr="_fieldBox_1cjcm_2",Lr="_switchBtn_1cjcm_8",kn={fieldBox:Dr,switchBtn:Lr},ut=n=>{const{setterList:t,defaultSetterName:e,...s}=n,o=g.useMemo(()=>xt(t),[t]),{onSetterChange:r,defaultSetterConfig:i,pluginCtx:l,nodeId:c,customSetterMap:u}=g.useContext(we),d=[n.name],[p,m]=g.useState(()=>{var S;const y=((S=i[d.join(".")])==null?void 0:S.setter)||e||"";return[...o].find(j=>j.componentName===y)||o[0]}),v=o.map(y=>{const S=(y==null?void 0:y.componentName)||"",j={}[S];return{key:y.componentName,label:(j==null?void 0:j.setterName)||y.componentName}}),h=({key:y})=>{var j;const S=o.find(C=>C.componentName===y);S&&(m(S),r==null||r(d,S.componentName),(j=n.onSetterChange)==null||j.call(n,S.componentName))};let b=a.jsx("div",{onClick:y=>{y.preventDefault(),y.stopPropagation()},className:kn.switchBtn,children:a.jsx(f.Dropdown,{trigger:["click"],menu:{selectable:!0,items:v,onClick:h,defaultSelectedKeys:[(p==null?void 0:p.componentName)||""]},children:a.jsx(V.SwapOutlined,{})})});v.length===1&&(b=null);const x=g.useMemo(()=>{let y={...(p==null?void 0:p.props)||{},initialValue:p==null?void 0:p.initialValue};const S=o.find(j=>j.componentName===(p==null?void 0:p.componentName));return S&&(y={...y,...S.props}),y},[o,p]);return a.jsxs("div",{className:kn.fieldBox,style:{alignItems:n.labelAlign??"center"},children:[a.jsx(te,{...s,children:a.jsx(Ht,{...x,setters:o,keyPaths:d,currentSetter:p,customSetterMap:u,setCurrentSetter:m,setterContext:{pluginCtx:l,keyPaths:[n.name],label:n.label,nodeModel:l==null?void 0:l.pageModel.getNode(c)}})}),b]})},Ar=n=>{const{data:t}=n,{onDataChange:e,pageModel:s,pluginCtx:o,nodeModel:r}=He();Ae(t,_.DEV_CONFIG_KEY,{});const i=t[_.DEV_CONFIG_KEY],[l,c]=g.useState(!1),u=g.useRef(null),[d,p]=g.useState();return g.useEffect(()=>{var v;const m={id:t.id,type:t.type,valueType:t.valueType,currentValue:t.currentValue,targetValueName:t.targetValueName||""};(v=u.current)==null||v.setFields(m),p(m),c(!0)},[]),a.jsx(we.Provider,{value:{defaultSetterConfig:i.defaultSetterMap||{},formRef:u,onSetterChange:(m,v)=>{i.defaultSetterMap||(i.defaultSetterMap={}),i.defaultSetterMap[m.join(".")]={name:m.join("."),setter:v}},pluginCtx:o,nodeId:r==null?void 0:r.id,customSetterMap:{}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Assign Value",nodeProps:n,children:a.jsx(Se,{ref:u,name:"jump Link",customSetterMap:ue,onValueChange:m=>{Object.assign(t,m),p(m),e()},children:l&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:Tt.line,children:a.jsx(te,{name:"valueType",label:"Var Type",valueChangeEventName:"onChange",formatEventValue:({target:{value:m}})=>m,children:a.jsx(f.Radio.Group,{optionType:"button",buttonStyle:"solid",options:[{label:"Memory",value:_.AssignValueType.MEMORY},{label:"Node",value:_.AssignValueType.STATE}]})})}),a.jsxs("div",{className:Tt.line,children:[(d==null?void 0:d.valueType)==="STATE"&&a.jsx(te,{name:"targetValueName",label:"Var Name",valueChangeEventName:"onChange",children:a.jsx(Rr,{pageModel:s})}),(d==null?void 0:d.valueType)==="MEMORY"&&a.jsx(ut,{name:"targetValueName",label:"Var Name",labelWidth:"auto",labelAlign:"start",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",setterList:[{componentName:"TextAreaSetter",props:{valueValidator:Pr}}]})]}),a.jsx("div",{className:Tt.line,style:{minWidth:"450px"},children:a.jsx(ut,{name:"currentValue",label:"Value",labelWidth:"60px",labelAlign:"start",setterList:an})})]})})})})})},Br=n=>a.jsx(ke,{nodeProps:n,useCardStyle:!1,inputHandle:!1,children:a.jsx("div",{style:{minWidth:"100px",padding:"10px 20px",border:"1px solid #1a192b",borderRadius:"4px",textAlign:"center"},children:"Start"})}),Or="_line_mvkqx_2",Qe={line:Or};function zr(n){if(!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return!1;try{return new Function(`let ${n};`),!0}catch{return!1}}const dt="args.",$r=(n,t)=>{var e,s,o;return _.isNodeModel(n)?((o=(s=(((e=n==null?void 0:n.material)==null?void 0:e.value.methods)||[]).find(l=>l.name===t))==null?void 0:s.params)==null?void 0:o.map((l,c)=>({name:`${dt}${c}`,title:{label:l.name||`arg[${c}]`,tip:l.description},valueType:"string",setters:an})))||[]:[]},Fr=n=>Object.keys(n).map(e=>parseInt(e.replace(dt,""))).sort().map(e=>n[`${dt}${e}`]),Hr=n=>{const t={};return n.forEach((e,s)=>{t[`${dt}${s}`]=e}),t},Ur=n=>{const{data:t}=n,{pageModel:e,onDataChange:s,pluginCtx:o,nodeModel:r}=He();Ae(t,_.DEV_CONFIG_KEY,{});const i=t[_.DEV_CONFIG_KEY],l=g.useRef(null),[c,u]=g.useState();g.useEffect(()=>{var b;const h={id:t.id||"",type:t.type,nodeId:t.nodeId,methodName:t.methodName,args:t.args,returnVarName:t.returnVarName};(b=l.current)==null||b.setFields(h),u(h)},[]);const d=g.useMemo(()=>{var x;const h=e.getNode(t.nodeId);return((x=h==null?void 0:h.material)==null?void 0:x.value.methods)||[]},[t.nodeId,e]),p=g.useMemo(()=>d==null?void 0:d.map(h=>({value:h.name,label:h.title})),[d]),m=g.useMemo(()=>$r(e.getNode(c==null?void 0:c.nodeId),(c==null?void 0:c.methodName)||""),[e,c==null?void 0:c.nodeId,c==null?void 0:c.methodName]),v=(h,b)=>{i.defaultSetterMap||(i.defaultSetterMap={}),i.defaultSetterMap[h.join(".")]={name:h.join("."),setter:b}};return a.jsx(we.Provider,{value:{defaultSetterConfig:i.defaultSetterMap||{},formRef:l,onSetterChange:v,customSetterMap:{...ue}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Call Node Method",nodeProps:n,children:a.jsxs(Se,{ref:l,name:"Call Node Method",customSetterMap:ue,onValueChange:(h,b)=>{b!=null&&b.includes("nodeId")&&(h={...h,methodName:"",args:[]},setTimeout(()=>{var x;(x=l.current)==null||x.setFields({...c,...h})})),Object.assign(t,h),u(h),s()},children:[a.jsx("div",{className:Qe.line,children:a.jsx(te,{label:"组件",name:"nodeId",valueChangeEventName:"onChange",formatEventValue:h=>h.nodeId,children:a.jsx(Cs,{pageModel:e})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"methodName",label:"方法",valueChangeEventName:"onChange",children:a.jsx(f.Select,{style:{width:250},allowClear:!0,options:p})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"args",label:"参数",labelWidth:"60px",labelAlign:"start",condition:()=>!!m.length,noStyle:!0,formatEventValue:h=>Fr(h),children:a.jsx(Fe,{initialValue:Hr(t.args||[]),pluginCtx:o,nodeId:r==null?void 0:r.id,properties:m,onSetterChange:v,defaultSetterConfig:i.defaultSetterMap||{}})})}),a.jsx("div",{className:Qe.line,children:a.jsx(te,{name:"returnVarName",label:"返回值变量名",labelWidth:"80px",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",rules:[{validator:async h=>h===""?!0:zr(h)}],valueChangeEventName:"onChange",formatEventValue:h=>h.target.value,children:a.jsx(f.Input,{allowClear:!0})})})]})})})})},Gr=n=>{const{data:t}=n,{onDataChange:e}=He(),s=g.useRef(null),[o,r]=g.useState(!1);g.useEffect(()=>{var l;(l=s.current)==null||l.setFields({link:t.link}),r(!0)},[]);const i=g.useMemo(()=>_.isFunction(t.link)?"FunctionSetter":_.isExpression(t.link)?"ExpressionSetter":"TextAreaSetter",[t.link]);return a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Jump Link",nodeProps:n,children:a.jsx(Se,{ref:s,name:"jump Link",customSetterMap:ue,onValueChange:l=>{Object.assign(t,l),e()},children:o&&a.jsx(a.Fragment,{children:a.jsx(ut,{name:"link",label:"link",labelWidth:"auto",labelAlign:"start",defaultSetterName:i,setterList:an})})})})})},Wr=[{componentName:"JSONSetter",labelAlign:"start",props:{mode:"inline",lineNumbers:"off",editorOptions:{lineNumbers:"off",lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1}}},{componentName:"FunctionSetter",labelAlign:"start",props:{mode:"inline",minimap:!1,containerStyle:{paddingTop:"10px",width:"470px",height:"150px"},lineNumber:!1}}],Kr=[{value:"GET",label:"GET"},{value:"POST",label:"POST"},{value:"PUT",label:"PUT"},{value:"PATCH",label:"PATCH"},{value:"DELETE",label:"DELETE"}],qr="_line_mvkqx_2",Ze={line:qr},Jr=n=>{var j;const{data:t,isConnectable:e}=n,{onDataChange:s,pluginCtx:o}=He(),r=o.config||{},i=g.useMemo(()=>{var C,P;return(C=r.requestAPINode)!=null&&C.customAPIInput?(P=r.requestAPINode)==null?void 0:P.customAPIInput:f.Input},[(j=r.requestAPINode)==null?void 0:j.customAPIInput]),l=K.useReactFlow();Ae(t,_.DEV_CONFIG_KEY,{});const c=t[_.DEV_CONFIG_KEY],u=g.useRef(null),[d,p]=g.useState(),m=C=>l.getEdges().some(N=>N.source===String(t.id)&&(N.sourceHandle||Z)===C),v=m(Z),h=m(Pe);g.useEffect(()=>{var P;const C={id:t.id,type:t.type,apiPath:t.apiPath,body:t.body,query:t.query,header:t.header,method:t.method||"GET",responseVarName:t.responseVarName||"",afterSuccessResponse:t.afterSuccessResponse||[],afterFailedResponse:t.afterFailedResponse||[]};(P=u.current)==null||P.setFields(C),p(C)},[]);const b=g.useMemo(()=>({updateFields:C=>{var N;const P={...d,...C};(N=u.current)==null||N.setFields({...P}),p(P)},getFields:()=>{var C;return(C=u.current)==null?void 0:C.getFieldsValue()}}),[d]),x=(C,P)=>{c.defaultSetterMap||(c.defaultSetterMap={}),c.defaultSetterMap[C.join(".")]={name:C.join("."),setter:P}},y=g.useMemo(()=>[{key:"header",label:"Header"},{key:"query",label:"Query"},{key:"body",label:"Body"}].map(N=>({...N,disabled:N.key==="body"&&(d==null?void 0:d.method)==="GET",children:a.jsx("div",{className:Ze.line,children:a.jsx(ut,{name:N.key,hiddenLabel:!0,labelAlign:"start",setterList:Wr})})})),[d]),S=(C,P)=>{var z,q;const N=l.getNode(String(t.id));if(!N)return;let k=0;P!==Z&&(k=(((z=N.measured)==null?void 0:z.width)??0)+150);const E={x:N.position.x+k,y:N.position.y+(((q=N.measured)==null?void 0:q.height)??0)+150},H={id:C.id,type:C.type,position:E,dragHandle:`.${ce}`,data:{...C}},O={id:`${t.id}_${H.id}`,source:String(t.id),sourceHandle:P,target:H.id,targetHandle:ht};l.addNodes(H),l.addEdges(O),P===Z?(t.afterSuccessResponse||(t.afterSuccessResponse=[]),t.afterSuccessResponse.push(C)):(t.afterFailedResponse||(t.afterFailedResponse=[]),t.afterFailedResponse.push(C))};return a.jsx(we.Provider,{value:{defaultSetterConfig:c.defaultSetterMap||{},formRef:u,onSetterChange:x,customSetterMap:{...ue}},children:a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Request Data",customHandle:a.jsxs(a.Fragment,{children:[a.jsx(Ns,{type:"target",isConnectable:e}),a.jsx(Ut,{style:{position:"absolute",left:"50%",bottom:"0"},title:"请求成功时",onNewNodeAdd:C=>S(C,Z),disabled:v,children:a.jsx(Gt,{isConnectable:e,style:{width:"10px",height:"10px",background:"#8BC34A"}})}),a.jsx(Ut,{title:"请求异常时",onNewNodeAdd:C=>S(C,Pe),disabled:h,children:a.jsx(Gt,{style:{left:"75%",bottom:"0",width:"10px",height:"10px",background:"#ff4d4f"},id:Pe,isConnectable:e})})]}),nodeProps:n,handleNewNodeAdd:()=>{},children:a.jsx("div",{style:{width:"500px"},children:a.jsxs(Se,{name:"requestAPI",ref:u,customSetterMap:ue,onValueChange:C=>{p(C),Object.assign(t,C),s()},children:[a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"API",name:"apiPath",valueChangeEventName:"onChange",formatEventValue:C=>C.target.value,children:a.jsx(i,{form:b})})}),a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"请求方法",name:"method",valueChangeEventName:"onChange",children:a.jsx(f.Select,{defaultValue:"GET",style:{width:230},options:Kr})})}),a.jsx("div",{className:Ze.line,children:a.jsx(te,{label:"返回值变量",name:"responseVarName",tips:"变量名必须以字母(a-z、A-Z)、下划线(_)或美元符号($)开头。后续字符可以是字母、数字(0-9)、下划线或美元符号。变量名不能是保留关键字(例如 if、while 等)",valueChangeEventName:"onChange",formatEventValue:C=>C.target.value,children:a.jsx(f.Input,{})})}),a.jsx(f.Tabs,{defaultActiveKey:(d==null?void 0:d.method)==="POST"?"body":"query",items:y})]})})})})})},Xr=n=>{const{data:t}=n;Ae(t,_.DEV_CONFIG_KEY,{});const{onDataChange:e,pluginCtx:s,nodeModel:o}=He();return a.jsx("div",{style:{minHeight:"80px",minWidth:"100px"},children:a.jsx(ke,{title:"Run Code",nodeProps:n,children:a.jsx(sn,{mode:"inline",initialValue:t.value,containerStyle:{paddingTop:"10px",width:"600px",height:"300px"},onValueChange:r=>{t.value=r.value,e()},setterContext:{pluginCtx:s,setCollapseHeaderExt:void 0,onSetterChange:function(){},keyPaths:[],label:"",nodeModel:o}})})})};var X=(n=>(n.START_NODE="START_NODE",n[n.JUMP_LINK=_.LogicType.JUMP_LINK]="JUMP_LINK",n[n.ASSIGN_VALUE=_.LogicType.ASSIGN_VALUE]="ASSIGN_VALUE",n[n.CALL_NODE_METHOD=_.LogicType.CALL_NODE_METHOD]="CALL_NODE_METHOD",n[n.RUN_CODE=_.LogicType.RUN_CODE]="RUN_CODE",n[n.REQUEST_API=_.LogicType.REQUEST_API]="REQUEST_API",n))(X||{});const Yr={START_NODE:Br,[X.JUMP_LINK]:Gr,[X.ASSIGN_VALUE]:Ar,[X.CALL_NODE_METHOD]:Ur,[X.RUN_CODE]:Xr,[X.REQUEST_API]:Jr},Qr=(n,t,e)=>{const s=new fn.graphlib.Graph().setDefaultEdgeLabel(()=>({}));return s.setGraph({rankdir:e.direction}),t.forEach(o=>s.setEdge(o.source,o.target)),n.forEach(o=>{var r,i;return s.setNode(o.id,{...o,width:((r=o.measured)==null?void 0:r.width)??0,height:((i=o.measured)==null?void 0:i.height)??0})}),fn.layout(s),{nodes:n.map(o=>{var c,u;const r=s.node(o.id),i=r.x-(((c=o.measured)==null?void 0:c.width)??0)/2,l=r.y-(((u=o.measured)==null?void 0:u.height)??0)/2;return{...o,position:{x:i,y:l}}}),edges:t}},En=n=>{const t=n.id||_.getRandomStr();return{id:t,type:n.type,position:{x:0,y:0},dragHandle:`.${ce}`,selectable:n.type!==X.START_NODE,data:{...n,id:t}}},et=(n,t,e=Z)=>({id:`${n}_${t}`,source:n,sourceHandle:e,target:t,targetHandle:ht}),Zr=n=>{var r;const t=[En({id:X.START_NODE,type:X.START_NODE})],e=[];if(!((r=n==null?void 0:n.handler)!=null&&r.length))return{nodes:t,edges:e};const s=(i,l)=>{i.forEach(c=>{var d,p;const u=En(c);t.push(u),c.next&&e.push(et(c.id,String(c.next),l==null?void 0:l.sourceHandler)),c.type==="REQUEST_API"&&((d=c.afterSuccessResponse)!=null&&d.length&&(e.push(et(c.id,String(c.afterSuccessResponse[0].id))),s(c.afterSuccessResponse)),(p=c.afterFailedResponse)!=null&&p.length&&(e.push(et(c.id,String(c.afterFailedResponse[0].id),Pe)),s(c.afterFailedResponse,{sourceHandler:Pe})))})},o=n.handler[0];return e.push(et(X.START_NODE,o.id)),s(n.handler),{nodes:t,edges:e}},ei=n=>{const{nodes:t,edges:e}=n,s={type:"ACTION",handler:[]},o=t.find(u=>u.type===X.START_NODE);if(!o)return s;const r=new Map(t.map(u=>[u.id,u])),i=new Set,l=u=>{if(i.has(u))return[];i.add(u);const d=r.get(u);if(!d)return[];const p=[],m={...d.data,id:u};if(d.type==="REQUEST_API"){const h=e.filter(x=>x.source===u&&x.sourceHandle===Z).map(x=>l(x.target)).flat(),b=e.filter(x=>x.source===u&&x.sourceHandle===Pe).map(x=>l(x.target)).flat();return m.afterSuccessResponse=h,m.afterFailedResponse=b,p.push(m),p}p.push(m);const v=e.filter(h=>h.source===u&&h.sourceHandle===Z);if(v.length>1)throw f.message.error("不允许存在一个节点连接多个节点"),new Error("不允许存在一个节点连接多个节点");return v.length!==0&&v.forEach(h=>{var x;const b=l(h.target);p.push(...b),m.next=((x=b[0])==null?void 0:x.id)??null}),p},c=l(o.id);return c.shift(),s.handler=c,s},an=["StringSetter","NumberSetter","ExpressionSetter","JSONSetter",{componentName:"FunctionSetter",props:{mode:"inline",minimap:!1,lineNumber:!1,containerStyle:{width:"500px",height:"250px"}}}],ti=function(n,t){return K.useReactFlow().getEdges().some(o=>o.source===String(n.id)&&(o.sourceHandle||Z)===t)},ni=function(n,t,e){var i;const s={x:n.position.x,y:n.position.y+(((i=n.measured)==null?void 0:i.height)??0)+150},o={id:t.id,type:t.type,position:s,dragHandle:`.${ce}`,data:{...t}};return{newEdge:{id:`${n.data.id}_${o.id}`,source:String(n.data.id),sourceHandle:Z,target:o.id,targetHandle:ht},newNode:o}},si=n=>{var y,S,j;const{fitView:t}=K.useReactFlow(),[e,s]=g.useState(!1),[o,r,i]=K.useNodesState([{id:X.START_NODE,data:{id:X.START_NODE},position:{x:0,y:0},type:X.START_NODE,dragHandle:`.${ce}`,selectable:!1}]),[l,c,u]=K.useEdgesState([]),d=g.useRef([]);d.current=l;const p=g.useCallback(C=>c(P=>K.addEdge({...C},P)),[c]),m=g.useRef([]);m.current=o;const[v,h]=g.useState(!1),b=g.useCallback(C=>{const P=Qr(m.current,l,{direction:"TB"});r([...P.nodes]),c([...P.edges]),setTimeout(()=>{s(!0),(C==null?void 0:C.fitView)!==!1&&t({})})},[l,t,c,r]);g.useEffect(()=>{const{nodes:C,edges:P}=Zr(n.value);r(C),c(P),setTimeout(()=>{h(!0)},300)},[n.value,c,r]);const x=g.useCallback(()=>{setTimeout(()=>{var P;const C=ei({nodes:m.current,edges:d.current});(P=n.onValueChange)==null||P.call(n,C)})},[n]);return a.jsx(js.Provider,{value:{pluginCtx:(y=n.setterContext)==null?void 0:y.pluginCtx,pageModel:(j=(S=n.setterContext)==null?void 0:S.pluginCtx)==null?void 0:j.pageModel,onDataChange:x,nodeModel:n.setterContext.nodeModel},children:a.jsx("div",{style:{width:"100%",height:"100%",display:"flex",position:"relative"},children:a.jsxs("div",{style:{flex:1,position:"relative"},children:[a.jsx(f.Button,{style:{position:"absolute",top:"10px",right:"20px",zIndex:99},onClick:()=>b({fitView:!1}),children:"Reset Layout"}),!e&&a.jsx("div",{style:{position:"absolute",left:0,top:0,width:"100%",height:"100%",backgroundColor:"white",zIndex:999}}),v&&a.jsxs(K.ReactFlow,{nodes:o,edges:l,onNodesChange:C=>{i(C),x()},onEdgesChange:C=>{u(C),x()},onConnect:C=>{p(C),x()},defaultEdgeOptions:{type:"smoothstep"},minZoom:.2,maxZoom:1,onInit:()=>{b()},fitView:!0,nodeTypes:Yr,children:[a.jsx(K.Background,{}),a.jsx(K.Controls,{}),a.jsx(K.MiniMap,{})]})]})})})},on=n=>{const[t,e]=g.useState(!1),s=g.useRef(n.value),o=async i=>{var c,u,d;const l=await((d=(u=(c=n.setterContext)==null?void 0:c.pluginCtx)==null?void 0:u.pluginManager)==null?void 0:d.get("Hotkeys"));l==null||l.export.disable(i)},r=n.children||a.jsx(f.Button,{size:"small",style:{marginTop:"5px",width:"100%",color:"#676767",fontSize:"12px"},children:"Edit Flow"});return a.jsxs(a.Fragment,{children:[a.jsx("div",{onClick:async()=>{await o(!0),e(!0)},children:r}),a.jsx(us,{destroyOnClose:!0,open:t,centered:!0,title:"Edit Flow",width:"calc(100vw - 200px)",onCancel:()=>{e(!1),o(!1)},onOk:async()=>{var i;(i=n.onValueChange)==null||i.call(n,s.current),await o(!1),e(!1)},children:a.jsx("div",{style:{width:"100%",height:"calc(100vh - 200px)"},children:a.jsx(K.ReactFlowProvider,{children:a.jsx(si,{...n,onValueChange:i=>{s.current=i}})})})})]})};on.setterName="逻辑流设置器";const ai={ActionFlowSetter:on},oi="_CFromRenderBox_cxwow_2",ri={CFromRenderBox:oi},ii=n=>{var c,u,d;const{node:t}=n,e=((c=t==null?void 0:t.material)==null?void 0:c.value.props)||[],s=g.useRef(null);g.useEffect(()=>{const p=()=>{var v,h;const m=((v=t==null?void 0:t.getPlainProps)==null?void 0:v.call(t))||{};(h=s.current)==null||h.setFields(m)};return p(),t==null||t.emitter.on("onNodeChange",p),()=>{t==null||t.emitter.off("onNodeChange",p)}},[t]);const o=((u=t==null?void 0:t.getPlainProps)==null?void 0:u.call(t))||{},r=p=>{t==null||t.updateValue({props:p})},i=(p,m)=>{t&&(t.value.configure=t.value.configure||{},t.value.configure.propsSetter=t.value.configure.propsSetter||{},t.value.configure.propsSetter[p.join(".")]={name:p.join("."),setter:m})},l=(d=n.pluginCtx.config)==null?void 0:d.customPropertySetterMap;return a.jsx("div",{className:ri.CFromRenderBox,children:a.jsx(Fe,{pluginCtx:n.pluginCtx,nodeId:t==null?void 0:t.id,defaultSetterConfig:(t==null?void 0:t.value.configure.propsSetter)||{},onSetterChange:i,properties:e,initialValue:o,ref:s,customSetterMap:{...ai,...l},onValueChange:r},t==null?void 0:t.id)})},rn={key:"Property",name:"Property",view:({node:n,pluginCtx:t})=>a.jsx(ii,{node:n,pluginCtx:t}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.property)!==!1}},ln=n=>{const t=n.node,e=t.value.state||{},s=g.useRef(null);g.useEffect(()=>{var i;const r=t.value.state||{};(i=s==null?void 0:s.current)==null||i.setValue(JSON.stringify(r,null,2))},[t]);const o=r=>{try{const i=JSON.parse(r||"{}");t.value.state=i,t.updateValue()}catch(i){console.warn(i)}};return a.jsx(a.Fragment,{children:a.jsx(xe,{initialValue:JSON.stringify(e,null,2),language:"json",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:!1},quickSuggestions:!1,suggestOnTriggerCharacters:!1,folding:!1},onDidMount:r=>{s.current=r},onChange:o})})},cn={key:"State",name:"State",view:({node:n,pluginCtx:t})=>n?a.jsx(ln,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.state)!==!1}},li="_advanceBox_9o3af_2",ci={advanceBox:li},ui=[{name:"id",title:{label:"id",tip:"node unique id"},valueType:"string",setters:[{componentName:"StringSetter",props:{disabled:!0,variant:"borderless"}}]},{name:"condition",title:{label:"Render",tip:"controller component render"},valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]},{name:"loop",title:"loop render",valueType:"object",setters:[{componentName:"ShapeSetter",props:{collapse:{open:!0},elements:[{name:"open",title:"open",valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]},{name:"data",title:"data",valueType:"array",setters:[{componentName:"ArraySetter",initialValue:[],props:{item:{setters:["JSONSetter","ExpressionSetter"],initialValue:{}}}},"JSONSetter","ExpressionSetter"]},{name:"forName",title:{label:"name",tip:"loop element name"},valueType:"string",setters:["StringSetter"]},{name:"forIndex",title:{label:"index",tip:"loop element index"},valueType:"string",setters:["StringSetter"]},{name:"key",title:{label:"key",tip:"loop element key"},valueType:"expression",setters:["ExpressionSetter"]},{name:"name",title:{label:`variable
|
|
145
|
+
name`,tip:"loop variable name"},valueType:"string",setters:[{componentName:"StringSetter",props:{prefix:"loopData"}}]}]},initialValue:{open:!1,data:[]}}]},{name:"refId",title:{label:"refId",tip:"unique node flag"},valueType:"string",setters:["StringSetter"]},{name:"nodeName",title:{label:a.jsxs(a.Fragment,{children:["node ",a.jsx("br",{})," name"]}),tip:"alias for node"},valueType:"string",setters:["StringSetter"]}],un=n=>{var i,l,c,u,d,p,m,v,h,b,x;const{node:t}=n,e=g.useMemo(()=>{var C,P,N,k,E,H,O,z,q;let y=ui;return!!((k=(N=(P=(C=t==null?void 0:t.material)==null?void 0:C.value.advanceCustom)==null?void 0:P.rightPanel)==null?void 0:N.advanceOptions)!=null&&k.loop)||!((E=t==null?void 0:t.material)!=null&&E.value.isContainer)||(y=y.filter(L=>(L==null?void 0:L.name)!=="loop")),!!((q=(z=(O=(H=t==null?void 0:t.material)==null?void 0:H.value.advanceCustom)==null?void 0:O.rightPanel)==null?void 0:z.advanceOptions)!=null&&q.render)||(y=y.filter(L=>(L==null?void 0:L.name)!=="condition")),y},[(u=(c=(l=(i=t==null?void 0:t.material)==null?void 0:i.value.advanceCustom)==null?void 0:l.rightPanel)==null?void 0:c.advanceOptions)==null?void 0:u.loop,(v=(m=(p=(d=t==null?void 0:t.material)==null?void 0:d.value.advanceCustom)==null?void 0:p.rightPanel)==null?void 0:m.advanceOptions)==null?void 0:v.render,(h=t==null?void 0:t.material)==null?void 0:h.value.isContainer]),s=(y,S)=>{t&&(t.value.configure=t.value.configure||{},t.value.configure.advanceSetter=t.value.configure.advanceSetter||{},t.value.configure.advanceSetter[y.join(".")]={name:y.join("."),setter:S})},o=g.useRef(null);g.useEffect(()=>{var j;const y=t==null?void 0:t.value.loop,S={id:t==null?void 0:t.id,condition:(t==null?void 0:t.value.condition)??!0,loop:{open:(y==null?void 0:y.open)||!1,data:(y==null?void 0:y.data)||[],forName:(y==null?void 0:y.forName)||"item",forIndex:(y==null?void 0:y.forIndex)||"index",key:(y==null?void 0:y.key)||"",name:(y==null?void 0:y.name)||""},refId:t==null?void 0:t.value.refId,nodeName:t==null?void 0:t.value.nodeName};(j=o.current)==null||j.setFields(S)},[t]);const r=y=>{t&&(t.value.loop=y.loop,t.value.condition=y.condition,t.value.refId=y.refId,t.value.nodeName=y.nodeName,t.updateValue())};return t?a.jsx("div",{className:ci.advanceBox,children:a.jsx(Fe,{nodeId:(b=n.node)==null?void 0:b.id,pluginCtx:n.pluginCtx,defaultSetterConfig:((x=t.value.configure)==null?void 0:x.advanceSetter)||{},onSetterChange:s,properties:e,initialValue:{},ref:o,onValueChange:r},t.id)}):a.jsx(a.Fragment,{})},dn={key:"Advance",name:"Advance",view:({node:n,pluginCtx:t})=>n?a.jsx(un,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.advance)!==!1}},di="_rightPanelContainer_313cp_2",gi={rightPanelContainer:di},pi="_visualPanelBox_6q12v_2",mi="_header_6q12v_5",Mn={visualPanelBox:pi,header:mi},hi="_cssFieldBox_16chi_2",fi="_row_16chi_9",xi="_fieldLabel_16chi_14",vi="_leftBox_16chi_20",yi="_rightBox_16chi_23",bi="_inputBox_16chi_26",Si="_cssBox_16chi_30",oe={cssFieldBox:hi,row:fi,fieldLabel:xi,leftBox:vi,rightBox:yi,inputBox:bi,cssBox:Si},wi={cssKeyValue:{"align-content":{values:["center","flex-end","flex-start","space-around","space-between","stretch"]},"align-items":{values:["baseline","center","flex-end","flex-start","stretch"]},"align-self":{values:["auto","normal","self-start","self-end","baseline","center","start","end","flex-end","flex-start","safe","stretch","unsafe"]},all:{values:[]},animation:{values:[]},"animation-delay":{values:[]},"animation-direction":{values:["alternate","alternate-reverse","normal","reverse"]},"animation-duration":{values:[]},"animation-fill-mode":{values:["backwards","both","forwards","none"]},"animation-iteration-count":{values:["infinite"]},"animation-name":{values:["none"]},"animation-play-state":{values:["paused","running"]},"animation-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"backface-visibility":{values:["hidden","visible"]},background:{values:[],type:"color"},"background-attachment":{values:["fixed","local","scroll"]},"background-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"background-clip":{values:["border-box","content-box","padding-box"]},"background-color":{values:[],type:"color"},"background-image":{values:["image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()","url()"]},"background-origin":{values:["border-box","content-box","padding-box"]},"background-position":{values:["left","center","right","bottom","top"]},"background-repeat":{values:["no-repeat","repeat","repeat-x","repeat-y","round","space"]},"background-size":{values:["auto","contain","cover"]},border:{values:[]},"border-collapse":{values:["collapse","separate"]},"border-color":{values:[],type:"color"},"border-spacing":{values:[]},"border-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom":{values:[]},"border-bottom-color":{values:[],type:"color"},"border-bottom-left-radius":{values:[]},"border-bottom-right-radius":{values:[]},"border-bottom-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-bottom-width":{values:["medium","thin","thick"]},"border-image":{values:["url()"]},"border-image-outset":{values:[]},"border-image-slice":{values:[]},"border-image-source":{values:[]},"border-image-repeat":{values:["repeat","round","space","stretch"]},"border-image-width":{values:["auto"]},"border-left":{values:[]},"border-left-color":{values:[],type:"color"},"border-left-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-left-width":{values:["medium","thin","thick"]},"border-radius":{values:[]},"border-right":{values:[]},"border-right-color":{values:[],type:"color"},"border-right-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-right-width":{values:["medium","thin","thick"]},"border-top":{values:[]},"border-top-color":{values:[],type:"color"},"border-top-left-radius":{values:[]},"border-top-right-radius":{values:[]},"border-top-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"border-top-width":{values:["medium","thin","thick"]},"border-width":{values:["medium","thin","thick"]},"box-decoration-break":{values:["clone","slice"]},"box-shadow":{values:["none"]},"box-sizing":{values:["border-box","content-box"]},bottom:{values:["auto"]},"break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"caption-side":{values:["bottom","top"]},"caret-color":{values:["auto"],type:"color"},clear:{values:["both","left","none","right"]},clip:{values:["auto"]},color:{values:[],type:"color"},columns:{values:[]},"column-count":{values:[]},"column-fill":{values:["auto","balance"]},"column-gap":{values:["normal"]},"column-rule":{values:[]},"column-rule-color":{values:[],type:"color"},"column-rule-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"column-rule-width":{values:["medium","thin","thick"]},"column-span":{values:["all","none"]},"column-width":{values:["auto"]},content:{values:["attr()","close-quote","no-close-quote","no-open-quote","normal","none","open-quote"]},"counter-increment":{values:["none"]},"counter-reset":{values:["none"]},cursor:{values:["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","n-resize","ne-resize","nesw-resize","no-drop","none","not-allowed","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","s-resize","se-resize","sw-resize","text","vertical-text","w-resize","wait","zoom-in","zoom-out"]},direction:{values:["ltr","rtl"]},display:{values:["block","contents","flex","flow-root","grid","inline","inline-block","inline-flex","inline-grid","inline-table","list-item","none","run-in","subgrid","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group"]},"empty-cells":{values:["hide","show"]},fill:{values:[]},filter:{values:["blur()","brightness()","contrast()","custom()","drop-shadow()","grayscale()","hue-rotate()","invert()","none","opacity()","sepia()","saturate()","url()"]},flex:{values:["auto","none"]},"flex-basis":{values:["auto"]},"flex-direction":{values:["column","column-reverse","row","row-reverse"]},"flex-flow":{values:["column","column-reverse","nowrap","row","row-reverse","wrap","wrap-reverse"]},"flex-grow":{values:[]},"flex-shrink":{values:[]},"flex-wrap":{values:["nowrap","wrap","wrap-reverse"]},float:{values:["left","right","none","inline-start","inline-end"]},"flow-into":{values:["none"],type:"named-flow"},"flow-from":{values:["none"],type:"named-flow"},font:{values:[]},"font-display":{values:["auto","block","swap","fallback","optional"]},"font-family":{values:["auto","cursive","fantasy","monospace","sans-serif","serif"]},"font-feature-settings":{values:["normal"]},"font-kerning":{values:["auto","none","normal"]},"font-language-override":{values:["normal"]},"font-size":{values:["xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]},"font-size-adjust":{values:["auto","none"]},"font-stretch":{values:["condensed","expanded","extra-condensed","extra-expanded","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded"]},"font-style":{values:["italic","normal","oblique"]},"font-synthesis":{values:["none","style","weight"]},"font-variant":{values:["normal","small-caps"]},"font-variant-alternates":{values:["normal"]},"font-variant-caps":{values:["normal","small-caps","all-small-caps","petite-caps","all-petite-caps","unicase","titling-caps"]},"font-variant-east-asian":{values:["normal"]},"font-variant-ligatures":{values:["normal","none"]},"font-variant-numeric":{values:["normal"]},"font-variant-position":{values:["normal","sub","super"]},"font-weight":{values:["bold","bolder","lighter","normal","100","200","300","400","500","600","700","800","900"]},gap:{values:["revert-layer"]},grid:{values:[]},"grid-area":{values:[]},"grid-auto-columns":{values:[]},"grid-auto-flow":{values:["row","column","dense"]},"grid-auto-rows":{values:[]},"grid-column":{values:["auto"]},"grid-column-end":{values:[]},"grid-column-gap":{values:[]},"grid-column-start":{values:[]},"grid-gap":{values:[]},"grid-row":{values:["auto"]},"grid-row-end":{values:[]},"grid-row-start":{values:[]},"grid-row-gap":{values:[]},"grid-template":{values:["none"]},"grid-template-areas":{values:[]},"grid-template-columns":{values:["auto"]},"grid-template-rows":{values:["auto"]},"hanging-punctuation":{values:["allow-end","first","force-end","last","none"]},height:{values:["auto","max-content","min-content","fit-content"]},hyphens:{values:["auto","manual","none"]},"image-orientation":{values:[]},"image-resolution":{values:["from-image","snap"]},isolation:{values:["auto","isolate"]},"justify-content":{values:["center","flex-end","flex-start","space-around","space-between"]},"justify-items":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe","legacy"]},"justify-self":{values:["auto","normal","stretch","center","start","end","flex-start","flex-end","self-start","self-end","left","right","baseline","first","last","safe","unsafe"]},left:{values:["auto"]},"letter-spacing":{values:["normal"]},"line-height":{values:["normal"]},"list-style":{values:["none","url()","armenian","circle","decimal","decimal-leading-zero","disc","georgian","inside","lower-alpha","lower-greek","lower-latin","lower-roman","outside","square","upper-alpha","upper-latin","upper-roman"]},"list-style-image":{values:["none","url()"]},"list-style-position":{values:["inside","outside"]},"list-style-type":{values:["armenian","circle","decimal","decimal-leading-zero","disc","georgian","lower-alpha","lower-greek","lower-latin","lower-roman","none","square","upper-alpha","upper-latin","upper-roman"]},margin:{values:["auto"]},"margin-bottom":{values:["auto"]},"margin-left":{values:["auto"]},"margin-right":{values:["auto"]},"margin-top":{values:["auto"]},"max-height":{values:["none"]},"max-width":{values:["none"]},"min-height":{values:[]},"min-width":{values:[]},"mix-blend-mode":{values:["color","color-burn","color-dodge","darken","difference","exclusion","hard-light","hue","lighten","luminosity","multiply","normal","overlay","saturation","screen","soft-light"]},"object-fit":{values:["contain","cover","fill","none","scale-down"]},"object-position":{values:["left","center","right","bottom","top"]},opacity:{values:[]},order:{values:[]},orphans:{values:[]},outline:{values:[]},"outline-color":{values:["invert"],type:"color"},"outline-offset":{values:[]},"outline-style":{values:["dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"]},"outline-width":{values:["medium","thin","thick"]},overflow:{values:["auto","hidden","scroll","visible"]},"overflow-x":{values:["auto","hidden","scroll","visible"]},"overflow-y":{values:["auto","hidden","scroll","visible"]},"overflow-wrap":{values:["normal","anywhere","break-word"]},padding:{values:[]},"padding-bottom":{values:[]},"padding-left":{values:[]},"padding-right":{values:[]},"padding-top":{values:[]},"page-break-after":{values:["always","auto","avoid","left","right"]},"page-break-before":{values:["always","auto","avoid","left","right"]},"page-break-inside":{values:["auto","avoid"]},perspective:{values:["none"]},"perspective-origin":{values:["bottom","center","left","right","top"]},"pointer-events":{values:["all","auto","fill","none","painted","stroke","visible","visibleFill","visiblePainted","visibleStroke"]},position:{values:["absolute","fixed","relative","static","sticky"]},quotes:{values:["none"]},"region-break-after":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-before":{values:["always","auto","avoid","avoid-column","avoid-page","avoid-region","column","left","page","region","right"]},"region-break-inside":{values:["auto","avoid","avoid-column","avoid-page","avoid-region"]},"region-fragment":{values:["auto","break"]},resize:{values:["both","horizontal","none","vertical"]},right:{values:["auto"]},"scroll-behavior":{values:["auto","smooth"]},"scroll-snap-type":{values:["none","x","y","block","inline","both","mandatory","proximity"]},src:{values:["url()"]},"shape-image-threshold":{values:[]},"shape-inside":{values:["auto","circle()","ellipse()","outside-shape","polygon()","rectangle()"]},"shape-margin":{values:[]},"shape-outside":{values:["none","circle()","ellipse()","polygon()","inset()","margin-box","border-box","padding-box","content-box","url()","image()","linear-gradient()","radial-gradient()","repeating-linear-gradient()","repeating-radial-gradient()"]},"tab-size":{values:[]},"table-layout":{values:["auto","fixed"]},"text-align":{values:["start","end","center","left","justify","right","match-parent","justify-all"]},"text-align-last":{values:["center","left","justify","right"]},"text-decoration":{values:["line-through","none","overline","underline"]},"text-decoration-color":{values:[],type:"color"},"text-decoration-line":{values:["line-through","none","overline","underline"]},"text-decoration-skip":{values:["edges","ink","none","objects","spaces"]},"text-decoration-style":{values:["dashed","dotted","double","solid","wavy"]},"text-emphasis":{values:[]},"text-emphasis-color":{values:[],type:"color"},"text-emphasis-position":{values:["above","below","left","right"]},"text-emphasis-style":{values:["circle","dot","double-circle","filled","none","open","sesame","triangle"]},"text-indent":{values:[]},"text-justify":{values:["auto","none","inter-word","inter-character"]},"text-overflow":{values:["clip","ellipsis"]},"text-shadow":{values:[]},"text-rendering":{values:["auto","geometricPrecision","optimizeLegibility","optimizeSpeed"]},"text-transform":{values:["capitalize","full-width","lowercase","none","uppercase"]},"text-underline-position":{values:["alphabetic","auto","below","left","right"]},top:{values:["auto"]},transform:{values:["matrix()","matrix3d()","none","perspective()","rotate()","rotate3d()","rotateX()","rotateY()","rotateZ()","scale()","scale3d()","scaleX()","scaleY()","scaleZ()","skewX()","skewY()","translate()","translate3d()","translateX()","translateY()","translateZ()"]},"transform-origin":{values:["bottom","center","left","right","top"]},"transform-style":{values:["flat","preserve-3d"]},transition:{values:[]},"transition-delay":{values:[]},"transition-duration":{values:[]},"transition-property":{values:["all","none"]},"transition-timing-function":{values:["cubic-bezier()","ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start","steps()"]},"unicode-bidi":{values:["bidi-override","embed","normal"]},"unicode-range":{values:[]},"user-select":{values:["all","auto","contain","none","text"]},"vertical-align":{values:["baseline","bottom","middle","sub","super","text-bottom","text-top","top"]},visibility:{values:["collapse","hidden","visible"]},"white-space":{values:["normal","nowrap","pre","pre-line","pre-wrap"]},widows:{values:[]},width:{values:["auto","max-content","min-content","fit-content"]},"will-change":{values:["auto","contents","opacity","scroll-position"]},"word-break":{values:["normal","break-all","keep-all"]},"word-spacing":{values:["normal"]},"z-index":{values:["auto"]}}},Ci=Object.keys(wi.cssKeyValue),Rs=g.createContext({defaultSetterConfig:{},customSetterMap:{}}),Ni=()=>g.useContext(Rs),It=Ci.map(n=>({value:n})),Tn=g.forwardRef(function(t,e){var b,x;const[s,o]=g.useState(""),r=Ni(),{mod:i="create"}=t,[l,c]=g.useState({property:((b=t.value)==null?void 0:b.property)||"",value:((x=t.value)==null?void 0:x.value)||""});g.useEffect(()=>{t.value&&c(t.value)},[t.value]);const[u,d]=g.useState(It),p=y=>{const S=It.filter(j=>j.value.includes(y));d(y?S:It)},m=y=>{t.onValueChange({...y})},v=g.useRef(null);g.useImperativeHandle(e,()=>({reset:()=>{var y;c({property:"",value:{type:_.CNodePropsTypeEnum.EXPRESSION,value:""}}),(y=v.current)==null||y.focus()}}),[]);const h=()=>{var S,j;if(l.property===""){o("error");return}o("");const y=(S=t.onCreate)==null?void 0:S.call(t,l);(j=y==null?void 0:y.errorKey)!=null&&j.includes("key")&&o("error")};return a.jsx(a.Fragment,{children:a.jsxs("div",{className:oe.cssFieldBox,children:[a.jsxs("div",{className:oe.leftBox,children:[a.jsxs("div",{className:oe.row,children:[a.jsx("span",{className:oe.fieldLabel,children:"Name"}),a.jsx(f.AutoComplete,{status:s,disabled:i==="edit",ref:v,onSearch:p,popupMatchSelectWidth:200,value:l.property,onChange:y=>{o("");const S={...l,property:y};c(S),m(S)},className:T([oe.inputBox]),onBlur:()=>{m(l)},placeholder:"property",options:u})]}),i==="create"&&a.jsx("div",{children:a.jsx(f.Button,{size:"small",block:!0,icon:a.jsx(V.PlusOutlined,{style:{fontSize:"12px",display:"inline-flex"}}),onClick:h})}),i!=="create"&&a.jsxs("div",{className:oe.row,children:[a.jsx("span",{className:oe.fieldLabel,children:"Value"}),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{style:{width:"100%"},children:a.jsx(nn,{value:l.value,setterContext:{pluginCtx:r.pluginCtx,setCollapseHeaderExt:void 0,onSetterChange:function(){},keyPaths:[],label:"",nodeModel:r.nodeModel},onValueChange:function(y){const S={...l,value:y};console.log("newVal",S),c(S),m(S)},mode:"modal"})})})]})]}),a.jsx("div",{className:oe.rightBox,children:a.jsx("div",{style:{height:"30px"},children:t.onDelete&&i==="edit"&&a.jsx(f.Button,{size:"small",type:"text",onClick:()=>{var y;(y=t.onDelete)==null||y.call(t)},children:a.jsx(V.MinusOutlined,{style:{display:"inline-flex",fontSize:"12px"}})})})})]})})}),_s=g.forwardRef(function(t,e){const[s,o]=g.useState([]);g.useImperativeHandle(e,()=>({setValue:u=>{o(u)}}),[]),g.useEffect(()=>{t.initialValue&&o(t.initialValue)},[]);const[r,i]=g.useState({property:"",value:{type:"EXPRESSION",value:""}}),l=u=>{var d;(d=t.onValueChange)==null||d.call(t,u)},c=g.useRef(null);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsxs("div",{className:oe.cssBox,children:[s.map((u,d)=>a.jsx("div",{children:a.jsx(Tn,{value:u,mod:"edit",onValueChange:p=>{if(p.property===""){s.splice(d,1),o([...s]);return}s[d]=p,o([...s]),l(s)},onDelete:()=>{s.splice(d,1),o([...s]),l(s)}})},d)),a.jsx(Tn,{value:r,ref:c,mod:"create",onValueChange:u=>{i(u)},onCreate:u=>{if(s.find(p=>p.property===u.property))return f.message.error("The attribute name already exists, please replace"),{errorKey:[u.property]};s.push(u),o([...s]),l(s),i({property:"",value:{type:"EXPRESSION",value:""}})}})]})})}),ji=[{title:"Class Names",name:"className",valueType:"array",setters:[{componentName:"ArraySetter",props:{sortLabelKey:"name",collapse:{open:!0},item:{setters:[{componentName:"ShapeSetter",props:{elements:[{name:"name",title:"类名",valueType:"string",setters:["StringSetter"]},{name:"status",title:"启用",valueType:"boolean",setters:["BooleanSetter","ExpressionSetter"]}]},initialValue:{}}],initialValue:{name:"",status:!0}}},initialValue:[]}]}],Ps=g.forwardRef(function(t,e){const s=g.useRef(null);return g.useImperativeHandle(e,()=>({setValue(o){var r;(r=s==null?void 0:s.current)==null||r.setFields({className:o||[]})}})),a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsx("div",{children:a.jsx(Fe,{ref:s,initialValue:[],nodeId:t.nodeModel.id,pluginCtx:t.pluginContext,properties:ji,onSetterChange:function(){},onValueChange:o=>{var r;(r=t.onValueChange)==null||r.call(t,o.className||[])},defaultSetterConfig:{}})})})}),Ri="_cssFieldBox_1fdin_2",_i="_inputAuto_1fdin_17",Pi="_error_1fdin_22",ki="_keyField_1fdin_25",Ei="_notEdit_1fdin_30",Mi="_active_1fdin_33",Ti="_cssBox_1fdin_37",re={cssFieldBox:Ri,inputAuto:_i,error:Pi,keyField:ki,notEdit:Ei,active:Mi,cssBox:Ti},In=g.forwardRef(function(t,e){const[s]=g.useState(""),[o]=g.useState(""),{mode:r="edit"}=t,i=g.useMemo(()=>r==="create",[r]),l=t.value,[c,u]=g.useState(rt),[d,p]=g.useState([]),[m,v]=g.useState([]),h=N=>{const k=rt.filter(E=>E.value.includes(N));u(N?k:rt)},b=()=>{var E;let N=[];const k=ms[l==null?void 0:l.property];k&&(N=((E=k.values)==null?void 0:E.map(H=>({value:H})))||[]),p(N),v(N)},x=N=>{const k=m.filter(E=>E.value.includes(N));p(N?k:m)},y=N=>{var k;return(k=t.onValueChange)==null||k.call(t,{property:N,value:(l==null?void 0:l.value)||""}),!0},S=g.useRef(null),j=g.useRef(null),[C,P]=g.useState({key:!1,value:!1});return g.useImperativeHandle(e,()=>({reset:()=>{var N;(N=j.current)==null||N.focus()}}),[]),a.jsxs("div",{className:re.cssFieldBox,children:[a.jsxs("div",{className:T([re.keyField,i&&re.inputAuto,i&&C.key&&re.active,s==="error"&&re.error,!i&&re.notEdit]),children:[a.jsx(f.AutoComplete,{ref:j,variant:"borderless",disabled:!i,onSearch:h,status:s,popupMatchSelectWidth:200,value:l==null?void 0:l.property,onChange:N=>{y(N)},style:{width:"100%",position:"absolute",left:0,top:0},onFocus:()=>{P({key:!0,value:!1})},onBlur:()=>{P({key:!1,value:!1})},onKeyDown:N=>{var k;N.code==="Enter"&&(s||(k=S.current)==null||k.focus())},placeholder:"property",options:c}),a.jsx("span",{style:{display:"inline-block",visibility:"hidden",minWidth:"60px",padding:"0 2px"},children:l==null?void 0:l.property})]}),a.jsx("span",{style:{padding:"0 2px"},children:":"}),a.jsx(f.AutoComplete,{variant:"borderless",ref:S,status:o,popupMatchSelectWidth:200,value:l==null?void 0:l.value,onChange:N=>{var k;b(),(k=t.onValueChange)==null||k.call(t,{property:(l==null?void 0:l.property)||"",value:N||""})},style:{flex:1},onFocus:()=>{P({key:!1,value:!0})},onBlur:()=>{P({key:!1,value:!1})},className:T([re.inputAuto,C.value&&re.active]),placeholder:"value",onSearch:x,options:d,onKeyDown:N=>{var k;N.code==="Enter"&&i&&((k=t.onCreate)==null||k.call(t,{property:(l==null?void 0:l.property)||"",value:(l==null?void 0:l.value)||""}))}}),t.onDelete&&r==="edit"&&a.jsx(f.Button,{size:"small",type:"text",onClick:()=>{var N;(N=t.onDelete)==null||N.call(t)},children:a.jsx(V.MinusOutlined,{style:{display:"inline-flex",fontSize:"12px"}})}),t.onCreate&&r==="create"&&a.jsx("div",{children:a.jsx(f.Button,{size:"small",type:"text",icon:a.jsx(V.PlusOutlined,{style:{fontSize:"12px",display:"inline-flex"}}),onClick:()=>{var N;(N=t.onCreate)==null||N.call(t,{property:(l==null?void 0:l.property)||"",value:(l==null?void 0:l.value)||""})}})})]})}),rt=Lo.map(n=>({value:n})),Wt=g.forwardRef(function(t,e){const[s,o]=g.useState([]),[r,i]=g.useState({property:"",value:""});g.useImperativeHandle(e,()=>({setValue:u=>{o(u)}}),[]),g.useEffect(()=>{t.initialValue&&o([...t.initialValue])},[]);const l=u=>{var d;(d=t.onValueChange)==null||d.call(t,u)},c=g.useRef(null);return a.jsx(f.ConfigProvider,{theme:{token:{borderRadius:4}},children:a.jsxs("div",{className:re.cssBox,children:[s.map((u,d)=>a.jsx("div",{children:a.jsx(In,{mode:"edit",allValues:s,value:u,onValueChange:p=>{s[d]=p;const m=JSON.parse(JSON.stringify(s));o(m),l(m)},onDelete:()=>{s.splice(d,1);const p=JSON.parse(JSON.stringify(s));o(p),l(p)}})},d)),a.jsx(In,{allValues:s,mode:"create",value:r,ref:c,onValueChange:u=>{i({...u})},onCreate:u=>{var d;if(u.property&&u.value){const p=[...s];p.push(u),o(p),i({property:"",value:""}),l(p),(d=c.current)==null||d.reset()}}},"newInput")]})})}),Ii="_stateTag_5a8hc_2",Vi="_stateTagClose_5a8hc_5",Vn={stateTag:Ii,stateTagClose:Vi},Di=["normal","hover","focus","focus-within","focus-visible","checked","disable","active"],Dn=Di.map(n=>({key:n,label:n})),ks=n=>{const[t,e]=g.useState("normal"),[s]=g.useState([{key:"991",maxWidth:"991",label:"Medial Query ( <= 991 px )"},{key:"767",maxWidth:"767",label:"Medial Query ( <= 767 px )"},{key:"479",maxWidth:"479",label:"Medial Query ( <= 479 px )"}]),o=g.useRef({}),r=x=>{e(x)},[i,l]=g.useState([]),c=g.useMemo(()=>Dn.filter(x=>!i.includes(x.key)),[i]),u=g.useMemo(()=>Dn.filter(x=>i.includes(x.key)),[i]),[d,p]=g.useState(n.initialValue??{});g.useEffect(()=>{const x=Object.keys(d);l(x)},[d]);const m=g.useMemo(()=>{const x=d==null?void 0:d[t];if(!x)return{};const y={};return Object.keys(x).forEach(S=>{y[S]=$n(x[S]||"")}),y},[t,d]),v=g.useCallback(()=>{Object.keys(o.current).forEach(x=>{var j;const y=(j=o.current)==null?void 0:j[x],S=m[x]||[];y&&y.setValue(S)})},[m]),h=g.useRef();h.current=v,n.handler&&(n.handler.current={setValue:async x=>{var y;F.isEmpty(x)?p({normal:{normal:""}}):p(x),await se(),(y=h.current)==null||y.call(h)}}),g.useEffect(()=>{var x;(x=h.current)==null||x.call(h)},[t]);const b=g.useCallback((x,y)=>{var j;const S={...d,[t]:{...d[t]||{},[x]:zn(y)}};(j=n.onValueChange)==null||j.call(n,S)},[d,n,t]);return a.jsx(a.Fragment,{children:a.jsxs(f.Card,{size:"small",type:"inner",title:a.jsx("span",{style:{fontSize:"12px"},children:"CSS"}),extra:a.jsx(f.Dropdown,{menu:{items:c,onClick:x=>{l(y=>[...y,x.key])}},children:a.jsx(V.PlusOutlined,{})}),children:[a.jsx(f.Space,{size:[0,8],wrap:!0,style:{paddingBottom:"10px"},children:u.map(x=>{const y=t.includes(x.key);return a.jsxs(Us,{style:{border:y?"1px solid rgba(0,0,0,0))":"1px solid rgb(216 216 216 / 82%)"},checked:y,onChange:()=>r(x.key),className:Vn.stateTag,children:[x.label,x.key!=="normal"&&a.jsx(V.MinusCircleOutlined,{className:Vn.stateTagClose,onClick:S=>{S.stopPropagation(),S.preventDefault(),l(j=>j.filter(C=>C!==x.key)),e("normal")}})]},x.key)})}),a.jsx(f.Collapse,{defaultActiveKey:["normal"],bordered:!1,style:{marginBottom:"10px"},onChange:async()=>{var x;await se(),(x=h.current)==null||x.call(h)},items:[{key:"normal",label:a.jsx("span",{children:"Default"}),children:a.jsx(Wt,{ref:x=>{o.current.normal=x},onValueChange:x=>b("normal",x),initialValue:m.normal})},...s.map(x=>({key:x.key,label:a.jsx("span",{children:x.label}),children:a.jsx(Wt,{ref:y=>{o.current[x.key]=y},onValueChange:y=>b(x.key,y)})}))]})]})})},gn=n=>{const t=g.useRef(null),e=n.node,s=g.useMemo(()=>e.value.classNames||[],[e]),o=g.useRef(null),r=g.useRef(null),i=g.useRef(null),l=g.useMemo(()=>_e(e.value.style||[]),[e.value.style]),c=g.useRef(),u=g.useCallback(()=>{var y,S,j,C;c.current=e;const v=e.value.style||[],{expressionProperty:h,normalProperty:b}=_e(v),x=Hn(e.value.css);(y=t.current)==null||y.setValue([...h]),(S=o.current)==null||S.setValue(x),(j=i.current)==null||j.setValue(e.value.classNames||[]),(C=r.current)==null||C.setValue(lt(b)||{})},[e]);g.useEffect(()=>(u(),e.emitter.on("onNodeChange",u),e.emitter.on("onReloadPage",u),()=>{e.emitter.off("onNodeChange",u),e.emitter.off("onReloadPage",u)}),[e.emitter,e.id,n.activeTab,u]);const d=v=>{const h=[...l.normalProperty,...v];e.value.style=h,e.updateValue()},p=v=>{const h=[...v,...l.expressionProperty];e.value.style=h,e.updateValue()},m=v=>{e.value.css=Fn(`c_${e.id}`,v),e.updateValue()};return a.jsx("div",{className:Mn.visualPanelBox,children:a.jsxs("div",{style:{marginBottom:"10px"},children:[a.jsx(Ss,{ref:r,onValueChange:v=>{p(Qt(v))}}),a.jsx(f.Collapse,{bordered:!1,style:{marginBottom:"10px"},defaultActiveKey:["origin-css-edit"],onChange:v=>{v.length&&u()},items:[{key:"origin-css-edit",label:a.jsx("span",{className:Mn.header,children:"Style Variable"}),children:a.jsx(_s,{ref:t,initialValue:l.expressionProperty,onValueChange:v=>{d(v)}})}]}),a.jsx("div",{style:{paddingTop:"10px"},children:a.jsx(Ps,{nodeModel:n.node,initialValue:s,ref:i,pluginContext:n.pluginCtx,onValueChange:v=>{e.value.classNames=v,e.updateValue()}})}),a.jsx(ks,{handler:o,onValueChange:m})]})})},pn={key:"VisualPanelPlus",name:"Visual",view:({node:n,pluginCtx:t,activeTab:e})=>n?a.jsx(gn,{node:n,pluginCtx:t,activeTab:e}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.visual)!==!1}},Li="_eventBox_175c6_2",Ai={eventBox:Li},Bi=[{label:"初始化完成后",value:he.ON_DID_RENDER},{label:"组件销毁之前",value:he.ON_WILL_DESTROY}],Oi=n=>{var c;const{node:t}=n,[e,s]=g.useState([]),o=t==null?void 0:t.value.eventListener;g.useEffect(()=>{var d,p;const u=((p=(d=t==null?void 0:t.material)==null?void 0:d.value.events)==null?void 0:p.map(m=>typeof m=="string"?{label:m,value:m}:{label:m.name||m.event,value:m.event}))||[];s([...Bi,...u])},[t==null?void 0:t.id,(c=t==null?void 0:t.material)==null?void 0:c.value.events]);const[r,i]=g.useState(),l=u=>{i(u)};return t?a.jsxs("div",{className:Ai.eventBox,children:[a.jsxs("div",{style:{display:"flex"},children:[a.jsx(f.Select,{value:r,showSearch:!0,placeholder:"Select a person",optionFilterProp:"label",onChange:l,allowClear:!0,style:{width:"100%"},options:e}),a.jsx(f.Button,{type:"primary",style:{marginLeft:"10px"},onClick:()=>{const u=r;u&&(t.value.eventListener=[...t.value.eventListener||[],{name:u,func:{type:"ACTION",handler:[],params:[]}}],t.updateValue(),i(void 0))},children:"Add"})]}),a.jsx("div",{style:{marginTop:"16px"},children:o==null?void 0:o.map((u,d)=>{const p=e.find(m=>m.value===u.name);return a.jsxs("div",{style:{padding:"8px 12px",borderRadius:"4px",backgroundColor:"#f5f5f5",marginBottom:"8px",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer"},children:[a.jsx("div",{style:{width:"100%"},children:a.jsx(on,{value:u.func,onValueChange:m=>{u.func.handler=m.handler,t==null||t.updateValue()},setterContext:{pluginCtx:n.pluginCtx,onSetterChange:()=>{},keyPaths:[""],label:"",nodeModel:t},children:a.jsx("span",{children:(p==null?void 0:p.label)||u.name})})}),a.jsx(f.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(V.DeleteOutlined,{}),onClick:m=>{m.stopPropagation();const v=[...(t==null?void 0:t.value.eventListener)||[]];v.splice(d,1),t.value.eventListener=v,t==null||t.updateValue()}})]},d)})})]}):a.jsx(a.Fragment,{})},zi={key:"Event",name:"Event",view:({node:n,pluginCtx:t})=>n?a.jsx(Oi,{node:n,pluginCtx:t}):a.jsx(a.Fragment,{}),show:n=>{var t,e,s,o;return((o=(s=(e=(t=n.node)==null?void 0:t.material)==null?void 0:e.value.advanceCustom)==null?void 0:s.rightPanel)==null?void 0:o.advance)!==!1}};class $i extends g.Component{constructor(e){super(e);w(this,"addPanel",e=>{const s=[...this.state.panels,e];this.setState({panels:s}),this.updatePanels()});w(this,"removePanel",e=>{const s=this.state.panels.filter(o=>o.name!==e);this.setState({panels:s}),this.updatePanels()});w(this,"replacePanel",(e,s)=>{const o=this.state.panels.findIndex(i=>i.name===e),r=[...this.state.panels];o>-1&&(r[o]=s),this.setState({panels:r}),this.updatePanels()});w(this,"choosePanel",e=>{this.setState({activeKey:e}),this.updatePanels()});w(this,"updatePanels",()=>{var l,c,u;const{pluginCtx:e}=this.props,{node:s,panels:o}=this.state,r=o;let i={panels:[],displayPanels:[]};if(s){const d={node:s,pluginCtx:e,activeTab:this.state.activeKey},p=r.filter(v=>v.show===void 0?!0:v.show(d)),m=((u=(c=(l=s.material)==null?void 0:l.value.advanceCustom)==null?void 0:c.rightPanel)==null?void 0:u.customTabs)||[];p.concat(m),i={panels:r,displayPanels:p}}else i={panels:r,displayPanels:[]};return this.setState(i),i});w(this,"onNodeChange",({node:e})=>{var d;const{pluginCtx:s}=this.props,{panels:o,activeKey:r}=this.state,i={node:e,pluginCtx:s,activeTab:this.state.activeKey},l=o.filter(p=>p.show===void 0?!0:p.show(i)),c=((d=l.find((p,m)=>m===0))==null?void 0:d.key)||"";l.find(p=>p.key===r)?this.setState({node:e,displayPanels:l}):this.setState({activeKey:c,node:e,displayPanels:l})});this.state={node:e.pluginCtx.engine.getActiveNode(),activeKey:"Visual",panels:[rn,pn,zi,cn,dn],displayPanels:[]}}componentDidMount(){var i;const{pluginCtx:e}=this.props;e.globalEmitter.on("onSelectNodeChange",l=>{setTimeout(()=>{this.onNodeChange(l)},10)}),e.pageModel.emitter.on("*",()=>{const l=e.engine.getActiveNode();this.onNodeChange({node:l})});const{displayPanels:s}=this.updatePanels(),o=((i=s.find((l,c)=>c===0))==null?void 0:i.key)||"";s.find(l=>l.key===this.state.activeKey)||this.setState({activeKey:o}),e.pluginReadyOk()}render(){var c,u;const{displayPanels:e,node:s,activeKey:o}=this.state,{pluginCtx:r}=this.props;if(!s)return a.jsx("div",{style:{overflow:"hidden"},children:a.jsx(f.Empty,{image:f.Empty.PRESENTED_IMAGE_SIMPLE,description:"Please select a node from left view"})});const i={node:s,pluginCtx:r,activeTab:this.state.activeKey},l=(c=r.config)==null?void 0:c.customPropertySetterMap;return a.jsx(Rs.Provider,{value:{customSetterMap:{...l},defaultSetterConfig:{},nodeId:(u=this.state.node)==null?void 0:u.id,nodeModel:this.state.node,pluginCtx:this.props.pluginCtx},children:a.jsx("div",{className:gi.rightPanelContainer,children:a.jsx(f.Tabs,{activeKey:o,tabPosition:"top",style:{flex:1,height:"100%"},onChange:d=>{this.setState({activeKey:d})},items:e.map(d=>{var p;return{label:a.jsx("div",{style:{padding:"0 10px"},children:typeof d.name=="string"?d.name:(p=d.name)==null?void 0:p.call(d,i)}),key:d.key,children:d.view(i)}})})})})}}const Kt="RightPanel",Ue=()=>{const n=g.createRef();return{name:Kt,PLUGIN_NAME:Kt,async init(t){t.getWorkbench().replaceRightView(a.jsx($i,{ref:n,pluginCtx:t}))},async destroy(){},export:()=>n==null?void 0:n.current,meta:{engine:{version:"1.0.0"}}}};Ue.PLUGIN_NAME=Kt;const Fi={pluginName:"全局状态"},Hi={pluginName:"Global State"},Ln={zh_CN:Fi,en_US:Hi},Ui="_box_tl0hm_2",Gi={box:Ui},gt="GlobalState",Vt=`plugin:${gt}`;let Dt=!1;const Wi=n=>{const{pluginCtx:t}=n,e=t.pageModel.value.componentsTree.value.state||{},s=g.useRef(null);g.useEffect(()=>{var r;(r=s==null?void 0:s.current)==null||r.setValue(JSON.stringify(e,null,2)),t.pageModel.emitter.on("onReloadPage",()=>{var i;if(Dt){Dt=!1;return}(i=s.current)==null||i.setValue(JSON.stringify(t.pageModel.value.componentsTree.value.state,null,2))})},[]);const o=r=>{try{const i=JSON.parse(r||"{}");t.pageModel.value.componentsTree.value.state=i,Dt=!0,t.pageModel.value.componentsTree.updateValue()}catch(i){console.warn(i)}};return a.jsx("div",{className:Gi.box,children:a.jsx(xe,{initialValue:JSON.stringify(t.pageModel.value.componentsTree.value.state,null,2),language:"json",options:{automaticLayout:!0,tabSize:2,minimap:{enabled:!1},quickSuggestions:!1,suggestOnTriggerCharacters:!1,folding:!1,comments:{}},onDidMount:r=>{s.current=r},beforeMount:()=>{},onChange:o})})},Ge={name:gt,async init(n){const{i18n:t}=n;Object.keys(Ln).forEach(r=>{t.addResourceBundle(r,Vt,Ln[r],!0,!0)});const e=be.withTranslation(Vt)(Wi),s=be.withTranslation(Vt)(({t:r})=>a.jsx(a.Fragment,{children:r("pluginName")}));n.getWorkbench().addLeftPanel({title:a.jsx(s,{}),name:gt,icon:a.jsx(V.DatabaseOutlined,{}),render:a.jsx(e,{pluginCtx:n})})},async destroy(){},export:()=>({}),meta:{engine:{version:"1.0.0"}}};Ge.PLUGIN_NAME=gt;const Es=n=>{const t=n.pageModel.export(),{engineCtx:e}=n,[s,o]=g.useState(!1),r=g.useRef(null);return a.jsxs(a.Fragment,{children:[a.jsx("div",{onClick:()=>{o(!0)},children:n.children}),a.jsx(f.Modal,{open:s,title:"Source Schema",width:"100%",onCancel:()=>o(!1),onOk:async()=>{var p;o(!1);const i=(p=r.current)==null?void 0:p.getValue();if(!i)return;const l=JSON.parse(i);n.pageModel.updatePage(l),await se();const c=e.engine.getActiveNode(),u=await e.pluginManager.get("Designer"),d=(c==null?void 0:c.id)||"";u==null||u.ctx.emitter.on("ready",()=>{u.export.selectNode(d)}),u&&u.export.selectNode(d)},style:{height:"calc(100vh - 50px)",top:"25px"},destroyOnClose:!0,children:a.jsx("div",{style:{width:"100%",height:"calc(100vh - 200px)"},children:a.jsx(xe,{initialValue:JSON.stringify(t,null,2),language:"json",options:{automaticLayout:!0},onDidMount:i=>{r.current=i}})})})]})},qt="History",We=n=>{const t=n,e={historyRecords:[],currentStepIndex:0};let s=null;const o=n.pageModel.export();s=o,e.historyRecords.push(o);const r=async c=>{t&&(t.pageModel.reloadPage(c),await se())},i={addStep:()=>{const{currentStepIndex:c,historyRecords:u}=e,d=n.pageModel.export();c!==u.length-1&&(e.historyRecords=u.slice(0,c+1)),e.historyRecords.push(d),e.currentStepIndex=u.length-1},reset:async()=>{if(!t){console.warn("plugin ctx is null, pls check it");return}s&&(e.historyRecords=[],r(s))},preStep:()=>{const{currentStepIndex:c,historyRecords:u}=e;if(!i.canGoPreStep())return;const d=c-1;e.currentStepIndex=d;const p=F.cloneDeep(u[d]);r(p)},nextStep:()=>{if(!i.canGoNextStep())return;const{currentStepIndex:c,historyRecords:u}=e,d=c+1;e.currentStepIndex=d;const p=F.cloneDeep(u[d]);return r(p)},canGoPreStep:()=>{const{currentStepIndex:c}=e;return!(c<=0)},canGoNextStep:()=>{const{currentStepIndex:c,historyRecords:u}=e;return!(c>=u.length-1)}},l=F.debounce(()=>{i.addStep()},500);return{name:qt,PLUGIN_NAME:qt,async init(c){c.pageModel.emitter.on("onNodeChange",()=>{l()}),c.pageModel.emitter.on("onPageChange",()=>{i.addStep()}),c.pluginReadyOk()},async destroy(c){console.log("destroy",c)},export:()=>i,meta:{engine:{version:"1.0.0"}}}};We.PLUGIN_NAME=qt;const Lt=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1,pt={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Lt?173:189,"=":Lt?61:187,";":Lt?59:186,"'":222,"[":219,"]":221,"\\":220},Jt={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,command:91};for(let n=1;n<20;n++)pt[`f${n}`]=111+n;const Ki=n=>pt[n.toLowerCase()]||Jt[n.toLowerCase()]||n.toUpperCase().charCodeAt(0),qi=n=>Object.keys(pt).find(t=>pt[t]===n),Ji=n=>Object.keys(Jt).find(t=>Jt[t]===n),Xi=n=>qi(n)||Ji(n)||String.fromCharCode(n);class Yi{constructor(t){w(this,"splitStr","_");w(this,"downKeyCodeList",[]);w(this,"elements");w(this,"disposeEventCbList",[]);w(this,"disable",!1);w(this,"hotActionMap",{});this.elements=t.elements,this.init()}setDisable(t){this.disable=t}init(){const t=this.elements.map(e=>this.registerKeyEvent(e));this.disposeEventCbList=[...t]}addElement(t){const e=this.registerKeyEvent(t);this.disposeEventCbList.push(e)}registerKeyEvent(t){const e=this.getTriggerHotkeyDebounce(),s=i=>{if(this.filterInputElement(i))return;const l=i.keyCode||i.which||i.charCode;this.downKeyCodeList.includes(l)||this.downKeyCodeList.push(l),e()};t==null||t.addEventListener("keydown",s);const o=i=>{setTimeout(()=>{if(this.filterInputElement(i))return;const l=i.keyCode||i.which||i.charCode,c=this.downKeyCodeList.findIndex(u=>u===l);c>=0&&this.downKeyCodeList.splice(c,1)},0)};t==null||t.addEventListener("keyup",o);const r=()=>{this.downKeyCodeList=[]};return window==null||window.addEventListener("blur",r),()=>{t.removeEventListener("keydown",s),t.removeEventListener("keyup",o),window==null||window.removeEventListener("blur",r)}}addHotAction(t,e){const s=t.map(o=>typeof o!="number"?this.getKeyCodeByLabel(o):o);this.hotActionMap[s.join(this.splitStr)]=()=>{this.disable||e()}}triggerHotKey(){const t=this.downKeyCodeList.join(this.splitStr),e=this.hotActionMap[t];e==null||e()}getTriggerHotkeyDebounce(){return this.triggerHotKey.bind(this)}getKeyCodeByLabel(t){return Ki(t)}getKeyString(t){return Xi(t)}filterInputElement(t){const e=t.target||t.srcElement;if(!e)return!1;const{tagName:s}=e;let o=!1;const r=s==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(e.type);return(e.isContentEditable||(r||s==="TEXTAREA"||s==="SELECT")&&!e.readOnly)&&(o=!0),o}destroy(){this.disposeEventCbList.forEach(t=>t())}}const Qi={pluginName:"快捷键"},Zi={pluginName:"Hot Keys"},An={zh_CN:Qi,en_US:Zi},Q={deleteNode:async n=>{var s;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode();if(e){const o=await((s=t==null?void 0:t.export)==null?void 0:s.deleteNode(e.id));return o||f.message.error("该节点不能删除"),o}},copyNode:async n=>{var s;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode();if(e)return await((s=t==null?void 0:t.export)==null?void 0:s.copyNode(e.id))},moveToUp:async n=>{var r;if(await Q.moveToSiblingUp(n))return;const e=await n.pluginManager.get("Designer"),s=n.engine.getActiveNode(),o=s==null?void 0:s.parent;if(o&&o.nodeType!=="PAGE")return await((r=e==null?void 0:e.export)==null?void 0:r.selectNode(o.id))},moveToSiblingUp:async n=>{var u;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.parent;if((s==null?void 0:s.nodeType)==="PAGE"||!e)return;const o=s==null?void 0:s.value,r=o.children||o.value,l=r.findIndex(d=>d.id===e.id)-1;if(l<0)return;const c=r==null?void 0:r[l];if(c&&c.id)return await((u=t==null?void 0:t.export)==null?void 0:u.selectNode(c.id))},moveToDown:async n=>{var r;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.value.children,o=s==null?void 0:s[0];return o&&o.id?await((r=t==null?void 0:t.export)==null?void 0:r.selectNode(o.id)):await Q.moveToSiblingDown(n)},moveToSiblingDown:async n=>{var u;const t=await n.pluginManager.get("Designer"),e=n.engine.getActiveNode(),s=e==null?void 0:e.parent;if((s==null?void 0:s.nodeType)==="PAGE"||!e)return;const o=s==null?void 0:s.value,r=o.children||o.value,l=r.findIndex(d=>d.id===e.id)+1;if(l>=r.length)return;const c=r==null?void 0:r[l];if(c&&c.id)return await((u=t==null?void 0:t.export)==null?void 0:u.selectNode(c.id))},redo:async n=>{const t=await n.pluginManager.get("History");if(t!=null&&t.export.canGoNextStep())return t==null||t.export.nextStep(),!0},undo:async n=>{const t=await n.pluginManager.get("History");if(t!=null&&t.export.canGoPreStep())return t==null||t.export.preStep(),!0}},mt="Hotkeys",el=`plugin:${mt}`,Ke={name:mt,PLUGIN_NAME:mt,async init(n){const{i18n:t}=n;Object.keys(An).forEach(r=>{t.addResourceBundle(r,el,An[r],!0,!0)});const e=await n.pluginManager.get("Designer"),s=e==null?void 0:e.export.getDesignerWindow(),o=new Yi({elements:[window.document.body,s.document.body]});n.engine.pageModel.emitter.on("onReloadPage",()=>{const r=e==null?void 0:e.export.getDesignerWindow();setTimeout(()=>{o.addElement(r.document.body)},1e3)}),o.addHotAction(["ctrl","c"],()=>{Q.copyNode(n)}),o.addHotAction(["ctrl","z"],()=>{Q.undo(n)}),o.addHotAction(["ctrl","shift","z"],()=>{Q.redo(n)}),o.addHotAction(["up"],()=>{Q.moveToUp(n)}),o.addHotAction(["w"],()=>{Q.moveToUp(n)}),o.addHotAction(["shift","w"],()=>{Q.moveToSiblingUp(n)}),o.addHotAction(["down"],()=>{Q.moveToDown(n)}),o.addHotAction(["s"],()=>{Q.moveToDown(n)}),o.addHotAction(["shift","s"],()=>{Q.moveToSiblingDown(n)}),o.addHotAction(["backspace"],()=>{Q.deleteNode(n)}),n.hotkeyManager=o,n.pluginReadyOk()},async destroy(n){const t=n.hotkeyManager;t==null||t.destroy()},export:n=>({addHotAction:(t,e)=>{n.hotkeyManager.addHotAction(t,e)},disable:t=>{n.hotkeyManager.setDisable(t)}}),meta:{engine:{version:"1.0.0"}}};Ke.PLUGIN_NAME=mt;const Ms=[Oe,ze,Be,Ge,Ue,We,Ke],Ts={HotkeysPlugin:Ke.PLUGIN_NAME,ComponentLibPlugin:Be.PLUGIN_NAME,RightPanelPlugin:Ue.PLUGIN_NAME,GlobalStatePanelPlugin:Ge.PLUGIN_NAME,HistoryPlugin:We.PLUGIN_NAME,DesignerPlugin:Oe.PLUGIN_NAME,OutlineTreePlugin:ze.PLUGIN_NAME},tl=Object.freeze(Object.defineProperty({__proto__:null,AdvancePanel:un,AdvancePanelConfig:dn,ComponentLibPlugin:Be,ComponentStatePanel:ln,ComponentStatePanelConfig:cn,DEFAULT_PLUGIN_LIST:Ms,DEFAULT_PLUGIN_NAME_MAP:Ts,DesignerPlugin:Oe,DisplaySourceSchema:Es,GlobalStatePanelPlugin:Ge,HistoryPlugin:We,HotkeysPlugin:Ke,OutlineTreePlugin:ze,PLUGIN_NAME:fe,PropertyPanelConfig:rn,RightPanelPlugin:Ue,VisualPanelPlus:gn,VisualPanelPlusConfig:pn},Symbol.toStringTag,{value:"Module"})),nl=n=>{const t=g.useRef(),[e,s]=g.useState("AUTO"),[o,r]=g.useState(1200),i=g.useCallback(()=>{const c=t.current,u=c==null?void 0:c.export.getDesignerWindow(),d=u==null?void 0:u.innerWidth;r(Number(d))},[]);g.useEffect(()=>{let c,u;return n.ctx.pluginManager.onPluginReadyOk("Designer").then(d=>{t.current=d,u=d==null?void 0:d.export.getDesignerWindow(),c=()=>{r(Number(u==null?void 0:u.innerWidth))},u==null||u.addEventListener("resize",c),i()}),()=>{u==null||u.removeEventListener("resize",c)}},[]);const l=g.useCallback(F.debounce(c=>{const u=t.current;u==null||u.export.setCanvasWidth(c)},100),[]);return a.jsx(f.Space,{children:a.jsx(f.Segmented,{defaultValue:e,onChange:c=>{const u=t.current;u&&(c==="AUTO"?(u.export.setCanvasWidth("100%"),i()):c==="IPAD"?u.export.setCanvasWidth(768):u.export.setCanvasWidth(350),s(c))},options:[{label:a.jsxs("span",{children:[a.jsx("span",{onClick:()=>{const c=t.current;c==null||c.export.setCanvasWidth("100%"),i()},children:"Auto"}),e==="AUTO"&&a.jsx(f.InputNumber,{size:"small",style:{marginLeft:"10px"},controls:!1,changeOnWheel:!0,suffix:"px",value:o,min:350,max:1920,onChange:c=>{r(Number(c)),l(Number(c))}})]}),value:"AUTO"},{label:a.jsx(V.BorderOutlined,{}),value:"IPAD"},{label:a.jsx(V.MobileOutlined,{}),value:"MOBILE"}]})})},sl=[{name:"style",title:"布局",valueType:"string",setters:[{componentName:"FastLayoutSetter",initialValue:{},hiddenLabel:!0,props:{}}]}],ie={name:"$$attributes",title:"属性",valueType:"object",setters:[{componentName:"ArraySetter",props:{collapse:{open:!0},sortLabelKey:"key",item:{setters:[{componentName:"ShapeSetter",props:{elements:[{name:"key",title:"属性名",valueType:"string",setters:["StringSetter"]},{name:"value",title:"值",valueType:"string",setters:["StringSetter","NumberSetter","JSONSetter","FunctionSetter","ExpressionSetter"]}]},initialValue:{}}],initialValue:{}}},initialValue:[]}]},pe="内置组件",me="原子组件",Is="1.0.0",Vs="CHAMELEON_INNER_PKG",al=_.HTMl_TAGS.map(n=>({title:F.capitalize(n),componentName:n,props:[ie],snippets:[],npm:{name:n,package:Vs,version:Is}})),Ds=[{title:"块",componentName:"CBlock",props:[{name:"children",title:"文本",valueType:"string",setters:["StringSetter","ExpressionSetter"]},ie],groupName:pe,snippets:[{title:"块",snapshotText:"Block",category:me,schema:{props:{},css:{value:[{state:"normal",media:[],text:"background: white ; width: 100%; height: 100px"}]}}}]},{title:"容器",componentName:"CContainer",isContainer:!0,props:[...sl,ie],groupName:pe,snippets:[{title:"容器",snapshotText:"Con",category:me,schema:{css:{value:[{state:"normal",media:[],text:"background: white;width: 100%;"}]}}}]},{title:"图片",componentName:"CImage",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},ie],advanceCustom:{wrapComponent:n=>t=>{const e=n;return a.jsx(e,{...t,style:{...t.style||{},userSelect:"none",WebkitUserDrag:"none"}})}},groupName:pe,snippets:[{title:"图片",snapshotText:"Img",category:me,schema:{css:{value:[{text:"background:white;width:500px;height:300px;overflow:auto;",media:[],state:"normal"}]},props:{src:"https://images.unsplash.com/photo-1584080277544-2db5b2c2d9dd?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80"}}}]},{title:"视频",componentName:"CVideo",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},{name:"autoPlay",title:"自动播放",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},{name:"controls",title:"控制面板",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},ie],fixedProps:{autoPlay:!1},advanceCustom:{wrapComponent:n=>t=>a.jsx("div",{style:{...t.style,display:"inline-flex"},children:a.jsx(n,{...t,style:{...t.style,pointerEvents:"none"}})})},groupName:pe,snippets:[{title:"视频",snapshotText:"Video",category:me,schema:{props:{src:"https://vjs.zencdn.net/v/oceans.mp4"},css:{value:[{state:"normal",media:[],text:"background:white;width:300px;height:150px;"}]}}}]},{title:"音频",groupName:pe,componentName:"CAudio",props:[{name:"src",title:"地址",valueType:"string",setters:["StringSetter","ExpressionSetter"]},{name:"autoPlay",title:"自动播放",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},{name:"controls",title:"控制面板",valueType:"string",setters:["BooleanSetter","ExpressionSetter"]},ie],advanceCustom:{wrapComponent:()=>n=>a.jsx("div",{style:{display:"inline-block",fontSize:0},children:a.jsx("audio",{...n,style:{pointerEvents:"none",...n.style}})})},snippets:[{title:"音频",snapshotText:"Audio",category:me,schema:{props:{src:"https://vjs.zencdn.net/v/oceans.mp4",controls:!0}}}]},{title:"文本",componentName:"CText",groupName:pe,props:[{name:"content",title:"内容",valueType:"string",setters:["TextAreaSetter","ExpressionSetter"]},ie],snippets:[{title:"文本",snapshotText:"Text",category:me,schema:{props:{content:"text"}}}]},{title:"Canvas",componentName:"CCanvas",props:[{name:"afterMount",title:"渲染之后",valueType:"function",setters:["FunctionSetter","ExpressionSetter","ActionFlowSetter"]},{name:"beforeDestroy",title:"销毁之前",valueType:"function",setters:["FunctionSetter","ExpressionSetter"]},ie],groupName:pe,advanceCustom:{onNewAdd:async n=>{const t=n.getPlainProps(),e=Math.random().toString(32).slice(3,9);return t.$$attributes=[{key:"id",value:e},{key:"style",value:{display:"block",margin:"0 auto"}}],t.afterMount.value=t.afterMount.value.replace("$[id]",e),n.updateWithPlainObj({props:t}),{addNode:n}}},snippets:[{title:"画布",snapshotText:"Cavs",category:me,schema:{props:{width:"600px",height:"150px",style:{margin:"0 auto"},afterMount:{type:"FUNCTION",value:`
|
|
146
146
|
function run () {
|
|
147
147
|
var ctx = document.getElementById("$[id]").getContext("2d");
|
|
148
148
|
ctx.font = "48px serif";
|
|
149
149
|
ctx.fillText("Hello Canvas", 10, 50);
|
|
150
150
|
}
|
|
151
|
-
`}}}}]},{title:"HTML 标签",componentName:"CNativeTag",props:[{name:"htmlTag",title:"标签名",valueType:"string",setters:[{componentName:"SelectSetter",props:{options:_.HTMl_TAGS.map(n=>({name:n,value:n}))}}]},ie],isContainer:!0,groupName:
|
|
151
|
+
`}}}}]},{title:"HTML 标签",componentName:"CNativeTag",props:[{name:"htmlTag",title:"标签名",valueType:"string",setters:[{componentName:"SelectSetter",props:{options:_.HTMl_TAGS.map(n=>({name:n,value:n}))}}]},ie],isContainer:!0,groupName:pe,snippets:[{title:"HTML",snapshotText:"HTML",category:me,schema:{props:{htmlTag:"div"}}}]}];Ds.forEach(n=>{n.events=_.DEFAULT_EVENT_LIST});const ol=Ds.map(n=>({...n,npm:{name:n.componentName,package:Vs,version:Is}})),rl=[...ol,...al];class Ls extends g.Component{constructor(e){var s,o;super(e);w(this,"currentSelectNode");w(this,"pluginManager");w(this,"workbenchRef",g.createRef());w(this,"pageSchema");w(this,"pageModel");w(this,"material");w(this,"emitter");w(this,"assetsPackageListManager");w(this,"workbenchConfig",{});w(this,"_oldHiddenWidgetConfig");w(this,"updatePage",e=>{this.pageModel.updatePage(e)});w(this,"updateMaterials",async(e,s,o)=>{const r=await this.pluginManager.get("Designer"),i=r==null?void 0:r.export;this.pluginManager.assetsPackageListManager.setList(s),this.pageModel.assetPackagesList=this.pluginManager.assetsPackageListManager.getList();const l=i==null?void 0:i.getDesignerWindow();if(!l){console.warn("subWin not exits");return}await new he.AssetLoader(s,l).load();const u=he.collectVariable(s,l);let d=he.flatObject(u);o!=null&&o.formatComponents&&(d=o.formatComponents(d)),i==null||i.updateRenderComponents(d),this.pageModel.materialsModel.addMaterials(e),this.emitter.emit("updateMaterials")});w(this,"refresh",async()=>{this.pageModel.reloadPage(this.pageModel.export("design"))});w(this,"getWorkbench",()=>this.workbenchRef.current);this.pageSchema=e.schema,this.material=e.material,this.currentSelectNode=null,window.__CHAMELEON_ENG__=this,this.assetsPackageListManager=new Un(e.assetPackagesList||[]),this.workbenchConfig=e.workbenchConfig||{},(s=e.monacoEditor)!=null&&s.cndUrl&&On.loader.config({paths:{vs:(o=e.monacoEditor)==null?void 0:o.cndUrl}});try{this.pageModel=new _.CPage(this.pageSchema,{materials:this.material||[],assetPackagesList:e.assetPackagesList||[]})}catch(r){console.error(r),this.pageModel=new _.CPage(_.EmptyPage)}this.emitter=it()}updateCurrentSelectNode(e){this.currentSelectNode=e,this.emitter.emit("onSelectNodeChange",{node:e})}async componentDidMount(){var r,i,l,c,u,d;window.__C_ENGINE__=this;const e=this.props.plugins,s=new Jn({engine:this,getWorkbench:()=>this.workbenchRef.current,emitter:this.emitter,pageModel:this.pageModel,i18n:ct,assetsPackageListManager:this.assetsPackageListManager});this.pluginManager=s,s.customPlugin("Designer",p=>(p.ctx.config.beforeInitRender=Gn,p.ctx.config.customRender=Wn({components:this.props.components||{},renderProps:this.props.renderProps||{}}),p.ctx.config.components=this.props.components,p)),(i=(r=this.props).beforePluginRun)==null||i.call(r,{pluginManager:this.pluginManager});const o=e.map(p=>this.pluginManager.add(p));(c=(l=this.props).onMount)==null||c.call(l,{pluginManager:this.pluginManager,engine:this}),await Promise.all(o),this.pageModel.emitter.on("onReloadPage",()=>{var m;if(!this.currentSelectNode)return;const p=this.pageModel.getNode((m=this.currentSelectNode)==null?void 0:m.id);p&&this.updateCurrentSelectNode(p)}),(d=(u=this.props).onReady)==null||d.call(u,{pluginManager:this.pluginManager,engine:this})}getActiveNode(){var s;if(!((s=this.currentSelectNode)!=null&&s.id))return null;const e=this.pageModel.getNode(this.currentSelectNode.id)??null;return this.currentSelectNode=e,e}getI18n(){return ct}async preview(){var r,i;const e=(r=this.workbenchRef.current)==null?void 0:r.getHiddenWidgetConfig();this._oldHiddenWidgetConfig=e,(i=this.workbenchRef.current)==null||i.hiddenWidget({hiddenLeftPanel:!0,hiddenRightPanel:!0,hiddenTopBar:!0,canvasFull:!0});const s=await this.pluginManager.get("Designer"),o=s==null?void 0:s.export;o==null||o.setPreviewMode()}async existPreview(){var o;(o=this.workbenchRef.current)==null||o.hiddenWidget({...this._oldHiddenWidgetConfig||{},canvasFull:!1});const e=await this.pluginManager.get("Designer"),s=e==null?void 0:e.export;s==null||s.setEditMode()}hiddenWidget(e){var s;(s=this.workbenchRef.current)==null||s.hiddenWidget(e||{})}render(){return a.jsx("div",{className:T([va.engineContainer,this.props.className]),style:this.props.style,children:a.jsx(qn,{ref:this.workbenchRef,emitter:this.emitter,...this.workbenchConfig})})}}w(Ls,"version","0.10.2");exports.AdvancePanel=un;exports.AdvancePanelConfig=dn;exports.AssetsPackageListManager=Un;exports.BUILD_IN_SETTER_MAP=ue;exports.CSSEditor=ks;exports.CSSPropertiesEditor=Wt;exports.CSSPropertiesVariableBindEditor=_s;exports.ClassNameEditor=Ps;exports.ComponentLibPlugin=Be;exports.ComponentStatePanel=ln;exports.ComponentStatePanelConfig=cn;exports.CustomSchemaForm=Fe;exports.DEFAULT_PLUGIN_LIST=Ms;exports.DEFAULT_PLUGIN_NAME_MAP=Ts;exports.DesignerPlugin=Oe;exports.DesignerSizer=nl;exports.DisplaySourceSchema=Es;exports.Engine=Ls;exports.GlobalStatePanelPlugin=Ge;exports.HistoryPlugin=We;exports.HotkeysPlugin=Ke;exports.InnerComponentMeta=rl;exports.LOGGER=ee;exports.MonacoEditor=xe;exports.OutlineTreePlugin=ze;exports.PLUGIN_NAME=fe;exports.PluginManager=Jn;exports.PropertyPanelConfig=rn;exports.RightPanelPlugin=Ue;exports.SetterSwitcher=yt;exports.VisualPanelPlus=gn;exports.VisualPanelPlusConfig=pn;exports.Workbench=qn;exports.beforeInitRender=Gn;exports.defaultPropertyOptions=rt;exports.ensureKeyExist=Ae;exports.formatCSSTextProperty=$n;exports.formatCssToNodeVal=Fn;exports.formatNodeValToEditor=Hn;exports.formatStyleProperty=_e;exports.getColorFromStr=At;exports.getDefaultRender=Wn;exports.getUniqueAssetsList=Zt;exports.parseBoxShadowString=nt;exports.plugins=tl;exports.registerCustomSetter=ss;exports.sageJSONParse=Kn;exports.styleArr2Obj=lt;exports.styleList2Text=zn;exports.styleObjToArr=Qt;exports.waitReactUpdate=se;Object.keys(ne).forEach(n=>{n!=="default"&&!Object.prototype.hasOwnProperty.call(exports,n)&&Object.defineProperty(exports,n,{enumerable:!0,get:()=>ne[n]})});
|
|
152
152
|
//# sourceMappingURL=index.cjs.js.map
|