@huanban/rulego-editor-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +311 -0
  2. package/dist/components/ComponentSidebar.d.ts +77 -0
  3. package/dist/components/ComponentSidebar.d.ts.map +1 -0
  4. package/dist/components/ContextMenu.d.ts +102 -0
  5. package/dist/components/ContextMenu.d.ts.map +1 -0
  6. package/dist/components/DataViewDialog.d.ts +41 -0
  7. package/dist/components/DataViewDialog.d.ts.map +1 -0
  8. package/dist/components/DebugPanel.d.ts +92 -0
  9. package/dist/components/DebugPanel.d.ts.map +1 -0
  10. package/dist/components/EdgePropertyDrawer.d.ts +48 -0
  11. package/dist/components/EdgePropertyDrawer.d.ts.map +1 -0
  12. package/dist/components/EditorToolbar.d.ts +99 -0
  13. package/dist/components/EditorToolbar.d.ts.map +1 -0
  14. package/dist/components/ImportExportDialog.d.ts +45 -0
  15. package/dist/components/ImportExportDialog.d.ts.map +1 -0
  16. package/dist/components/MiniMap.d.ts +75 -0
  17. package/dist/components/MiniMap.d.ts.map +1 -0
  18. package/dist/components/NodePropertyDrawer.d.ts +83 -0
  19. package/dist/components/NodePropertyDrawer.d.ts.map +1 -0
  20. package/dist/components/RuleChainSettings.d.ts +74 -0
  21. package/dist/components/RuleChainSettings.d.ts.map +1 -0
  22. package/dist/components/RuleGoEditor.d.ts +168 -0
  23. package/dist/components/RuleGoEditor.d.ts.map +1 -0
  24. package/dist/components/SearchPanel.d.ts +52 -0
  25. package/dist/components/SearchPanel.d.ts.map +1 -0
  26. package/dist/components/ValidationPanel.d.ts +57 -0
  27. package/dist/components/ValidationPanel.d.ts.map +1 -0
  28. package/dist/components/WorkflowInfoPanel.d.ts +57 -0
  29. package/dist/components/WorkflowInfoPanel.d.ts.map +1 -0
  30. package/dist/components/WorkflowList.d.ts +91 -0
  31. package/dist/components/WorkflowList.d.ts.map +1 -0
  32. package/dist/hooks/useClipboard.d.ts +89 -0
  33. package/dist/hooks/useClipboard.d.ts.map +1 -0
  34. package/dist/hooks/useEditorCore.d.ts +102 -0
  35. package/dist/hooks/useEditorCore.d.ts.map +1 -0
  36. package/dist/hooks/useEditorI18n.d.ts +33 -0
  37. package/dist/hooks/useEditorI18n.d.ts.map +1 -0
  38. package/dist/hooks/useEditorTheme.d.ts +37 -0
  39. package/dist/hooks/useEditorTheme.d.ts.map +1 -0
  40. package/dist/hooks/useKeyboardShortcuts.d.ts +73 -0
  41. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  42. package/dist/index.cjs.js +2494 -0
  43. package/dist/index.cjs.js.map +1 -0
  44. package/dist/index.d.ts +104 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.esm.js +62356 -0
  47. package/dist/index.esm.js.map +1 -0
  48. package/dist/style.css +1 -0
  49. package/package.json +69 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .lf-graph{position:relative;z-index:0;width:100%;height:100%;background:#fff;-webkit-user-select:none;user-select:none}.lf-element-text{cursor:text}.lf-text-disabled{pointer-events:none}.lf-text-draggable{cursor:move}*:focus{outline:none}.lf-node-anchor{cursor:crosshair}.lf-node-anchor-hover{visibility:hidden}.lf-anchor:hover .lf-node-anchor-hover{visibility:visible}.lf-edge.pointer-none{pointer-events:none}.lf-edge-append{cursor:pointer}.lf-edge-animation{stroke-dashoffset:100%;animation:lf_animate_dash 5s linear infinite}@keyframes lf_animate_dash{to{stroke-dashoffset:0}}.lf-node-not-allow{cursor:not-allowed}.lf-polyline-append-ns-resize{cursor:ns-resize}.lf-polyline-append-ew-resize{cursor:ew-resize}.lf-dragging,.lf-dragging .lf-element-text{cursor:move}.lf-draggable{cursor:default}.lf-bezier-adjust-anchor{cursor:pointer}.lf-background,.lf-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.lf-background-area{width:100%;height:100%}.lf-html-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none}.lf-html-overlay__transform>*{pointer-events:all}.lf-text-editable{pointer-events:all}.lf-text-input{position:absolute;box-sizing:border-box;min-width:100px;min-height:20px;padding:5px;line-height:1.2;white-space:pre;text-align:center;background:#fff;border:1px solid #edefed;border-radius:3px;outline:none;transform:translate(-50%,-50%);resize:none}.lf-get-text-height{display:inline-block;box-sizing:border-box;word-break:break-all;border:1px solid transparent}.lf-node-text-auto-wrap{display:flex;align-items:center;justify-content:center;box-sizing:border-box}.lf-node-text-auto-wrap-content{width:100%;line-height:1.2;text-align:center;word-break:break-all;background:transparent}.lf-node-text-ellipsis-content{width:100%;line-height:1.2;white-space:nowrap;text-align:center;background:transparent}.lf-node-text-ellipsis-content>div{overflow:hidden;text-overflow:ellipsis}.lf-tool-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.lf-tool-overlay>*{pointer-events:all}.modification-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.modification-overlay>*{pointer-events:all}.lf-outline,.lf-snapline{pointer-events:none}.lf-keyboard-tips{float:right}.lf-node-select-decorate{position:absolute;border:1px dashed #343435;transform:translate(-50%,-50%);pointer-events:none}.lf-multiple-select{position:absolute;border:2px dashed #187dffcc;box-shadow:0 0 3px #187dff80;cursor:move}.lf-edge-adjust-point{cursor:move}.lf-rotate-control{cursor:grabbing}.lf-resize-control-nw{cursor:nw-resize}.lf-resize-control-n{cursor:n-resize}.lf-resize-control-ne{cursor:ne-resize}.lf-resize-control-e{cursor:e-resize}.lf-resize-control-se{cursor:se-resize}.lf-resize-control-s{cursor:s-resize}.lf-resize-control-sw{cursor:sw-resize}.lf-resize-control-w{cursor:w-resize}.medium-editor-anchor-preview,.medium-editor-toolbar{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;z-index:2000}@-webkit-keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:scale(1)}}@keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:scale(1)}}.medium-editor-anchor-preview{word-wrap:break-word;left:0;line-height:1.4;max-width:280px;position:absolute;text-align:center;top:0;visibility:hidden;word-break:break-all}.medium-editor-anchor-preview a{color:#fff;display:inline-block;margin:5px 5px 10px}.medium-editor-placeholder-relative:after,.medium-editor-placeholder:after{content:attr(data-placeholder)!important;font-style:italic;margin:inherit;padding:inherit;white-space:pre}.medium-editor-anchor-preview-active{visibility:visible}.medium-editor-dragover{background:#ddd}.medium-editor-image-loading{-webkit-animation:medium-editor-image-loading 1s ease-in-out infinite;animation:medium-editor-image-loading 1s ease-in-out infinite;background-color:#333;border-radius:100%;display:inline-block;height:40px;width:40px}.medium-editor-placeholder{position:relative}.medium-editor-placeholder:after{left:0;position:absolute;top:0}.medium-editor-placeholder-relative,.medium-editor-placeholder-relative:after{position:relative}.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{border-style:solid;content:"";display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.medium-toolbar-arrow-under:after{border-width:8px 8px 0}.medium-toolbar-arrow-over:before{border-width:0 8px 8px;top:-8px}.medium-editor-toolbar{left:0;position:absolute;top:0;visibility:hidden}.medium-editor-toolbar ul{margin:0;padding:0}.medium-editor-toolbar li{float:left;list-style:none;margin:0;padding:0}.medium-editor-toolbar li button{cursor:pointer;display:block;font-size:14px;line-height:1.33;margin:0;padding:15px;text-decoration:none}.medium-editor-toolbar li button:focus{outline:0}.medium-editor-toolbar li .medium-editor-action-underline{text-decoration:underline}.medium-editor-toolbar li .medium-editor-action-pre{font-family:Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;font-weight:100;padding:15px 0}.medium-editor-toolbar-active{visibility:visible}.medium-editor-sticky-toolbar{position:fixed;top:1px}.medium-editor-relative-toolbar{position:relative}.medium-editor-toolbar-active.medium-editor-stalker-toolbar{-webkit-animation:medium-editor-pop-upwards .16s linear forwards;animation:medium-editor-pop-upwards .16s linear forwards}.medium-editor-action-bold{font-weight:bolder}.medium-editor-action-italic{font-style:italic}.medium-editor-toolbar-form{display:none}.medium-editor-toolbar-form a,.medium-editor-toolbar-form input{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.medium-editor-toolbar-form .medium-editor-toolbar-form-row{line-height:14px;margin-left:5px;padding-bottom:5px}.medium-editor-toolbar-form .medium-editor-toolbar-input,.medium-editor-toolbar-form label{border:none;box-sizing:border-box;display:inline-block;font-size:14px;margin:0;padding:6px;width:316px}.medium-editor-toolbar-form .medium-editor-toolbar-input:focus,.medium-editor-toolbar-form label:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;box-shadow:none;outline:0}.medium-editor-toolbar-form a{display:inline-block;font-size:24px;font-weight:bolder;margin:0 10px;text-decoration:none}.medium-editor-toolbar-form-active{display:block}.medium-editor-toolbar-actions:after{clear:both;content:"";display:table}.medium-editor-element{word-wrap:break-word;min-height:30px}.medium-editor-element img{max-width:100%}.medium-editor-element sub{vertical-align:sub}.medium-editor-element sup{vertical-align:super}.medium-editor-hidden{display:none}.medium-toolbar-arrow-under:after{border-color:#000 transparent transparent;top:40px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #000}.medium-editor-toolbar{background-color:#000;border:none;border-radius:50px}.medium-editor-toolbar li button{background-color:transparent;border:none;box-sizing:border-box;color:#ccc;height:40px;min-width:40px;padding:5px 12px;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li .medium-editor-button-active,.medium-editor-toolbar li button:hover{background-color:#000;color:#a2d7c7}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:50px;border-top-left-radius:50px;padding-left:24px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:50px;border-right:none;border-top-right-radius:50px;padding-right:24px}.medium-editor-toolbar-form{background:#000;border-radius:50px;color:#ccc;overflow:hidden}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#000;box-sizing:border-box;color:#ccc;height:40px;padding-left:16px;width:220px}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#f8f5f3;color:#f7f4f2cc}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder,.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#f8f5f3;color:#f7f4f2cc}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#f8f5f3;color:#f7f4f2cc}.medium-editor-toolbar-form a{color:#ccc;-webkit-transform:translateY(2px);transform:translateY(2px)}.medium-editor-toolbar-form .medium-editor-toolbar-close{margin-right:16px}.medium-editor-toolbar-anchor-preview{background:#000;border-radius:50px;padding:5px 12px}.medium-editor-anchor-preview a{color:#ccc;text-decoration:none}.medium-editor-toolbar-actions button,.medium-editor-toolbar-actions li{border-radius:50px}.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{opacity:0;position:absolute;z-index:-1}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{align-items:stretch;display:flex;flex-flow:row wrap;font-size:10px;justify-content:space-between;padding:.5em;width:25em}.layout_default.picker_wrapper button,.layout_default.picker_wrapper input{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper:before{content:"";display:block;height:0;order:1;width:100%}.layout_default .picker_selector,.layout_default .picker_slider{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl:before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{height:100%;width:100%}.layout_default .picker_sample{flex:1 1 auto;order:1}.layout_default .picker_cancel,.layout_default .picker_done{order:1}.picker_wrapper{background:#f2f2f2;box-shadow:0 0 0 1px silver;box-sizing:border-box;color:#444;cursor:default;font-family:sans-serif;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{border:none;box-shadow:0 0 0 1px silver;box-sizing:border-box;outline:none}.picker_wrapper button:active,.picker_wrapper button:focus,.picker_wrapper input:active,.picker_wrapper input:focus{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{background-color:#f5f5f5;background-image:linear-gradient(0deg,#dcdcdc,transparent);cursor:pointer;padding:.4em .6em}.picker_wrapper button:active{background-image:linear-gradient(0deg,transparent,#dcdcdc)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{background:currentColor;border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;cursor:pointer;display:block;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1}.picker_slider .picker_selector{border-radius:2px}.picker_hue{background-image:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.picker_hue,.picker_sl{box-shadow:0 0 0 1px silver;position:relative}.picker_sl{background-image:linear-gradient(180deg,#fff,#fff0 50%),linear-gradient(0deg,#000,transparent 50%),linear-gradient(90deg,gray,#80808000)}.picker_alpha,.picker_sample{background:linear-gradient(45deg,#d3d3d3 25%,transparent 0,transparent 75%,#d3d3d3 0) 0 0/2em 2em,linear-gradient(45deg,#d3d3d3 25%,#fff 0,#fff 75%,#d3d3d3 0) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver;position:relative}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample:before{background:currentColor;content:"";display:block;height:100%;position:absolute;width:100%}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{margin:1.5em;position:absolute;z-index:2}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow:after,.picker_wrapper.popup .picker_arrow:before{background:#f2f2f2;box-shadow:0 0 10px 1px #0006}.picker_wrapper.popup .picker_arrow{height:3em;margin:0;width:3em}.picker_wrapper.popup .picker_arrow:after,.picker_wrapper.popup .picker_arrow:before{content:"";display:block;left:0;position:absolute;top:0;z-index:-99}.picker_wrapper.popup .picker_arrow:before{height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%;width:100%}.picker_wrapper.popup .picker_arrow:after{box-shadow:none;height:150%;width:150%}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{left:0;top:100%}.popup.popup_bottom .picker_arrow{left:0;top:0;-webkit-transform:rotate(90deg) scaleY(-1);transform:rotate(90deg) scaleY(-1)}.popup.popup_left{right:100%;top:0}.popup.popup_left .picker_arrow{right:0;top:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}.popup.popup_right{left:100%;top:0}.popup.popup_right .picker_arrow{left:0;top:0}.lf-label-overlay{height:0;overflow:visible;width:0}.lf-label-overlay .lf-label-editor{background:#fff;border-radius:5px;padding:4px}.lf-label-overlay .lf-label-editor-container{align-items:center;display:flex;justify-content:center;overflow:visible;position:absolute;text-align:center}.lf-label-overlay .lf-label-editor-container p{margin:0}.lf-label-overlay .lf-label-editor-dragging{cursor:move}.lf-label-overlay .lf-label-editor-editing{cursor:text;outline:2px solid #275dc5}.lf-label-overlay .lf-label-editor-hover{outline:2px dashed #acacac}.lf-label-overlay .lf-label-editor-clip{overflow:hidden;text-overflow:clip;white-space:nowrap;width:100px}.lf-label-overlay .lf-label-editor-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px}.lf-label-overlay .lf-label-editor-wrap{overflow-wrap:break-word;white-space:normal}.lf-label-overlay .lf-label-editor-nowrap{overflow:visible;white-space:nowrap}.lf-control{background:#fffc;border-radius:5px;box-shadow:0 1px 4px #0000004d;display:flex;margin:5px;padding:0 15px;position:absolute;right:10px;top:0}.lf-control-item{align-items:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:5px 10px}.lf-control-item:hover{background:#efefef}.lf-control-item.disabled{filter:opacity(.5);pointer-events:none}.lf-control-item.disabled:hover{background:#fff}.lf-control-item.disabled i{pointer-events:none}.lf-control-item i{background-size:cover;display:inline-block;height:20px;vertical-align:middle;width:20px}.lf-control-text{font-size:12px;margin-top:5px}.lf-control-zoomOut{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAFMElEQVR4Xu3dsQ3CQBBFQei/KEoDXQG2xAv9h3yDnb0nh7xffgQIXAq82RAgcC0gEK+DwI2AQDwPAgLxBgg0AV+Q5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk3gBPJpo6YIPF/gBPJ9/po2JNAEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaETiB+AOdkWNb83+BE4gfAQIXAgLxNAjcCAjE8yAgEG+AQBPwBWlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCPwAiAUiJ9hUCCUAAAAASUVORK5CYII=)}.lf-control-zoomIn{background-image:url(data:image/png;base64,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)}.lf-control-fit{background-image:url(data:image/png;base64,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)}.lf-control-undo{background-image:url(data:image/png;base64,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)}.lf-control-redo{background-image:url(data:image/png;base64,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)}.lf-menu{background:#fff;border:1px solid #efefee;border-radius:3px;display:none;margin:0 0 0 10px;padding:10px 0;position:absolute;width:150px;z-index:999}.lf-menu>li{cursor:pointer;font-size:12px;line-height:18px;list-style:none;padding:3px 12px;position:relative;transition:all .12s ease-in-out}.lf-menu-item{align-items:center;display:flex;gap:4px;justify-content:flex-start;list-style:none}.lf-menu-item:hover{background:#f3f3f3}.lf-menu-item__disabled{color:#aaa;cursor:not-allowed!important;opacity:.88;pointer-events:inherit!important}.lf-menu-item__disabled:hover{background:#fff}.lf-dndpanel{background:#fffc;border-radius:5px;box-shadow:0 1px 4px #0000004d;margin:5px;padding:15px 5px;position:absolute;z-index:999}.lf-dnd-item{font-size:14px;margin-top:5px;text-align:center}.lf-dnd-item.disabled>div{color:#a8abb2;cursor:not-allowed}.lf-dnd-shape{background-position:50%;background-repeat:no-repeat;cursor:grab;height:36px;margin:0 auto;opacity:.99;width:36px}.lf-selection-select{border:2px dashed #ff8c00;position:absolute}.lf-mini-map{background:#eaedf2;border:1px solid #93a3b4;overflow:hidden;padding:28px 8px 8px;position:absolute}.lf-mini-map .lf-graph{height:100%!important;width:100%!important}.lf-mini-map-graph{overflow:hidden;position:relative}.lf-minimap-viewport{background-color:#30303033;cursor:grab;left:0;position:absolute;top:0}.lf-mini-map-header{background-color:#a6a6a6;background-image:linear-gradient(180deg,#b2b2b2,#9b9b9b);border-bottom:1px solid #999;border-top:1px solid #999;border-color:#bfbfbf #999 #666;border-style:solid;border-width:1px;height:18px;left:0;line-height:18px;padding:0 10px;position:absolute;right:0;text-shadow:0 1px 0 hsla(0,0%,100%,.33);top:0}.lf-mini-map-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACL0lEQVRoQ+1YT2vUQBT/vS+Smc3u0ZtfwA+hUKEttIIVbMEWrGAL3UItqKCCCipooS3Ynu29ePfqLcnO5Nov0NsrWbc0myxtJpNmGZw9LZk37/3+vCTzQnD8R47jhycwbQe9A94BSwV8C1kKaL3dO2AtoWWC/8+BMJB9ItwHcM6MX0mqtm1EzOU7Y8bvJFV9k3zGDnSFPAVw76oIb8ZavzIpehnbE+Ilg/J7/8Za3THJVYfAHwB3x4owXsSpemNSuCs6zwEu7rl9AmEgt4hQspkIa5FS76uQCKV8RoxSLDP6pi1p7EAGsCvEBkA7ZbC0EuvBp+tI9IR4yqBSDIE3Iq13qwiQj6lFYEgikOsgvC4VJDyJlfo6CUg3kI9BmLBG67EevDUFn8XXJpBt7km5yox3xcIMfpRo/SN/PZRygRhj17J1JqwmSn2oA96awL926iwD/LEIgJjmo3RwMCQadGaZePh/3H5ejrT+XBd8IwSGJKRcAuPLhHZ6mIkMxlFpjbEUp+qbDfjGCGSJQiEWCfS9CiAmLCZK7VWJvSnG6h4oJu8FnTkm3r+uKDHNReng8CZgVdcbJTBqpxkwfk4EQJiJlTquCq5KnCeQV8npFnL6Jnb6Mer0i8zpo4TThzmnj9OjGXardDBrZqDZbmMmdnukdH6oL3xWOTG1vNh6oxn7AYB2PqtUOWC1GdP4Ya5N8I0ONG0Dv6znHZiW8t6BaSvvHfAONKSAf4w2JGTtNBey0xBAkjSEzwAAAABJRU5ErkJggg==);background-size:contain;cursor:pointer;height:18px;position:absolute;right:2px;top:0;width:18px}.lf-mini-map-no-header{padding-top:8px}.lf-mini-map-no-close-icon .lf-mini-map-close,.lf-mini-map-no-header .lf-mini-map-header{display:none}.lf-resize-control-0{cursor:nw-resize}.lf-resize-control-1{cursor:ne-resize}.lf-resize-control-2{cursor:se-resize}.lf-resize-control-3{cursor:sw-resize}.lf-inner-context{display:none;flex-flow:column wrap;height:90px;position:absolute}.lf-context-item{box-sizing:content-box;height:20px;margin:0 2px 2px 0;padding:2px 3px;width:20px}.lf-context-item:hover{background:#c9d9d880}.lf-context-img{cursor:pointer;height:20px;width:20px}.lf-mindmap_addIcon{margin-top:10px}.rge-flex-1{flex:1}.rge-mt-8{margin-top:8px}.rge-mt-16{margin-top:16px}.rge-full-width{width:100%}.rge-form-input{width:100%;padding:8px 12px;background:#1a1a2e;border:1px solid #333355;border-radius:6px;color:#e0e0e0;font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.rge-form-input:focus{border-color:#5b8def}.rge-form-input[readonly]{opacity:.7;cursor:default}.rge-form-textarea{width:100%;padding:8px 12px;background:#1a1a2e;border:1px solid #333355;border-radius:6px;color:#e0e0e0;font-size:13px;outline:none;resize:vertical;font-family:inherit;box-sizing:border-box}.rge-form-textarea:focus{border-color:#5b8def}.rge-code-textarea{width:100%;padding:12px;background:#0d0d1a;border:1px solid #333355;border-radius:6px;color:#a8d8a8;font-size:13px;font-family:Fira Code,Consolas,monospace;outline:none;resize:vertical;line-height:1.6;box-sizing:border-box}.rge-code-textarea:focus{border-color:#5b8def}.rge-form-label{display:block;margin-bottom:6px;color:#aaa;font-size:12px;font-weight:500}.rge-form-section{margin-bottom:16px}.rge-form-row{display:flex;gap:8px;align-items:center}.rge-form-value{padding:8px 12px;background:#1a1a2e;border-radius:6px;color:#888;font-size:13px;font-family:monospace}.rge-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.rge-field-desc{display:block;margin-top:4px;color:#666;font-size:11px}.rge-btn-submit{padding:8px 20px;background:linear-gradient(135deg,#5b8def,#4a7de0);border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:opacity .2s}.rge-btn-submit:hover{opacity:.9}.rge-btn-submit:disabled{opacity:.5;cursor:not-allowed}.rge-btn-cancel{padding:8px 20px;background:transparent;border:1px solid #444;border-radius:6px;color:#aaa;font-size:13px;cursor:pointer;transition:border-color .2s}.rge-btn-cancel:hover{border-color:#666}.rge-btn-outline{padding:6px 14px;background:transparent;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;cursor:pointer;transition:all .2s}.rge-btn-outline:hover{border-color:#5b8def;color:#5b8def}.rge-btn-mini{padding:4px 10px;background:transparent;border:1px solid #444;border-radius:4px;color:#aaa;font-size:11px;cursor:pointer}.rge-btn-mini:hover{border-color:#5b8def;color:#5b8def}.rge-btn-mini:disabled{opacity:.5;cursor:not-allowed}.rge-btn-add{display:block;width:100%;padding:6px;margin-top:6px;background:transparent;border:1px dashed #444;border-radius:6px;color:#5b8def;font-size:12px;cursor:pointer;transition:border-color .2s}.rge-btn-add:hover{border-color:#5b8def}.rge-btn-icon-danger{flex-shrink:0;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#ff6b6b;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rge-btn-icon-danger:hover{background:#ff6b6b26}.rge-btn-link{background:none;border:none;color:#5b8def;font-size:12px;cursor:pointer;padding:2px 4px}.rge-btn-link:hover{text-decoration:underline}.rge-btn-link.danger{color:#ff6b6b}.rge-tag{display:inline-block;padding:2px 8px;background:#1a1a2e;border:1px solid #333355;border-radius:4px;color:#aaa;font-size:11px}.rge-tag-small{display:inline-block;padding:1px 6px;background:#5b8def1a;border-radius:3px;color:#7ba8ef;font-size:11px}.rge-drawer-close{width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#888;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rge-drawer-close:hover{background:#ffffff0d;color:#fff}.rge-empty-tip{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666;font-size:13px}.rge-empty-tip p{margin:8px 0 0}.rge-sub-tip{font-size:11px;color:#555}.rge-component-sidebar{width:260px;height:100%;background:#16162a;border-right:1px solid #2a2a44;display:flex;flex-direction:column;overflow:hidden}.rge-sidebar-search{display:flex;align-items:center;padding:12px;border-bottom:1px solid #2a2a44;gap:8px}.rge-search-icon{color:#666;font-size:14px;flex-shrink:0}.rge-search-input{flex:1;padding:6px 10px;background:#1a1a2e;border:1px solid #333355;border-radius:6px;color:#e0e0e0;font-size:12px;outline:none}.rge-search-input:focus{border-color:#5b8def}.rge-search-input::placeholder{color:#555}.rge-sidebar-groups{flex:1;overflow-y:auto;padding:8px 0}.rge-sidebar-groups::-webkit-scrollbar{width:4px}.rge-sidebar-groups::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.rge-sidebar-group{margin-bottom:2px}.rge-group-header{display:flex;align-items:center;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;gap:8px}.rge-group-header:hover{background:#ffffff08}.rge-group-icon{font-size:16px}.rge-group-label{flex:1;color:#ccc;font-size:13px;font-weight:500}.rge-group-count{padding:1px 6px;background:#ffffff0d;border-radius:10px;color:#888;font-size:11px}.rge-group-arrow{color:#666;font-size:16px;transition:transform .2s}.rge-group-arrow.rotated{transform:rotate(90deg)}.rge-group-content{padding:4px 12px 8px;animation:rge-fade-in .15s ease}.rge-component-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;margin-bottom:3px;background:#1a1a2e;border:1px solid #2a2a44;border-left:3px solid #5b8def;border-radius:6px;cursor:grab;transition:all .15s}.rge-component-item:hover{background:#1f1f38;border-color:#3a3a55;transform:translate(2px)}.rge-component-item:active{cursor:grabbing;opacity:.8}.rge-component-label{color:#ddd;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rge-component-type{color:#666;font-size:10px;flex-shrink:0;margin-left:8px}.rge-sidebar-empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#555;font-size:13px}.rge-sidebar-empty p{margin:8px 0 0}.rge-node-block{position:relative;display:flex;align-items:center;height:32px;margin-bottom:6px;border-radius:5px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 1px 3px #00000026;transition:box-shadow .15s,transform .15s;overflow:visible}.rge-node-block:hover{box-shadow:0 2px 8px #00000040;transform:translateY(-1px)}.rge-node-block:active{cursor:grabbing;opacity:.85;transform:translateY(0)}.rge-node-block__icon{display:flex;align-items:center;justify-content:center;width:30px;height:100%;background:#00000026;border-radius:5px 0 0 5px;flex-shrink:0}.rge-node-block__icon-img{width:18px;height:18px;object-fit:contain}.rge-node-block__icon-text{font-size:14px;line-height:1}.rge-node-block__label{flex:1;text-align:center;font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;font-weight:500}.rge-node-block__port{position:absolute;width:8px;height:8px;background:#999;border-radius:1px;top:50%;transform:translateY(-50%)}.rge-node-block__port--input{left:-4px;border-radius:1px 0 0 1px}.rge-node-block__port--output{right:-4px;border-radius:0 1px 1px 0}.rge-node-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;display:flex;justify-content:flex-end;animation:rge-fade-in .2s ease}.rge-node-drawer{width:420px;max-width:90vw;height:100%;background:#1e1e36;border-left:1px solid #2a2a44;display:flex;flex-direction:column;animation:rge-slide-left .25s ease}.rge-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2a2a44}.rge-drawer-title{display:flex;align-items:center;gap:8px;color:#e0e0e0;font-size:15px;font-weight:600}.rge-drawer-body{flex:1;overflow-y:auto;padding:20px}.rge-drawer-body::-webkit-scrollbar{width:4px}.rge-drawer-body::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.rge-drawer-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #2a2a44}.rge-debug-toggle{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#1a1a2e;border:1px solid #333355;border-radius:6px;cursor:pointer;color:#aaa;font-size:12px;white-space:nowrap;flex-shrink:0}.rge-debug-toggle input[type=checkbox]{accent-color:#52c41a;margin:0}.rge-form-switch-row{display:flex;align-items:center;gap:10px}.rge-switch-toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.rge-switch-toggle input{opacity:0;width:0;height:0;position:absolute}.rge-switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#333;border-radius:11px;transition:background .2s}.rge-switch-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s}.rge-switch-toggle input:checked+.rge-switch-slider{background:#5b8def}.rge-switch-toggle input:checked+.rge-switch-slider:before{transform:translate(18px)}.rge-map-editor{background:#1a1a2e;border:1px solid #2a2a44;border-radius:6px;padding:10px}.rge-map-header{display:grid;grid-template-columns:1fr 1fr 28px;gap:6px;margin-bottom:6px;color:#666;font-size:11px}.rge-map-row{display:grid;grid-template-columns:1fr 1fr 28px;gap:6px;margin-bottom:4px}.rge-map-row .rge-form-input{background:#12122a}.rge-array-editor{background:#1a1a2e;border:1px solid #2a2a44;border-radius:6px;padding:10px}.rge-array-row{display:flex;gap:6px;margin-bottom:4px;align-items:center}.rge-array-row .rge-form-input{background:#12122a}.rge-script-editor{border:1px solid #2a2a44;border-radius:6px;overflow:hidden}.rge-edge-drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:1000;display:flex;justify-content:flex-end;animation:rge-fade-in .2s ease}.rge-edge-drawer{width:380px;max-width:90vw;height:100%;background:#1e1e36;border-left:1px solid #2a2a44;display:flex;flex-direction:column;animation:rge-slide-left .25s ease}.rge-edge-endpoints{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a44}.rge-endpoint{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rge-endpoint-label{color:#666;font-size:11px}.rge-endpoint-id{color:#aaa;font-size:12px;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rge-endpoint-arrow{color:#5b8def;font-size:18px;flex-shrink:0}.rge-relation-types{display:flex;flex-wrap:wrap;gap:8px}.rge-relation-type-btn{padding:6px 14px;background:#1a1a2e;border:1px solid #333355;border-radius:20px;color:#aaa;font-size:12px;cursor:pointer;transition:all .15s}.rge-relation-type-btn:hover{border-color:#5b8def;color:#5b8def}.rge-relation-type-btn.active{background:#5b8def1a;border-color:#5b8def;color:#5b8def;font-weight:500}.rge-relation-type-btn.custom{border-style:dashed}.rge-debug-panel{width:100%;height:280px;background:#16162a;border-top:1px solid #2a2a44;display:flex;flex-direction:column;overflow:hidden}.rge-debug-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid #2a2a44;flex-shrink:0}.rge-debug-tabs{display:flex;gap:0}.rge-debug-tab{padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#888;font-size:12px;cursor:pointer;transition:all .15s}.rge-debug-tab:hover{color:#ccc}.rge-debug-tab.active{color:#5b8def;border-bottom-color:#5b8def}.rge-debug-body{flex:1;overflow-y:auto;padding:16px}.rge-debug-body::-webkit-scrollbar{width:4px}.rge-debug-body::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.rge-toolbar-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rge-response-pre{padding:12px;background:#0d0d1a;border:1px solid #2a2a44;border-radius:6px;color:#a8d8a8;font-size:12px;font-family:Fira Code,monospace;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto}.rge-log-table{border:1px solid #2a2a44;border-radius:6px;overflow:hidden}.rge-log-table-header{display:grid;grid-template-columns:160px 80px 80px 1fr 120px;gap:8px;padding:8px 12px;background:#1a1a2e;color:#888;font-size:11px;font-weight:500;border-bottom:1px solid #2a2a44}.rge-log-table-row{display:grid;grid-template-columns:160px 80px 80px 1fr 120px;gap:8px;padding:6px 12px;color:#ccc;font-size:12px;border-bottom:1px solid #1a1a2e;align-items:center}.rge-log-table-row:hover{background:#ffffff05}.rge-log-table-row.error{background:#ff6b6b0d}.rge-log-actions{display:flex;gap:4px}.rge-log-list{display:flex;flex-direction:column;gap:6px}.rge-run-log-item{padding:10px;background:#1a1a2e;border:1px solid #2a2a44;border-radius:6px;cursor:pointer;transition:border-color .15s}.rge-run-log-item:hover{border-color:#3a3a55}.rge-run-log-item pre{margin:0;color:#ccc;font-size:11px;font-family:monospace;white-space:pre-wrap;word-break:break-all;max-height:80px;overflow:hidden}.rge-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1100;display:flex;align-items:center;justify-content:center;animation:rge-fade-in .15s ease}.rge-detail-modal{width:600px;max-width:90vw;max-height:80vh;background:#1e1e36;border:1px solid #2a2a44;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;animation:rge-scale-in .2s ease}.rge-detail-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #2a2a44;color:#e0e0e0;font-size:14px;font-weight:500}.rge-detail-header>div{display:flex;gap:4px}.rge-detail-pre{flex:1;overflow:auto;margin:0;padding:16px 20px;color:#a8d8a8;font-size:12px;font-family:Fira Code,monospace;white-space:pre-wrap;word-break:break-all}.rge-dataview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;animation:rge-fade-in .15s ease}.rge-dataview-dialog{width:700px;max-width:90vw;max-height:85vh;background:#1e1e36;border:1px solid #2a2a44;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;animation:rge-scale-in .2s ease}.rge-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2a2a44}.rge-dialog-title{display:flex;align-items:center;gap:8px;color:#e0e0e0;font-size:15px;font-weight:600}.rge-dialog-toolbar{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #2a2a44}.rge-dialog-body{flex:1;overflow:auto;padding:0}.rge-json-pre{margin:0;padding:20px;color:#a8d8a8;font-size:12px;font-family:Fira Code,monospace;white-space:pre-wrap;word-break:break-all;line-height:1.6}.rge-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 8px;height:42px;background:#1a1a2e;border-bottom:1px solid #2a2a44;flex-shrink:0;-webkit-user-select:none;user-select:none}.rge-toolbar-left{display:flex;align-items:center;gap:2px}.rge-toolbar-center{flex:1;display:flex;justify-content:center}.rge-chain-name{color:#ccc;font-size:13px;font-weight:500;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rge-toolbar-right{position:relative;display:flex;align-items:center}.rge-toolbar-btn{display:flex;align-items:center;justify-content:center;width:34px;height:30px;background:transparent;border:none;border-radius:6px;color:#aaa;font-size:14px;cursor:pointer;transition:all .15s}.rge-toolbar-btn:hover:not(.disabled){background:#ffffff0f;color:#fff}.rge-toolbar-btn.active{background:#5b8def26;color:#5b8def}.rge-toolbar-btn.disabled{opacity:.35;cursor:not-allowed}.rge-toolbar-icon{font-size:14px;line-height:1}.rge-toolbar-divider{width:1px;height:20px;background:#335;margin:0 6px;flex-shrink:0}.rge-toolbar-divider.horizontal{width:100%;height:1px;margin:4px 0}.rge-toolbar-zoom-btn{padding:4px 10px;background:#ffffff0a;border:1px solid #333355;border-radius:4px;color:#aaa;font-size:12px;cursor:pointer;font-family:monospace}.rge-toolbar-zoom-btn:hover{border-color:#5b8def;color:#5b8def}.rge-zoom-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#1e1e36;border:1px solid #2a2a44;border-radius:8px;padding:4px;z-index:200;min-width:100px;box-shadow:0 4px 16px #0006;animation:rge-fade-in .15s ease}.rge-zoom-option{display:block;width:100%;padding:6px 12px;background:transparent;border:none;border-radius:4px;color:#ccc;font-size:12px;text-align:left;cursor:pointer}.rge-zoom-option:hover{background:#ffffff0f}.rge-zoom-option.active{color:#5b8def;font-weight:500}.rge-ctx-menu{position:fixed;z-index:2000;min-width:180px;background:#1e1e36;border:1px solid #2a2a44;border-radius:8px;padding:4px;box-shadow:0 8px 24px #00000080;animation:rge-scale-in .12s ease}.rge-ctx-menu-item{display:block;width:100%;padding:0;background:transparent;border:none;border-radius:4px;color:#ddd;font-size:13px;cursor:pointer;transition:background .1s;text-align:left;position:relative}.rge-ctx-menu-item:hover{background:#5b8def1f}.rge-ctx-menu-item.disabled{opacity:.4;cursor:not-allowed}.rge-ctx-menu-item.disabled:hover{background:transparent}.rge-ctx-menu-item.danger{color:#ff6b6b}.rge-ctx-menu-item.danger:hover{background:#ff6b6b1f}.rge-ctx-menu-item-content{display:flex;align-items:center;padding:7px 12px;gap:10px}.rge-ctx-menu-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}.rge-ctx-menu-label{flex:1}.rge-ctx-menu-shortcut{color:#666;font-size:11px;margin-left:16px;flex-shrink:0}.rge-ctx-menu-arrow{color:#666;font-size:10px;flex-shrink:0}.rge-ctx-menu-divider{height:1px;background:#2a2a44;margin:4px 8px}.rge-ctx-menu-item.has-submenu{cursor:default}.rge-ctx-submenu{display:none;position:absolute;left:100%;top:0;min-width:160px;background:#1e1e36;border:1px solid #2a2a44;border-radius:8px;padding:4px;box-shadow:0 4px 16px #0006}.rge-ctx-menu-item.has-submenu:hover>.rge-ctx-submenu{display:block}.rge-minimap{background:#1a1a2e;border:1px solid #2a2a44;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.rge-minimap-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #2a2a44}.rge-minimap-header:hover{background:#ffffff08}.rge-minimap-title{color:#aaa;font-size:11px;font-weight:500}.rge-minimap-toggle{color:#666;font-size:10px}.rge-minimap-canvas{display:block;cursor:crosshair}.rge-validation-panel{background:#16162a;border:1px solid #2a2a44;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;max-height:400px}.rge-validation-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #2a2a44;flex-shrink:0}.rge-validation-title{color:#e0e0e0;font-size:13px;font-weight:600}.rge-validation-actions{display:flex;gap:4px}.rge-validation-btn{padding:4px 10px;background:transparent;border:1px solid #333355;border-radius:4px;color:#aaa;font-size:12px;cursor:pointer;transition:all .15s}.rge-validation-btn:hover{border-color:#5b8def;color:#5b8def}.rge-validation-btn:disabled{opacity:.4;cursor:not-allowed}.rge-validation-stats{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid #1a1a2e;flex-shrink:0}.rge-validation-stat{padding:3px 10px;background:transparent;border:1px solid transparent;border-radius:12px;color:#888;font-size:11px;cursor:pointer;transition:all .15s}.rge-validation-stat:hover{background:#ffffff0a}.rge-validation-stat.active{border-color:#5b8def;color:#5b8def;background:#5b8def14}.rge-validation-stat.error.active{border-color:#ff4d4f;color:#ff4d4f;background:#ff4d4f14}.rge-validation-stat.warning.active{border-color:#faad14;color:#faad14;background:#faad1414}.rge-validation-body{flex:1;overflow-y:auto;padding:8px}.rge-validation-body::-webkit-scrollbar{width:4px}.rge-validation-body::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.rge-validation-loading,.rge-validation-empty{display:flex;align-items:center;justify-content:center;padding:30px;color:#666;font-size:13px}.rge-validation-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;margin-bottom:4px;cursor:pointer;transition:background .15s}.rge-validation-item:hover{background:#ffffff08}.rge-validation-item.level-error{border-left:3px solid #ff4d4f}.rge-validation-item.level-warning{border-left:3px solid #faad14}.rge-validation-item.level-info{border-left:3px solid #1890ff}.rge-validation-item-icon{font-size:14px;flex-shrink:0;margin-top:1px}.rge-validation-item-content{flex:1;min-width:0}.rge-validation-item-message{color:#ddd;font-size:12px;line-height:1.5}.rge-validation-item-meta{display:flex;gap:10px;margin-top:4px}.rge-validation-item-rule{color:#666;font-size:11px;font-family:monospace}.rge-validation-item-element{color:#888;font-size:11px}.rge-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1200;display:flex;align-items:center;justify-content:center;animation:rge-fade-in .15s ease}.rge-modal{width:520px;max-width:90vw;max-height:85vh;background:#1e1e36;border:1px solid #2a2a44;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;animation:rge-scale-in .2s ease}.rge-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #2a2a44}.rge-modal-title{color:#e0e0e0;font-size:15px;font-weight:600}.rge-modal-close{width:30px;height:30px;background:transparent;border:none;border-radius:6px;color:#888;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.rge-modal-close:hover{background:#ffffff0d;color:#fff}.rge-modal-body{flex:1;overflow-y:auto;padding:20px}.rge-modal-body::-webkit-scrollbar{width:4px}.rge-modal-body::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.rge-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #2a2a44}.rge-form-group{margin-bottom:16px}.rge-form-group.inline{display:flex;align-items:center;gap:10px;margin-bottom:0}.rge-form-input.error{border-color:#ff4d4f}.rge-form-error{display:block;margin-top:4px;color:#ff4d4f;font-size:11px}.rge-form-help{display:block;margin-top:4px;color:#666;font-size:11px}.rge-required{color:#ff4d4f}.rge-form-select{width:100%;padding:8px 12px;background:#1a1a2e;border:1px solid #333355;border-radius:6px;color:#e0e0e0;font-size:13px;outline:none;box-sizing:border-box;cursor:pointer}.rge-form-select:focus{border-color:#5b8def}.rge-form-textarea.mono{font-family:Fira Code,Consolas,monospace;color:#a8d8a8}.rge-switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;flex-shrink:0}.rge-switch input{opacity:0;width:0;height:0;position:absolute}.rge-switch .rge-switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#333;border-radius:11px;transition:background .2s}.rge-switch .rge-switch-slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s}.rge-switch input:checked+.rge-switch-slider{background:#5b8def}.rge-switch input:checked+.rge-switch-slider:before{transform:translate(18px)}.rge-btn{padding:8px 20px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:opacity .2s}.rge-btn.primary{background:linear-gradient(135deg,#5b8def,#4a7de0);color:#fff}.rge-btn.primary:hover{opacity:.9}.rge-btn.secondary{background:transparent;border:1px solid #444;color:#aaa}.rge-btn.secondary:hover{border-color:#666}@keyframes rge-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rge-slide-left{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rge-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.rge-ie-tabs{display:flex;gap:0;padding:0 16px;border-bottom:1px solid #2a2a44;background:#16162a}.rge-ie-tab{padding:8px 20px;background:transparent;border:none;border-bottom:2px solid transparent;color:#888;font-size:13px;cursor:pointer;transition:all .2s}.rge-ie-tab:hover{color:#bbb}.rge-ie-tab.active{color:#7c6aef;border-bottom-color:#7c6aef}.rge-ie-info{display:flex;gap:16px;padding:8px 0;font-size:12px;color:#88a}.rge-ie-preview{background:#0d0d1a;border:1px solid #2a2a44;border-radius:6px;padding:12px;font-size:11px;font-family:Fira Code,Monaco,monospace;color:#a8a8cc;overflow:auto;max-height:320px;line-height:1.5;white-space:pre;word-break:break-all}.rge-ie-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;border:2px dashed #3a3a55;border-radius:8px;background:#12122a;cursor:pointer;transition:all .2s;min-height:100px}.rge-ie-dropzone:hover,.rge-ie-dropzone.dragover{border-color:#7c6aef;background:#7c6aef0d}.rge-ie-dropzone.has-file{border-style:solid;border-color:#28a745;background:#28a7450d}.rge-ie-drop-icon{font-size:28px}.rge-ie-drop-text{font-size:13px;color:#88a}.rge-ie-file-name{font-size:13px;color:#28a745}.rge-ie-error{padding:8px 12px;margin-top:8px;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:4px;color:#ff6b7a;font-size:12px}.rge-ie-import-info{margin-top:12px}.rge-search-panel{position:absolute;z-index:100;background:#1a1a2e;border:1px solid #2a2a44;border-radius:8px;box-shadow:0 8px 24px #0006;min-width:360px;max-width:480px;animation:rge-scale-in .15s ease-out}.rge-search-panel.top-center{top:56px;left:50%;transform:translate(-50%)}.rge-search-panel.top-right{top:56px;right:16px}.rge-search-input-wrapper{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #2a2a44;gap:8px}.rge-search-icon{font-size:14px;flex-shrink:0}.rge-search-input{flex:1;background:transparent;border:none;outline:none;color:#e0e0ff;font-size:14px;padding:4px 0}.rge-search-input::placeholder{color:#5a5a77}.rge-search-count{font-size:11px;color:#7c6aef;white-space:nowrap;flex-shrink:0}.rge-search-close{background:transparent;border:none;color:#666;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:3px;flex-shrink:0}.rge-search-close:hover{color:#ff6b7a;background:#ff6b7a1a}.rge-search-results{max-height:280px;overflow-y:auto;padding:4px 0}.rge-search-result-item{padding:8px 12px;cursor:pointer;transition:background .15s}.rge-search-result-item:hover,.rge-search-result-item.active{background:#7c6aef1a}.rge-search-result-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.rge-search-result-name{font-size:13px;color:#e0e0ff;font-weight:500}.rge-search-result-type{font-size:11px;color:#7c6aef;background:#7c6aef1a;padding:1px 6px;border-radius:3px;white-space:nowrap}.rge-search-result-id{font-size:10px;color:#5a5a77;margin-top:2px;font-family:Fira Code,monospace}.rge-search-highlight{background:#ffc8324d;color:gold;border-radius:2px;padding:0 1px}.rge-search-empty{padding:16px;text-align:center;color:#5a5a77;font-size:13px}.huanban_rulego_list{--huanban-rg-bg: #ffffff;--huanban-rg-text: #1a1a2e;--huanban-rg-text-secondary: #666;--huanban-rg-border: #e5e5e5;--huanban-rg-primary: #5b8def;--huanban-rg-danger: #ff4d4f;--huanban-rg-success: #52c41a;--huanban-rg-row-bg: #fafafa;--huanban-rg-row-hover: #f0f5ff;--huanban-rg-input-bg: #fff;--huanban-rg-radius: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--huanban-rg-bg);color:var(--huanban-rg-text);border:1px solid var(--huanban-rg-border);border-radius:var(--huanban-rg-radius);overflow:hidden}.huanban_rulego_list--dark{--huanban-rg-bg: #16162a;--huanban-rg-text: #e0e0e0;--huanban-rg-text-secondary: #999;--huanban-rg-border: #2a2a44;--huanban-rg-row-bg: #1a1a2e;--huanban-rg-row-hover: #1f1f38;--huanban-rg-input-bg: #1a1a2e}.huanban_rulego_list__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--huanban-rg-border)}.huanban_rulego_list__title{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:6px}.huanban_rulego_list__count{font-size:13px;color:var(--huanban-rg-text-secondary);font-weight:400}.huanban_rulego_list__toolbar{display:flex;gap:8px;align-items:center}.huanban_rulego_list__search{display:flex;gap:4px}.huanban_rulego_list__search_input{padding:6px 10px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);font-size:13px;outline:none;width:180px}.huanban_rulego_list__search_input:focus{border-color:var(--huanban-rg-primary)}.huanban_rulego_list__search_btn,.huanban_rulego_list__toolbar_btn{padding:6px 10px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);font-size:13px;cursor:pointer}.huanban_rulego_list__toolbar_btn:hover{border-color:var(--huanban-rg-primary)}.huanban_rulego_list__toolbar_btn--primary{background:var(--huanban-rg-primary);color:#fff;border-color:var(--huanban-rg-primary)}.huanban_rulego_list__body{padding:0}.huanban_rulego_list__loading{display:flex;justify-content:center;align-items:center;gap:8px;padding:40px 0;color:var(--huanban-rg-text-secondary)}.huanban_rulego_list__spinner{width:18px;height:18px;border:2px solid var(--huanban-rg-border);border-top-color:var(--huanban-rg-primary);border-radius:50%;animation:huanban_spin .8s linear infinite}@keyframes huanban_spin{to{transform:rotate(360deg)}}.huanban_rulego_list__rows{padding:0}.huanban_rulego_list__row{padding:12px 16px;border-bottom:1px solid var(--huanban-rg-border);background:var(--huanban-rg-row-bg);transition:background .15s}.huanban_rulego_list__row:hover{background:var(--huanban-rg-row-hover)}.huanban_rulego_list__row_main{display:flex;align-items:center;gap:10px}.huanban_rulego_list__row_icon{font-size:18px;flex-shrink:0}.huanban_rulego_list__row_info{flex:1;min-width:0}.huanban_rulego_list__row_name{font-size:14px;font-weight:600;display:block}.huanban_rulego_list__row_id{font-size:11px;color:var(--huanban-rg-text-secondary);font-family:Fira Code,monospace;display:block}.huanban_rulego_list__row_status{font-size:12px;padding:2px 10px;border-radius:12px;flex-shrink:0}.huanban_rulego_list__row_status--on{background:#52c41a1f;color:var(--huanban-rg-success)}.huanban_rulego_list__row_status--off{background:#ff4d4f1a;color:var(--huanban-rg-danger)}.huanban_rulego_list__row_desc{margin-top:6px;font-size:12px;color:var(--huanban-rg-text-secondary);line-height:1.4;padding-left:28px}.huanban_rulego_list__actions{display:flex;gap:6px;margin-top:8px;padding-left:28px;flex-wrap:wrap}.huanban_rulego_list__action_btn{padding:4px 10px;border:1px solid var(--huanban-rg-border);border-radius:4px;background:transparent;color:var(--huanban-rg-text);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s}.huanban_rulego_list__action_btn:hover{border-color:var(--huanban-rg-primary);color:var(--huanban-rg-primary)}.huanban_rulego_list__action_btn:disabled{opacity:.5;cursor:not-allowed}.huanban_rulego_list__action_btn--delete:hover{border-color:var(--huanban-rg-danger);color:var(--huanban-rg-danger)}.huanban_rulego_list__empty{display:flex;flex-direction:column;align-items:center;padding:48px 20px;color:var(--huanban-rg-text-secondary)}.huanban_rulego_list__empty_icon{font-size:36px;margin-bottom:12px;opacity:.4}.huanban_rulego_list__empty_btn{margin-top:16px;padding:8px 20px;background:var(--huanban-rg-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.huanban_rulego_list__pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--huanban-rg-border)}.huanban_rulego_list__page_btn{padding:6px 14px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);cursor:pointer;font-size:13px}.huanban_rulego_list__page_btn:disabled{opacity:.4;cursor:not-allowed}.huanban_rulego_list__page_info{font-size:13px;color:var(--huanban-rg-text-secondary)}.huanban_rulego_list__modal_mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1100;display:flex;justify-content:center;align-items:center}.huanban_rulego_list__modal{width:420px;max-width:90vw;background:var(--huanban-rg-bg);border-radius:12px;box-shadow:0 8px 30px #0003}.huanban_rulego_list__modal_header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--huanban-rg-border)}.huanban_rulego_list__modal_header h4{margin:0;font-size:16px}.huanban_rulego_list__modal_close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--huanban-rg-text-secondary)}.huanban_rulego_list__modal_body{padding:20px}.huanban_rulego_list__modal_footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px;border-top:1px solid var(--huanban-rg-border)}.huanban_rulego_list__form_label{display:block;margin-bottom:12px;font-size:13px}.huanban_rulego_list__form_input,.huanban_rulego_list__form_textarea{width:100%;padding:8px 12px;margin-top:6px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);font-size:13px;outline:none;box-sizing:border-box}.huanban_rulego_list__form_input:focus,.huanban_rulego_list__form_textarea:focus{border-color:var(--huanban-rg-primary)}.huanban_rulego_list__form_textarea{resize:vertical;font-family:inherit}.huanban_rulego_list__btn{padding:8px 20px;border-radius:6px;font-size:13px;cursor:pointer}.huanban_rulego_list__btn--cancel{background:transparent;border:1px solid var(--huanban-rg-border);color:var(--huanban-rg-text)}.huanban_rulego_list__btn--primary{background:var(--huanban-rg-primary);border:none;color:#fff}.huanban_rulego_info{--huanban-rg-bg: #ffffff;--huanban-rg-text: #1a1a2e;--huanban-rg-text-secondary: #666;--huanban-rg-border: #e5e5e5;--huanban-rg-primary: #5b8def;--huanban-rg-danger: #ff4d4f;--huanban-rg-success: #52c41a;--huanban-rg-input-bg: #fff;--huanban-rg-radius: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--huanban-rg-bg);color:var(--huanban-rg-text)}.huanban_rulego_info--dark{--huanban-rg-bg: #16162a;--huanban-rg-text: #e0e0e0;--huanban-rg-text-secondary: #999;--huanban-rg-border: #2a2a44;--huanban-rg-input-bg: #1a1a2e}.huanban_rulego_info--empty{padding:40px 20px;text-align:center}.huanban_rulego_info__no_data{color:var(--huanban-rg-text-secondary);font-size:14px}.huanban_rulego_info__tabs{display:flex;border-bottom:1px solid var(--huanban-rg-border);overflow-x:auto}.huanban_rulego_info__tab{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--huanban-rg-text-secondary);font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s}.huanban_rulego_info__tab:hover{color:var(--huanban-rg-text)}.huanban_rulego_info__tab--active{color:var(--huanban-rg-primary);border-bottom-color:var(--huanban-rg-primary);font-weight:600}.huanban_rulego_info__content{padding:16px}.huanban_rulego_info__panel{box-sizing:border-box}.huanban_rulego_info__label{display:block;margin-bottom:14px;font-size:13px;color:var(--huanban-rg-text-secondary)}.huanban_rulego_info__input,.huanban_rulego_info__textarea{width:100%;padding:8px 12px;margin-top:6px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);font-size:13px;outline:none;box-sizing:border-box}.huanban_rulego_info__input:focus,.huanban_rulego_info__textarea:focus{border-color:var(--huanban-rg-primary)}.huanban_rulego_info__textarea{resize:vertical;font-family:inherit}.huanban_rulego_info__row{margin-bottom:8px}.huanban_rulego_info__field{font-size:12px;color:var(--huanban-rg-text-secondary);font-family:monospace}.huanban_rulego_info__status{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px}.huanban_rulego_info__status--on{background:#52c41a1f;color:var(--huanban-rg-success)}.huanban_rulego_info__status--off{background:#ff4d4f1a;color:var(--huanban-rg-danger)}.huanban_rulego_info__subtitle{font-size:14px;font-weight:600;margin:0 0 12px;display:flex;align-items:center;gap:6px}.huanban_rulego_info__save_btn{margin-top:12px;padding:8px 20px;background:var(--huanban-rg-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px}.huanban_rulego_info__save_btn:disabled{opacity:.5;cursor:not-allowed}.huanban_rulego_info__kv{margin-bottom:8px}.huanban_rulego_info__kv_row{display:flex;gap:8px;margin-bottom:6px;align-items:center}.huanban_rulego_info__kv_input{flex:1;padding:6px 10px;border:1px solid var(--huanban-rg-border);border-radius:6px;background:var(--huanban-rg-input-bg);color:var(--huanban-rg-text);font-size:13px;outline:none}.huanban_rulego_info__kv_input:focus{border-color:var(--huanban-rg-primary)}.huanban_rulego_info__kv_del{width:28px;height:28px;background:transparent;border:none;color:var(--huanban-rg-danger);cursor:pointer;border-radius:4px;font-size:14px;display:flex;align-items:center;justify-content:center}.huanban_rulego_info__kv_del:hover{background:#ff4d4f1a}.huanban_rulego_info__kv_add{display:block;width:100%;padding:6px;background:transparent;border:1px dashed var(--huanban-rg-border);border-radius:6px;color:var(--huanban-rg-primary);font-size:12px;cursor:pointer;text-align:center}.huanban_rulego_info__kv_add:hover{border-color:var(--huanban-rg-primary)}.huanban_rulego_info__integration_item{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px;background:var(--huanban-rg-input-bg);border:1px solid var(--huanban-rg-border);border-radius:6px}.huanban_rulego_info__integration_label{font-size:12px;color:var(--huanban-rg-text-secondary);flex-shrink:0;min-width:60px}.huanban_rulego_info__integration_url{flex:1;font-size:12px;font-family:Fira Code,monospace;color:var(--huanban-rg-text);word-break:break-all}.huanban_rulego_info__copy_btn{width:28px;height:28px;background:transparent;border:1px solid var(--huanban-rg-border);border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;color:var(--huanban-rg-text-secondary)}.huanban_rulego_info__copy_btn:hover{border-color:var(--huanban-rg-primary);color:var(--huanban-rg-primary)}.rge-chain-info-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(135deg,#1a1a2e,#16162a);border-bottom:1px solid #2a2a44;flex-shrink:0;gap:16px;min-height:40px}.rge-chain-info-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.rge-chain-info-right{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap}.rge-chain-name{font-size:14px;font-weight:600;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.rge-chain-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.6}.rge-chain-tag--root{background:#5b8def26;color:#7ba8ef;border:1px solid rgba(91,141,239,.3)}.rge-chain-tag--sub{background:#ffa5001f;color:#f0a050;border:1px solid rgba(255,165,0,.25)}.rge-chain-tag--disabled{background:#ff4d4d1f;color:#ff6b6b;border:1px solid rgba(255,77,77,.25)}.rge-chain-tag--endpoint{background:#52c41a1f;color:#73d13d;border:1px solid rgba(82,196,26,.25)}.rge-chain-endpoints-label{color:#666;font-size:11px;margin-right:2px}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@huanban/rulego-editor-react",
3
+ "version": "1.0.0",
4
+ "description": "RuleGo 编辑器 React 适配层 - WorkflowList / WorkflowInfoPanel / RuleGoEditor 独立组件 + Hooks",
5
+ "type": "module",
6
+ "main": "dist/index.cjs.js",
7
+ "module": "dist/index.esm.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.esm.js",
12
+ "require": "./dist/index.cjs.js",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./style.css": "./dist/style.css"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "publishConfig": {
21
+ "registry": "https://registry.npmjs.org",
22
+ "access": "public"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/openclaw/rulego-editor",
27
+ "directory": "packages/editor-react"
28
+ },
29
+ "homepage": "https://github.com/openclaw/rulego-editor#readme",
30
+ "scripts": {
31
+ "dev": "vite build --watch",
32
+ "build": "vite build && tsc --emitDeclarationOnly --outDir dist",
33
+ "lint": "tsc --noEmit",
34
+ "clean": "rm -rf dist"
35
+ },
36
+ "dependencies": {
37
+ "@huanban/rulego-editor-core": ">=1.0.0",
38
+ "@logicflow/core": "2.1.11",
39
+ "@logicflow/extension": "2.1.11"
40
+ },
41
+ "peerDependencies": {
42
+ "react": ">=16.8.0",
43
+ "react-dom": ">=16.8.0"
44
+ },
45
+ "devDependencies": {
46
+ "@huanban/rulego-editor-core": "workspace:*",
47
+ "@logicflow/core": "2.1.11",
48
+ "@logicflow/extension": "2.1.11",
49
+ "typescript": "^5.4.0",
50
+ "vite": "^5.4.0",
51
+ "@types/react": "^18.2.0",
52
+ "@types/react-dom": "^18.2.0",
53
+ "react": "^18.3.0",
54
+ "react-dom": "^18.3.0"
55
+ },
56
+ "keywords": [
57
+ "rulego",
58
+ "editor-react",
59
+ "react",
60
+ "hooks",
61
+ "nextjs",
62
+ "rule-chain",
63
+ "workflow-list",
64
+ "workflow-info",
65
+ "logicflow"
66
+ ],
67
+ "author": "HuanBan Team",
68
+ "license": "Apache-2.0"
69
+ }