@relation-graph/vue3 3.0.4 → 3.0.6

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.
@@ -1,21 +1,21 @@
1
- (function(){ try {var elementStyle = document.createElement('style'); elementStyle.appendChild(document.createTextNode("@charset \"UTF-8\";.relation-graph{box-sizing:border-box;position:relative;min-width:400px;min-height:300px;--editor-main-color: rgb(64, 165, 248);--editor-light-color: rgb(125, 192, 248);--editor-light2-color: rgb(168, 212, 248);--editor-light-opacity: rgba(57, 144, 216, .1);--rg-node-opacity: 1;--rg-node-font-size: 1rem;--rg-node-font-color: #000000;--rg-node-color: #eeeeee;--rg-node-border-color: #333333;--rg-node-border-width: 1px;--rg-node-border-radius: 3px;--rg-node-width: fit-content;--rg-node-height: fit-content;--rg-node-text-px: 10px;--rg-node-text-py: 3px;--rg-background-color: transparent;--rg-line-color: #888888;--rg-line-width: 1px;--rg-line-fontcolor: var(--rg-line-color, #666666);--rg-line-fontsize: 12px;--rg-line-opacity: 1;--rg-checked-item-bg-color: rgba(150, 150, 150, .2);--rg-checked-line-text-bg-color: rgb(234, 232, 232)}.relation-graph:focus{outline:none}.relation-graph .rg-graph-plugs{position:absolute;left:0px;top:0px;z-index:90;width:100%;height:100%;pointer-events:none;user-select:none}.relation-graph .rg-graph-plugs .rg-view-slot{position:relative;width:100%;height:100%}.relation-graph .rg-watermark{position:absolute;--watermark-width: 200px;--watermark-height: 100px;z-index:1200;overflow:visible;min-height:100px;min-width:100px;width:var(--watermark-width);height:var(--watermark-height);box-sizing:border-box}.relation-graph .rg-watermark div{box-sizing:border-box}.relation-graph .rg-watermark.rg-watermark-top{left:calc((100% - var(--watermark-width)) / 2);top:10px}.relation-graph .rg-watermark.rg-watermark-bottom{left:calc((100% - var(--watermark-width)) / 2);bottom:10px}.relation-graph .rg-watermark.rg-watermark-left{left:10px;top:calc((100% - var(--watermark-height)) / 2)}.relation-graph .rg-watermark.rg-watermark-right{right:10px;top:calc((100% - var(--watermark-height)) / 2)}.relation-graph .rg-watermark.rg-watermark-tl{left:10px;top:10px}.relation-graph .rg-watermark.rg-watermark-tr{right:10px;top:10px}.relation-graph .rg-watermark.rg-watermark-bl{left:10px;bottom:10px}.relation-graph .rg-watermark.rg-watermark-br{right:10px;bottom:10px}.relation-graph .rg-lines-container svg{overflow:visible}.relation-graph .rg-lines-svg{overflow:visible;width:10px;height:10px;position:absolute;left:0px;top:0px}.relation-graph .rg-lines-container{overflow:visible;position:absolute;z-index:40;width:100%;top:0px;left:0px;pointer-events:none}.relation-graph .rg-lines-container-el-lines{z-index:80;pointer-events:none}.relation-graph .rg-lines-container-el-lines .rg-line-bg{pointer-events:stroke}.relation-graph .rg-lines-container-el-lines .rg-line-text{pointer-events:all}.relation-graph .rg-lines-svg-el-lines{overflow:visible;width:10px;height:10px;position:absolute;left:0px;top:0px}.relation-graph .rg-nodes-container-wrapper{position:absolute;width:100%;top:0px;left:0px;z-index:50}.relation-graph .rg-nodes-container{position:relative;overflow:visible}.relation-graph .rg-map{background-color:var(--rg-background-color);overflow:hidden;cursor:default;user-select:none;opacity:.01;transition:none;width:100%;height:100%;position:relative}.relation-graph .rg-map-background{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.relation-graph.rg-move-mode .rg-map{cursor:grab}.relation-graph .rg-map-ready{opacity:1;transition:opacity .5s ease;will-change:opacity}.relation-graph .rg-map-background-norepeat{background-repeat:no-repeat;background-position:right bottom}.relation-graph .rg-map-canvas{position:relative;user-select:none;pointer-events:none;top:0;left:0;border:none;z-index:3;overflow:visible;white-space:nowrap;transform-origin:0 0;will-change:transform}.relation-graph .rg-map-canvas .rg-events-all{pointer-events:all}.relation-graph.rg-enable-node-xy-animation .rg-node-peel{transition:transform .15s ease}.relation-graph.rg-enable-node-xy-animation .rg-line-peel{transition:none}.relation-graph.rg-enable-canvas-animation .rg-map-canvas{transition:transform .5s ease}.relation-graph.rg-enable-canvas-animation .rg-editing-ctrl,.relation-graph.rg-enable-canvas-animation .rg-editing-line-ctrl,.relation-graph.rg-enable-canvas-animation .rg-editing-connect-ctrl{opacity:0}.relation-graph .rg-canvas-behind{z-index:2;position:absolute}.relation-graph .rg-canvas-above{z-index:5;position:absolute}.relation-graph .rg-canvas-slot{overflow:visible;position:absolute;margin-top:0;margin-left:0}.relation-graph .rg-canvas-slot-behind{z-index:30;overflow:visible}.relation-graph .rg-canvas-slot-above{z-index:70;overflow:visible}.relation-graph .rg-single-graph{position:relative;overflow:visible}.relation-graph .rg-map img{-webkit-user-drag:none;-webkit-user-select:none}.relation-graph .rg-line-text{fill:var(--rg-line-fontcolor, #888888);font-size:var(--rg-line-fontsize);paint-order:stroke;pointer-events:all}.relation-graph .rg-linetext-container{position:absolute;pointer-events:none;user-select:none;overflow:visible;left:0;top:0;z-index:45;display:block}.relation-graph .rg-linetext-container .rg-line-peel{width:fit-content}.relation-graph .rg-linetext-container .rg-line-peel .rg-line-label{display:block;color:var(--rg-line-fontcolor, #888888);font-size:var(--rg-line-fontsize);transform-origin:0 0;position:absolute;user-select:none;pointer-events:all;box-sizing:border-box;padding:2px 6px;border-radius:5px;white-space:nowrap}.relation-graph .rg-linetext-container .rg-line-peel .rg-line-label-on-path{background-color:#fff}.relation-graph .rg-linetext-container .rg-line-checked .rg-line-label{background-color:var(--rg-checked-line-text-bg-color);color:#0f172a}.relation-graph .rg-linetext-container .rg-line-checked .rg-line-label-on-path{background-color:var(--rg-line-color, #ffffff)}.relation-graph .rg-line-peel{pointer-events:none;cursor:default;transition:opacity .2s ease-in;opacity:var(--rg-line-opacity, 1)}.relation-graph .rg-line{fill-rule:nonzero;stroke-linecap:round;stroke:var(--rg-line-color);stroke-width:var(--rg-line-width);pointer-events:none;fill:none;marker-end:var(--rg-line-marker-end);marker-start:var(--rg-line-marker-start)}.relation-graph .rg-line-bg{stroke:#fff;opacity:.01;fill:none;fill-rule:nonzero;stroke-linecap:round;pointer-events:stroke;stroke-width:calc(var(--rg-line-width) + 6px)}.relation-graph .rg-line-bg:hover{opacity:.7;stroke:var(--rg-checked-item-bg-color)}.relation-graph .rg-line-checked .rg-line-bg{stroke:var(--rg-checked-item-bg-color);opacity:1}.relation-graph .rg-line-checked .rg-line{z-index:100}.relation-graph .rg-line-checked .rg-line-text{stroke:var(--rg-checked-item-bg-color);stroke-width:2}.relation-graph .rg-line-disable-events{pointer-events:none!important}.relation-graph .rg-line-disable-events .rg-line-bg,.relation-graph .rg-line-disable-events .rg-line-text,.relation-graph .rg-linetext-container .rg-line-disable-events .rg-line-bg,.relation-graph .rg-linetext-container .rg-line-disable-events .rg-line-label{pointer-events:none}.relation-graph .rg-line-dashtype-1{stroke-dasharray:2,2,2;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-2{stroke-dasharray:5,5,5;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-3{stroke-dasharray:9,9,9;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-4{stroke-dasharray:5,5,15;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}@keyframes ACTRGLineChecked{0%{stroke-dashoffset:352px;stroke-dasharray:5,5,5}50%{stroke-dasharray:5,5,5;stroke-dashoffset:3px}to{stroke-dashoffset:352px;stroke-dasharray:5,5,5}}@keyframes rg-line-anm1{0%{stroke-dashoffset:100px;stroke-dasharray:5,5,5}to{stroke-dasharray:5,5,5;stroke-dashoffset:3px}}@keyframes rg-line-anm2{0%{stroke-dashoffset:0;stroke-dasharray:4,4,4}to{stroke-dashoffset:10px;stroke-dasharray:20,20,20}}@keyframes rg-line-anm3{0%{stroke-opacity:1}50%{stroke-opacity:.2}to{stroke-opacity:1}}@keyframes rg-line-anm4{0%{stroke-dasharray:0,100%}to{stroke-dasharray:100%,0}}.relation-graph .rg-line-anm-1{animation:rg-line-anm1 10s infinite;animation-fill-mode:forwards;animation-timing-function:linear}.relation-graph .rg-line-anm-2{animation:rg-line-anm2 3s infinite}.relation-graph .rg-line-anm-3{animation:rg-line-anm3 1s infinite}.relation-graph .rg-line-anm-4{animation:rg-line-anm4 3s infinite}@keyframes deform1{0%{stroke-dashoffset:0}to{stroke-dashoffset:100%}}.relation-graph .rg-icon{width:19px;height:19px;vertical-align:0px;fill:currentColor;overflow:hidden}.relation-graph .rg-node-peel{padding:0;position:absolute;pointer-events:none;box-sizing:border-box;opacity:var(--rg-node-opacity);z-index:var(--rg-node-z-index);will-change:transform;transform-origin:0 0;cursor:default}.relation-graph .rg-node-peel .rg-node{pointer-events:all;text-align:center;border-style:solid;box-sizing:border-box;overflow:visible;transform-origin:0 0;font-size:var(--rg-node-font-size);color:var(--rg-node-font-color);background-color:var(--rg-node-color);border-color:var(--rg-node-border-color);border-width:var(--rg-node-border-width);width:var(--rg-node-width);height:var(--rg-node-height)}.relation-graph .rg-node-disable-events{pointer-events:none}.relation-graph .rg-node-shape-0>.rg-node{border-radius:50%}.relation-graph .rg-node-shape-1>.rg-node{border-radius:var(--rg-node-border-radius)}.relation-graph .rg-node-checked{z-index:800}.relation-graph .rg-node-checked>.rg-node{box-shadow:0 0 0 4px var(--rg-checked-item-bg-color)}.relation-graph .rg-node-selected>.rg-node{box-shadow:0 0 0 2px var(--editor-main-color)}.relation-graph img,.relation-graph svg,.relation-graph video,.relation-graph canvas,.relation-graph audio,.relation-graph iframe,.relation-graph embed,.relation-graph object{display:unset;vertical-align:unset}.relation-graph .rg-node-text{color:var(--rg-node-font-color);font-size:var(--rg-node-font-size);padding:var(--rg-node-text-py) var(--rg-node-text-px);height:100%;width:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.relation-graph .rg-node-type-button{border-radius:25px;color:#00f;cursor:pointer}.relation-graph .rg-editing-referline{user-select:none;position:absolute;z-index:999;pointer-events:none;width:100%;height:100%;left:0px;top:0px}.relation-graph .rg-editing-referline .rg-referline{position:absolute;display:flex;place-items:center;justify-content:center;overflow:visible;transform-origin:0 0;--rg-refer-offset: -3px}.relation-graph .rg-editing-referline .rg-referline .referline{display:flex;place-items:center;justify-content:center}.relation-graph .rg-editing-referline .rg-referline .referline>div{background-color:var(--editor-main-color);font-size:8px;border-radius:3px;color:#fff;width:fit-content;height:fit-content;padding:2px 5px}.relation-graph .rg-editing-referline .rg-referline-v{top:0px;width:6px;height:100%}.relation-graph .rg-editing-referline .rg-referline-v .referline{width:1px;height:100%;background-color:var(--editor-main-color)}.relation-graph .rg-editing-referline .rg-referline-v:before{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;top:0;transform:translateY(-50%)}.relation-graph .rg-editing-referline .rg-referline-v:after{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;bottom:0;transform:translateY(50%)}.relation-graph .rg-editing-referline .rg-referline-h{left:0px;width:100%;height:6px}.relation-graph .rg-editing-referline .rg-referline-h .referline{width:100%;height:1px;background-color:var(--editor-main-color)}.relation-graph .rg-editing-referline .rg-referline-h:before{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;left:0;transform:translate(-50%)}.relation-graph .rg-editing-referline .rg-referline-h:after{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;right:0;transform:translate(50%)}.relation-graph .rg-editing-line-ctrl{position:absolute;left:0px;top:0px;z-index:500;pointer-events:none;user-select:none;width:100%;height:100%}.relation-graph .rg-editing-line-ctrl .rg-edt-ctrl-svg{position:absolute;pointer-events:none;left:0px;top:0px;overflow:visible}.relation-graph .rg-editing-line-ctrl .rg-edt-ctrl-svg path{stroke:var(--editor-main-color);stroke-width:1px}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-dot{--rg-ctl-x: 0px;--rg-ctl-y: 0px;pointer-events:auto;user-select:none;width:10px;height:10px;background-color:#fff;box-shadow:0 0 0 1px var(--editor-main-color);position:absolute;border-radius:50%;cursor:move;z-index:1;transform-origin:0 0}.relation-graph .rg-editing-line-ctrl .start-dot,.relation-graph .rg-editing-line-ctrl .end-dot,.relation-graph .rg-editing-line-ctrl .ctrl-dot{transform-origin:0 0;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .ctrl-split,.relation-graph .rg-editing-line-ctrl .ctrl-split-core{background-color:#fff}.relation-graph .rg-editing-line-ctrl .ctrl-split-h{width:12px;height:5px;border-radius:3px;cursor:row-resize;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .ctrl-split-v{width:5px;height:12px;border-radius:3px;cursor:col-resize;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text{--rg-ctl-x: 0px;--rg-ctl-y: 0px;--font-size: .8rem;pointer-events:auto;background-color:#fff;box-shadow:0 0 0 1px var(--editor-main-color);position:absolute;border-radius:3px;cursor:move;z-index:1;white-space:nowrap;color:#000;padding:3px 10px;display:flex;place-items:center;justify-content:center;box-sizing:border-box;text-shadow:none;font-size:var(--font-size, 12px);min-height:20px;max-height:30px;transform-origin:0 0;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y));min-width:50px;max-width:220px}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text p{font-size:var(--font-size, 12px);color:#333}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text p.empty-text{font-size:10px;color:#888}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text .rg-line-text-input{white-space:nowrap;pointer-events:auto;user-select:auto;background-color:transparent;color:#000;border-radius:3px;height:100%;padding:3px 0;width:100px;text-shadow:none;font-size:var(--font-size, 12px);text-align:center;box-sizing:border-box;border:none;outline:none}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text-editing{background-color:#faf191}.relation-graph .rg-editing-ctrl,.relation-graph .rg-editing-connect-ctrl{user-select:none;position:absolute;z-index:500;box-shadow:0 0 0 1px var(--editor-main-color);border-radius:0;pointer-events:none;transform-origin:0 0}.relation-graph .rg-editing-bar{user-select:none;pointer-events:none;position:absolute;border-radius:5px;padding:3px;box-sizing:border-box;display:flex;place-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.relation-graph .rg-editing-bar .rg-gee-icon{background-color:#d603f680;pointer-events:auto;min-width:20px;min-height:20px;border-radius:5px;box-sizing:border-box;display:flex;place-items:center;justify-content:center;cursor:pointer}.relation-graph .rg-editing-bar .rg-gee-icon:hover{background-color:#d603f6;color:#fff}.relation-graph .rg-connect-source-handle{pointer-events:auto;width:fit-content;height:fit-content}.relation-graph .rg-editing-bar-top{width:fit-content;height:fit-content;left:50%;transform:translate(-50%) translateY(-100%);top:-15px}.relation-graph .rg-editing-bar-bottom{width:fit-content;height:fit-content;left:50%;transform:translate(-50%) translateY(100%);bottom:-15px}.relation-graph .rg-editing-bar-left{width:fit-content;height:fit-content;left:-15px;top:50%;transform:translate(-100%) translateY(-50%)}.relation-graph .rg-editing-bar-right{width:fit-content;height:fit-content;right:-15px;top:50%;transform:translate(100%) translateY(-50%)}.relation-graph .rg-editing-bar-tl{width:30px;height:30px;right:calc(100% + 10px);top:-40px}.relation-graph .rg-editing-bar-tr{width:30px;height:30px;left:calc(100% + 10px);top:-40px}.relation-graph .rg-editing-bar-bl{width:30px;height:30px;right:calc(100% + 10px);bottom:-40px}.relation-graph .rg-editing-bar-br{width:30px;height:30px;left:calc(100% + 10px);bottom:-40px}.relation-graph .rg-resize-ctl{user-select:none;position:relative;height:100%;width:100%;--resize-handler-size: 10px;--resize-handler-offset: -5px}.relation-graph .rg-resize-ctl .rg-resize-ctl-handler{pointer-events:auto;width:var(--resize-handler-size);height:var(--resize-handler-size);background-color:#fff;position:absolute;border-radius:2px;box-shadow:inset 0 0 0 1px var(--editor-main-color)}.relation-graph .rg-resize-ctl .rg-resize-ctl-tl{cursor:nwse-resize;left:var(--resize-handler-offset);top:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-tr{cursor:nesw-resize;right:var(--resize-handler-offset);top:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-bl{cursor:nesw-resize;left:var(--resize-handler-offset);bottom:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-br{cursor:nwse-resize;right:var(--resize-handler-offset);bottom:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-t{cursor:n-resize;top:var(--resize-handler-offset);left:50%;transform:translate(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-b{cursor:s-resize;bottom:var(--resize-handler-offset);left:50%;transform:translate(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-l{cursor:w-resize;left:var(--resize-handler-offset);top:50%;transform:translateY(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-r{cursor:e-resize;right:var(--resize-handler-offset);top:50%;transform:translateY(-50%)}.relation-graph .rg-editing-connect-ctrl{position:absolute;user-select:none;pointer-events:none;left:0;top:0;z-index:1400;--hander-border-radius: 5px;border-radius:var(--hander-border-radius);--border-handler-width: 8px;--hv-handler-width: 10px;--center-handler-width: 10px;--border-point-width: 10px;--border-point-height: 10px;--hander-color: var(--editor-light2-color);--hander-border-color: var(--editor-main-color);--hander-shadow-color: rgba(57, 144, 216, .1);box-shadow:0 0 0 var(--border-handler-width) var(--hander-shadow-color)}.relation-graph .rg-connect-ctl{width:100%;height:100%;pointer-events:none;user-select:none;border:none;position:relative}.relation-graph .rg-connect-ctl-handler{pointer-events:auto;user-select:none;z-index:20;cursor:crosshair}.relation-graph .rg-connect-target{pointer-events:auto}.relation-graph .rg-connect-ctl-handler-style{background-color:var(--hander-color);border:var(--hander-border-color) solid 1px;position:absolute;border-radius:3px}.relation-graph .rg-connect-ctl-handler-style:hover{background-color:#fbe691}.relation-graph .rg-connect-ctl-center{width:var(--center-handler-width);height:var(--center-handler-width);border-radius:50%;top:calc((100% - var(--center-handler-width)) / 2);left:calc((100% - var(--center-handler-width)) / 2)}.relation-graph .rg-connect-ctl-t{width:var(--border-point-width);height:var(--border-point-height);top:calc(var(--border-point-height) / -2);left:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-b{width:var(--border-point-width);height:var(--border-point-height);bottom:calc(var(--border-point-height) / -2);left:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-l{width:var(--border-point-height);height:var(--border-point-width);left:calc(var(--border-point-height) / -2);top:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-r{width:var(--border-point-height);height:var(--border-point-width);right:calc(var(--border-point-height) / -2);top:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-lr{width:100%;height:var(--hv-handler-width);right:0px;top:calc((100% - var(--hv-handler-width)) / 2);z-index:11;opacity:.01}.relation-graph .rg-connect-ctl-lr:hover{opacity:1}.relation-graph .rg-connect-ctl-tb{width:var(--hv-handler-width);height:100%;top:0px;left:calc((100% - var(--hv-handler-width)) / 2);z-index:10;opacity:.01}.relation-graph .rg-connect-ctl-tb:hover{opacity:1}.relation-graph .rg-connect-ctl-bottom-bar{border:0px;border:none;width:100%;height:var(--border-handler-width);right:0px;top:100%;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-top-left-radius:0;border-top-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-bottom-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-top-bar{border:0px;border:none;width:100%;height:var(--border-handler-width);right:0px;top:calc(var(--border-handler-width) * -1);z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-top-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-left-bar{border:0px;border:none;width:var(--border-handler-width);height:100%;left:calc(var(--border-handler-width) * -1);top:0;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-left-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-right-bar{border:0px;width:var(--border-handler-width);height:100%;right:calc(var(--border-handler-width) * -1);top:0px;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-left-radius:0;border-top-left-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-right-bar:hover{opacity:1}.relation-graph .rg-miniview{pointer-events:all;position:absolute;user-select:none;overflow:hidden;z-index:1100;min-height:100px;min-width:100px;--miniview-width: 200px;--miniview-height: 120px;height:var(--miniview-height);width:var(--miniview-width);border-radius:3px;display:flex;place-items:center;justify-content:center;background-color:#fff;box-shadow:0 0 0 1px #ccc;border:none}.relation-graph .rg-miniview .rg-miniview-container{position:relative;width:100%;height:100%;display:flex;place-items:center;justify-content:center}.relation-graph .rg-miniview canvas{opacity:1}.relation-graph .rg-miniview .rg-mv-canvas-reset{cursor:pointer}.relation-graph .rg-miniview .rg-mv-canvas-reset:hover{background-color:#bbf54794}.relation-graph .rg-miniview .rg-mv-visible-area{z-index:2;position:absolute;left:0;top:0;cursor:move;transform-origin:0 0;box-shadow:0 0 0 9999px #0003;border:#888 solid 1px;border-radius:3px;display:grid;place-items:center;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}.relation-graph .rg-miniview.rg-miniview-top{left:calc((100% - var(--miniview-width)) / 2);top:10px}.relation-graph .rg-miniview.rg-miniview-bottom{left:calc((100% - var(--miniview-width)) / 2);bottom:10px}.relation-graph .rg-miniview.rg-miniview-left{left:10px;top:calc((100% - var(--miniview-height)) / 2)}.relation-graph .rg-miniview.rg-miniview-right{right:10px;top:calc((100% - var(--miniview-height)) / 2)}.relation-graph .rg-miniview.rg-miniview-tl{left:10px;top:10px}.relation-graph .rg-miniview.rg-miniview-tr{right:10px;top:10px}.relation-graph .rg-miniview.rg-miniview-bl{left:10px;bottom:10px}.relation-graph .rg-miniview.rg-miniview-br{right:10px;bottom:10px}.relation-graph .rg-node-flashing{animation:ACTRGNodeFlashing 2s infinite}.relation-graph .rg-node-vtree-2{transform-origin:0 0;transform:rotate(30deg) translate(0)}.relation-graph .rg-node-vtree{width:130px;height:45px;text-align:left}.relation-graph .rg-node-expand-holder{position:absolute;height:fit-content;width:fit-content;display:flex;align-items:center;justify-content:center;user-select:none;pointer-events:none}.relation-graph .rg-node-expand-holder .rg-node-expand-button{width:16px;height:16px;border-radius:15px;cursor:pointer;pointer-events:all;border:#666 solid 1px;background-color:#fff;display:flex;align-items:center;justify-content:center}.relation-graph .rg-node-expand-holder .rg-icon{width:14px;height:14px}.relation-graph .c-expand-positon-hide{display:none}.relation-graph .c-expand-positon-left{transform:translate(-100%) translateY(-50%);left:-5px;top:50%}.relation-graph .c-expand-positon-right{transform:translate(5px) translateY(-50%);left:100%;top:50%}.relation-graph .c-expand-positon-bottom{transform:translate(-50%);left:50%;top:calc(100% + 5px)}.relation-graph .c-expand-positon-top{transform:translate(-50%) translateY(-100%);left:50%;top:-5px}.relation-graph .rg-setting-panel{--height: 300px;--width: 200px;width:300px;height:200px;position:absolute;left:10px;top:5px;font-size:12px;color:#3a5bb2;padding:60px 10px 10px;overflow:hidden;box-shadow:0 0 5px #999;border-radius:5px;z-index:1000;background-color:#fff;border:#999999 solid 1px}.relation-graph .rg-setting-panel-button{height:35px;width:35px;font-size:8px;line-height:35px;text-align:center;border-radius:50%;position:absolute;margin-left:25px;margin-top:20px;background-color:#3a5bb2;color:#fff;cursor:pointer;z-index:1001;box-shadow:0 0 8px #999}.relation-graph .rg-setting-panel-button:hover{box-shadow:0 0 20px #ffa20a;border:#ffffff solid 1px;color:#ffa20a;-moz-transform:rotate(-89deg) translateX(-190px);animation-timing-function:linear;animation:flashButton 2s infinite}@keyframes flashButton{0%{box-shadow:0 0 8px #2e4e8f}30%{box-shadow:0 0 20px #ffa20a}to{box-shadow:0 0 8px #2e4e8f}}.relation-graph .c-debug-tools-row{text-align:left}.relation-graph .rg-operate{pointer-events:none;user-select:none;position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:180}.relation-graph .rg-operate .rg-node{cursor:move}.relation-graph .rg-operate .rg-creating-container{pointer-events:none;position:relative}.relation-graph .rg-operate .rg-creating-container *{pointer-events:none!important}.relation-graph .rg-selection{pointer-events:none;position:absolute;user-select:none;background-color:var(--editor-light-opacity);border:var(--editor-main-color) solid 1px;transform-origin:0 0}.relation-graph .rg-graph-loading{position:absolute;z-index:1600;left:0px;top:0px;height:100%;width:100%;background-color:#ffffffe6}.relation-graph .rg-graph-loading .rg-graph-loading-icon{width:16px;height:16px;vertical-align:-3px;fill:currentColor;overflow:hidden;animation:turn 1s linear infinite}.relation-graph .rg-graph-loading .rg-graph-loading-message{position:absolute;padding:2px 15px;text-align:center;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:5px;font-size:12px;background-color:#fff;border:#666 solid 1px;color:#666;display:flex;place-items:center;justify-content:center;gap:8px}.relation-graph .rg-graph-loading-hide{display:none}@keyframes slowHide{0%{opacity:1}to{opacity:0;display:none}}.relation-graph .rg-easy-view{overflow:visible;height:100%;width:100%;background-color:transparent;position:absolute;left:0px;top:0px;z-index:3;pointer-events:none}.relation-graph .rg-easy-view canvas{opacity:0;width:100%;height:100%}.relation-graph .rg-easy-view-active{pointer-events:all}.relation-graph .rg-easy-view-active canvas{opacity:1}.relation-graph .rg-move-operator{position:absolute;width:100%;height:100%;pointer-events:none;user-select:none;left:0px;top:0px;z-index:6666}.relation-graph .rg-move-operator .rg-move-touchpad{display:none;background-color:var(--edit-ctl-light2-color);height:100%;width:100%;pointer-events:all}.relation-graph .rg-move-operator.rg-move-operator-active{pointer-events:all;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUFYTlNSMElBcnM0YzZRQUFDWlpKUkVGVWVGN3RXZ3RNVk5rWi9xYThabkZ4QkVIQWlCV3lFa0drUEcwRW1paWdGVVZzcFZxTmlsSmZRVEV4c2k2eDFqZHRMVnVEeGpoTlJDc0JzeHBOZktEV0J4Q05QTFFpaUNoRzBTQkxKZHBTYUFWNXlHaW4rOTNjdzQ2enVEc0Rkd1lUT01uSm5XRXU5NTcvKy8vLyt4L25xRERJaDJxUXk0OGhBSVlzWUpBak1PUUNnOXdBaGtod3lBV0dYR0NRSXpEa0FnTmtBQUo0UXdYbzViV0lxMVdXWm0wTDRQdCtCTUJHdnZJN0o0WG0vQitBZC9MVktrQllBd0FocEJEY3RyS3lNc3pYMTNlcG5aMWRvTDI5ZlhoM2QzZTVUcWVycnEydHpRc0pDYmtENEswUkVCWUR3NUlBR0dxYkdyY0ZZSGYvL3YxWkV5Wk0rTE90cmEyN3NZMi9mZnYybjQ4ZVBmcDgwcVJKZndPZ2s0RWdHTFFNVHNXQnNBUUFRdU1VMkxhc3JDekF6ODh2U2ExV0I2dlY2Z2doOUtWTGw4QjU0TUFCckYrL0huRnhjZElVUTZmVFBlN3M3THgyK1BEaFA2U2xwZjNieUNvVTR3ZExBRUJ0YzlxM3RMUnNkWFoyL3NKNHRRME5EUWdNRE1TclY2OTZmdEpvTktpdXJzYllzV1BmdTEybjB6MjRjZVBHNnRqWTJHb0EzUWF1b1FnSVNnUEE1OWxSZUsxVzY1T1NrbktQcXp4eTVBaU9IajJLMHRKU1RKMDZGY09HRGNQRml4ZXhZOGNPYk4rK0hUdDM3cFErejU0OUcrM3Q3YmgrL1RvaUl5T1JuSnlNRlN0V29MdTd1elkzTjNmK3FsV3I2bVFRaEZ2MEd3U2xBYURtSFFBNHZuang0azhlSGg2L29URFRwazNyZGFGNi9iY3VyVkwxdnBScjE2NUpvTDE4K2ZLdm5wNmV2d1hRQ2VDTjdCTDk1Z1dsQWFEMkhRRTR0YmEyWG5CeWN2cEpSRVFFYnQ2OCtSMXRFNUhlQURDMmlpbFRwcUNzckV3Q3NLT2o0MjVYVjFkNWZuNStWbkp5Y29OTWxDSnM5c2thbEFTQXo2TDJod0VZb2Rmcm4zSkZRck85Q2R1WHYvR1pPcDN1SC9YMTllbSt2cjc1QnRHQzFtRDJVQklBeG5rMXRRL0FSYS9YUDFRS2dISGp4cUcrdnY0N3ZKQ2Vudjd6ZmZ2Mk5SbndndGxoVWtrQTZQK2ZBQmdPWUtSZXJ5ZHJLMklCeG1vVnZORFkyTGh2ekpneHUyVmVFQkhDTEN0UUVnREdmZnEvUmdiZ3JsSUFmSWdYMnRyYWJnOGZQdnlYQU5vQWRNbnVZSFVBYVBvRTB0NElnTnRLQWZCOVhLRlNxWHdBTUtGb2wxM0JMRGZvandWUWNKSGYyeFFWRlFXTUh6OStiazFOemRkeGNYRVA5WHA5c1pVQThBUFFBdUMxYkFWbWtXRmZBYURnVXFwYlYxY1g3Kzd1L2l0SFI4ZjV2ZG1lMGxIQStIa3FsU29RUURPQVZwa0xHQlpOSG4wQlFBaHZYMUZSTVRVa0pPUVUyWjhzZmV2V0xYUjFkU0VoSVFFdUxpN1NJcXdBUUpBTUFOMmdRMDZWTFFZQUFaT3l2ZFRVMUZGNzkrNHR0TGUzOThuSnlVRnFhcXFVeG5Jd245KzBhWlAwTnlzQUVBS0F4WklBZ0dteXljTmNDNkQyU1hhZkZCY1h4MGRGUmVVMk5UVmg4dVRKVXB4ZXVIQWgzcjE3aDFPbmFCVEF5Wk1uc1dEQkF1bXpJWkd4NkhuOCtESG16Ly9XYTBTNnpCQW5oaW5ncVZTcVVBRE1CYXdDQUxYUFpPZlR1cnE2MzNsN2U2ZHF0VnFzVzdjT3k1Y3Zsd29lamtPSERtSE5talVZT1hJa21wdnBudThEWUtwNkJKQ0dRUFhDQVFTQUZ2QmYyUVVzYWdITTlhVmtwN2k0ZUZsVVZGVEdpUk1uc0dqUklrbjd4NDhmNzVHTkdtVWhKSWFoQlpnS2dDbWtLbHVBVlFGZ3JxODVkdXhZM09MRmkvOUMwdzhJQ0lDTmpRMEtDd3NSSGg3ZXMrNVpzMlpKVFErUnlQUkg4QSs1eFlBQkFNQzFvYUhob0plWDEwODNidHlJckt3c1RKOCtIVmV2WGxWQ3pnOCs0d011WURVT0VPa3U4MzNYN096c09TdFhydHoxK3ZWclJFZEhvN3k4SEZ1M2JzV3VYYnNzQnNKQUF5QklrQldmTTRCUnQyL2Yvanc4UER6K3lwVXJtRGx6cGlUNGhRc1hwTzZPMHFPcXFnckJ3Y0VZUFhvMEdoc2I4ZWJObTFkcXRacmRGcXVIUVJZOUkxajBCQVVGalNzb0tQalMxZFgxeDl1MmJjUHUzYnVsUmJLSm9WWXpZQ2czbUcrd1RSWWFHb283ZCs2Z3RiWDFhNDFHOHdzREFOZ3RzbWdVb0RTTUJHeDhTSFUvWFVHcjFjYWxwS1NrODBmMjhpaDhSa1lHdG16Wm9wejAzK1M1NmVucHlNek14TnExYTNIdzRFRTBOVFhkR3pWcVZKSkJKa2dBckpJS2k5WVhTMStDNEZaWldmbEZjSEJ3OUprelp6QnYzanhKOEljUEg4TFBqN1dLTW1QdTNMbkl6OC9IK2ZQbkVSOGZqOU9uVC84eE1USHhLNk5hd0NyRkVNbVFWdkNwY0lVTkd6Wk16c3pNM0dOblorZVFsSlNFdkx3OGFaRmNyQkpEY0F6OW44QTZPanAyUmtkSEx5Z3BLV0hyamRVZ2V3SnNsbG9GQU5IK1psTFU0d3FGaFlXclkySmlmczFVbDY3QTZFQ056Wmt6cDk4WWVIbDU0Zm56NXowNVJVMU56WldBZ0lDZEFQNGxaNEVzaDlrVnNtby9RR3FCaXk2UWs1T1RlMjF0YlphSGg4ZG5vdGRQeWZ1YkJTNWJ0Z3k1dWJtWU9IRWlDZ29LNE9ucGljMmJONi9mczJkUHFVeUFMSVZaQ1hJN3pheGhiakZrK0hCUkdZcEdLS09DSU1UTnZKRmNRRTVnVkNncEthSFptclU0M2h3Ykc0dWlvaUpKZUJaWC92Nyt1SGZ2WGtGUVVGQ0dYQVFaTmtQTUlrQSt2ejhBOFA5WkhmYlVCd3lMbktXbHBlc2pJaUlTZUFQMyt5NWZ2Z3huWjJka1oyY2pNVEhSSkJBWTh0TFMwdERTMHZLZThNM056UTJ1cnE1clpPRlphWWtxMEd6elZ3SUFQa1BzQmtrMWdnQ2hycTd1OTk3ZTNteFc5R3g5OFhOWVdCaVdMbDBLYm5pNHVibEprMXRsRHg0OGtHWk5UWTEwUFh2MnJBU1VvZWFsQmF0VWpQc1VYQlJBb2hWbVZ2d1hXdWl2QlFnUUdSV2tNbGxFQlliSGtwS1NsTWpJU0NrOUpDZWNPM2NPZCs5S3plSWZIR1Q3MWF0WFM1TSsvK3paczJvZkh4K1NIazJlOHo4eTh6UDIwL2ZOWW44bEFUQjJCVVlGa1IrTXlNdkxTMWl5Wk1rSzhVSUN3TWp3NU1rVFBIMzZWTHJTekNrd0JRMEtDcEtLcWhrelpraHV3L0ZONisxNldGallBWm50S1RocmYwRjhmZG9QVUJvQTRRcFN0MGkyQklKQVl0UmtabWIrTENZbVpvcS92MytvV3EwMmlRbDFPdDJicXFxcXYrZms1RnpWYXJYM1pZSHA3NXlNK1dSOUNrL1ROeXYwR1RQNUQ1cWppVGVJcUVBUWhEdlFHbGc1OGtyM1VPL2Z2ejh5SkNURTE4M056ZFhaMmRsVm85RzRPRGc0T0haMmRyWjFkSFMwdGJlM3R4VVhGNWRuWldXVlZWUlVNTWF6MFVpQk9hbDFmaGZDOTJ0alZDa1NOQVpVT2h3aHRzbmx6VklLVDVLa2RSQWNSZzd5aGpnc3hXZUlRMUxVS0RYTHJJNkNVbUF4K1owN1FJb2RsRkNDQkkwTlJGaUNTSmVaTEZGd0lUeS9Fd0FCQWtPcEFJQWFGUUJRVUU2U25EZ1RRRkFFNGZXSjlIcGJySWtXYnRadGhnZWtwQk1qOGhTZnBVMFZPWThRQVBBRkJJQ1RRbkpTWUdwYmZCY25RL3JzODlZQ1FMem52ZTB6c1p0a1lQcmlkMkVCRkV5QVFHSEZGTDZ1aU5ZdFJZTGZaeUxDSW9UQVlrTlZhSisvaThPU3ZSMllWRnh3UzRSQlUzMUU4STQ0VG1mOGY0WkFtUHJNUHQ5bkNSTHM4MklHNGgrSEFCZ0kxRCttZHc1WndNZWtqWUZZeTVBRkRBVHFIOU03QjcwRi9COEJrUXA5WU5iRzJRQUFBQUJKUlU1RXJrSmdnZz09IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz48L3N2Zz4=) 16 16,auto!important;cursor:-webkit-image-set(url(data:image/png;base64,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) 2x,url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAACZZJREFUeF7tWgtMVNkZ/qa8ZnFxBEHAiBWyEkGkPG0EmiigFUVspVqNilJfQTExsi6x1jdtLVuDxjhNRCsBsxpNfKDWBxCNPLQiiChG0SBLJdpSaAV5yGin+93cw46zuDsDdwYTOMnJnWEu957/+///+x/nqDDIh2qQy48hAIYsYJAjMOQCg9wAhkhwyAWGXGCQIzDkAgNkAAJ4QwXo5bWIq1WWZm0L4Pt+BMBGvvI7J4Xm/B+Ad/LVKkBYAwAhpBDctrKyMszX13epnZ1doL29fXh3d3e5Tqerrq2tzQsJCbkD4K0REBYDw5IAGGqbGrcFYHf//v1ZEyZM+LOtra27sY2/ffv2n48ePfp80qRJfwOgk4EgGLQMTsWBsAQAQuMU2LasrCzAz88vSa1WB6vV6ggh9KVLl8B54MABrF+/HnFxcdIUQ6fTPe7s7Lx2+PDhP6Slpf3byCoU4wdLAEBtc9q3tLRsdXZ2/sJ4tQ0NDQgMDMSrV696ftJoNKiursbYsWPfu12n0z24cePG6tjY2GoA3QauoQgISgPA59lReK1W65OSknKPqzxy5AiOHj2K0tJSTJ06FcOGDcPFixexY8cObN++HTt37pQ+z549G+3t7bh+/ToiIyORnJyMFStWoLu7uzY3N3f+qlWr6mQQhFv0GwSlAaDmHQA4vnjx4k8eHh6/oTDTpk3rdaF6/bcurVL1vpRr165JoL18+fKvnp6evwXQCeCN7BL95gWlAaD2HQE4tba2XnBycvpJREQEbt68+R1tE5HeADC2iilTpqCsrEwCsKOj425XV1d5fn5+VnJycoNMlCJs9skalASAz6L2hwEYodfrn3JFQrO9CduXv/GZOp3uH/X19em+vr75BtGC1mD2UBIAxnk1tQ/ARa/XP1QKgHHjxqG+vv47vJCenv7zffv2NRnwgtlhUkkA6P+fABgOYKRerydrK2IBxmoVvNDY2LhvzJgxu2VeEBHCLCtQEgDGffq/RgbgrlIAfIgX2trabg8fPvyXANoAdMnuYHUAaPoE0t4IgNtKAfB9XKFSqXwAMKFol13BLDfojwVQcJHf2xQVFQWMHz9+bk1NzddxcXEP9Xp9sZUA8APQAuC1bAVmkWFfAaDgUqpbV1cX7+7u/itHR8f5vdme0lHA+HkqlSoQQDOAVpkLGBZNHn0BQAhvX1FRMTUkJOQU2Z8sfevWLXR1dSEhIQEuLi7SIqwAQJAMAN2gQ06VLQYAAZOyvdTU1FF79+4ttLe398nJyUFqaqqUxnIwn9+0aZP0NysAEAKAxZIAgGmyycNcC6D2SXafFBcXx0dFReU2NTVh8uTJUpxeuHAh3r17h1OnaBTAyZMnsWDBAumzIZGx6Hn8+DHmz//Wa0S6zBAnhingqVSqUADMBawCALXPZOfTurq633l7e6dqtVqsW7cOy5cvlwoejkOHDmHNmjUYOXIkmpvpnu8DYKp6BJCGQPXCAQSAFvBf2QUsagHM9aVkp7i4eFlUVFTGiRMnsGjRIkn7x48f75GNGmUhJIahBZgKgCmkKluAVQFgrq85duxY3OLFi/9C0w8ICICNjQ0KCwsRHh7es+5Zs2ZJTQ+RyPRH8A+5xYABAMC1oaHhoJeX1083btyIrKwsTJ8+HVevXlVCzg8+4wMuYDUOEOku833X7OzsOStXrtz1+vVrREdHo7y8HFu3bsWuXbssBsJAAyBIkBWfM4BRt2/f/jw8PDz+ypUrmDlzpiT4hQsXpO6O0qOqqgrBwcEYPXo0Ghsb8ebNm1dqtZrdFquHQRY9I1j0BAUFjSsoKPjS1dX1x9u2bcPu3bulRbKJoVYzYCg3mG+wTRYaGoo7d+6gtbX1a41G8wsDANgtsmgUoDSMBGx8SHU/XUGr1calpKSk80f28ih8RkYGtmzZopz03+S56enpyMzMxNq1a3Hw4EE0NTXdGzVqVJJBJkgArJIKi9YXS1+C4FZZWflFcHBw9JkzZzBv3jxJ8IcPH8LPj7WKMmPu3LnIz8/H+fPnER8fj9OnT/8xMTHxK6NawCrFEMmQVvCpcIUNGzZMzszM3GNnZ+eQlJSEvLw8aZFcrBJDcAz9n8A6Ojp2RkdHLygpKWHrjdUgewJslloFANH+ZlLU4wqFhYWrY2Jifs1Ul67A6ECNzZkzp98YeHl54fnz5z05RU1NzZWAgICdAP4lZ4Esh9kVsmo/QGqBiy6Qk5OTe21tbZaHh8dnotdPyfubBS5btgy5ubmYOHEiCgoK4Onpic2bN6/fs2dPqUyALIVZCXI7zaxhbjFk+HBRGYpGKKOCIMTNvJFcQE5gVCgpKaHZmrU43hwbG4uioiJJeBZX/v7+uHfvXkFQUFCGXAQZNkPMIkA+vz8A8P9ZHfbUBwyLnKWlpesjIiISeAP3+y5fvgxnZ2dkZ2cjMTHRJBAY8tLS0tDS0vKe8M3NzQ2urq5rZOFZaYkq0GzzVwIAPkPsBkk1ggChrq7u997e3mxW9Gx98XNYWBiWLl0Kbni4ublJk1tlDx48kGZNTY10PXv2rASUoealBatUjPsUXBRAohVmVvwXWuivBQgQGRWkMllEBYbHkpKSlMjISCk9JCecO3cOd+9KzeIfHGT71atXS5M+/+zZs2ofHx+SHk2e8z8y8zP20/fNYn8lATB2BUYFkR+MyMvLS1iyZMkK8UICwMjw5MkTPH36VLrSzCkwBQ0KCpKKqhkzZkhuw/FN6+16WFjYAZntKThrf0F8fdoPUBoA4QpSt0i2BIJAYtRkZmb+LCYmZoq/v3+oWq02iQl1Ot2bqqqqv+fk5FzVarX3ZYHp75yM+WR9Ck/TNyv0GTP5D5qjiTeIqEAQhDvQGlg58kr3UO/fvz8yJCTE183NzdXZ2dlVo9G4ODg4OHZ2drZ1dHS0tbe3txUXF5dnZWWVVVRUMMaz0UiBOal1fhfC92tjVCkSNAZUOhwhtsnlzVIKT5KkdRAcRg7yhjgsxWeIQ1LUKDXLrI6CUmAx+Z07QIodlFCCBI0NRFiCSJeZLFFwITy/EwABAkOpAIAaFQBQUE6SnDgTQFAE4fWJ9HpbrIkWbtZthgekpBMj8hSfpU0VOY8QAPAFBICTQnJSYGpbfBcnQ/rs89YCQLznve0zsZtkYPrid2EBFEyAQGHFFL6uiNYtRYLfZyLCIoTAYkNVaJ+/i8OSvR2YVFxwS4RBU31E8I44Tmf8f4ZAmPrMPt9nCRLs82IG4h+HABgI1D+mdw5ZwMekjYFYy5AFDATqH9M7B70F/B8BkQp9YNbG2QAAAABJRU5ErkJggg==) 1x) 16 16,auto!important}.relation-graph .rg-move-operator.rg-move-operator-active .rg-move-touchpad{display:flex}.relation-graph.rg-creating-line .rg-connect-source-handle{pointer-events:none;opacity:.5}.rg-background{position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:0;pointer-events:none}.rg-toolbar{user-select:none;pointer-events:all;display:flex;position:absolute;z-index:300;background-color:#fff;color:#333;--rg-toolbar-hover-bg-color: rgba(220, 220, 220, .5);box-shadow:0 1px 3px #0003,0 0 1px #0006;box-sizing:border-box;border-radius:5px;width:fit-content;height:fit-content;place-items:center;justify-content:center;gap:3px;backdrop-filter:blur(5px)}.rg-toolbar .rg-icon{flex-grow:1;width:16px;height:16px;fill:currentColor;overflow:hidden}.rg-toolbar .rg-mb-button svg{margin:auto}.rg-toolbar .rg-mb-button:hover{background-color:var(--rg-toolbar-hover-bg-color)}.rg-toolbar .rg-loading-icon{animation:turn 1s linear infinite}@keyframes turn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rg-toolbar .rg-current-zoom{margin-top:0;font-size:10px;text-align:center;border-radius:3px;cursor:pointer}.rg-toolbar .rg-current-zoom:hover{background-color:var(--rg-toolbar-hover-bg-color)}.rg-toolbar .rg-mb-button{width:35px;height:35px;margin-top:0;opacity:1;cursor:pointer;font-size:18px;box-sizing:border-box;display:flex;align-items:center;justify-items:center;border-radius:3px}.rg-toolbar.rg-toolbar-v{flex-flow:column;padding:10px 3px}.rg-toolbar.rg-toolbar-v .rg-current-zoom{width:35px;height:25px;line-height:25px}.rg-toolbar.rg-toolbar-h{padding:3px 10px}.rg-toolbar.rg-toolbar-h .rg-current-zoom{width:fit-content;padding:0 5px;height:35px;line-height:35px}.rg-toolbar.rg-toolbar-h-right{right:15px}.rg-toolbar.rg-toolbar-h-left{left:15px}.rg-toolbar.rg-toolbar-h-center{left:50%;transform:translate(-50%)}.rg-toolbar.rg-toolbar-v-top{top:15px}.rg-toolbar.rg-toolbar-v-bottom{bottom:15px}.rg-toolbar.rg-toolbar-v-center{top:50%;transform:translateY(-50%)}.rg-toolbar.rg-xs-toolbar .rg-mb-button{width:25px;height:25px}.rg-toolbar.rg-xs-toolbar .rg-icon{width:14px;height:14px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v{padding:3px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v .rg-current-zoom{width:30px;height:25px;line-height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h{padding:3px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h .rg-current-zoom{width:35px;height:25px;line-height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h .rg-mb-button{width:25px;height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-right{right:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-left{left:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-center{left:50%;transform:translate(-50%)}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-top{top:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-bottom{bottom:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-center{top:50%;transform:translateY(-50%)}")); document.head.appendChild(elementStyle);} catch(e) {console.error('vite-plugin-css-injected-by-js', e);} })();var tn = Object.defineProperty;
1
+ (function(){ try {var elementStyle = document.createElement('style'); elementStyle.appendChild(document.createTextNode("@charset \"UTF-8\";.relation-graph{box-sizing:border-box;position:relative;min-width:200px;min-height:200px;--editor-main-color: rgb(64, 165, 248);--editor-light-color: rgb(125, 192, 248);--editor-light2-color: rgb(168, 212, 248);--editor-light-opacity: rgba(57, 144, 216, .1);--rg-node-opacity: 1;--rg-node-font-size: 1rem;--rg-node-font-color: #000000;--rg-node-color: #eeeeee;--rg-node-border-color: #333333;--rg-node-border-width: 1px;--rg-node-border-radius: 3px;--rg-node-width: fit-content;--rg-node-height: fit-content;--rg-node-text-px: 10px;--rg-node-text-py: 3px;--rg-background-color: transparent;--rg-line-color: #888888;--rg-line-width: 1px;--rg-line-fontcolor: var(--rg-line-color, #666666);--rg-line-fontsize: 12px;--rg-line-opacity: 1;--rg-checked-item-bg-color: rgba(150, 150, 150, .2);--rg-checked-line-text-bg-color: rgb(234, 232, 232)}.relation-graph:focus{outline:none}.relation-graph .rg-graph-plugs{position:absolute;left:0px;top:0px;z-index:90;width:100%;height:100%;pointer-events:none;user-select:none}.relation-graph .rg-graph-plugs .rg-view-slot{position:relative;width:100%;height:100%}.relation-graph .rg-watermark{position:absolute;--watermark-width: 200px;--watermark-height: 100px;z-index:1200;overflow:visible;min-height:100px;min-width:100px;width:var(--watermark-width);height:var(--watermark-height);box-sizing:border-box}.relation-graph .rg-watermark div{box-sizing:border-box}.relation-graph .rg-watermark.rg-watermark-top{left:calc((100% - var(--watermark-width)) / 2);top:10px}.relation-graph .rg-watermark.rg-watermark-bottom{left:calc((100% - var(--watermark-width)) / 2);bottom:10px}.relation-graph .rg-watermark.rg-watermark-left{left:10px;top:calc((100% - var(--watermark-height)) / 2)}.relation-graph .rg-watermark.rg-watermark-right{right:10px;top:calc((100% - var(--watermark-height)) / 2)}.relation-graph .rg-watermark.rg-watermark-tl{left:10px;top:10px}.relation-graph .rg-watermark.rg-watermark-tr{right:10px;top:10px}.relation-graph .rg-watermark.rg-watermark-bl{left:10px;bottom:10px}.relation-graph .rg-watermark.rg-watermark-br{right:10px;bottom:10px}.relation-graph .rg-lines-container svg{overflow:visible}.relation-graph .rg-lines-svg{overflow:visible;width:10px;height:10px;position:absolute;left:0px;top:0px}.relation-graph .rg-lines-container{overflow:visible;position:absolute;z-index:40;width:100%;top:0px;left:0px;pointer-events:none}.relation-graph .rg-lines-container-el-lines{z-index:80;pointer-events:none}.relation-graph .rg-lines-container-el-lines .rg-line-bg{pointer-events:stroke}.relation-graph .rg-lines-container-el-lines .rg-line-text{pointer-events:all}.relation-graph .rg-lines-svg-el-lines{overflow:visible;width:10px;height:10px;position:absolute;left:0px;top:0px}.relation-graph .rg-nodes-container-wrapper{position:absolute;width:100%;top:0px;left:0px;z-index:50}.relation-graph .rg-nodes-container{position:relative;overflow:visible}.relation-graph .rg-map{background-color:var(--rg-background-color);overflow:hidden;cursor:default;user-select:none;opacity:.01;transition:none;width:100%;height:100%;position:relative}.relation-graph .rg-map-background{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.relation-graph.rg-move-mode .rg-map{cursor:grab}.relation-graph .rg-map-ready{opacity:1;transition:opacity .5s ease;will-change:opacity}.relation-graph .rg-map-background-norepeat{background-repeat:no-repeat;background-position:right bottom}.relation-graph .rg-map-canvas{position:relative;user-select:none;pointer-events:none;top:0;left:0;border:none;z-index:3;overflow:visible;white-space:nowrap;transform-origin:0 0;will-change:transform}.relation-graph .rg-map-canvas .rg-events-all{pointer-events:all}.relation-graph.rg-enable-node-xy-animation .rg-node-peel{transition:transform .15s ease}.relation-graph.rg-enable-node-xy-animation .rg-line-peel{transition:none}.relation-graph.rg-enable-canvas-animation .rg-map-canvas{transition:transform .5s ease}.relation-graph.rg-enable-canvas-animation .rg-editing-ctrl,.relation-graph.rg-enable-canvas-animation .rg-editing-line-ctrl,.relation-graph.rg-enable-canvas-animation .rg-editing-connect-ctrl{opacity:0}.relation-graph .rg-canvas-behind{z-index:2;position:absolute}.relation-graph .rg-canvas-above{z-index:5;position:absolute}.relation-graph .rg-canvas-slot{overflow:visible;position:absolute;margin-top:0;margin-left:0}.relation-graph .rg-canvas-slot-behind{z-index:30;overflow:visible}.relation-graph .rg-canvas-slot-above{z-index:70;overflow:visible}.relation-graph .rg-single-graph{position:relative;overflow:visible}.relation-graph .rg-map img{-webkit-user-drag:none;-webkit-user-select:none}.relation-graph .rg-line-text{fill:var(--rg-line-fontcolor, #888888);font-size:var(--rg-line-fontsize);paint-order:stroke;pointer-events:all}.relation-graph .rg-linetext-container{position:absolute;pointer-events:none;user-select:none;overflow:visible;left:0;top:0;z-index:45;display:block}.relation-graph .rg-linetext-container .rg-line-peel{width:fit-content}.relation-graph .rg-linetext-container .rg-line-peel .rg-line-label-on-path{--rg-line-text-bg-color: #ffffff}.relation-graph .rg-linetext-container .rg-line-peel .rg-line-label{display:block;color:var(--rg-line-fontcolor, #888888);font-size:var(--rg-line-fontsize);transform-origin:0 0;position:absolute;user-select:none;pointer-events:all;box-sizing:border-box;padding:2px 6px;border-radius:5px;white-space:nowrap;background-color:var(--rg-line-text-bg-color)}.relation-graph .rg-linetext-container .rg-line-checked .rg-line-label{background-color:var(--rg-checked-line-text-bg-color);color:#0f172a}.relation-graph .rg-line-peel{pointer-events:none;cursor:default;transition:opacity .2s ease-in;opacity:var(--rg-line-opacity, 1)}.relation-graph .rg-line{fill-rule:nonzero;stroke-linecap:round;stroke:var(--rg-line-color);stroke-width:var(--rg-line-width);pointer-events:none;fill:none;marker-end:var(--rg-line-marker-end);marker-start:var(--rg-line-marker-start)}.relation-graph .rg-line-bg{stroke:#fff;opacity:.01;fill:none;fill-rule:nonzero;stroke-linecap:round;pointer-events:stroke;stroke-width:calc(var(--rg-line-width) + 6px)}.relation-graph .rg-line-bg:hover{opacity:.7;stroke:var(--rg-checked-item-bg-color)}.relation-graph .rg-line-checked .rg-line-bg{stroke:var(--rg-checked-item-bg-color);opacity:1}.relation-graph .rg-line-checked .rg-line{z-index:100}.relation-graph .rg-line-checked .rg-line-text{stroke:var(--rg-checked-item-bg-color);stroke-width:2}.relation-graph .rg-line-disable-events{pointer-events:none!important}.relation-graph .rg-line-disable-events .rg-line-bg,.relation-graph .rg-line-disable-events .rg-line-text,.relation-graph .rg-linetext-container .rg-line-disable-events .rg-line-bg,.relation-graph .rg-linetext-container .rg-line-disable-events .rg-line-label{pointer-events:none}.relation-graph .rg-line-dashtype-1{stroke-dasharray:2,2,2;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-2{stroke-dasharray:5,5,5;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-3{stroke-dasharray:9,9,9;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}.relation-graph .rg-line-dashtype-4{stroke-dasharray:5,5,15;stroke-dashoffset:3px;stroke-linecap:butt;stroke-linejoin:bevel}@keyframes ACTRGLineChecked{0%{stroke-dashoffset:352px;stroke-dasharray:5,5,5}50%{stroke-dasharray:5,5,5;stroke-dashoffset:3px}to{stroke-dashoffset:352px;stroke-dasharray:5,5,5}}@keyframes rg-line-anm1{0%{stroke-dashoffset:100px;stroke-dasharray:5,5,5}to{stroke-dasharray:5,5,5;stroke-dashoffset:3px}}@keyframes rg-line-anm2{0%{stroke-dashoffset:0;stroke-dasharray:4,4,4}to{stroke-dashoffset:10px;stroke-dasharray:20,20,20}}@keyframes rg-line-anm3{0%{stroke-opacity:1}50%{stroke-opacity:.2}to{stroke-opacity:1}}@keyframes rg-line-anm4{0%{stroke-dasharray:0,100%}to{stroke-dasharray:100%,0}}.relation-graph .rg-line-anm-1{animation:rg-line-anm1 10s infinite;animation-fill-mode:forwards;animation-timing-function:linear}.relation-graph .rg-line-anm-2{animation:rg-line-anm2 3s infinite}.relation-graph .rg-line-anm-3{animation:rg-line-anm3 1s infinite}.relation-graph .rg-line-anm-4{animation:rg-line-anm4 3s infinite}@keyframes deform1{0%{stroke-dashoffset:0}to{stroke-dashoffset:100%}}.relation-graph .rg-icon{width:19px;height:19px;vertical-align:0px;fill:currentColor;overflow:hidden}.relation-graph .rg-node-peel{padding:0;position:absolute;pointer-events:none;box-sizing:border-box;opacity:var(--rg-node-opacity);z-index:var(--rg-node-z-index);will-change:transform;transform-origin:0 0;cursor:default}.relation-graph .rg-node-peel .rg-node{pointer-events:all;text-align:center;border-style:solid;box-sizing:border-box;overflow:visible;transform-origin:0 0;font-size:var(--rg-node-font-size);color:var(--rg-node-font-color);background-color:var(--rg-node-color);border-color:var(--rg-node-border-color);border-width:var(--rg-node-border-width);width:var(--rg-node-width);height:var(--rg-node-height)}.relation-graph .rg-node-disable-events{pointer-events:none}.relation-graph .rg-node-shape-0>.rg-node{border-radius:50%}.relation-graph .rg-node-shape-1>.rg-node{border-radius:var(--rg-node-border-radius)}.relation-graph .rg-node-checked{z-index:800}.relation-graph .rg-node-checked>.rg-node{box-shadow:0 0 0 4px var(--rg-checked-item-bg-color)}.relation-graph .rg-node-selected>.rg-node{box-shadow:0 0 0 2px var(--editor-main-color)}.relation-graph img,.relation-graph svg,.relation-graph video,.relation-graph canvas,.relation-graph audio,.relation-graph iframe,.relation-graph embed,.relation-graph object{display:unset;vertical-align:unset}.relation-graph .rg-node-text{color:var(--rg-node-font-color);font-size:var(--rg-node-font-size);padding:var(--rg-node-text-py) var(--rg-node-text-px);height:100%;width:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.relation-graph .rg-node-type-button{border-radius:25px;color:#00f;cursor:pointer}.relation-graph .rg-editing-referline{user-select:none;position:absolute;z-index:999;pointer-events:none;width:100%;height:100%;left:0px;top:0px}.relation-graph .rg-editing-referline .rg-referline{position:absolute;display:flex;place-items:center;justify-content:center;overflow:visible;transform-origin:0 0;--rg-refer-offset: -3px}.relation-graph .rg-editing-referline .rg-referline .referline{display:flex;place-items:center;justify-content:center}.relation-graph .rg-editing-referline .rg-referline .referline>div{background-color:var(--editor-main-color);font-size:8px;border-radius:3px;color:#fff;width:fit-content;height:fit-content;padding:2px 5px}.relation-graph .rg-editing-referline .rg-referline-v{top:0px;width:6px;height:100%}.relation-graph .rg-editing-referline .rg-referline-v .referline{width:1px;height:100%;background-color:var(--editor-main-color)}.relation-graph .rg-editing-referline .rg-referline-v:before{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;top:0;transform:translateY(-50%)}.relation-graph .rg-editing-referline .rg-referline-v:after{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;bottom:0;transform:translateY(50%)}.relation-graph .rg-editing-referline .rg-referline-h{left:0px;width:100%;height:6px}.relation-graph .rg-editing-referline .rg-referline-h .referline{width:100%;height:1px;background-color:var(--editor-main-color)}.relation-graph .rg-editing-referline .rg-referline-h:before{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;left:0;transform:translate(-50%)}.relation-graph .rg-editing-referline .rg-referline-h:after{content:\"\";position:absolute;width:5px;height:5px;background-color:var(--editor-main-color);border-radius:50%;right:0;transform:translate(50%)}.relation-graph .rg-editing-line-ctrl{position:absolute;left:0px;top:0px;z-index:500;pointer-events:none;user-select:none;width:100%;height:100%}.relation-graph .rg-editing-line-ctrl .rg-edt-ctrl-svg{position:absolute;pointer-events:none;left:0px;top:0px;overflow:visible}.relation-graph .rg-editing-line-ctrl .rg-edt-ctrl-svg path{stroke:var(--editor-main-color);stroke-width:1px}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-dot{--rg-ctl-x: 0px;--rg-ctl-y: 0px;pointer-events:auto;user-select:none;width:10px;height:10px;background-color:#fff;box-shadow:0 0 0 1px var(--editor-main-color);position:absolute;border-radius:50%;cursor:move;z-index:1;transform-origin:0 0}.relation-graph .rg-editing-line-ctrl .start-dot,.relation-graph .rg-editing-line-ctrl .end-dot,.relation-graph .rg-editing-line-ctrl .ctrl-dot{transform-origin:0 0;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .ctrl-split,.relation-graph .rg-editing-line-ctrl .ctrl-split-core{background-color:#fff}.relation-graph .rg-editing-line-ctrl .ctrl-split-h{width:12px;height:5px;border-radius:3px;cursor:row-resize;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .ctrl-split-v{width:5px;height:12px;border-radius:3px;cursor:col-resize;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y))}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text{--rg-ctl-x: 0px;--rg-ctl-y: 0px;--font-size: .8rem;pointer-events:auto;background-color:#fff;box-shadow:0 0 0 1px var(--editor-main-color);position:absolute;border-radius:3px;cursor:move;z-index:1;white-space:nowrap;color:#000;padding:3px 10px;display:flex;place-items:center;justify-content:center;box-sizing:border-box;text-shadow:none;font-size:var(--font-size, 12px);min-height:20px;max-height:30px;transform-origin:0 0;transform:translate(-50%,-50%) translate(var(--rg-ctl-x),var(--rg-ctl-y));min-width:50px;max-width:220px}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text p{font-size:var(--font-size, 12px);color:#333}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text p.empty-text{font-size:10px;color:#888}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text .rg-line-text-input{white-space:nowrap;pointer-events:auto;user-select:auto;background-color:transparent;color:#000;border-radius:3px;height:100%;padding:3px 0;width:100px;text-shadow:none;font-size:var(--font-size, 12px);text-align:center;box-sizing:border-box;border:none;outline:none}.relation-graph .rg-editing-line-ctrl .rg-line-ctrl-text-editing{background-color:#faf191}.relation-graph .rg-editing-ctrl,.relation-graph .rg-editing-connect-ctrl{user-select:none;position:absolute;z-index:500;box-shadow:0 0 0 1px var(--editor-main-color);border-radius:0;pointer-events:none;transform-origin:0 0}.relation-graph .rg-editing-bar{user-select:none;pointer-events:none;position:absolute;border-radius:5px;padding:3px;box-sizing:border-box;display:flex;place-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.relation-graph .rg-editing-bar .rg-gee-icon{background-color:#d603f680;pointer-events:auto;min-width:20px;min-height:20px;border-radius:5px;box-sizing:border-box;display:flex;place-items:center;justify-content:center;cursor:pointer}.relation-graph .rg-editing-bar .rg-gee-icon:hover{background-color:#d603f6;color:#fff}.relation-graph .rg-connect-source-handle{pointer-events:auto;width:fit-content;height:fit-content}.relation-graph .rg-editing-bar-top{width:fit-content;height:fit-content;left:50%;transform:translate(-50%) translateY(-100%);top:-15px}.relation-graph .rg-editing-bar-bottom{width:fit-content;height:fit-content;left:50%;transform:translate(-50%) translateY(100%);bottom:-15px}.relation-graph .rg-editing-bar-left{width:fit-content;height:fit-content;left:-15px;top:50%;transform:translate(-100%) translateY(-50%)}.relation-graph .rg-editing-bar-right{width:fit-content;height:fit-content;right:-15px;top:50%;transform:translate(100%) translateY(-50%)}.relation-graph .rg-editing-bar-tl{width:30px;height:30px;right:calc(100% + 10px);top:-40px}.relation-graph .rg-editing-bar-tr{width:30px;height:30px;left:calc(100% + 10px);top:-40px}.relation-graph .rg-editing-bar-bl{width:30px;height:30px;right:calc(100% + 10px);bottom:-40px}.relation-graph .rg-editing-bar-br{width:30px;height:30px;left:calc(100% + 10px);bottom:-40px}.relation-graph .rg-resize-ctl{user-select:none;position:relative;height:100%;width:100%;--resize-handler-size: 10px;--resize-handler-offset: -5px}.relation-graph .rg-resize-ctl .rg-resize-ctl-handler{pointer-events:auto;width:var(--resize-handler-size);height:var(--resize-handler-size);background-color:#fff;position:absolute;border-radius:2px;box-shadow:inset 0 0 0 1px var(--editor-main-color)}.relation-graph .rg-resize-ctl .rg-resize-ctl-tl{cursor:nwse-resize;left:var(--resize-handler-offset);top:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-tr{cursor:nesw-resize;right:var(--resize-handler-offset);top:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-bl{cursor:nesw-resize;left:var(--resize-handler-offset);bottom:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-br{cursor:nwse-resize;right:var(--resize-handler-offset);bottom:var(--resize-handler-offset)}.relation-graph .rg-resize-ctl .rg-resize-ctl-t{cursor:n-resize;top:var(--resize-handler-offset);left:50%;transform:translate(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-b{cursor:s-resize;bottom:var(--resize-handler-offset);left:50%;transform:translate(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-l{cursor:w-resize;left:var(--resize-handler-offset);top:50%;transform:translateY(-50%)}.relation-graph .rg-resize-ctl .rg-resize-ctl-r{cursor:e-resize;right:var(--resize-handler-offset);top:50%;transform:translateY(-50%)}.relation-graph .rg-editing-connect-ctrl{position:absolute;user-select:none;pointer-events:none;left:0;top:0;z-index:1400;--hander-border-radius: 5px;border-radius:var(--hander-border-radius);--border-handler-width: 8px;--hv-handler-width: 10px;--center-handler-width: 10px;--border-point-width: 10px;--border-point-height: 10px;--hander-color: var(--editor-light2-color);--hander-border-color: var(--editor-main-color);--hander-shadow-color: rgba(57, 144, 216, .1);box-shadow:0 0 0 var(--border-handler-width) var(--hander-shadow-color)}.relation-graph .rg-connect-ctl{width:100%;height:100%;pointer-events:none;user-select:none;border:none;position:relative}.relation-graph .rg-connect-ctl-handler{pointer-events:auto;user-select:none;z-index:20;cursor:crosshair}.relation-graph .rg-connect-target{pointer-events:auto}.relation-graph .rg-connect-ctl-handler-style{background-color:var(--hander-color);border:var(--hander-border-color) solid 1px;position:absolute;border-radius:3px}.relation-graph .rg-connect-ctl-handler-style:hover{background-color:#fbe691}.relation-graph .rg-connect-ctl-center{width:var(--center-handler-width);height:var(--center-handler-width);border-radius:50%;top:calc((100% - var(--center-handler-width)) / 2);left:calc((100% - var(--center-handler-width)) / 2)}.relation-graph .rg-connect-ctl-t{width:var(--border-point-width);height:var(--border-point-height);top:calc(var(--border-point-height) / -2);left:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-b{width:var(--border-point-width);height:var(--border-point-height);bottom:calc(var(--border-point-height) / -2);left:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-l{width:var(--border-point-height);height:var(--border-point-width);left:calc(var(--border-point-height) / -2);top:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-r{width:var(--border-point-height);height:var(--border-point-width);right:calc(var(--border-point-height) / -2);top:calc((100% - var(--border-point-width)) / 2)}.relation-graph .rg-connect-ctl-lr{width:100%;height:var(--hv-handler-width);right:0px;top:calc((100% - var(--hv-handler-width)) / 2);z-index:11;opacity:.01}.relation-graph .rg-connect-ctl-lr:hover{opacity:1}.relation-graph .rg-connect-ctl-tb{width:var(--hv-handler-width);height:100%;top:0px;left:calc((100% - var(--hv-handler-width)) / 2);z-index:10;opacity:.01}.relation-graph .rg-connect-ctl-tb:hover{opacity:1}.relation-graph .rg-connect-ctl-bottom-bar{border:0px;border:none;width:100%;height:var(--border-handler-width);right:0px;top:100%;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-top-left-radius:0;border-top-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-bottom-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-top-bar{border:0px;border:none;width:100%;height:var(--border-handler-width);right:0px;top:calc(var(--border-handler-width) * -1);z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-top-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-left-bar{border:0px;border:none;width:var(--border-handler-width);height:100%;left:calc(var(--border-handler-width) * -1);top:0;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-right-radius:0;border-top-right-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-left-bar:hover{opacity:1}.relation-graph .rg-connect-ctl-right-bar{border:0px;width:var(--border-handler-width);height:100%;right:calc(var(--border-handler-width) * -1);top:0px;z-index:5;opacity:.1;box-shadow:none;background-color:var(--edit-ctl-light-color);border-radius:var(--hander-border-radius);border-bottom-left-radius:0;border-top-left-radius:0;overflow:hidden}.relation-graph .rg-connect-ctl-right-bar:hover{opacity:1}.relation-graph .rg-miniview{pointer-events:all;position:absolute;user-select:none;overflow:hidden;z-index:1100;min-height:100px;min-width:100px;--miniview-width: 200px;--miniview-height: 120px;height:var(--miniview-height);width:var(--miniview-width);border-radius:3px;display:flex;place-items:center;justify-content:center;background-color:#fff;box-shadow:0 0 0 1px #ccc;border:none}.relation-graph .rg-miniview .rg-miniview-container{position:relative;width:100%;height:100%;display:flex;place-items:center;justify-content:center}.relation-graph .rg-miniview canvas{opacity:1}.relation-graph .rg-miniview .rg-mv-canvas-reset{cursor:pointer}.relation-graph .rg-miniview .rg-mv-canvas-reset:hover{background-color:#bbf54794}.relation-graph .rg-miniview .rg-mv-visible-area{z-index:2;position:absolute;left:0;top:0;cursor:move;transform-origin:0 0;box-shadow:0 0 0 9999px #0003;border:#888 solid 1px;border-radius:3px;display:grid;place-items:center;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}.relation-graph .rg-miniview.rg-miniview-top{left:calc((100% - var(--miniview-width)) / 2);top:10px}.relation-graph .rg-miniview.rg-miniview-bottom{left:calc((100% - var(--miniview-width)) / 2);bottom:10px}.relation-graph .rg-miniview.rg-miniview-left{left:10px;top:calc((100% - var(--miniview-height)) / 2)}.relation-graph .rg-miniview.rg-miniview-right{right:10px;top:calc((100% - var(--miniview-height)) / 2)}.relation-graph .rg-miniview.rg-miniview-tl{left:10px;top:10px}.relation-graph .rg-miniview.rg-miniview-tr{right:10px;top:10px}.relation-graph .rg-miniview.rg-miniview-bl{left:10px;bottom:10px}.relation-graph .rg-miniview.rg-miniview-br{right:10px;bottom:10px}.relation-graph .rg-node-flashing{animation:ACTRGNodeFlashing 2s infinite}.relation-graph .rg-node-vtree-2{transform-origin:0 0;transform:rotate(30deg) translate(0)}.relation-graph .rg-node-vtree{width:130px;height:45px;text-align:left}.relation-graph .rg-node-expand-holder{position:absolute;height:fit-content;width:fit-content;display:flex;align-items:center;justify-content:center;user-select:none;pointer-events:none;color:#000}.relation-graph .rg-node-expand-holder .rg-node-expand-button{width:16px;height:16px;border-radius:15px;cursor:pointer;pointer-events:all;border:#666 solid 1px;background-color:#fff;display:flex;align-items:center;justify-content:center}.relation-graph .rg-node-expand-holder .rg-icon{width:14px;height:14px}.relation-graph .c-expand-positon-hide{display:none}.relation-graph .c-expand-positon-left{transform:translate(-100%) translateY(-50%);left:-5px;top:50%}.relation-graph .c-expand-positon-right{transform:translate(5px) translateY(-50%);left:100%;top:50%}.relation-graph .c-expand-positon-bottom{transform:translate(-50%);left:50%;top:calc(100% + 5px)}.relation-graph .c-expand-positon-top{transform:translate(-50%) translateY(-100%);left:50%;top:-5px}.relation-graph .rg-setting-panel{--height: 300px;--width: 200px;width:300px;height:200px;position:absolute;left:10px;top:5px;font-size:12px;color:#3a5bb2;padding:60px 10px 10px;overflow:hidden;box-shadow:0 0 5px #999;border-radius:5px;z-index:1000;background-color:#fff;border:#999999 solid 1px}.relation-graph .rg-setting-panel-button{height:35px;width:35px;font-size:8px;line-height:35px;text-align:center;border-radius:50%;position:absolute;margin-left:25px;margin-top:20px;background-color:#3a5bb2;color:#fff;cursor:pointer;z-index:1001;box-shadow:0 0 8px #999}.relation-graph .rg-setting-panel-button:hover{box-shadow:0 0 20px #ffa20a;border:#ffffff solid 1px;color:#ffa20a;-moz-transform:rotate(-89deg) translateX(-190px);animation-timing-function:linear;animation:flashButton 2s infinite}@keyframes flashButton{0%{box-shadow:0 0 8px #2e4e8f}30%{box-shadow:0 0 20px #ffa20a}to{box-shadow:0 0 8px #2e4e8f}}.relation-graph .c-debug-tools-row{text-align:left}.relation-graph .rg-operate{pointer-events:none;user-select:none;position:absolute;top:0px;left:0px;width:100%;height:100%;z-index:180}.relation-graph .rg-operate .rg-node{cursor:move}.relation-graph .rg-operate .rg-creating-container{pointer-events:none;position:relative}.relation-graph .rg-operate .rg-creating-container *{pointer-events:none!important}.relation-graph .rg-selection{pointer-events:none;position:absolute;user-select:none;background-color:var(--editor-light-opacity);border:var(--editor-main-color) solid 1px;transform-origin:0 0}.relation-graph .rg-graph-loading{position:absolute;z-index:1600;left:0px;top:0px;height:100%;width:100%;background-color:#ffffffe6}.relation-graph .rg-graph-loading .rg-graph-loading-icon{width:16px;height:16px;vertical-align:-3px;fill:currentColor;overflow:hidden;animation:turn 1s linear infinite}.relation-graph .rg-graph-loading .rg-graph-loading-message{position:absolute;padding:2px 15px;text-align:center;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:5px;font-size:12px;background-color:#fff;border:#666 solid 1px;color:#666;display:flex;place-items:center;justify-content:center;gap:8px}.relation-graph .rg-graph-loading-hide{display:none}@keyframes slowHide{0%{opacity:1}to{opacity:0;display:none}}.relation-graph .rg-easy-view{overflow:visible;height:100%;width:100%;background-color:transparent;position:absolute;left:0px;top:0px;z-index:3;pointer-events:none}.relation-graph .rg-easy-view canvas{opacity:0;width:100%;height:100%}.relation-graph .rg-easy-view-active{pointer-events:all}.relation-graph .rg-easy-view-active canvas{opacity:1}.relation-graph .rg-move-operator{position:absolute;width:100%;height:100%;pointer-events:none;user-select:none;left:0px;top:0px;z-index:6666}.relation-graph .rg-move-operator .rg-move-touchpad{display:none;background-color:var(--edit-ctl-light2-color);height:100%;width:100%;pointer-events:all}.relation-graph .rg-move-operator.rg-move-operator-active{pointer-events:all;cursor:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4Ij48aW1hZ2UgeGxpbms6aHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUFYTlNSMElBcnM0YzZRQUFDWlpKUkVGVWVGN3RXZ3RNVk5rWi9xYThabkZ4QkVIQWlCV3lFa0drUEcwRW1paWdGVVZzcFZxTmlsSmZRVEV4c2k2eDFqZHRMVnVEeGpoTlJDc0JzeHBOZktEV0J4Q05QTFFpaUNoRzBTQkxKZHBTYUFWNXlHaW4rOTNjdzQ2enVEc0Rkd1lUT01uSm5XRXU5NTcvKy8vLyt4L25xRERJaDJxUXk0OGhBSVlzWUpBak1PUUNnOXdBaGtod3lBV0dYR0NRSXpEa0FnTmtBQUo0UXdYbzViV0lxMVdXWm0wTDRQdCtCTUJHdnZJN0o0WG0vQitBZC9MVktrQllBd0FocEJEY3RyS3lNc3pYMTNlcG5aMWRvTDI5ZlhoM2QzZTVUcWVycnEydHpRc0pDYmtENEswUkVCWUR3NUlBR0dxYkdyY0ZZSGYvL3YxWkV5Wk0rTE90cmEyN3NZMi9mZnYybjQ4ZVBmcDgwcVJKZndPZ2s0RWdHTFFNVHNXQnNBUUFRdU1VMkxhc3JDekF6ODh2U2ExV0I2dlY2Z2doOUtWTGw4QjU0TUFCckYrL0huRnhjZElVUTZmVFBlN3M3THgyK1BEaFA2U2xwZjNieUNvVTR3ZExBRUJ0YzlxM3RMUnNkWFoyL3NKNHRRME5EUWdNRE1TclY2OTZmdEpvTktpdXJzYllzV1BmdTEybjB6MjRjZVBHNnRqWTJHb0EzUWF1b1FnSVNnUEE1OWxSZUsxVzY1T1NrbktQcXp4eTVBaU9IajJLMHRKU1RKMDZGY09HRGNQRml4ZXhZOGNPYk4rK0hUdDM3cFErejU0OUcrM3Q3YmgrL1RvaUl5T1JuSnlNRlN0V29MdTd1elkzTjNmK3FsV3I2bVFRaEZ2MEd3U2xBYURtSFFBNHZuang0azhlSGg2L29URFRwazNyZGFGNi9iY3VyVkwxdnBScjE2NUpvTDE4K2ZLdm5wNmV2d1hRQ2VDTjdCTDk1Z1dsQWFEMkhRRTR0YmEyWG5CeWN2cEpSRVFFYnQ2OCtSMXRFNUhlQURDMmlpbFRwcUNzckV3Q3NLT2o0MjVYVjFkNWZuNStWbkp5Y29OTWxDSnM5c2thbEFTQXo2TDJod0VZb2Rmcm4zSkZRck85Q2R1WHYvR1pPcDN1SC9YMTllbSt2cjc1QnRHQzFtRDJVQklBeG5rMXRRL0FSYS9YUDFRS2dISGp4cUcrdnY0N3ZKQ2Vudjd6ZmZ2Mk5SbndndGxoVWtrQTZQK2ZBQmdPWUtSZXJ5ZHJLMklCeG1vVnZORFkyTGh2ekpneHUyVmVFQkhDTEN0UUVnREdmZnEvUmdiZ3JsSUFmSWdYMnRyYWJnOGZQdnlYQU5vQWRNbnVZSFVBYVBvRTB0NElnTnRLQWZCOVhLRlNxWHdBTUtGb2wxM0JMRGZvandWUWNKSGYyeFFWRlFXTUh6OStiazFOemRkeGNYRVA5WHA5c1pVQThBUFFBdUMxYkFWbWtXRmZBYURnVXFwYlYxY1g3Kzd1L2l0SFI4ZjV2ZG1lMGxIQStIa3FsU29RUURPQVZwa0xHQlpOSG4wQlFBaHZYMUZSTVRVa0pPUVUyWjhzZmV2V0xYUjFkU0VoSVFFdUxpN1NJcXdBUUpBTUFOMmdRMDZWTFFZQUFaT3l2ZFRVMUZGNzkrNHR0TGUzOThuSnlVRnFhcXFVeG5Jd245KzBhWlAwTnlzQUVBS0F4WklBZ0dteXljTmNDNkQyU1hhZkZCY1h4MGRGUmVVMk5UVmg4dVRKVXB4ZXVIQWgzcjE3aDFPbmFCVEF5Wk1uc1dEQkF1bXpJWkd4NkhuOCtESG16Ly9XYTBTNnpCQW5oaW5ncVZTcVVBRE1CYXdDQUxYUFpPZlR1cnE2MzNsN2U2ZHF0VnFzVzdjT3k1Y3Zsd29lamtPSERtSE5talVZT1hJa21wdnBudThEWUtwNkJKQ0dRUFhDQVFTQUZ2QmYyUVVzYWdITTlhVmtwN2k0ZUZsVVZGVEdpUk1uc0dqUklrbjd4NDhmNzVHTkdtVWhKSWFoQlpnS2dDbWtLbHVBVlFGZ3JxODVkdXhZM09MRmkvOUMwdzhJQ0lDTmpRMEtDd3NSSGg3ZXMrNVpzMlpKVFErUnlQUkg4QSs1eFlBQkFNQzFvYUhob0plWDEwODNidHlJckt3c1RKOCtIVmV2WGxWQ3pnOCs0d011WURVT0VPa3U4MzNYN096c09TdFhydHoxK3ZWclJFZEhvN3k4SEZ1M2JzV3VYYnNzQnNKQUF5QklrQldmTTRCUnQyL2Yvanc4UER6K3lwVXJtRGx6cGlUNGhRc1hwTzZPMHFPcXFnckJ3Y0VZUFhvMEdoc2I4ZWJObTFkcXRacmRGcXVIUVJZOUkxajBCQVVGalNzb0tQalMxZFgxeDl1MmJjUHUzYnVsUmJLSm9WWXpZQ2czbUcrd1RSWWFHb283ZCs2Z3RiWDFhNDFHOHdzREFOZ3RzbWdVb0RTTUJHeDhTSFUvWFVHcjFjYWxwS1NrODBmMjhpaDhSa1lHdG16Wm9wejAzK1M1NmVucHlNek14TnExYTNIdzRFRTBOVFhkR3pWcVZKSkJKa2dBckpJS2k5WVhTMStDNEZaWldmbEZjSEJ3OUprelp6QnYzanhKOEljUEg4TFBqN1dLTW1QdTNMbkl6OC9IK2ZQbkVSOGZqOU9uVC84eE1USHhLNk5hd0NyRkVNbVFWdkNwY0lVTkd6Wk16c3pNM0dOblorZVFsSlNFdkx3OGFaRmNyQkpEY0F6OW44QTZPanAyUmtkSEx5Z3BLV0hyamRVZ2V3SnNsbG9GQU5IK1psTFU0d3FGaFlXclkySmlmczFVbDY3QTZFQ056Wmt6cDk4WWVIbDU0Zm56NXowNVJVMU56WldBZ0lDZEFQNGxaNEVzaDlrVnNtby9RR3FCaXk2UWs1T1RlMjF0YlphSGg4ZG5vdGRQeWZ1YkJTNWJ0Z3k1dWJtWU9IRWlDZ29LNE9ucGljMmJONi9mczJkUHFVeUFMSVZaQ1hJN3pheGhiakZrK0hCUkdZcEdLS09DSU1UTnZKRmNRRTVnVkNncEthSFptclU0M2h3Ykc0dWlvaUpKZUJaWC92Nyt1SGZ2WGtGUVVGQ0dYQVFaTmtQTUlrQSt2ejhBOFA5WkhmYlVCd3lMbktXbHBlc2pJaUlTZUFQMyt5NWZ2Z3huWjJka1oyY2pNVEhSSkJBWTh0TFMwdERTMHZLZThNM056UTJ1cnE1clpPRlphWWtxMEd6elZ3SUFQa1BzQmtrMWdnQ2hycTd1OTk3ZTNteFc5R3g5OFhOWVdCaVdMbDBLYm5pNHVibEprMXRsRHg0OGtHWk5UWTEwUFh2MnJBU1VvZWFsQmF0VWpQc1VYQlJBb2hWbVZ2d1hXdWl2QlFnUUdSV2tNbGxFQlliSGtwS1NsTWpJU0NrOUpDZWNPM2NPZCs5S3plSWZIR1Q3MWF0WFM1TSsvK3paczJvZkh4K1NIazJlOHo4eTh6UDIwL2ZOWW44bEFUQjJCVVlGa1IrTXlNdkxTMWl5Wk1rSzhVSUN3TWp3NU1rVFBIMzZWTHJTekNrd0JRMEtDcEtLcWhrelpraHV3L0ZONisxNldGallBWm50S1RocmYwRjhmZG9QVUJvQTRRcFN0MGkyQklKQVl0UmtabWIrTENZbVpvcS92MytvV3EwMmlRbDFPdDJicXFxcXYrZms1RnpWYXJYM1pZSHA3NXlNK1dSOUNrL1ROeXYwR1RQNUQ1cWppVGVJcUVBUWhEdlFHbGc1OGtyM1VPL2Z2ejh5SkNURTE4M056ZFhaMmRsVm85RzRPRGc0T0haMmRyWjFkSFMwdGJlM3R4VVhGNWRuWldXVlZWUlVNTWF6MFVpQk9hbDFmaGZDOTJ0alZDa1NOQVpVT2h3aHRzbmx6VklLVDVLa2RSQWNSZzd5aGpnc3hXZUlRMUxVS0RYTHJJNkNVbUF4K1owN1FJb2RsRkNDQkkwTlJGaUNTSmVaTEZGd0lUeS9Fd0FCQWtPcEFJQWFGUUJRVUU2U25EZ1RRRkFFNGZXSjlIcGJySWtXYnRadGhnZWtwQk1qOGhTZnBVMFZPWThRQVBBRkJJQ1RRbkpTWUdwYmZCY25RL3JzODlZQ1FMem52ZTB6c1p0a1lQcmlkMkVCRkV5QVFHSEZGTDZ1aU5ZdFJZTGZaeUxDSW9UQVlrTlZhSisvaThPU3ZSMllWRnh3UzRSQlUzMUU4STQ0VG1mOGY0WkFtUHJNUHQ5bkNSTHM4MklHNGgrSEFCZ0kxRCttZHc1WndNZWtqWUZZeTVBRkRBVHFIOU03QjcwRi9COEJrUXA5WU5iRzJRQUFBQUJKUlU1RXJrSmdnZz09IiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz48L3N2Zz4=) 16 16,auto!important;cursor:-webkit-image-set(url(data:image/png;base64,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) 2x,url(data:image/png;base64,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) 1x) 16 16,auto!important}.relation-graph .rg-move-operator.rg-move-operator-active .rg-move-touchpad{display:flex}.relation-graph.rg-creating-line .rg-connect-source-handle{pointer-events:none;opacity:.5}.rg-background{position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:0;pointer-events:none}.rg-toolbar{user-select:none;pointer-events:all;display:flex;position:absolute;z-index:300;background-color:#fff;color:#333;--rg-toolbar-hover-bg-color: rgba(220, 220, 220, .5);box-shadow:0 1px 3px #0003,0 0 1px #0006;box-sizing:border-box;border-radius:5px;width:fit-content;height:fit-content;place-items:center;justify-content:center;gap:3px;backdrop-filter:blur(5px)}.rg-toolbar .rg-icon{flex-grow:1;width:16px;height:16px;fill:currentColor;overflow:hidden}.rg-toolbar .rg-mb-button svg{margin:auto}.rg-toolbar .rg-mb-button:hover{background-color:var(--rg-toolbar-hover-bg-color)}.rg-toolbar .rg-loading-icon{animation:turn 1s linear infinite}@keyframes turn{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}.rg-toolbar .rg-current-zoom{margin-top:0;font-size:10px;text-align:center;border-radius:3px;cursor:pointer}.rg-toolbar .rg-current-zoom:hover{background-color:var(--rg-toolbar-hover-bg-color)}.rg-toolbar .rg-mb-button{width:35px;height:35px;margin-top:0;opacity:1;cursor:pointer;font-size:18px;box-sizing:border-box;display:flex;align-items:center;justify-items:center;border-radius:3px}.rg-toolbar.rg-toolbar-v{flex-flow:column;padding:10px 3px}.rg-toolbar.rg-toolbar-v .rg-current-zoom{width:35px;height:25px;line-height:25px}.rg-toolbar.rg-toolbar-h{padding:3px 10px}.rg-toolbar.rg-toolbar-h .rg-current-zoom{width:fit-content;padding:0 5px;height:35px;line-height:35px}.rg-toolbar.rg-toolbar-h-right{right:15px}.rg-toolbar.rg-toolbar-h-left{left:15px}.rg-toolbar.rg-toolbar-h-center{left:50%;transform:translate(-50%)}.rg-toolbar.rg-toolbar-v-top{top:15px}.rg-toolbar.rg-toolbar-v-bottom{bottom:15px}.rg-toolbar.rg-toolbar-v-center{top:50%;transform:translateY(-50%)}.rg-toolbar.rg-xs-toolbar .rg-mb-button{width:25px;height:25px}.rg-toolbar.rg-xs-toolbar .rg-icon{width:14px;height:14px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v{padding:3px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v .rg-current-zoom{width:30px;height:25px;line-height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h{padding:3px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h .rg-current-zoom{width:35px;height:25px;line-height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h .rg-mb-button{width:25px;height:25px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-right{right:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-left{left:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-h-center{left:50%;transform:translate(-50%)}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-top{top:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-bottom{bottom:10px}.rg-toolbar.rg-xs-toolbar.rg-toolbar-v-center{top:50%;transform:translateY(-50%)}")); document.head.appendChild(elementStyle);} catch(e) {console.error('vite-plugin-css-injected-by-js', e);} })();var tn = Object.defineProperty;
2
2
  var nn = (r, i, e) => i in r ? tn(r, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[i] = e;
3
3
  var w = (r, i, e) => (nn(r, typeof i != "symbol" ? i + "" : i, e), e);
4
- import { defineComponent as G, computed as E, openBlock as k, createElementBlock as D, normalizeClass as K, createElementVNode as I, withModifiers as ge, createBlock as re, inject as ut, ref as ee, onMounted as ae, onBeforeUnmount as Ee, withDirectives as Se, normalizeStyle as te, renderSlot as B, createVNode as oe, createCommentVNode as Y, toDisplayString as ue, vShow as Ie, Fragment as xe, renderList as tt, withCtx as ne, mergeProps as je, Teleport as on, withMemo as mt, normalizeProps as le, guardReactiveProps as de, createTextVNode as Ot, markRaw as Pt, provide as sn, h as De, defineEmits as an, watch as lt, unref as Me, onUnmounted as He, nextTick as ot } from "vue";
4
+ import { defineComponent as G, computed as E, openBlock as k, createElementBlock as D, normalizeClass as K, createElementVNode as I, withModifiers as ge, createBlock as re, inject as ut, ref as ee, onMounted as ae, onBeforeUnmount as Ee, withDirectives as Se, normalizeStyle as te, renderSlot as X, createVNode as oe, createCommentVNode as Y, toDisplayString as ue, vShow as Ie, Fragment as xe, renderList as tt, withCtx as ne, mergeProps as je, Teleport as on, withMemo as mt, normalizeProps as le, guardReactiveProps as de, createTextVNode as Ot, markRaw as Pt, provide as sn, h as De, defineEmits as an, watch as lt, unref as Me, onUnmounted as He, nextTick as ot } from "vue";
5
5
  /*!
6
- * relation-graph v3.0.4
6
+ * relation-graph v3.0.6
7
7
  * (c) 2026 WanLian <seeksdream@qq.com>
8
8
  * Released under the MIT License.
9
9
  * Repository: https://github.com/seeksdream/relation-graph
10
10
  */
11
- const Tt = "3.0.4", Ns = Symbol("INSTALLED_KEY"), qe = "RelationGraphProvideKey", be = (r) => {
11
+ const Tt = "3.0.6", Ns = Symbol("INSTALLED_KEY"), qe = "RelationGraphProvideKey", be = (r) => {
12
12
  try {
13
13
  if ("touches" in r && r.touches || "targetTouches" in r && r.targetTouches)
14
14
  return !0;
15
15
  } catch {
16
16
  }
17
17
  return !1;
18
- }, Be = (r) => {
18
+ }, Xe = (r) => {
19
19
  if (be(r)) {
20
20
  const i = r.touches || r.targetTouches;
21
21
  if (!i)
@@ -262,7 +262,7 @@ const un = ["data-id"], fn = { class: "rg-node-text" }, Mt = /* @__PURE__ */ G({
262
262
  ]),
263
263
  "data-id": u.nodeProps.id
264
264
  }, [
265
- l.value ? B(u.$slots, "node-expand-button", {
265
+ l.value ? X(u.$slots, "node-expand-button", {
266
266
  key: 0,
267
267
  node: u.nodeProps,
268
268
  expandOrCollapseNode: d,
@@ -280,7 +280,7 @@ const un = ["data-id"], fn = { class: "rg-node-text" }, Mt = /* @__PURE__ */ G({
280
280
  onMousedown: ge(h, ["left", "stop"]),
281
281
  onTouchstart: ge(h, ["stop"])
282
282
  }, [
283
- B(u.$slots, "node", {
283
+ X(u.$slots, "node", {
284
284
  node: u.nodeProps,
285
285
  checked: u.checked,
286
286
  dragging: u.dragging
@@ -314,10 +314,10 @@ const un = ["data-id"], fn = { class: "rg-node-text" }, Mt = /* @__PURE__ */ G({
314
314
  checked: o.id === t.checkedNodeId
315
315
  }, {
316
316
  node: ne((s) => [
317
- B(t.$slots, "node", je({ ref_for: !0 }, s))
317
+ X(t.$slots, "node", je({ ref_for: !0 }, s))
318
318
  ]),
319
319
  "node-expand-button": ne((s) => [
320
- B(t.$slots, "node-expand-button", je({ ref_for: !0 }, s))
320
+ X(t.$slots, "node-expand-button", je({ ref_for: !0 }, s))
321
321
  ]),
322
322
  _: 2
323
323
  }, 1032, ["node-props", "default-expand-holder-position", "dragging", "checked"]))), 128))
@@ -361,7 +361,7 @@ const un = ["data-id"], fn = { class: "rg-node-text" }, Mt = /* @__PURE__ */ G({
361
361
  d: e.value.defaultLineMarker.data
362
362
  }, null, 8, xn)
363
363
  ], 8, mn),
364
- B(t.$slots, "default")
364
+ X(t.$slots, "default")
365
365
  ]));
366
366
  }
367
367
  });
@@ -397,7 +397,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
397
397
  ...e.value.cssVars || {}
398
398
  })
399
399
  }, [
400
- B(n.$slots, "default")
400
+ X(n.$slots, "default")
401
401
  ], 14, wn)
402
402
  ], 8, ["to"]))
403
403
  ])) : (k(), D("g", _n, [
@@ -468,7 +468,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
468
468
  }, ue(a.value.text), 9, Rn)
469
469
  ], 40, Tn)
470
470
  ])) : Y("", !0),
471
- B(h.$slots, "default")
471
+ X(h.$slots, "default")
472
472
  ], 14, bn));
473
473
  }
474
474
  }), Et = /* @__PURE__ */ G({
@@ -523,7 +523,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
523
523
  setup(r) {
524
524
  const i = W(), e = E(() => r.line.isFakeLine ? i.generateFakeLineConfig(r.line) : i.generateLineConfig(r.line));
525
525
  return (t, n) => e.value ? (k(), D("g", kn, [
526
- B(t.$slots, "line", {
526
+ X(t.$slots, "line", {
527
527
  lineConfig: e.value,
528
528
  defaultLineTextOnPath: t.defaultLineTextOnPath,
529
529
  graphInstanceId: t.graphInstanceId,
@@ -550,7 +550,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
550
550
  graphInstanceId: {}
551
551
  },
552
552
  setup(r) {
553
- const i = W(), e = E(() => (console.error("allFakeLineConfigList: computed!"), i.getShouldRenderFakeLines(i.dataStores.shouldRenderFakeLinesRef.value)));
553
+ const i = W(), e = E(() => i.getShouldRenderFakeLines(i.dataStores.shouldRenderFakeLinesRef.value));
554
554
  return ae(() => {
555
555
  x("[RGCanvas mounted]");
556
556
  }), (t, n) => (k(), D("div", Mn, [
@@ -568,7 +568,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
568
568
  "graph-instance-id": t.graphInstanceId
569
569
  }, {
570
570
  line: ne((s) => [
571
- B(t.$slots, "line", je({ ref_for: !0 }, s))
571
+ X(t.$slots, "line", je({ ref_for: !0 }, s))
572
572
  ]),
573
573
  _: 2
574
574
  }, 1032, ["line", "defaultLineTextOnPath", "checked", "graph-instance-id"])) : Y("", !0)
@@ -587,13 +587,13 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
587
587
  graphInstanceId: {}
588
588
  },
589
589
  setup(r) {
590
- const i = W(), e = E(() => (console.error("creatingLineConfig: computed!"), i.generateCreatingLineConfig(i.dataStores.optionsRef.value)));
590
+ const i = W(), e = E(() => i.generateCreatingLineConfig(i.dataStores.optionsRef.value));
591
591
  return ae(() => {
592
592
  x("[RGCanvas mounted]");
593
593
  }), (t, n) => (k(), D("div", Dn, [
594
594
  n[0] || (n[0] = I("div", { class: "rg-linetext-container" }, null, -1)),
595
595
  (k(), D("svg", En, [
596
- B(t.$slots, "line", { lineConfig: e.value }, () => [
596
+ X(t.$slots, "line", { lineConfig: e.value }, () => [
597
597
  oe(Et, {
598
598
  "line-config": e.value,
599
599
  defaultLineTextOnPath: t.defaultLineTextOnPath,
@@ -606,7 +606,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
606
606
  }), Vn = { class: "rg-lines-container rg-lines-container-normal-lines" }, zn = {
607
607
  class: "rg-lines-svg",
608
608
  xmlns: "http://www.w3.org/2000/svg"
609
- }, Bn = /* @__PURE__ */ G({
609
+ }, Xn = /* @__PURE__ */ G({
610
610
  __name: "RGCanvasContent4Lines",
611
611
  props: {
612
612
  showEasyView: { type: Boolean },
@@ -633,7 +633,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
633
633
  "graph-instance-id": t.graphInstanceId
634
634
  }, {
635
635
  line: ne((s) => [
636
- B(t.$slots, "line", je({ ref_for: !0 }, s))
636
+ X(t.$slots, "line", je({ ref_for: !0 }, s))
637
637
  ]),
638
638
  _: 2
639
639
  }, 1032, ["line", "defaultLineTextOnPath", "checked", "graph-instance-id"])) : Y("", !0)
@@ -641,7 +641,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
641
641
  ]))
642
642
  ]));
643
643
  }
644
- }), Xn = { class: "rg-single-graph" }, Fn = { class: "rg-nodes-container-wrapper" }, Vt = /* @__PURE__ */ G({
644
+ }), Bn = { class: "rg-single-graph" }, Fn = { class: "rg-nodes-container-wrapper" }, Vt = /* @__PURE__ */ G({
645
645
  __name: "RGCanvasContent",
646
646
  props: {
647
647
  showEasyView: { type: Boolean },
@@ -654,15 +654,15 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
654
654
  defaultLineTextOnPath: { type: Boolean }
655
655
  },
656
656
  setup(r) {
657
- return (i, e) => (k(), D("div", Xn, [
658
- mt([i.defaultLineTextOnPath, i.checkedLineId], () => oe(Bn, {
657
+ return (i, e) => (k(), D("div", Bn, [
658
+ mt([i.defaultLineTextOnPath, i.checkedLineId], () => oe(Xn, {
659
659
  showEasyView: i.showEasyView,
660
660
  defaultLineTextOnPath: i.defaultLineTextOnPath,
661
661
  "checked-line-id": i.checkedLineId,
662
662
  "graph-instance-id": i.graphInstanceId
663
663
  }, {
664
664
  line: ne((t) => [
665
- B(i.$slots, "line", le(de(t)))
665
+ X(i.$slots, "line", le(de(t)))
666
666
  ]),
667
667
  _: 3
668
668
  }, 8, ["showEasyView", "defaultLineTextOnPath", "checked-line-id", "graph-instance-id"]), e, 0),
@@ -674,10 +674,10 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
674
674
  checkedNodeId: i.checkedNodeId
675
675
  }, {
676
676
  node: ne((t) => [
677
- B(i.$slots, "node", le(de(t)))
677
+ X(i.$slots, "node", le(de(t)))
678
678
  ]),
679
679
  "node-expand-button": ne((t) => [
680
- B(i.$slots, "node-expand-button", le(de(t)))
680
+ X(i.$slots, "node-expand-button", le(de(t)))
681
681
  ]),
682
682
  _: 3
683
683
  }, 8, ["default-expand-holder-position", "draggingNodeId", "checkedNodeId"])), e, 1)
@@ -689,7 +689,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
689
689
  "graph-instance-id": i.graphInstanceId
690
690
  }, {
691
691
  line: ne((t) => [
692
- B(i.$slots, "line", le(de(t)))
692
+ X(i.$slots, "line", le(de(t)))
693
693
  ]),
694
694
  _: 3
695
695
  }, 8, ["showEasyView", "defaultLineTextOnPath", "checked-line-id", "graph-instance-id"]),
@@ -699,7 +699,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
699
699
  "checked-line-id": i.checkedLineId
700
700
  }, {
701
701
  line: ne((t) => [
702
- B(i.$slots, "line", le(de(t)))
702
+ X(i.$slots, "line", le(de(t)))
703
703
  ]),
704
704
  _: 3
705
705
  }, 8, ["defaultLineTextOnPath", "checked-line-id"])) : Y("", !0)
@@ -748,14 +748,14 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
748
748
  onTouchstart: l[2] || (l[2] = (c) => n(c))
749
749
  }, [
750
750
  I("div", $n, [
751
- B(a.$slots, "background")
751
+ X(a.$slots, "background")
752
752
  ]),
753
753
  I("div", {
754
754
  style: te(s.value),
755
755
  class: "rg-map-canvas rg-canvas-behind"
756
756
  }, [
757
757
  I("div", Yn, [
758
- B(a.$slots, "canvas-plug-behind")
758
+ X(a.$slots, "canvas-plug-behind")
759
759
  ])
760
760
  ], 4),
761
761
  oe(Gn),
@@ -776,13 +776,13 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
776
776
  "graph-instance-id": t.value.instanceId
777
777
  }, {
778
778
  line: ne((c) => [
779
- B(a.$slots, "line", le(de(c)))
779
+ X(a.$slots, "line", le(de(c)))
780
780
  ]),
781
781
  node: ne((c) => [
782
- B(a.$slots, "node", le(de(c)))
782
+ X(a.$slots, "node", le(de(c)))
783
783
  ]),
784
784
  "node-expand-button": ne((c) => [
785
- B(a.$slots, "node-expand-button", le(de(c)))
785
+ X(a.$slots, "node-expand-button", le(de(c)))
786
786
  ]),
787
787
  _: 3
788
788
  }, 8, ["show-easy-view", "creating-line", "default-expand-holder-position", "draggingNodeId", "checkedNodeId", "defaultLineTextOnPath", "checked-line-id", "graph-instance-id"])
@@ -792,7 +792,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
792
792
  class: "rg-map-canvas rg-canvas-above"
793
793
  }, [
794
794
  I("div", Hn, [
795
- B(a.$slots, "canvas-plug-above")
795
+ X(a.$slots, "canvas-plug-above")
796
796
  ])
797
797
  ], 4)
798
798
  ], 34));
@@ -846,7 +846,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
846
846
  "node-props": e.value.newNodeTemplate
847
847
  }, {
848
848
  node: ne(() => [
849
- B(t.$slots, "node", {
849
+ X(t.$slots, "node", {
850
850
  node: e.value.newNodeTemplate
851
851
  })
852
852
  ]),
@@ -866,7 +866,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
866
866
  oe(jn)
867
867
  ])) : Y("", !0);
868
868
  }
869
- }), Kn = ["title"], Bt = /* @__PURE__ */ G({
869
+ }), Kn = ["title"], Xt = /* @__PURE__ */ G({
870
870
  __name: "GraphXsToolBar",
871
871
  props: {
872
872
  direction: {},
@@ -928,7 +928,7 @@ const Cn = { key: 0 }, wn = ["data-id"], _n = { key: 1 }, It = /* @__PURE__ */ G
928
928
  "icon-name": "icon-zidong"
929
929
  }))
930
930
  ], 10, Kn)) : Y("", !0),
931
- B(a.$slots, "default"),
931
+ X(a.$slots, "default"),
932
932
  l[2] || (l[2] = I("div", { style: { clear: "both" } }, null, -1))
933
933
  ], 2));
934
934
  }
@@ -977,38 +977,38 @@ const Qn = ["id"], eo = { class: "rg-graph-plugs" }, to = { class: "rg-view-slot
977
977
  onWheel: o
978
978
  }, [
979
979
  t.value && n.value ? (k(), D(xe, { key: 0 }, [
980
- t.value.showToolBar ? (k(), re(Bt, { key: 0 })) : Y("", !0),
980
+ t.value.showToolBar ? (k(), re(Xt, { key: 0 })) : Y("", !0),
981
981
  oe(Wn, null, {
982
982
  node: ne((L) => [
983
- B(s.$slots, "node", le(de(L)))
983
+ X(s.$slots, "node", le(de(L)))
984
984
  ]),
985
985
  line: ne((L) => [
986
- B(s.$slots, "line", le(de(L)))
986
+ X(s.$slots, "line", le(de(L)))
987
987
  ]),
988
988
  "canvas-plug-behind": ne(() => [
989
- B(s.$slots, "canvas"),
990
- B(s.$slots, "default")
989
+ X(s.$slots, "canvas"),
990
+ X(s.$slots, "default")
991
991
  ]),
992
992
  "canvas-plug-above": ne(() => [
993
- B(s.$slots, "canvas-above")
993
+ X(s.$slots, "canvas-above")
994
994
  ]),
995
995
  "node-expand-button": ne((L) => [
996
- B(s.$slots, "node-expand-button", le(de(L)))
996
+ X(s.$slots, "node-expand-button", le(de(L)))
997
997
  ]),
998
998
  background: ne(() => [
999
- B(s.$slots, "background")
999
+ X(s.$slots, "background")
1000
1000
  ]),
1001
1001
  _: 3
1002
1002
  }),
1003
1003
  oe(zt, null, {
1004
1004
  node: ne((L) => [
1005
- B(s.$slots, "node", le(de(L)))
1005
+ X(s.$slots, "node", le(de(L)))
1006
1006
  ]),
1007
1007
  _: 3
1008
1008
  }),
1009
1009
  I("div", eo, [
1010
1010
  I("div", to, [
1011
- B(s.$slots, "view")
1011
+ X(s.$slots, "view")
1012
1012
  ])
1013
1013
  ])
1014
1014
  ], 64)) : Y("", !0)
@@ -1483,7 +1483,7 @@ const at = (r) => {
1483
1483
  "selected",
1484
1484
  "shouldRender",
1485
1485
  "rgCalcedVisibility"
1486
- ], Xe = (r) => {
1486
+ ], Be = (r) => {
1487
1487
  if (!r)
1488
1488
  return;
1489
1489
  const i = {};
@@ -1495,14 +1495,14 @@ const at = (r) => {
1495
1495
  }), i;
1496
1496
  }, gt = (r) => {
1497
1497
  if (!!r)
1498
- return Xe(r.line);
1498
+ return Be(r.line);
1499
1499
  }, lo = {
1500
1500
  json2Line: Pe,
1501
1501
  transLinkToJson: gt
1502
1502
  }, co = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1503
1503
  __proto__: null,
1504
1504
  json2Line: Pe,
1505
- transLineToJson: Xe,
1505
+ transLineToJson: Be,
1506
1506
  transLinkToJson: gt,
1507
1507
  default: lo
1508
1508
  }, Symbol.toStringTag, { value: "Module" }));
@@ -2555,7 +2555,7 @@ class vo extends Te {
2555
2555
  return a;
2556
2556
  }
2557
2557
  }
2558
- const Xt = vo;
2558
+ const Bt = vo;
2559
2559
  class mo extends Ue {
2560
2560
  constructor(e, t, n) {
2561
2561
  super(e, t, n);
@@ -2721,7 +2721,12 @@ class Co extends Te {
2721
2721
  t.fixed = !0, h.skipInitLayout = !0, h.resetCalcNodes(), setTimeout(() => {
2722
2722
  t.fixed = u;
2723
2723
  }, 800), h.onFinish(() => {
2724
- t.fixed = u, this.graphInstance && (this.graphInstance.enableNodeXYAnimation(), this.graphInstance._dataUpdated()), this.applyNodesGap(this.allNodes), this.graphInstance && (this.graphInstance._dataUpdated(), setTimeout(() => {
2724
+ t.fixed = u, this.graphInstance && (this.graphInstance.enableNodeXYAnimation(), this.graphInstance._dataUpdated()), this.applyNodesGap(this.allNodes), this.graphInstance && (this.graphInstance._dataUpdated(), this.allNodes.forEach((g) => {
2725
+ this.graphInstance.updateNode(g, {
2726
+ x: g.x,
2727
+ y: g.y
2728
+ });
2729
+ }), setTimeout(() => {
2725
2730
  this.graphInstance.disableNodeXYAnimation(), this.graphInstance._dataUpdated();
2726
2731
  }, 300));
2727
2732
  }), h.placeNodes(this.allNodes, t), this.layoutEnd();
@@ -2844,7 +2849,7 @@ class _o extends Te {
2844
2849
  const o = this.layoutOptions.treeNodeGapH || 20, s = this.layoutOptions.treeNodeGapV || 20, a = /* @__PURE__ */ new Map();
2845
2850
  let l = 0, c = 0;
2846
2851
  for (const u of t) {
2847
- const g = u.lot.level, f = u.el_W, p = u.el_H;
2852
+ const g = u.lot.level, f = u.width || u.el_W || 50, p = u.height || u.el_H || 50;
2848
2853
  l += p, c++;
2849
2854
  const y = a.get(g);
2850
2855
  y === void 0 ? a.set(g, f) : f > y && a.set(g, y);
@@ -3099,10 +3104,10 @@ const Yt = _o, Ne = (r) => !r || r.length === 0 ? "" : r.map((i) => {
3099
3104
  } = r, y = d - n, v = h - o, m = n - s, L = o - a, _ = d - u, T = h - g, O = t.lineRadius !== void 0 ? t.lineRadius : e.lineRadius || 0;
3100
3105
  let b = Math.min(O, Math.abs(y)) * (n < d ? 1 : -1), N = Math.min(O, Math.abs(v)) * (o < h ? 1 : -1);
3101
3106
  const P = t.fromJunctionPoint || e.defaultJunctionPoint || Z.border, M = t.toJunctionPoint || e.defaultJunctionPoint || Z.border, R = t.lineDirection || (P === Z.tb || P === Z.top || P === Z.bottom ? "v" : "h") || (Math.abs(m) >= l / 2 ? "h" : "v"), S = t.lineDirection || (M === Z.tb || M === Z.top || M === Z.bottom ? "v" : "h") || (Math.abs(_) >= f / 2 ? "h" : "v"), C = [];
3102
- let A = 0, X = 0;
3107
+ let A = 0, B = 0;
3103
3108
  if (R === "v") {
3104
3109
  const $ = t.polyLineStartDistance || Math.max(Math.min(30, Math.abs(h - o) / 2), 15), U = L > 0 ? $ : -$;
3105
- if (t.placeText === "start" ? (A = n, X = o + (L > 0 ? 20 : -5)) : t.placeText === "center" || t.placeText === "middle" ? (A = n + (d - n) / 2, X = o + U) : (A = d, X = h - (L > 0 ? 20 : -5)), C.push(
3110
+ if (t.placeText === "start" ? (A = n, B = o + (L > 0 ? 20 : -5)) : t.placeText === "center" || t.placeText === "middle" ? (A = n + (d - n) / 2, B = o + U) : (A = d, B = h - (L > 0 ? 20 : -5)), C.push(
3106
3111
  { type: "M", x: Math.round(n), y: Math.round(o) },
3107
3112
  { type: "v", dy: Math.round(U - N) },
3108
3113
  { type: "c", dx1: 0, dy1: Math.round(N), dx2: Math.round(b), dy2: Math.round(N), dx: Math.round(b), dy: Math.round(N) }
@@ -3123,7 +3128,7 @@ const Yt = _o, Ne = (r) => !r || r.length === 0 ? "" : r.map((i) => {
3123
3128
  }
3124
3129
  } else {
3125
3130
  const $ = t.polyLineStartDistance || Math.max(Math.min(30, Math.abs(d - n) / 2), 15), U = m > 0 ? $ : -$;
3126
- if (t.placeText === "start" ? (A = n + (m > 0 ? 10 : -50), X = o) : t.placeText === "center" || t.placeText === "middle" ? (A = n + U, X = o + (h - o) / 2) : (A = d - (m > 0 ? 10 : -50), X = h), b = Math.min(O, Math.abs(y)) * (n > s ? 1 : -1), N = Math.min(O, Math.abs(v)) * (o < h ? 1 : -1), C.push(
3131
+ if (t.placeText === "start" ? (A = n + (m > 0 ? 10 : -50), B = o) : t.placeText === "center" || t.placeText === "middle" ? (A = n + U, B = o + (h - o) / 2) : (A = d - (m > 0 ? 10 : -50), B = h), b = Math.min(O, Math.abs(y)) * (n > s ? 1 : -1), N = Math.min(O, Math.abs(v)) * (o < h ? 1 : -1), C.push(
3127
3132
  { type: "M", x: Math.round(n), y: Math.round(o) },
3128
3133
  { type: "h", dx: Math.round(U - b) },
3129
3134
  { type: "c", dx1: Math.round(b), dy1: 0, dx2: Math.round(b), dy2: Math.round(N), dx: Math.round(b), dy: Math.round(N) }
@@ -3143,7 +3148,7 @@ const Yt = _o, Ne = (r) => !r || r.length === 0 ? "" : r.map((i) => {
3143
3148
  { type: "h", dx: Math.round(d - n - U - b) }
3144
3149
  );
3145
3150
  }
3146
- i.x = A, i.y = X;
3151
+ i.x = A, i.y = B;
3147
3152
  const H = Ne(C);
3148
3153
  return {
3149
3154
  pathCommands: C,
@@ -3300,14 +3305,14 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3300
3305
  const N = f - y, P = p - v;
3301
3306
  let M = N > 1 ? 1 : N < -1 ? -1 : 0, R = P > 1 ? 1 : P < -1 ? -1 : 0;
3302
3307
  Math.abs(M) === 1 && Math.abs(R) === 1 && (Math.abs(N) > Math.abs(P) ? R = 0 : M = 0), M === 0 && R === 0 && (O = -1);
3303
- const S = et(n, O, b, !1, l, c, f, p), C = et(o, M, R, !0, l, c, f, p), A = S, X = C, H = l + (f - l) / 2, $ = c + (p - c) / 2;
3308
+ const S = et(n, O, b, !1, l, c, f, p), C = et(o, M, R, !0, l, c, f, p), A = S, B = C, H = l + (f - l) / 2, $ = c + (p - c) / 2;
3304
3309
  let U = { x: 0, y: 0 }, Q = 20, ie = 20;
3305
3310
  t.ctrlOptionsFor44 && (U = { x: t.ctrlOptionsFor44.cx, y: t.ctrlOptionsFor44.cy }, Q += t.ctrlOptionsFor44.fd, ie += t.ctrlOptionsFor44.td);
3306
3311
  const Le = t.lineRadius !== void 0 ? t.lineRadius : e.lineRadius || 0, [ve] = ct({
3307
3312
  source: { x: l, y: c },
3308
3313
  sourcePosition: A,
3309
3314
  target: { x: f, y: p },
3310
- targetPosition: X,
3315
+ targetPosition: B,
3311
3316
  center: {
3312
3317
  x: H + U.x,
3313
3318
  y: $ + U.y
@@ -3328,7 +3333,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3328
3333
  textPosition: i,
3329
3334
  points: me,
3330
3335
  startDirection: A,
3331
- endDirection: X
3336
+ endDirection: B
3332
3337
  };
3333
3338
  }, ko = (r, i = { x: 0, y: 0, rotate: 0 }, e = {}) => {
3334
3339
  const { line: t, fromJunctionPoint: n, toJunctionPoint: o, lineDirection: s, lineShape: a, fx: l, fy: c, fcx: d, fcy: h, f_W: u, f_H: g, tx: f, ty: p, tcx: y, tcy: v, t_W: m, t_H: L } = r, _ = l - d, T = c - h;
@@ -3338,7 +3343,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3338
3343
  let M = N > 3 ? 1 : N < -3 ? -1 : 0, R = P > 3 ? 1 : P < -3 ? -1 : 0;
3339
3344
  Math.abs(M) === 1 && Math.abs(R) === 1 && (Math.abs(N) > Math.abs(P) ? R = 0 : M = 0), M === 0 && R === 0 && (O = -1);
3340
3345
  let S = et(n, O, b, !1, l, c, f, p), C = et(o, M, R, !0, l, c, f, p);
3341
- const A = t.lineRadius !== void 0 ? t.lineRadius : e.lineRadius || 0, X = t.ctrlPointsFor49;
3346
+ const A = t.lineRadius !== void 0 ? t.lineRadius : e.lineRadius || 0, B = t.ctrlPointsFor49;
3342
3347
  let H = {
3343
3348
  x: Math.round(l),
3344
3349
  y: Math.round(c)
@@ -3346,12 +3351,12 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3346
3351
  x: Math.round(f),
3347
3352
  y: Math.round(p)
3348
3353
  }, U = {
3349
- x: Math.round(X[0].x),
3350
- y: Math.round(X[0].y)
3354
+ x: Math.round(B[0].x),
3355
+ y: Math.round(B[0].y)
3351
3356
  }, Q = {
3352
- x: Math.round(X[X.length - 1].x),
3353
- y: Math.round(X[X.length - 1].y)
3354
- }, ie = [...X];
3357
+ x: Math.round(B[B.length - 1].x),
3358
+ y: Math.round(B[B.length - 1].y)
3359
+ }, ie = [...B];
3355
3360
  if (t.isReverse && ([S, C] = [C, S]), Math.abs(H.x - U.x) > 3 || Math.abs(H.y - U.y) > 3) {
3356
3361
  const fe = H.x + (U.x - H.x) / 2, Ce = H.y + (U.y - H.y) / 2, ce = _t(S), [J] = ct({
3357
3362
  source: H,
@@ -3376,7 +3381,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3376
3381
  });
3377
3382
  ie = Qe([...ie, ...J]);
3378
3383
  }
3379
- const Le = ie, ve = Ht(Le, A), me = Ne(ve), ye = Wt(X);
3384
+ const Le = ie, ve = Ht(Le, A), me = Ne(ve), ye = Wt(B);
3380
3385
  return i.x = ye.x, i.y = ye.y, {
3381
3386
  pathCommands: [],
3382
3387
  pathData: me,
@@ -3405,7 +3410,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3405
3410
  const P = y / (Math.abs(y) + Math.abs(v)) * _ + u, M = v / (Math.abs(y) + Math.abs(v)) * T + g;
3406
3411
  let R = { x: P, y: M };
3407
3412
  e.ctrlPoints && e.ctrlPoints.length > 0 && (e.isReverse ? (N.x += e.ctrlPoints[1].x, N.y += e.ctrlPoints[1].y, R.x += e.ctrlPoints[0].x, R.y += e.ctrlPoints[0].y) : (N.x += e.ctrlPoints[0].x, N.y += e.ctrlPoints[0].y, R.x += e.ctrlPoints[1].x, R.y += e.ctrlPoints[1].y));
3408
- const S = { x: n + N.x, y: o + N.y }, C = { x: n + R.x, y: o + R.y }, A = { x: n + u, y: o + g }, X = [
3413
+ const S = { x: n + N.x, y: o + N.y }, C = { x: n + R.x, y: o + R.y }, A = { x: n + u, y: o + g }, B = [
3409
3414
  { type: "M", x: n, y: o },
3410
3415
  {
3411
3416
  type: "c",
@@ -3417,7 +3422,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3417
3422
  dy: g
3418
3423
  }
3419
3424
  ];
3420
- t === 8 && X.push({ type: "Z" });
3425
+ t === 8 && B.push({ type: "Z" });
3421
3426
  const H = Ut(
3422
3427
  { x: n, y: o },
3423
3428
  S,
@@ -3426,9 +3431,9 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3426
3431
  t < 6 ? 0.8 : 0.5
3427
3432
  );
3428
3433
  i.x = H.x, i.y = H.y;
3429
- const $ = Ne(X);
3434
+ const $ = Ne(B);
3430
3435
  return {
3431
- pathCommands: X,
3436
+ pathCommands: B,
3432
3437
  pathData: $,
3433
3438
  textPosition: i,
3434
3439
  points: []
@@ -3469,7 +3474,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3469
3474
  const fe = M / (Math.abs(M) + Math.abs(R)) * 30 + L, Ce = R / (Math.abs(M) + Math.abs(R)) * 30 + _;
3470
3475
  A = { x: fe, y: Ce };
3471
3476
  }
3472
- const X = { x: a + C.x, y: l + C.y }, H = { x: a + A.x, y: l + A.y }, $ = { x: a + L, y: l + _ }, U = [
3477
+ const B = { x: a + C.x, y: l + C.y }, H = { x: a + A.x, y: l + A.y }, $ = { x: a + L, y: l + _ }, U = [
3473
3478
  { type: "M", x: a, y: l },
3474
3479
  {
3475
3480
  type: "c",
@@ -3484,7 +3489,7 @@ const et = (r, i, e, t, n, o, s, a) => r === "left" ? "left" : r === "right" ? "
3484
3489
  s === 8 && U.push({ type: "Z" });
3485
3490
  const Q = Ut(
3486
3491
  { x: a, y: l },
3487
- X,
3492
+ B,
3488
3493
  H,
3489
3494
  $,
3490
3495
  s < 6 ? 0.8 : 0.5
@@ -3953,7 +3958,7 @@ class Je extends Do {
3953
3958
  this.setCanvasOffset(n - e * s, o - t * s);
3954
3959
  }
3955
3960
  removeNodeById(e) {
3956
- this.beforeNodeBeRemove(e), x("Removed Node line/connect-arget\uFF1A", e);
3961
+ this.beforeNodeBeRemove(e);
3957
3962
  let t = 0;
3958
3963
  for (let n = 0; n < this.graphData.nodes.length; n++)
3959
3964
  e.includes(this.graphData.nodes[n].id) && (this.graphData.nodes.splice(n, 1), n--, t++);
@@ -4009,29 +4014,28 @@ class Je extends Do {
4009
4014
  t.clear();
4010
4015
  }
4011
4016
  beforeNodeBeRemove(e) {
4012
- let t = 0;
4013
- for (let n = 0; n < this.runtimeDATA4Links.length; n++) {
4014
- const o = this.runtimeDATA4Links[n];
4015
- (e.includes(o.fromNode.id) || e.includes(o.toNode.id)) && (this.removeLinkByLineIds([o.lineId]), n--, t++);
4016
- }
4017
- x("Removed Node link\uFF1A", e, t);
4018
- for (let n = 0; n < this.graphData.fakeLines.length; n++) {
4019
- const o = this.graphData.fakeLines[n];
4020
- let s = !1;
4021
- if (o.fromType === z.Node && e.includes(o.from))
4022
- s = !0;
4023
- else if (o.fromType === z.CanvasPoint || o.fromType === z.NodePoint) {
4024
- const a = this.getConnectTargetById(o.from);
4025
- a && a.nodeId && e.includes(a.nodeId) && (s = !0);
4026
- } else if (o.toType === z.CanvasPoint || o.toType === z.NodePoint) {
4027
- const a = this.getConnectTargetById(o.to);
4028
- a && a.nodeId && e.includes(a.nodeId) && (s = !0);
4029
- }
4030
- s && (this.graphData.fakeLines.splice(n, 1), n--, this.commits.fakeLinesListChanged = !0);
4031
- }
4032
- for (let n = 0; n < this.runtimeDATA4ConnectTargets.length; n++) {
4033
- const o = this.runtimeDATA4ConnectTargets[n];
4034
- o.nodeId && e.includes(o.nodeId) && (this.runtimeDATA4ConnectTargets.splice(n, 1), this.commitConnectTarget(o.targetId), n--);
4017
+ for (let t = 0; t < this.runtimeDATA4Links.length; t++) {
4018
+ const n = this.runtimeDATA4Links[t];
4019
+ (e.includes(n.fromNode.id) || e.includes(n.toNode.id)) && (x("Removed Node-line\uFF1A", n.lineId), this.removeLineByIds([n.lineId]), t--);
4020
+ }
4021
+ for (let t = 0; t < this.graphData.fakeLines.length; t++) {
4022
+ const n = this.graphData.fakeLines[t];
4023
+ let o = !1;
4024
+ if (n.fromType === z.Node && e.includes(n.from))
4025
+ o = !0;
4026
+ else if (n.fromType === z.CanvasPoint || n.fromType === z.NodePoint) {
4027
+ const s = this.getConnectTargetById(n.from);
4028
+ s && s.nodeId && e.includes(s.nodeId) && (o = !0);
4029
+ } else if (n.toType === z.CanvasPoint || n.toType === z.NodePoint) {
4030
+ const s = this.getConnectTargetById(n.to);
4031
+ s && s.nodeId && e.includes(s.nodeId) && (o = !0);
4032
+ }
4033
+ o && (this.graphData.fakeLines.splice(t, 1), x("Removed Node-fakeLine\uFF1A", n.id), t--, this.commits.fakeLinesListChanged = !0);
4034
+ }
4035
+ x("Removed Node connect-target\uFF1A");
4036
+ for (let t = 0; t < this.runtimeDATA4ConnectTargets.length; t++) {
4037
+ const n = this.runtimeDATA4ConnectTargets[t];
4038
+ n.nodeId && e.includes(n.nodeId) && (this.runtimeDATA4ConnectTargets.splice(t, 1), x("Removed Node-connect-target\uFF1A", n.targetId), this.commitConnectTarget(n.targetId), t--);
4035
4039
  }
4036
4040
  }
4037
4041
  addFakeLines(e) {
@@ -4377,7 +4381,7 @@ class zo {
4377
4381
  Object.assign(this.listeners, i);
4378
4382
  }
4379
4383
  }
4380
- class Bo extends zo {
4384
+ class Xo extends zo {
4381
4385
  constructor() {
4382
4386
  super(...arguments);
4383
4387
  w(this, "$dom");
@@ -4467,7 +4471,7 @@ class Bo extends zo {
4467
4471
  throw new Error("Please use isLine");
4468
4472
  }
4469
4473
  }
4470
- class Xo extends Je {
4474
+ class Bo extends Je {
4471
4475
  constructor(e, t, n, o) {
4472
4476
  super();
4473
4477
  w(this, "dataStores");
@@ -4497,7 +4501,7 @@ class Go extends Je {
4497
4501
  super();
4498
4502
  w(this, "dataStores");
4499
4503
  this.dataStores = e, this.updateViewHook = (n) => {
4500
- n.optionsChanged && this.dataStores.store4Options.set(this.getOptions()), (n.nodesListChanged || n.changedNodes.length > 0) && (this.dataStores.store4ShouldRenderNodes.set(this.getShouldRenderNodes()), console.log("[updateViewHook]nodesListChanged")), (n.linesListChanged || n.changedLines.length > 0) && (this.dataStores.store4ShouldRenderLines.set(this.getShouldRenderLines()), console.log("[updateViewHook]linesListChanged")), (n.fakeLinesListChanged || n.changedFakeLines.length > 0) && this.dataStores.store4ShouldRenderFakeLines.set([...this.getShouldRenderFakeLines()]);
4504
+ n.optionsChanged && this.dataStores.store4Options.set(this.getOptions()), (n.nodesListChanged || n.changedNodes.length > 0) && (this.dataStores.store4ShouldRenderNodes.set(this.getShouldRenderNodes()), console.log("[updateViewHook]nodesListChanged")), (n.nodesListChanged || n.linesListChanged || n.changedLines.length > 0) && (this.dataStores.store4ShouldRenderLines.set(this.getShouldRenderLines()), console.log("[updateViewHook]linesListChanged")), (n.fakeLinesListChanged || n.changedFakeLines.length > 0) && this.dataStores.store4ShouldRenderFakeLines.set([...this.getShouldRenderFakeLines()]);
4501
4505
  };
4502
4506
  }
4503
4507
  }
@@ -4516,7 +4520,7 @@ class $o extends Je {
4516
4520
  };
4517
4521
  }
4518
4522
  }
4519
- class Yo extends Bo {
4523
+ class Yo extends Xo {
4520
4524
  constructor() {
4521
4525
  super();
4522
4526
  w(this, "_initRawPropertyFn", (e, t, n) => {
@@ -4531,7 +4535,7 @@ class Yo extends Bo {
4531
4535
  };
4532
4536
  }
4533
4537
  setReactiveData4Vue3(e, t, n, o, s) {
4534
- this.useReactiveDataToAutoUpdateView = !0, this.dataProvider = new Xo(e, t, n, o), this._initRawPropertyFn = s, this.options = this.dataProvider.getOptions(), this.dataStores = {
4538
+ this.useReactiveDataToAutoUpdateView = !0, this.dataProvider = new Bo(e, t, n, o), this._initRawPropertyFn = s, this.options = this.dataProvider.getOptions(), this.dataStores = {
4535
4539
  optionsStore: e.store4Options,
4536
4540
  shouldRenderNodesStore: e.store4ShouldRenderNodes,
4537
4541
  shouldRenderLinesStore: e.store4ShouldRenderLines,
@@ -4808,10 +4812,10 @@ class Uo extends Wo {
4808
4812
  e.forEach((t) => this.dataProvider.removeNodeById(e)), this._dataUpdated();
4809
4813
  }
4810
4814
  removeNodes(e) {
4811
- this.dataProvider.removeNodeById(e.map((t) => t.id)), this._dataUpdated();
4815
+ this.removeNodesByIds(e.map((t) => t.id));
4812
4816
  }
4813
4817
  removeNode(e) {
4814
- this.dataProvider.removeNodeById([e.id]), this._dataUpdated();
4818
+ this.removeNodes([e]);
4815
4819
  }
4816
4820
  removeELementLineById(e) {
4817
4821
  x("removeELementLineById:", e), this.removeFakeLineById(e);
@@ -5577,12 +5581,12 @@ class ei extends Zo {
5577
5581
  currentLineIndex: o,
5578
5582
  lineDistance: s.multiLineDistance || 50
5579
5583
  }, P = s.defaultJunctionPoint || Z.border;
5580
- let M = i.fromJunctionPoint || P, R = i.toJunctionPoint || P, S = i.fromJunctionPointOffsetX || 0, C = i.fromJunctionPointOffsetY || 0, A = i.toJunctionPointOffsetX || 0, X = i.toJunctionPointOffsetY || 0;
5581
- i.isReverse && ([M, R] = [R, M], [S, C, A, X] = [A, X, S, C]), (e === t || c === 0 && h === 0 && d === 0 && u === 0) && S === 0 && C === 0 && A === 0 && X === 0 && ((a === j.StandardStraight || a === j.Curve2 || a === j.Curve3 || a === j.SimpleOrthogonal || a === j.Curve5) && (a = j.StandardCurve), X = 20);
5584
+ let M = i.fromJunctionPoint || P, R = i.toJunctionPoint || P, S = i.fromJunctionPointOffsetX || 0, C = i.fromJunctionPointOffsetY || 0, A = i.toJunctionPointOffsetX || 0, B = i.toJunctionPointOffsetY || 0;
5585
+ i.isReverse && ([M, R] = [R, M], [S, C, A, B] = [A, B, S, C]), (e === t || c === 0 && h === 0 && d === 0 && u === 0) && S === 0 && C === 0 && A === 0 && B === 0 && ((a === j.StandardStraight || a === j.Curve2 || a === j.Curve3 || a === j.SimpleOrthogonal || a === j.Curve5) && (a = j.StandardCurve), B = 20);
5582
5586
  const H = this._getJunctionPoint(M, O);
5583
5587
  H.x += S, H.y += C;
5584
5588
  const $ = this._getJunctionPoint(R, N);
5585
- if ($.x += A, $.y += X, !H || !$)
5589
+ if ($.x += A, $.y += B, !H || !$)
5586
5590
  throw this.throwLineError("E", -20, -20);
5587
5591
  const U = c + g / 2, Q = d + f / 2, ie = h + p / 2, Le = u + y / 2;
5588
5592
  M === "horizontalLine" ? (H.x = $.x, (a === 44 || a === 49) && (H.x += ($.x > ie ? 1 : -1) * 30)) : M === "verticalLine" && (H.y = $.y, (a === 44 || a === 49) && (H.y += ($.y > Le ? 1 : -1) * 30)), R === "horizontalLine" ? ($.x = H.x, (a === 44 || a === 49) && ($.x += (H.x > U ? 1 : -1) * 30)) : R === "verticalLine" && ($.y = H.y, (a === 44 || a === 49) && ($.y += (H.y > Q ? 1 : -1) * 30));
@@ -5654,7 +5658,7 @@ class ei extends Zo {
5654
5658
  generateLineTextStyle(i, e) {
5655
5659
  const t = this.getOptions(), n = {
5656
5660
  transform: "",
5657
- transformOrigin: ""
5661
+ transformOrigin: "0 0"
5658
5662
  };
5659
5663
  if (!i || !e)
5660
5664
  return { cssStyles: n };
@@ -6150,7 +6154,7 @@ class si extends ni {
6150
6154
  const n = this.getOptions();
6151
6155
  Jt(e);
6152
6156
  let o = null;
6153
- if (e.layoutName === "tree" ? o = new Xt(e, n, this) : e.layoutName === "center" ? o = new Ft(e, n, this) : e.layoutName === "circle" ? o = new Gt(e, n, this) : e.layoutName === "force" ? o = new Ue(e, n, this) : e.layoutName === "fixed" ? o = new $t(e, n, this) : e.layoutName === "smart-tree" ? o = new wo(e, n, this) : e.layoutName === "io-tree" ? o = new ii(e, n, this) : e.layoutName === "folder" && (o = new Yt(e, n, this)), !o)
6157
+ if (e.layoutName === "tree" ? o = new Bt(e, n, this) : e.layoutName === "center" ? o = new Ft(e, n, this) : e.layoutName === "circle" ? o = new Gt(e, n, this) : e.layoutName === "force" ? o = new Ue(e, n, this) : e.layoutName === "fixed" ? o = new $t(e, n, this) : e.layoutName === "smart-tree" ? o = new wo(e, n, this) : e.layoutName === "io-tree" ? o = new ii(e, n, this) : e.layoutName === "folder" && (o = new Yt(e, n, this)), !o)
6154
6158
  throw new Error("unknown layout: " + e.layoutName);
6155
6159
  return x("########supportAutoLayout:", o.autoLayout !== void 0, e.disableAsForceLayout), this.setLayoutor(o, t, o.autoLayout !== void 0 && e.disableAsForceLayout !== !0), o;
6156
6160
  }
@@ -6195,6 +6199,8 @@ class di extends si {
6195
6199
  w(this, "_fullscreenchangeHandler");
6196
6200
  }
6197
6201
  onNodeClick(e, t) {
6202
+ if ("button" in t && t.button === 2)
6203
+ return;
6198
6204
  if (Date.now() - this._prevClickNodeTime < 200) {
6199
6205
  x("[node]click abort : time < 200");
6200
6206
  return;
@@ -6262,6 +6268,8 @@ class di extends si {
6262
6268
  this.updateElementLines();
6263
6269
  }
6264
6270
  onLineClick(e, t) {
6271
+ if ("button" in t && t.button === 2)
6272
+ return;
6265
6273
  const n = this.getLinkByLineId(e.id);
6266
6274
  x("onLineClick:", "line:", e, "link:", n);
6267
6275
  const o = this.getOptions();
@@ -6292,6 +6300,8 @@ class di extends si {
6292
6300
  this._updateEditingControllerView(), this.updateShouldRenderGraphData(), this._dataUpdated(), this.emitEvent(V.onCanvasDragEnd, e);
6293
6301
  }
6294
6302
  onCanvasClick(e) {
6303
+ if ("button" in e && e.button === 2)
6304
+ return;
6295
6305
  if (this.getOptions().creatingLinePlot)
6296
6306
  this.onCanvasClickWhenCreatingLinePlot(e);
6297
6307
  else {
@@ -6338,7 +6348,7 @@ class di extends si {
6338
6348
  };
6339
6349
  const a = this.getViewBoundingClientRect();
6340
6350
  x("[CreatingNodePlot]startCreatingNodePlot:");
6341
- const l = Be(e), c = l.clientX - a.x + 10, d = l.clientY - a.y + 10;
6351
+ const l = Xe(e), c = l.clientX - a.x + 10, d = l.clientY - a.y + 10;
6342
6352
  o || s(c, d);
6343
6353
  const h = (f) => {
6344
6354
  x("[CreatingNodePlot]objectTemplateMove");
@@ -6356,7 +6366,7 @@ class di extends si {
6356
6366
  x("[CreatingNodePlot]action be abort!");
6357
6367
  return;
6358
6368
  }
6359
- const y = Be(f), v = y.clientX - a.x + 10, m = y.clientY - a.y + 10;
6369
+ const y = Xe(f), v = y.clientX - a.x + 10, m = y.clientY - a.y + 10;
6360
6370
  if (Math.abs(c - v) < 30 && Math.abs(d - m) < 30) {
6361
6371
  x("[CreatingNodePlot]create node be abort!");
6362
6372
  return;
@@ -6547,7 +6557,7 @@ class di extends si {
6547
6557
  let n = !1;
6548
6558
  if (!t.newLinkTemplate.toNodeObject) {
6549
6559
  x("[CreatingLinePlot]CreatingLinePlot:toNodeObject not set!");
6550
- const o = Be(e), s = this.getCanvasXyByClientXy({
6560
+ const o = Xe(e), s = this.getCanvasXyByClientXy({
6551
6561
  x: o.clientX,
6552
6562
  y: o.clientY
6553
6563
  });
@@ -6597,7 +6607,7 @@ class di extends si {
6597
6607
  e.stopPropagation(), e.preventDefault(), this.stopCreatingLinePlot();
6598
6608
  let t = "canvas", n = this.isNode(e.target);
6599
6609
  n ? t = "node" : (n = this.isLine(e.target), n && (t = "line")), x("contextmenu:objectType", t, n);
6600
- const o = Be(e), s = this.getCanvasXyByClientXy({
6610
+ const o = Xe(e), s = this.getCanvasXyByClientXy({
6601
6611
  x: o.clientX,
6602
6612
  y: o.clientY
6603
6613
  }), a = this.getViewXyByCanvasXy(s);
@@ -7087,17 +7097,17 @@ class hi extends ci {
7087
7097
  f,
7088
7098
  S.x + S.el_W / 2,
7089
7099
  S.y + S.el_H / 2
7090
- ), X = ke(
7100
+ ), B = ke(
7091
7101
  h,
7092
7102
  f,
7093
7103
  C.x + C.el_W / 2,
7094
7104
  C.y + C.el_H / 2
7095
7105
  );
7096
- return A < X ? -1 : 1;
7106
+ return A < B ? -1 : 1;
7097
7107
  });
7098
7108
  let { v_x: O, v_y: b, v_height: N, h_x: P, h_y: M, h_width: R } = a.editingReferenceLine;
7099
7109
  for (const S of T) {
7100
- const C = S.x, A = S.el_W, X = S.el_H, H = S.x + A / 2, $ = S.x + A, U = S.y, Q = S.y + X / 2, ie = S.y + X, Le = Math.abs(l - C), ve = Math.abs(h - H), me = Math.abs(u - $), ye = Math.abs(g - U), fe = Math.abs(f - Q), Ce = Math.abs(p - ie), ce = 5;
7110
+ const C = S.x, A = S.el_W, B = S.el_H, H = S.x + A / 2, $ = S.x + A, U = S.y, Q = S.y + B / 2, ie = S.y + B, Le = Math.abs(l - C), ve = Math.abs(h - H), me = Math.abs(u - $), ye = Math.abs(g - U), fe = Math.abs(f - Q), Ce = Math.abs(p - ie), ce = 5;
7101
7111
  if (ve < 800 && fe < 800) {
7102
7112
  if (!m && ve < ce) {
7103
7113
  const J = this.getViewXyByCanvasXy({
@@ -7234,19 +7244,19 @@ class hi extends ci {
7234
7244
  if (P.length === 3) {
7235
7245
  const M = O[0], R = O[1], S = O[3];
7236
7246
  if (P[1].direction === "v") {
7237
- const C = M.x, A = R.x, X = S.x;
7238
- if (Math.max(C, A, X) !== A && Math.min(C, A, X) !== A)
7247
+ const C = M.x, A = R.x, B = S.x;
7248
+ if (Math.max(C, A, B) !== A && Math.min(C, A, B) !== A)
7239
7249
  P[1].optionName = "cx";
7240
7250
  else {
7241
- const $ = Math.abs(A - C), U = Math.abs(A - X);
7251
+ const $ = Math.abs(A - C), U = Math.abs(A - B);
7242
7252
  $ >= U ? P[1].optionName = "td" : $ < U && (P[1].optionName = "fd");
7243
7253
  }
7244
7254
  } else {
7245
- const C = M.y, A = R.y, X = S.y;
7246
- if (Math.max(C, A, X) !== A && Math.min(C, A, X) !== A)
7255
+ const C = M.y, A = R.y, B = S.y;
7256
+ if (Math.max(C, A, B) !== A && Math.min(C, A, B) !== A)
7247
7257
  P[1].optionName = "cy";
7248
7258
  else {
7249
- const $ = Math.abs(A - C), U = Math.abs(A - X);
7259
+ const $ = Math.abs(A - C), U = Math.abs(A - B);
7250
7260
  $ >= U ? P[1].optionName = "td" : $ < U && (P[1].optionName = "fd");
7251
7261
  }
7252
7262
  }
@@ -7283,11 +7293,11 @@ class hi extends ci {
7283
7293
  endDirection: N
7284
7294
  };
7285
7295
  S.x !== C.x ? (A.direction = "h", Math.abs(S.x - C.x) < 15 && (A.hide = !0)) : Math.abs(S.y - C.y) < 15 && (A.hide = !0);
7286
- const X = this.getViewXyByCanvasXy({
7296
+ const B = this.getViewXyByCanvasXy({
7287
7297
  x: (S.x + C.x) / 2,
7288
7298
  y: (S.y + C.y) / 2
7289
7299
  });
7290
- A.x = X.x, A.y = X.y, P.push(A);
7300
+ A.x = B.x, A.y = B.y, P.push(A);
7291
7301
  }
7292
7302
  for (let R = 0; R < P.length; R++) {
7293
7303
  const S = P[R - 1], C = P[R], A = P[R + 1];
@@ -7565,7 +7575,7 @@ class hi extends ci {
7565
7575
  this.onLineVertexBeDropped(e, t, void 0, o);
7566
7576
  return;
7567
7577
  }
7568
- const s = Be(t), a = n.getBoundingClientRect(), l = { x: a.left, y: a.top + a.height / 2 }, c = { x: a.left + a.width / 2, y: a.top }, d = { x: a.left + a.width, y: a.top + a.height / 2 }, h = { x: a.left + a.width / 2, y: a.top + a.height };
7578
+ const s = Xe(t), a = n.getBoundingClientRect(), l = { x: a.left, y: a.top + a.height / 2 }, c = { x: a.left + a.width / 2, y: a.top }, d = { x: a.left + a.width, y: a.top + a.height / 2 }, h = { x: a.left + a.width / 2, y: a.top + a.height };
7569
7579
  let u = _e.left;
7570
7580
  const g = { x: 0, y: 0 };
7571
7581
  if (e)
@@ -7980,10 +7990,10 @@ class gi extends pi {
7980
7990
  const a = Ze(s);
7981
7991
  a && i.push(a);
7982
7992
  }), this.getLines().forEach((s) => {
7983
- const a = Xe(s);
7993
+ const a = Be(s);
7984
7994
  a && e.push(a);
7985
7995
  }), this.getFakeLines().forEach((s) => {
7986
- const a = Xe(s);
7996
+ const a = Be(s);
7987
7997
  a && t.push(a);
7988
7998
  });
7989
7999
  const n = {
@@ -8000,7 +8010,7 @@ class gi extends pi {
8000
8010
  return gt(i);
8001
8011
  }
8002
8012
  transRGLineToJsonObject(i) {
8003
- return Xe(i);
8013
+ return Be(i);
8004
8014
  }
8005
8015
  getGraphJsonOptions() {
8006
8016
  const i = {}, e = [
@@ -8521,7 +8531,7 @@ https://www.relation-graph.com/docs.'
8521
8531
  class: "rg-map-canvas rg-canvas-behind"
8522
8532
  }, [
8523
8533
  I("div", wi, [
8524
- B(o.$slots, "canvas-behind")
8534
+ X(o.$slots, "canvas-behind")
8525
8535
  ])
8526
8536
  ], 4),
8527
8537
  I("div", {
@@ -8541,7 +8551,7 @@ https://www.relation-graph.com/docs.'
8541
8551
  "graph-instance-id": t.value.instanceId
8542
8552
  }, {
8543
8553
  line: ne((a) => [
8544
- B(o.$slots, "line", le(de(a)))
8554
+ X(o.$slots, "line", le(de(a)))
8545
8555
  ]),
8546
8556
  _: 3
8547
8557
  }, 8, ["show-easy-view", "creating-line", "default-expand-holder-position", "draggingNodeId", "checkedNodeId", "defaultLineTextOnPath", "checked-line-id", "graph-instance-id"])
@@ -8584,17 +8594,17 @@ https://www.relation-graph.com/docs.'
8584
8594
  t.value && n.value ? (k(), D(xe, { key: 0 }, [
8585
8595
  oe(_i, null, {
8586
8596
  line: ne((y) => [
8587
- B(o.$slots, "line", le(de(y)))
8597
+ X(o.$slots, "line", le(de(y)))
8588
8598
  ]),
8589
8599
  "canvas-behind": ne(() => [
8590
- B(o.$slots, "default")
8600
+ X(o.$slots, "default")
8591
8601
  ]),
8592
8602
  _: 3
8593
8603
  }),
8594
8604
  oe(zt),
8595
8605
  I("div", Ni, [
8596
8606
  I("div", Oi, [
8597
- B(o.$slots, "view")
8607
+ X(o.$slots, "view")
8598
8608
  ])
8599
8609
  ])
8600
8610
  ], 64)) : Y("", !0)
@@ -8678,13 +8688,13 @@ const ki = /* @__PURE__ */ G({
8678
8688
  lines: e.lines
8679
8689
  }, {
8680
8690
  view: ne(() => [
8681
- B(o.$slots, "view")
8691
+ X(o.$slots, "view")
8682
8692
  ]),
8683
8693
  line: ne((a) => [
8684
- B(o.$slots, "line", le(de(a)))
8694
+ X(o.$slots, "line", le(de(a)))
8685
8695
  ]),
8686
8696
  default: ne(() => [
8687
- B(o.$slots, "default")
8697
+ X(o.$slots, "default")
8688
8698
  ]),
8689
8699
  _: 3
8690
8700
  }, 8, ["lines"]));
@@ -8699,7 +8709,7 @@ const ki = /* @__PURE__ */ G({
8699
8709
  const i = r, e = jt(i.relationGraphCore, i.forLinker), t = vt(e);
8700
8710
  return (n, o) => (k(), re(Me(t), null, {
8701
8711
  default: ne(() => [
8702
- B(n.$slots, "default")
8712
+ X(n.$slots, "default")
8703
8713
  ]),
8704
8714
  _: 3
8705
8715
  }));
@@ -8750,7 +8760,7 @@ const ki = /* @__PURE__ */ G({
8750
8760
  onMousedown: u[0] || (u[0] = ge((g) => d(g), ["left", "stop"])),
8751
8761
  onTouchstart: u[1] || (u[1] = ge((g) => d(g), ["stop"]))
8752
8762
  }, [
8753
- B(h.$slots, "default", {}, () => [
8763
+ X(h.$slots, "default", {}, () => [
8754
8764
  I("div", Ii, [
8755
8765
  I("span", null, ue(h.node.text), 1)
8756
8766
  ])
@@ -8789,7 +8799,7 @@ const ki = /* @__PURE__ */ G({
8789
8799
  Ot("debug log status: " + ue(e.value.debug) + " ", 1),
8790
8800
  I("button", { onClick: a }, ue(e.value.debug ? "disable" : "enable") + " debug log", 1)
8791
8801
  ]),
8792
- B(l.$slots, "default")
8802
+ X(l.$slots, "default")
8793
8803
  ])) : Y("", !0)
8794
8804
  ]));
8795
8805
  }
@@ -8869,11 +8879,11 @@ const ki = /* @__PURE__ */ G({
8869
8879
  }, [
8870
8880
  oe(he, { "icon-name": "icon-ico_reset" })
8871
8881
  ]),
8872
- B(l.$slots, "default"),
8882
+ X(l.$slots, "default"),
8873
8883
  c[3] || (c[3] = I("div", { style: { clear: "both" } }, null, -1))
8874
8884
  ], 2));
8875
8885
  }
8876
- }), Bi = /* @__PURE__ */ G({
8886
+ }), Xi = /* @__PURE__ */ G({
8877
8887
  __name: "GraphBackground",
8878
8888
  props: {
8879
8889
  forImage: { type: Boolean, default: !0 },
@@ -8892,12 +8902,12 @@ const ki = /* @__PURE__ */ G({
8892
8902
  ref_key: "$backgroundRef",
8893
8903
  ref: t
8894
8904
  }, [
8895
- B(n.$slots, "default")
8905
+ X(n.$slots, "default")
8896
8906
  ], 512)), [
8897
8907
  [Ie, n.forDisplay !== !1]
8898
8908
  ]);
8899
8909
  }
8900
- }), Xi = /* @__PURE__ */ G({
8910
+ }), Bi = /* @__PURE__ */ G({
8901
8911
  __name: "GraphWatermark",
8902
8912
  props: {
8903
8913
  forImage: { type: Boolean, default: !0 },
@@ -8924,7 +8934,7 @@ const ki = /* @__PURE__ */ G({
8924
8934
  "--watermark-height": s.height
8925
8935
  })
8926
8936
  }, [
8927
- B(s.$slots, "default")
8937
+ X(s.$slots, "default")
8928
8938
  ], 6)), [
8929
8939
  [Ie, n.value]
8930
8940
  ]);
@@ -8942,7 +8952,7 @@ const ki = /* @__PURE__ */ G({
8942
8952
  transform: `translate(${e.value.editingController.x}px, ${e.value.editingController.y}px)`
8943
8953
  })
8944
8954
  }, [
8945
- B(t.$slots, "default")
8955
+ X(t.$slots, "default")
8946
8956
  ], 4)) : Y("", !0);
8947
8957
  }
8948
8958
  }), Gi = { class: "rg-resize-ctl" }, $i = /* @__PURE__ */ G({
@@ -9062,7 +9072,7 @@ const ki = /* @__PURE__ */ G({
9062
9072
  return (i, e) => (k(), D("div", {
9063
9073
  class: K(["rg-editing-bar", ["rg-editing-bar-" + (i.position || "top")]])
9064
9074
  }, [
9065
- B(i.$slots, "default")
9075
+ X(i.$slots, "default")
9066
9076
  ], 2));
9067
9077
  }
9068
9078
  }), Ui = {
@@ -9127,7 +9137,7 @@ const ki = /* @__PURE__ */ G({
9127
9137
  }), y("onLineTextChanged", N)), f.value = !1;
9128
9138
  };
9129
9139
  return (b, N) => n.value.show ? (k(), D("div", Ui, [
9130
- B(b.$slots, "default"),
9140
+ X(b.$slots, "default"),
9131
9141
  b.pathEditable ? (k(), D("svg", Ji, [
9132
9142
  I("g", null, [
9133
9143
  o.value.lineShape === 6 && a.value ? (k(), D("path", {
@@ -9317,7 +9327,7 @@ const ki = /* @__PURE__ */ G({
9317
9327
  height: e.value.nodeConnectController.height + "px"
9318
9328
  })
9319
9329
  }, [
9320
- B(s.$slots, "default", {
9330
+ X(s.$slots, "default", {
9321
9331
  mouseUpOnJunctionPoint: n,
9322
9332
  mouseUpOnJunctionPointWithOffset: o
9323
9333
  }, () => [
@@ -9352,7 +9362,7 @@ const ki = /* @__PURE__ */ G({
9352
9362
  onMousedown: l[0] || (l[0] = (c) => s(c)),
9353
9363
  onClick: o
9354
9364
  }, [
9355
- B(a.$slots, "default")
9365
+ X(a.$slots, "default")
9356
9366
  ], 38));
9357
9367
  }
9358
9368
  }), is = ["data-point", "data-target-id", "data-target-type", "data-target-data"], ss = ["data-point", "data-target-id", "data-target-type", "data-target-data"], as = /* @__PURE__ */ G({
@@ -9407,7 +9417,7 @@ const ki = /* @__PURE__ */ G({
9407
9417
  onMouseup: d[0] || (d[0] = (h) => a(c.junctionPoint, h)),
9408
9418
  onClick: s
9409
9419
  }, [
9410
- B(c.$slots, "default")
9420
+ X(c.$slots, "default")
9411
9421
  ], 46, is)) : (k(), D("div", {
9412
9422
  key: 1,
9413
9423
  ref_key: "targetRef",
@@ -9426,7 +9436,7 @@ const ki = /* @__PURE__ */ G({
9426
9436
  onMouseup: d[1] || (d[1] = (h) => a(c.junctionPoint, h)),
9427
9437
  onClick: s
9428
9438
  }, [
9429
- B(c.$slots, "default")
9439
+ X(c.$slots, "default")
9430
9440
  ], 46, ss));
9431
9441
  }
9432
9442
  }), rs = { class: "rg-editing-referline" }, ls = { class: "referline" }, ds = { key: 0 }, cs = { class: "referline" }, hs = { key: 0 }, us = /* @__PURE__ */ G({
@@ -9566,7 +9576,7 @@ const en = {
9566
9576
  useCheckedItem: Cs
9567
9577
  }, Os = Tt, Ps = {
9568
9578
  BaseLayout: Te,
9569
- BidirectionalTreeLayout: Xt,
9579
+ BidirectionalTreeLayout: Bt,
9570
9580
  CenterLayout: Ft,
9571
9581
  CircleLayout: Gt,
9572
9582
  FixedLayout: $t,
@@ -9579,7 +9589,7 @@ const en = {
9579
9589
  RGGraphMath: se,
9580
9590
  RGNodesAnalyticUtils: Ye,
9581
9591
  RGEffectUtils: Oe
9582
- }, Rs = Di, ks = Dt, Ms = It, Ss = Ai, Is = zi, Ds = kt, Es = Bt, As = Hi, Vs = Bi, zs = Xi, Bs = Fi, Xs = $i, Fs = Wi, Gs = ts, $s = ns, Ys = os, Hs = as, Ws = Qt, Us = us, Js = en, js = en.useRelationGraph, qs = Mi, Zs = ki;
9592
+ }, Rs = Di, ks = Dt, Ms = It, Ss = Ai, Is = zi, Ds = kt, Es = Xt, As = Hi, Vs = Xi, zs = Bi, Xs = Fi, Bs = $i, Fs = Wi, Gs = ts, $s = ns, Ys = os, Hs = as, Ws = Qt, Us = us, Js = en, js = en.useRelationGraph, qs = Mi, Zs = ki;
9583
9593
  ht.install = (r) => {
9584
9594
  r.component("RelationGraph", ht);
9585
9595
  };
@@ -9595,9 +9605,9 @@ export {
9595
9605
  Ws as RGEditingConnectPoints,
9596
9606
  Gs as RGEditingLineController,
9597
9607
  Fs as RGEditingNearNodeWidget,
9598
- Bs as RGEditingNodeController,
9608
+ Xs as RGEditingNodeController,
9599
9609
  Us as RGEditingReferenceLine,
9600
- Xs as RGEditingResize,
9610
+ Bs as RGEditingResize,
9601
9611
  V as RGEventNames,
9602
9612
  Zt as RGEventsDefine4Vue3,
9603
9613
  Rs as RGFakeNode,