1 | (function(){"use strict";try{if(typeof document<"u"){var i=document.createElement("style");i.appendChild(document.createTextNode(".mind-elixir{--gap: 30px;--root-radius: 30px;--main-radius: 20px;--root-color: #ffffff;--root-bgcolor: #4c4f69;--main-color: #444446;--main-bgcolor: #ffffff;--topic-padding: 3px;--color: #777777;--bgcolor: #f6f6f6;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,WenQuanYi Micro Hei,sans-serif}.mind-elixir .hyper-link{text-decoration:none}.map-container{-webkit-user-select:none;user-select:none;height:100%;width:100%;overflow:scroll;font-size:15px}.map-container::-webkit-scrollbar{width:0px;height:0px}.map-container .selected{box-shadow:0 0 0 2px #4dc4ff}.map-container .lhs{direction:rtl}.map-container .lhs me-tpc{direction:ltr}.map-container .map-canvas{height:20000px;width:20000px;position:relative;-webkit-user-select:none;user-select:none;transition:transform .3s;transform:scale(1);background-color:var(--bgcolor)}.map-container .map-canvas me-nodes{position:absolute;display:flex;justify-content:center;align-items:center;height:fit-content;width:fit-content}.map-container .map-canvas me-root{padding:10px var(--gap);color:var(--root-color);background-color:var(--root-bgcolor);border-radius:var(--root-radius)}.map-container .map-canvas me-root me-tpc{display:block;font-size:25px;white-space:pre-wrap}.map-container .map-canvas me-root me-tpc #input-box{padding:10px var(--gap)}.map-container me-main>me-wrapper{position:relative;margin:20px 65px}.map-container me-main>me-wrapper>me-parent{margin:var(--gap);background-color:var(--main-bgcolor);border:2px solid var(--main-color);border-radius:var(--main-radius);padding:0}.map-container me-main>me-wrapper>me-parent>me-tpc{border-radius:var(--main-radius);color:var(--main-color);padding:8px var(--gap)}.map-container me-main>me-wrapper>me-parent>me-tpc #input-box{padding:8px var(--gap)}.map-container me-wrapper{display:block;pointer-events:none}.map-container me-children,.map-container me-parent{display:inline-block;vertical-align:middle}.map-container me-parent{position:relative;cursor:pointer;padding:6px var(--gap);margin-top:10px}.map-container me-parent me-tpc{position:relative;display:block;border-radius:3px;color:var(--color);pointer-events:all;max-width:800px;white-space:pre-wrap;padding:var(--topic-padding);line-height:1.2}.map-container me-parent me-tpc>div,.map-container me-parent me-tpc>span,.map-container me-parent me-tpc>img{pointer-events:none}.map-container me-parent me-tpc .insert-preview{position:absolute;width:100%;left:0;z-index:9}.map-container me-parent me-tpc .show{background:#7ad5ff;pointer-events:none;opacity:.7}.map-container me-parent me-tpc .before{height:14px;top:-14px}.map-container me-parent me-tpc .in{height:100%;top:0}.map-container me-parent me-tpc .after{height:14px;bottom:-14px}.map-container me-parent me-epd{position:absolute;height:18px;width:18px;opacity:.8;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTY1NjY1NDcxNzI0MiIgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CiAgICA8cGF0aCBkPSJNNTEyIDc0LjY2NjY2N0MyNzAuOTMzMzMzIDc0LjY2NjY2NyA3NC42NjY2NjcgMjcwLjkzMzMzMyA3NC42NjY2NjcgNTEyUzI3MC45MzMzMzMgOTQ5LjMzMzMzMyA1MTIgOTQ5LjMzMzMzMyA5NDkuMzMzMzMzIDc1My4wNjY2NjcgOTQ5LjMzMzMzMyA1MTIgNzUzLjA2NjY2NyA3NC42NjY2NjcgNTEyIDc0LjY2NjY2N3oiIHN0cm9rZS13aWR0aD0iNTQiIHN0cm9rZT0nYmxhY2snIGZpbGw9J3doaXRlJyA+PC9wYXRoPgogICAgPHBhdGggZD0iTTY4Mi42NjY2NjcgNDgwaC0xMzguNjY2NjY3VjM0MS4zMzMzMzNjMC0xNy4wNjY2NjctMTQuOTMzMzMzLTMyLTMyLTMycy0zMiAxNC45MzMzMzMtMzIgMzJ2MTM4LjY2NjY2N0gzNDEuMzMzMzMzYy0xNy4wNjY2NjcgMC0zMiAxNC45MzMzMzMtMzIgMzJzMTQuOTMzMzMzIDMyIDMyIDMyaDEzOC42NjY2NjdWNjgyLjY2NjY2N2MwIDE3LjA2NjY2NyAxNC45MzMzMzMgMzIgMzIgMzJzMzItMTQuOTMzMzMzIDMyLTMydi0xMzguNjY2NjY3SDY4Mi42NjY2NjdjMTcuMDY2NjY3IDAgMzItMTQuOTMzMzMzIDMyLTMycy0xNC45MzMzMzMtMzItMzItMzJ6Ij48L3BhdGg+Cjwvc3ZnPg==);background-repeat:no-repeat;background-size:contain;background-position:center;pointer-events:all;z-index:9}.map-container me-parent me-epd.minus{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTY1NjY1NTU2NDk4NSIgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIKICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+CiAgICA8cGF0aCBkPSJNNTEyIDc0LjY2NjY2N0MyNzAuOTMzMzMzIDc0LjY2NjY2NyA3NC42NjY2NjcgMjcwLjkzMzMzMyA3NC42NjY2NjcgNTEyUzI3MC45MzMzMzMgOTQ5LjMzMzMzMyA1MTIgOTQ5LjMzMzMzMyA5NDkuMzMzMzMzIDc1My4wNjY2NjcgOTQ5LjMzMzMzMyA1MTIgNzUzLjA2NjY2NyA3NC42NjY2NjcgNTEyIDc0LjY2NjY2N3oiIHN0cm9rZS13aWR0aD0iNTQiIHN0cm9rZT0nYmxhY2snIGZpbGw9J3doaXRlJyA+PC9wYXRoPgogICAgPHBhdGggZD0iTTY4Mi42NjY2NjcgNTQ0SDM0MS4zMzMzMzNjLTE3LjA2NjY2NyAwLTMyLTE0LjkzMzMzMy0zMi0zMnMxNC45MzMzMzMtMzIgMzItMzJoMzQxLjMzMzMzNGMxNy4wNjY2NjcgMCAzMiAxNC45MzMzMzMgMzIgMzJzLTE0LjkzMzMzMyAzMi0zMiAzMnoiPjwvcGF0aD4KPC9zdmc+)!important;transition:opacity .3s;opacity:0}.map-container me-parent me-epd.minus:hover{opacity:.8}.map-container .icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.map-container .lines,.map-container .subLines,.map-container .topiclinks,.map-container .linkcontroller{position:absolute;height:102%;width:100%;top:0;left:0}.map-container .topiclinks,.map-container .linkcontroller{pointer-events:none}.map-container .topiclinks g,.map-container .linkcontroller g{pointer-events:all}.map-container .lines,.map-container .subLines{pointer-events:none;z-index:-1}.map-container .topiclinks *,.map-container .linkcontroller *{z-index:100}.map-container .topiclinks g{cursor:pointer}.map-container #input-box{position:absolute;top:0;left:0;padding:var(--topic-padding);background-color:#fff;color:#666;width:max-content;max-width:800px;z-index:11;direction:ltr;-webkit-user-select:auto;user-select:auto}.map-container me-tpc>img{pointer-events:none;display:block;margin-top:8px}.map-container .circle{position:absolute;height:10px;width:10px;margin-top:-5px;margin-left:-5px;border-radius:100%;background:#aaa;cursor:pointer}.map-container .tags{direction:ltr}.map-container .tags span{display:inline-block;border-radius:3px;padding:2px 4px;background:#d6f0f8;color:#276f86;margin:2px 3px 0 0;font-size:12px;line-height:16px}.map-container .icons{display:inline-block;direction:ltr;margin-right:10px}.map-container .mind-elixir-ghost{position:fixed;top:-100%;left:-100%;box-sizing:content-box;opacity:.5;background-color:#f6f6f6;max-width:200px;width:fit-content;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 16px;border-radius:6px;border:#666666 2px solid}.mind-elixir .context-menu{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99}.mind-elixir .context-menu .menu-list{position:fixed;list-style:none;margin:0;padding:0;font:300 15px Roboto,sans-serif;color:#333;box-shadow:0 12px 15px #0003}.mind-elixir .context-menu .menu-list *{transition:color .4s,background-color .4s}.mind-elixir .context-menu .menu-list li{min-width:150px;overflow:hidden;white-space:nowrap;padding:6px 10px;background-color:#fff;border-bottom:1px solid #ecf0f1}.mind-elixir .context-menu .menu-list li a{color:#333;text-decoration:none}.mind-elixir .context-menu .menu-list li.disabled{color:#5e5e5e;background-color:#f7f7f7}.mind-elixir .context-menu .menu-list li.disabled:hover{cursor:default;background-color:#f7f7f7}.mind-elixir .context-menu .menu-list li:hover{cursor:pointer;background-color:#ecf0f1}.mind-elixir .context-menu .menu-list li:first-child{border-radius:5px 5px 0 0}.mind-elixir .context-menu .menu-list li:last-child{border-bottom:0;border-radius:0 0 5px 5px}.mind-elixir .context-menu .menu-list li span:last-child{float:right}.mind-elixir .mobile-menu{position:absolute;left:20px;bottom:70px;z-index:99;margin:0;padding:0;color:#333;border-radius:5px;box-shadow:0 12px 15px #0003;overflow:hidden}.mind-elixir .mobile-menu *{transition:color .4s,background-color .4s}.mind-elixir .mobile-menu div{float:left;text-align:center;width:30px;overflow:hidden;white-space:nowrap;padding:8px;background-color:#fff;border-bottom:1px solid #ecf0f1}.mind-elixir .mobile-menu div a{color:#333;text-decoration:none}.mind-elixir .mobile-menu div.disabled{color:#5e5e5e;background-color:#f7f7f7}.mind-elixir .mobile-menu div.disabled:hover{cursor:default;background-color:#f7f7f7}.mind-elixir .mobile-menu div:hover{cursor:pointer;background-color:#ecf0f1}@media (prefers-color-scheme: dark){.mind-elixir-toolbar{background:#2d3748!important;color:#fff!important}}.mind-elixir-toolbar{font-family:iconfont;position:absolute;background:#fff;padding:10px;border-radius:5px;box-shadow:0 1px 2px #0003}.mind-elixir-toolbar svg{display:inline-block}.mind-elixir-toolbar span:active{opacity:.5}.mind-elixir-toolbar.rb{right:20px;bottom:20px}.mind-elixir-toolbar.rb span+span{margin-left:10px}.mind-elixir-toolbar.lt{font-size:20px;left:20px;top:20px}.mind-elixir-toolbar.lt span{display:block}.mind-elixir-toolbar.lt span+span{margin-top:10px}")),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
2 | (function(t) {
|
3 | var e, i, n, s, o, l, f = '<svg><symbol id="icon-edit" viewBox="0 0 1024 1024"><path d="M423.765333 128a42.666667 42.666667 0 0 1 3.2 85.205333L423.765333 213.333333H234.666667a64 64 0 0 0-63.872 60.245334L170.666667 277.333333v512a64 64 0 0 0 60.245333 63.872L234.666667 853.333333h512a64 64 0 0 0 63.872-60.245333L810.666667 789.333333v-189.098666a42.666667 42.666667 0 0 1 85.205333-3.2l0.128 3.2V789.333333a149.333333 149.333333 0 0 1-144.213333 149.248L746.666667 938.666667h-512a149.333333 149.333333 0 0 1-149.248-144.213334L85.333333 789.333333v-512a149.333333 149.333333 0 0 1 144.213334-149.248L234.666667 128h189.098666z m324.949334-53.248a42.666667 42.666667 0 0 1 60.330666 0l150.869334 150.869333a42.666667 42.666667 0 0 1 0 60.330667l-329.386667 329.386667a42.666667 42.666667 0 0 1-29.44 12.458666l-153.386667 2.517334a42.666667 42.666667 0 0 1-43.349333-43.349334l2.56-153.386666a42.666667 42.666667 0 0 1 12.458667-29.44z m30.165333 90.496L491.946667 452.266667l-1.493334 91.989333 92.032-1.493333 286.976-286.976-90.538666-90.538667z" ></path></symbol><symbol id="icon-rising" viewBox="0 0 1024 1024"><path d="M553.173333 803.84h-64l0.021334-474.581333-224.021334 224-45.269333-45.226667L521.6 206.293333l301.717333 301.696-45.269333 45.269334-224.853333-224.896v475.477333z" ></path></symbol><symbol id="icon-falling" viewBox="0 0 1024 1024"><path d="M553.173333 238.314667h-64l0.021334 474.602666-224.021334-224-45.269333 45.226667L521.6 835.861333l301.717333-301.717333-45.269333-45.226667-224.853333 224.853334V238.336z" ></path></symbol><symbol id="icon-shanchu2" viewBox="0 0 1024 1024"><path d="M516.60601807 107.93026734c-82.64382935 0-149.71865844 65.51751709-152.5729065 147.77160644H171.37136841c-21.40603638 0-38.92044068 17.38504028-38.92044068 38.92126465 0 21.40686036 17.38504028 38.92208862 38.92126466 38.92208862h42.94308471v435.40136719c0 81.73498536 55.39828492 148.55026245 123.90106201 148.55026245h348.99444581c68.37341309 0 123.90106201-66.42553711 123.901062-148.55026245V333.80477906h38.92126465c21.40686036 0 38.92126464-17.38586426 38.92126465-38.92208863 0-21.40686036-17.38504028-38.92126464-38.92126465-38.92126465H668.91854859C666.45321656 173.44860839 599.24902344 107.93109131 516.60601807 107.93109131z m-79.65939331 147.77160644c2.85424805-42.16442872 37.2354126-74.85809326 79.78875732-74.85809326s76.93450927 32.82302857 79.39984131 74.85809326H436.94662476z m-98.86047364 589.01165771c-24.2611084 0-50.98754883-31.13717651-50.98754883-75.76693725V333.80477906h450.97036744V769.33551026c0 44.50039673-26.72644043 75.76776123-50.98754884 75.76776122H338.08615112v-0.38973999z m0 0" ></path><path d="M390.37063599 751.17263794c17.77313232 0 32.43411255-17.7739563 32.43411255-40.08883667V482.35504151c0-22.31488037-14.53079224-40.08966065-32.43411255-40.08966065-17.77478027 0-32.43493653 17.77478027-32.43493653 40.08966065v228.72875976c0 22.18469239 14.27124023 40.08883667 32.43493653 40.08883667z m117.41308594 0c17.7739563 0 32.43411255-17.7739563 32.43411255-40.08883667V482.35504151c0-22.31488037-14.53079224-40.08966065-32.43411255-40.08966065-17.7739563 0-32.43493653 17.77478027-32.43493653 40.08966065v228.72875976c0 22.18469239 14.66098023 40.08883667 32.43493653 40.08883667z m123.51049804 0c17.7739563 0 32.43493653-17.7739563 32.43493652-40.08883667V482.35504151c0-22.31488037-14.53079224-40.08966065-32.43493652-40.08966065-17.7739563 0-32.43411255 17.77478027-32.43411255 40.08966065v228.72875976c0 22.18469239 14.14105224 40.08883667 32.43411255 40.08883667z m0 0" ></path></symbol><symbol id="icon-zijiedian" viewBox="0 0 1024 1024"><path d="M312.208 472c19.568-157.856 153.432-280 315.656-280 175.68 0 318.112 143.272 318.112 320S803.552 832 627.864 832c-162.224 0-296.08-122.144-315.656-280H120a40 40 0 0 1 0-80h192.208zM632 752c132.552 0 240-107.448 240-240 0-132.552-107.448-240-240-240-132.552 0-240 107.448-240 240 0 132.552 107.448 240 240 240z m-40-280v-80a40 40 0 0 1 80 0v80h80a40 40 0 0 1 0 80h-80v80a40 40 0 0 1-80 0v-80h-80a40 40 0 0 1 0-80h80z" ></path></symbol><symbol id="icon-tongjijiedian-" viewBox="0 0 1024 1024"><path d="M803.84 131.626667H410.24A59.733333 59.733333 0 0 0 350.506667 192v45.226667H199.68a51.626667 51.626667 0 0 0-51.626667 51.626666v465.92a51.626667 51.626667 0 0 0 51.626667 51.626667h187.52v-55.466667h-162.133333a21.333333 21.333333 0 0 1-21.333334-21.333333V313.386667a21.333333 21.333333 0 0 1 21.333334-21.333334h125.653333v64a59.733333 59.733333 0 0 0 59.733333 59.733334h393.386667a59.733333 59.733333 0 0 0 59.733333-59.733334V192a59.733333 59.733333 0 0 0-59.733333-60.373333z m4.266667 224.64a4.266667 4.266667 0 0 1-4.266667 4.266666H410.24a4.266667 4.266667 0 0 1-4.266667-4.266666V192a4.266667 4.266667 0 0 1 4.266667-4.266667h393.6a4.266667 4.266667 0 0 1 4.266667 4.266667zM716.16 749.44h-81.28v-81.493333a27.733333 27.733333 0 0 0-55.466667 0v81.28h-81.493333a27.733333 27.733333 0 1 0 0 55.466666h81.28v81.28a27.733333 27.733333 0 1 0 55.466667 0v-81.066666h81.28a27.733333 27.733333 0 0 0 0-55.466667z" ></path></symbol><symbol id="icon-close" viewBox="0 0 1024 1024"><path d="M557.312 513.248l265.28-263.904c12.544-12.48 12.608-32.704 0.128-45.248-12.512-12.576-32.704-12.608-45.248-0.128L512.128 467.904l-263.04-263.84c-12.448-12.48-32.704-12.544-45.248-0.064-12.512 12.48-12.544 32.736-0.064 45.28l262.976 263.776L201.6 776.8c-12.544 12.48-12.608 32.704-0.128 45.248a31.937 31.937 0 0 0 22.688 9.44c8.16 0 16.32-3.104 22.56-9.312l265.216-263.808 265.44 266.24c6.24 6.272 14.432 9.408 22.656 9.408a31.94 31.94 0 0 0 22.592-9.344c12.512-12.48 12.544-32.704 0.064-45.248L557.312 513.248z" fill="" ></path></symbol><symbol id="icon-menu" viewBox="0 0 1024 1024"><path d="M109.714 292.571h804.572c21.943 0 36.571-21.942 36.571-43.885 0-14.629-14.628-29.257-36.571-29.257H109.714c-21.943 0-36.571 14.628-36.571 36.571 0 14.629 14.628 36.571 36.571 36.571zM914.286 512H109.714c-21.943 0-36.571 14.629-36.571 36.571 0 14.629 14.628 36.572 36.571 36.572h804.572c21.943 0 36.571-21.943 36.571-43.886 0-14.628-14.628-29.257-36.571-29.257z m0 292.571H109.714c-21.943 0-36.571 14.629-36.571 36.572s14.628 36.571 36.571 36.571h804.572c21.943 0 36.571-21.943 36.571-36.571 0-21.943-14.628-36.572-36.571-36.572z" ></path></symbol><symbol id="icon-right" viewBox="0 0 1024 1024"><path d="M385 560.69999999L385 738.9c0 36.90000001 26.4 68.5 61.3 68.5l150.2 0c1.5 0 3-0.1 4.5-0.3 10.2 38.7 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-42 0-77.3 28.6-87.5 67.39999999-1.4-0.3-2.9-0.4-4.5-0.39999999L446.3 760.4c-6.8 0-14.3-8.9-14.3-21.49999999l0-427.00000001c0-12.7 7.40000001-21.5 14.30000001-21.5l150.19999999 0c1.5 0 3-0.2 4.5-0.4 10.2 38.8 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.4 0-49.9-40.5-90.6-90.5-90.59999999-42 0-77.3 28.6-87.5 67.39999999-1.4-0.2-2.9-0.4-4.49999999-0.4L446.3 243.3c-34.80000001 0-61.3 31.6-61.3 68.50000001L385 513.7l-79.1 0c-10.4-38.5-45.49999999-67-87.4-67-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c41.79999999 0 77.00000001-28.4 87.4-67L385 560.69999999z" fill="" ></path></symbol><symbol id="icon-left" viewBox="0 0 1024 1024"><path d="M639 463.30000001L639 285.1c0-36.90000001-26.4-68.5-61.3-68.5l-150.2 0c-1.5 0-3 0.1-4.5 0.3-10.2-38.7-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c42 0 77.3-28.6 87.5-67.39999999 1.4 0.3 2.9 0.4 4.5 0.39999999L577.7 263.6c6.8 0 14.3 8.9 14.3 21.49999999l0 427.00000001c0 12.7-7.40000001 21.5-14.30000001 21.5l-150.19999999 0c-1.5 0-3 0.2-4.5 0.4-10.2-38.8-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.4 0 49.9 40.5 90.6 90.5 90.59999999 42 0 77.3-28.6 87.5-67.39999999 1.4 0.2 2.9 0.4 4.49999999 0.4L577.7 780.7c34.80000001 0 61.3-31.6 61.3-68.50000001L639 510.3l79.1 0c10.4 38.5 45.49999999 67 87.4 67 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-41.79999999 0-77.00000001 28.4-87.4 67L639 463.30000001z" fill="" ></path></symbol><symbol id="icon-side" viewBox="0 0 1024 1024"><path d="M851.91168 328.45312c-59.97056 0-108.6208 48.47104-108.91264 108.36992l-137.92768 38.4a109.14304 109.14304 0 0 0-63.46752-46.58688l1.39264-137.11872c47.29344-11.86816 82.31936-54.66624 82.31936-105.64096 0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.76288-108.91776 108.91776c0 49.18784 32.60928 90.75712 77.38368 104.27392l-1.41312 138.87488a109.19936 109.19936 0 0 0-63.50336 48.55808l-138.93632-39.48544 0.01024-0.72704c0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.75776-108.91776 108.91776c0 60.15488 48.76288 108.91264 108.91776 108.91264 39.3984 0 73.91232-20.92032 93.03552-52.2496l139.19232 39.552-0.00512 0.2304c0 25.8304 9.00096 49.5616 24.02816 68.23424l-90.14272 132.63872a108.7488 108.7488 0 0 0-34.2528-5.504c-60.15488 0-108.91776 48.768-108.91776 108.91776 0 60.16 48.76288 108.91776 108.91776 108.91776 60.16 0 108.92288-48.75776 108.92288-108.91776 0-27.14624-9.9328-51.968-26.36288-71.04l89.04704-131.03104a108.544 108.544 0 0 0 37.6832 6.70208 108.672 108.672 0 0 0 36.48512-6.272l93.13792 132.57216a108.48256 108.48256 0 0 0-24.69888 69.0688c0 60.16 48.768 108.92288 108.91776 108.92288 60.16 0 108.91776-48.76288 108.91776-108.92288 0-60.14976-48.75776-108.91776-108.91776-108.91776a108.80512 108.80512 0 0 0-36.69504 6.3488l-93.07136-132.48a108.48768 108.48768 0 0 0 24.79616-72.22784l136.09984-37.888c18.99008 31.93856 53.84192 53.3504 93.69088 53.3504 60.16 0 108.92288-48.75776 108.92288-108.91264-0.00512-60.15488-48.77312-108.92288-108.92288-108.92288z" ></path></symbol><symbol id="icon-B" viewBox="0 0 1024 1024"><path d="M98.067692 65.457231H481.28c75.854769 0 132.411077 3.150769 169.668923 9.452307 37.336615 6.301538 70.656 19.534769 100.036923 39.620924 29.459692 20.007385 53.956923 46.710154 73.570462 80.029538 19.692308 33.398154 29.459692 70.734769 29.459692 112.167385 0 44.898462-12.130462 86.094769-36.233846 123.588923a224.886154 224.886154 0 0 1-98.461539 84.283077c58.368 17.092923 103.266462 46.08 134.695385 87.04 31.350154 40.96 47.025231 89.088 47.025231 144.462769 0 43.638154-10.082462 86.016-30.404923 127.212308-20.243692 41.196308-47.891692 74.043077-83.02277 98.697846-35.052308 24.654769-78.296615 39.778462-129.732923 45.449846-32.295385 3.465846-110.119385 5.671385-233.472 6.537846H98.067692V65.457231z m193.536 159.507692V446.621538h126.818462c75.460923 0 122.328615-1.024 140.603077-3.229538 33.083077-3.938462 59.155692-15.36 78.139077-34.343385 18.904615-18.904615 28.435692-43.874462 28.435692-74.830769 0-29.696-8.192-53.720615-24.497231-72.310154-16.384-18.510769-40.644923-29.696-72.940307-33.634461-19.140923-2.205538-74.279385-3.308308-165.415385-3.308308h-111.064615z m0 381.243077v256.315077h179.2c69.710769 0 113.979077-1.969231 132.726154-5.907692 28.750769-5.198769 52.145231-17.959385 70.262154-38.281847 18.116923-20.243692 27.096615-47.340308 27.096615-81.368615 0-28.750769-6.931692-53.169231-20.873846-73.255385a118.232615 118.232615 0 0 0-60.494769-43.795692c-26.387692-9.137231-83.574154-13.705846-171.638154-13.705846H291.603692z" ></path></symbol><symbol id="icon-a" viewBox="0 0 1024 1024"><path d="M757.76 665.6q0 20.48 1.536 34.304t7.68 22.016 18.944 12.288 34.304 4.096q-3.072 25.6-15.36 44.032-11.264 16.384-33.28 29.696t-62.976 13.312q-11.264 0-20.48-0.512t-17.408-2.56l-6.144-2.048-1.024 0q-4.096-1.024-10.24-4.096-2.048-2.048-4.096-2.048-1.024-1.024-2.048-1.024-14.336-8.192-23.552-17.408t-14.336-17.408q-6.144-10.24-9.216-20.48-63.488 75.776-178.176 75.776-48.128 0-88.064-15.36t-69.12-44.032-45.056-68.096-15.872-88.576 16.896-89.088 47.616-67.584 74.24-42.496 96.768-14.848q48.128 0 88.576 17.408t66.048 49.152q0-8.192 0.512-16.384t0.512-15.36q0-71.68-39.936-104.448t-128-32.768q-43.008 0-84.992 6.656t-84.992 17.92q14.336-28.672 25.088-47.616t24.064-29.184q30.72-24.576 158.72-24.576 79.872 0 135.168 13.824t90.624 43.52 51.2 75.264 15.872 108.032l0 200.704zM487.424 743.424q50.176 0 79.872-33.28t29.696-95.744q0-61.44-28.672-93.696t-76.8-32.256q-52.224 0-82.944 33.28t-30.72 94.72q0 58.368 31.744 92.672t77.824 34.304z" ></path></symbol><symbol id="icon-full" viewBox="0 0 1024 1024"><path d="M639.328 416c8.032 0 16.096-3.008 22.304-9.056l202.624-197.184-0.8 143.808c-0.096 17.696 14.144 32.096 31.808 32.192 0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808l1.248-222.208c0-0.672-0.352-1.248-0.384-1.92 0.032-0.512 0.288-0.896 0.288-1.408 0.032-17.664-14.272-32-31.968-32.032L671.552 96l-0.032 0c-17.664 0-31.968 14.304-32 31.968C639.488 145.632 653.824 160 671.488 160l151.872 0.224-206.368 200.8c-12.672 12.32-12.928 32.608-0.64 45.248C622.656 412.736 630.976 416 639.328 416z" ></path><path d="M896.032 639.552 896.032 639.552c-17.696 0-32 14.304-32.032 31.968l-0.224 151.872-200.832-206.4c-12.32-12.64-32.576-12.96-45.248-0.64-12.672 12.352-12.928 32.608-0.64 45.248l197.184 202.624-143.808-0.8c-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808-0.096 17.696 14.144 32.096 31.808 32.192l222.24 1.248c0.064 0 0.128 0 0.192 0 0.64 0 1.12-0.32 1.76-0.352 0.512 0.032 0.896 0.288 1.408 0.288l0.032 0c17.664 0 31.968-14.304 32-31.968L928 671.584C928.032 653.952 913.728 639.584 896.032 639.552z" ></path><path d="M209.76 159.744l143.808 0.8c0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808 0.096-17.696-14.144-32.096-31.808-32.192L131.68 95.328c-0.064 0-0.128 0-0.192 0-0.672 0-1.248 0.352-1.888 0.384-0.448 0-0.8-0.256-1.248-0.256 0 0-0.032 0-0.032 0-17.664 0-31.968 14.304-32 31.968L96 352.448c-0.032 17.664 14.272 32 31.968 32.032 0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968l0.224-151.936 200.832 206.4c6.272 6.464 14.624 9.696 22.944 9.696 8.032 0 16.096-3.008 22.304-9.056 12.672-12.32 12.96-32.608 0.64-45.248L209.76 159.744z" ></path><path d="M362.368 617.056l-202.624 197.184 0.8-143.808c0.096-17.696-14.144-32.096-31.808-32.192-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808l-1.248 222.24c0 0.704 0.352 1.312 0.384 2.016 0 0.448-0.256 0.832-0.256 1.312-0.032 17.664 14.272 32 31.968 32.032L352.448 928c0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968s-14.272-32-31.968-32.032l-151.936-0.224 206.4-200.832c12.672-12.352 12.96-32.608 0.64-45.248S375.008 604.704 362.368 617.056z" ></path></symbol><symbol id="icon-add" viewBox="0 0 1024 1024"><path d="M863.328 482.56l-317.344-1.12L545.984 162.816c0-17.664-14.336-32-32-32s-32 14.336-32 32l0 318.4L159.616 480.064c-0.032 0-0.064 0-0.096 0-17.632 0-31.936 14.24-32 31.904C127.424 529.632 141.728 544 159.392 544.064l322.592 1.152 0 319.168c0 17.696 14.336 32 32 32s32-14.304 32-32l0-318.944 317.088 1.12c0.064 0 0.096 0 0.128 0 17.632 0 31.936-14.24 32-31.904C895.264 496.992 880.96 482.624 863.328 482.56z" ></path></symbol><symbol id="icon-move" viewBox="0 0 1024 1024"><path d="M863.744 544 163.424 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l700.32 0c17.696 0 32 14.336 32 32S881.44 544 863.744 544z" ></path></symbol><symbol id="icon-living" viewBox="0 0 1024 1024"><path d="M514.133333 488.533333m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z" fill="" ></path><path d="M512 64C264.533333 64 64 264.533333 64 512c0 236.8 183.466667 428.8 416 445.866667v-134.4c-53.333333-59.733333-200.533333-230.4-200.533333-334.933334 0-130.133333 104.533333-234.666667 234.666666-234.666666s234.666667 104.533333 234.666667 234.666666c0 61.866667-49.066667 153.6-145.066667 270.933334l-59.733333 68.266666V960C776.533333 942.933333 960 748.8 960 512c0-247.466667-200.533333-448-448-448z" fill="" ></path></symbol></svg>', h = (h = document.getElementsByTagName("script"))[h.length - 1].getAttribute("data-injectcss");
|
4 | if (h && !t.__iconfont__svg__cssinject__) {
|
5 | t.__iconfont__svg__cssinject__ = !0;
|
6 | try {
|
7 | document.write(
|
8 | "<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>"
|
9 | );
|
10 | } catch (c) {
|
11 | console && console.log(c);
|
12 | }
|
13 | }
|
14 | function p() {
|
15 | o || (o = !0, n());
|
16 | }
|
17 | e = function() {
|
18 | var c, a, r, d;
|
19 | (d = document.createElement("div")).innerHTML = f, f = null, (r = d.getElementsByTagName("svg")[0]) && (r.setAttribute("aria-hidden", "true"), r.style.position = "absolute", r.style.width = 0, r.style.height = 0, r.style.overflow = "hidden", c = r, (a = document.body).firstChild ? (d = c, (r = a.firstChild).parentNode.insertBefore(d, r)) : a.appendChild(c));
|
20 | }, document.addEventListener ? ~["complete", "loaded", "interactive"].indexOf(document.readyState) ? setTimeout(e, 0) : (i = function() {
|
21 | document.removeEventListener("DOMContentLoaded", i, !1), e();
|
22 | }, document.addEventListener("DOMContentLoaded", i, !1)) : document.attachEvent && (n = e, s = t.document, o = !1, (l = function() {
|
23 | try {
|
24 | s.documentElement.doScroll("left");
|
25 | } catch {
|
26 | return void setTimeout(l, 50);
|
27 | }
|
28 | p();
|
29 | })(), s.onreadystatechange = function() {
|
30 | s.readyState == "complete" && (s.onreadystatechange = null, p());
|
31 | });
|
32 | })(window);
|
33 | const A = 0, X = 1, q = 2, x = 30, C = 8, G = {
|
34 | name: "Latte",
|
35 | palette: ["#dd7878", "#ea76cb", "#8839ef", "#e64553", "#fe640b", "#df8e1d", "#40a02b", "#209fb5", "#1e66f5", "#7287fd"],
|
36 | cssVar: {
|
37 | "--main-color": "#444446",
|
38 | "--main-bgcolor": "#ffffff",
|
39 | "--color": "#777777",
|
40 | "--bgcolor": "#f6f6f6"
|
41 | }
|
42 | }, J = {
|
43 | name: "Dark",
|
44 | palette: ["#848FA0", "#748BE9", "#D2F9FE", "#4145A5", "#789AFA", "#706CF4", "#EF987F", "#775DD5", "#FCEECF", "#DA7FBC"],
|
45 | cssVar: {
|
46 | "--main-color": "#ffffff",
|
47 | "--main-bgcolor": "#4c4f69",
|
48 | "--color": "#cccccc",
|
49 | "--bgcolor": "#252526"
|
50 | }
|
51 | };
|
52 | function W(t) {
|
53 | return t.replace(/&/g, "&").replace(/</g, "<").replace(/"/g, """);
|
54 | }
|
55 | const K = function(t, e) {
|
56 | if (e.id === t)
|
57 | return e;
|
58 | if (e.children && e.children.length) {
|
59 | for (let i = 0; i < e.children.length; i++) {
|
60 | const n = K(t, e.children[i]);
|
61 | if (n)
|
62 | return n;
|
63 | }
|
64 | return null;
|
65 | } else
|
66 | return null;
|
67 | }, F = (t, e) => {
|
68 | if (t.parent = e, t.children)
|
69 | for (let i = 0; i < t.children.length; i++)
|
70 | F(t.children[i], t);
|
71 | };
|
72 | function U(t, e, i, n) {
|
73 | const s = n - e, o = t - i;
|
74 | let l = Math.atan(Math.abs(s) / Math.abs(o)) / 3.14 * 180;
|
75 | o < 0 && s > 0 && (l = 180 - l), o < 0 && s < 0 && (l = 180 + l), o > 0 && s < 0 && (l = 360 - l);
|
76 | const f = 20, h = 30, p = l + h, c = l - h;
|
77 | return {
|
78 | x1: i + Math.cos(Math.PI * p / 180) * f,
|
79 | y1: n - Math.sin(Math.PI * p / 180) * f,
|
80 | x2: i + Math.cos(Math.PI * c / 180) * f,
|
81 | y2: n - Math.sin(Math.PI * c / 180) * f
|
82 | };
|
83 | }
|
84 | function Y(t, e, i) {
|
85 | let n, s;
|
86 | const o = (t.cy - i) / (e - t.cx);
|
87 | return o > t.h / t.w || o < -t.h / t.w ? t.cy - i < 0 ? (n = t.cx - t.h / 2 / o, s = t.cy + t.h / 2) : (n = t.cx + t.h / 2 / o, s = t.cy - t.h / 2) : t.cx - e < 0 ? (n = t.cx + t.w / 2, s = t.cy - t.w * o / 2) : (n = t.cx - t.w / 2, s = t.cy + t.w * o / 2), {
|
88 | x: n,
|
89 | y: s
|
90 | };
|
91 | }
|
92 | function R(t, e, i) {
|
93 | let n, s;
|
94 | const o = (t.cy - i) / (e - t.cx);
|
95 | return o > t.h / t.w || o < -t.h / t.w ? t.cy - i < 0 ? (n = t.cx - t.h / 2 / o, s = t.cy + t.h / 2) : (n = t.cx + t.h / 2 / o, s = t.cy - t.h / 2) : t.cx - e < 0 ? (n = t.cx + t.w / 2, s = t.cy - t.w * o / 2) : (n = t.cx - t.w / 2, s = t.cy + t.w * o / 2), {
|
96 | x: n,
|
97 | y: s
|
98 | };
|
99 | }
|
100 | function Q() {
|
101 | return (( new Date()).getTime().toString(16) + Math.random().toString(16).substr(2)).substr(2, 16);
|
102 | }
|
103 | const st = function() {
|
104 | const t = Q();
|
105 | return {
|
106 | topic: this.newTopicName,
|
107 | id: t
|
108 | };
|
109 | }, P = {
|
110 | afterMoving: !1,
|
111 |
|
112 | mousedown: !1,
|
113 | lastX: 0,
|
114 | lastY: 0,
|
115 | onMove(t, e) {
|
116 | if (this.mousedown) {
|
117 | if (this.afterMoving = !0, !this.lastX) {
|
118 | this.lastX = t.pageX, this.lastY = t.pageY;
|
119 | return;
|
120 | }
|
121 | const i = this.lastX - t.pageX, n = this.lastY - t.pageY;
|
122 | e.scrollTo(e.scrollLeft + i, e.scrollTop + n), this.lastX = t.pageX, this.lastY = t.pageY;
|
123 | }
|
124 | },
|
125 | clear() {
|
126 | this.afterMoving = !1, this.mousedown = !1, this.lastX = 0, this.lastY = 0;
|
127 | }
|
128 | }, O = (t) => t.tagName === "ME-TPC";
|
129 | function ot(t) {
|
130 | t.map.addEventListener("click", (e) => {
|
131 | var n;
|
132 | const i = e.target;
|
133 | if (i.tagName === "ME-EPD")
|
134 | t.expandNode(i.previousSibling);
|
135 | else if (t.editable)
|
136 | O(i) ? t.selectNode(i, !1, e) : i.tagName === "path" ? ((n = i == null ? void 0 : i.parentElement) == null ? void 0 : n.tagName) === "g" && t.selectLink(i.parentElement) : i.className === "circle" || (t.unselectNode(), t.hideLinkController && t.hideLinkController());
|
137 | else
|
138 | return;
|
139 | }), t.map.addEventListener("dblclick", (e) => {
|
140 | if (e.preventDefault(), !t.editable)
|
141 | return;
|
142 | const i = e.target;
|
143 | O(i) && t.beginEdit(i);
|
144 | }), t.map.addEventListener("mousemove", (e) => {
|
145 | e.target.contentEditable !== "true" && P.onMove(e, t.container);
|
146 | }), t.map.addEventListener("mousedown", (e) => {
|
147 | e.target.contentEditable !== "true" && (P.afterMoving = !1, P.mousedown = !0);
|
148 | }), t.map.addEventListener("mouseleave", () => {
|
149 | P.clear();
|
150 | }), t.map.addEventListener("mouseup", () => {
|
151 | P.clear();
|
152 | });
|
153 | }
|
154 | const lt = {
|
155 | create() {
|
156 | return {
|
157 | handlers: {},
|
158 | showHandler: function() {
|
159 | console.log(this.handlers);
|
160 | },
|
161 | addListener: function(t, e) {
|
162 | this.handlers[t] === void 0 && (this.handlers[t] = []), this.handlers[t].push(e);
|
163 | },
|
164 | fire: function(t, ...e) {
|
165 | if (this.handlers[t] instanceof Array) {
|
166 | const i = this.handlers[t];
|
167 | for (let n = 0; n < i.length; n++)
|
168 | i[n](...e);
|
169 | }
|
170 | },
|
171 | removeListener: function(t, e) {
|
172 | if (!this.handlers[t])
|
173 | return;
|
174 | const i = this.handlers[t];
|
175 | if (!e)
|
176 | i.length = 0;
|
177 | else if (i.length)
|
178 | for (let n = 0; n < i.length; n++)
|
179 | i[n] === e && this.handlers[t].splice(n, 1);
|
180 | }
|
181 | };
|
182 | }
|
183 | }, _ = document, ct = function() {
|
184 | console.time("layout"), this.nodes.innerHTML = "";
|
185 | const t = this.createTopic(this.nodeData);
|
186 | Z(t, this.nodeData), t.draggable = !1;
|
187 | const e = _.createElement("me-root");
|
188 | e.appendChild(t);
|
189 | const i = this.nodeData.children || [];
|
190 | if (this.direction === q) {
|
191 | let n = 0, s = 0;
|
192 | i.map((o) => {
|
193 | o.direction === A ? n += 1 : o.direction === X ? s += 1 : n <= s ? (o.direction = A, n += 1) : (o.direction = X, s += 1);
|
194 | });
|
195 | }
|
196 | rt(this, i, e), console.timeEnd("layout");
|
197 | }, rt = function(t, e, i) {
|
198 | const n = _.createElement("me-main");
|
199 | n.className = "lhs";
|
200 | const s = _.createElement("me-main");
|
201 | s.className = "rhs";
|
202 | for (let o = 0; o < e.length; o++) {
|
203 | const l = e[o], { grp: f } = t.createWrapper(l);
|
204 | t.direction === q ? l.direction === A ? n.appendChild(f) : s.appendChild(f) : t.direction === A ? n.appendChild(f) : s.appendChild(f);
|
205 | }
|
206 | t.nodes.appendChild(n), t.nodes.appendChild(i), t.nodes.appendChild(s), t.nodes.appendChild(t.lines);
|
207 | }, at = function(t, e) {
|
208 | const i = _.createElement("me-children");
|
209 | for (let n = 0; n < e.length; n++) {
|
210 | const s = e[n], { grp: o } = t.createWrapper(s);
|
211 | i.appendChild(o);
|
212 | }
|
213 | return i;
|
214 | }, b = document, S = (t, e) => (e ? e.mindElixirBox : b).querySelector(`[data-nodeid=me${t}]`), Z = function(t, e) {
|
215 | if (t.textContent = e.topic, e.style && (t.style.color = e.style.color || "", t.style.background = e.style.background || "", t.style.fontSize = e.style.fontSize + "px", t.style.fontWeight = e.style.fontWeight || "normal"), e.image) {
|
216 | const i = e.image;
|
217 | if (i.url && i.width && i.height) {
|
218 | const n = b.createElement("img");
|
219 | n.src = i.url, n.style.width = i.width + "px", n.style.height = i.height + "px", t.appendChild(n), t.image = n;
|
220 | } else
|
221 | console.warn("image url/width/height are required");
|
222 | }
|
223 | if (e.hyperLink) {
|
224 | const i = b.createElement("a");
|
225 | i.className = "hyper-link", i.target = "_blank", i.innerText = "🔗", i.href = e.hyperLink, t.appendChild(i), t.linkContainer = i, console.log(i);
|
226 | } else
|
227 | t.linkContainer && (t.linkContainer.remove(), t.linkContainer = null);
|
228 | if (e.icons && e.icons.length) {
|
229 | const i = b.createElement("span");
|
230 | i.className = "icons", i.innerHTML = e.icons.map((n) => `<span>${W(n)}</span>`).join(""), t.appendChild(i), t.icons = i;
|
231 | }
|
232 | if (e.tags && e.tags.length) {
|
233 | const i = b.createElement("div");
|
234 | i.className = "tags", i.innerHTML = e.tags.map((n) => `<span>${W(n)}</span>`).join(""), t.appendChild(i), t.tags = i;
|
235 | }
|
236 | e.branchColor && (t.style.borderColor = e.branchColor);
|
237 | }, ht = function(t, e) {
|
238 | const i = b.createElement("me-wrapper"), { p: n, tpc: s } = this.createParent(t);
|
239 | if (i.appendChild(n), !e && t.children && t.children.length > 0) {
|
240 | const o = gt(t.expanded);
|
241 | if (n.appendChild(o), t.expanded !== !1) {
|
242 | const l = at(this, t.children);
|
243 | i.appendChild(l);
|
244 | }
|
245 | }
|
246 | return { grp: i, top: n, tpc: s };
|
247 | }, dt = function(t) {
|
248 | const e = b.createElement("me-parent"), i = this.createTopic(t);
|
249 | return Z(i, t), e.appendChild(i), { p: e, tpc: i };
|
250 | }, ft = function(t) {
|
251 | const e = b.createElement("me-children");
|
252 | return e.append(...t), e;
|
253 | }, ut = function(t) {
|
254 | const e = b.createElement("me-tpc");
|
255 | return e.nodeObj = t, e.dataset.nodeid = "me" + t.id, e.draggable = this.draggable, e;
|
256 | };
|
257 | function pt(t) {
|
258 | const e = b.createRange();
|
259 | e.selectNodeContents(t);
|
260 | const i = window.getSelection();
|
261 | i && (i.removeAllRanges(), i.addRange(e));
|
262 | }
|
263 | const mt = function(t) {
|
264 | if (console.time("createInputDiv"), !t)
|
265 | return;
|
266 | const e = b.createElement("div"), i = t.childNodes[0].textContent;
|
267 | t.appendChild(e), e.id = "input-box", e.textContent = i, e.contentEditable = "true", e.spellcheck = !1, e.style.cssText = `min-width:${t.offsetWidth - 8}px;`, this.direction === A && (e.style.right = "0"), e.focus(), pt(e), this.inputDiv = e, this.bus.fire("operation", {
|
268 | name: "beginEdit",
|
269 | obj: t.nodeObj
|
270 | }), e.addEventListener("keydown", (n) => {
|
271 | var o;
|
272 | n.stopPropagation();
|
273 | const s = n.key;
|
274 | if (s === "Enter" || s === "Tab") {
|
275 | if (n.shiftKey)
|
276 | return;
|
277 | n.preventDefault(), (o = this.inputDiv) == null || o.blur(), this.map.focus();
|
278 | }
|
279 | }), e.addEventListener("blur", () => {
|
280 | var o;
|
281 | if (!e)
|
282 | return;
|
283 | const n = t.nodeObj, s = ((o = e.textContent) == null ? void 0 : o.trim()) || "";
|
284 | console.log(s), s === "" ? n.topic = i : n.topic = s, e.remove(), this.inputDiv = null, s !== i && (t.childNodes[0].textContent = n.topic, this.linkDiv(), this.bus.fire("operation", {
|
285 | name: "finishEdit",
|
286 | obj: n,
|
287 | origin: i
|
288 | }));
|
289 | }), console.timeEnd("createInputDiv");
|
290 | }, gt = function(t) {
|
291 | const e = b.createElement("me-epd");
|
292 | return e.expanded = t !== !1, e.className = t !== !1 ? "minus" : "", e;
|
293 | }, k = document, N = "http://www.w3.org/2000/svg", yt = function(t, e) {
|
294 | const i = k.createElementNS(N, "path");
|
295 | return i.setAttribute("d", t), i.setAttribute("stroke", e || "#666"), i.setAttribute("fill", "none"), i.setAttribute("stroke-width", "3"), i;
|
296 | }, D = function(t) {
|
297 | const e = k.createElementNS(N, "svg");
|
298 | return e.setAttribute("class", t), e;
|
299 | }, I = function(t, e, i, n) {
|
300 | const s = k.createElementNS(N, "line");
|
301 | return s.setAttribute("x1", String(t)), s.setAttribute("y1", String(e)), s.setAttribute("x2", String(i)), s.setAttribute("y2", String(n)), s.setAttribute("stroke", "#bbb"), s.setAttribute("fill", "none"), s.setAttribute("stroke-width", "2"), s;
|
302 | }, bt = function(t, e) {
|
303 | const i = k.createElementNS(N, "path");
|
304 | return i.setAttribute("d", t), i.setAttribute("stroke", e || "#555"), i.setAttribute("fill", "none"), i.setAttribute("stroke-linecap", "square"), i.setAttribute("stroke-width", "2"), i;
|
305 | }, vt = function(t, e) {
|
306 | const i = k.createElementNS(N, "g"), n = k.createElementNS(N, "path"), s = k.createElementNS(N, "path");
|
307 | return s.setAttribute("d", e), s.setAttribute("stroke", "rgb(235, 95, 82)"), s.setAttribute("fill", "none"), s.setAttribute("stroke-linecap", "cap"), s.setAttribute("stroke-width", "2"), n.setAttribute("d", t), n.setAttribute("stroke", "rgb(235, 95, 82)"), n.setAttribute("fill", "none"), n.setAttribute("stroke-linecap", "cap"), n.setAttribute("stroke-width", "2"), i.appendChild(n), i.appendChild(s), i;
|
308 | }, Ct = (t, e) => {
|
309 | let i = 0, n = 0;
|
310 | for (; e && e !== t; )
|
311 | i += e.offsetLeft, n += e.offsetTop, e = e.offsetParent;
|
312 | return { offsetLeft: i, offsetTop: n };
|
313 | };
|
314 | let tt = it;
|
315 | const xt = function(t) {
|
316 | console.time("linkDiv");
|
317 | const e = this.map.querySelector("me-root");
|
318 | this.nodes.style.top = `${1e4 - this.nodes.offsetHeight / 2}px`, this.nodes.style.left = `${1e4 - e.offsetLeft - e.offsetWidth / 2}px`;
|
319 | const i = this.map.querySelectorAll("me-main > me-wrapper");
|
320 | this.lines.innerHTML = "", tt = this.subLinkStyle === 2 ? wt : it;
|
321 | for (let n = 0; n < i.length; n++) {
|
322 | const s = i[n], o = s.querySelector("me-tpc"), l = s.firstChild, f = s.parentNode.className;
|
323 | let h = e.offsetLeft + e.offsetWidth / 2;
|
324 | const p = e.offsetTop + e.offsetHeight / 2;
|
325 | let c;
|
326 | const a = this.theme.palette, r = o.nodeObj.branchColor || a[n % a.length], { offsetLeft: d, offsetTop: u } = Ct(this.nodes, l);
|
327 | f === "lhs" ? c = d + l.offsetWidth : c = d;
|
328 | const m = u + l.offsetHeight / 2;
|
329 | let g = "";
|
330 | if (this.mainLinkStyle === 2)
|
331 | this.direction === q && (f === "lhs" ? h = h - e.offsetWidth / 6 : h = h + e.offsetWidth / 6), g = Lt({ x1: h, y1: p, x2: c, y2: m });
|
332 | else {
|
333 | const L = (1 - Math.abs(m - s.parentElement.offsetTop - s.parentElement.offsetHeight / 2) / s.parentElement.offsetHeight) * 0.25 * (e.offsetWidth / 2);
|
334 | f === "lhs" ? h = h - e.offsetWidth / 10 - L : h = h + e.offsetWidth / 10 + L, g = Mt({ x1: h, y1: p, x2: c, y2: m });
|
335 | }
|
336 | this.lines.appendChild(yt(g, r));
|
337 | const y = s.children[0].children[1];
|
338 | if (y && (y.style.top = (y.parentNode.offsetHeight - y.offsetHeight) / 2 + "px", f === "lhs" ? y.style.left = "-10px" : y.style.right = "-10px"), !(t && t !== s) && s.childElementCount) {
|
339 | const v = D("subLines"), L = s.lastChild;
|
340 | L.tagName === "svg" && L.remove(), s.appendChild(v);
|
341 | const $ = s.firstChild, T = s.children[1].children, H = et(T, $, f, !0);
|
342 | v.appendChild(bt(H, r));
|
343 | }
|
344 | }
|
345 | this.linkSvgGroup.innerHTML = "";
|
346 | for (const n in this.linkData) {
|
347 | const s = this.linkData[n];
|
348 | this.createLink(S(s.from), S(s.to), !0, s);
|
349 | }
|
350 | console.timeEnd("linkDiv");
|
351 | }, et = function(t, e, i, n) {
|
352 | let s = "";
|
353 | const o = e.offsetTop, l = e.offsetLeft, f = e.offsetWidth, h = e.offsetHeight;
|
354 | for (let p = 0; p < t.length; p++) {
|
355 | const c = t[p], a = c.firstChild, r = a.offsetTop, d = a.offsetLeft, u = a.offsetWidth, m = a.offsetHeight;
|
356 | s += tt({ pT: o, pL: l, pW: f, pH: h, cT: r, cL: d, cW: u, cH: m, direction: i, isFirst: n });
|
357 | const g = a.children[1];
|
358 | if (g) {
|
359 | if (g.style.bottom = -(g.offsetHeight / 2) + "px", i === "lhs" ? g.style.left = "10px" : i === "rhs" && (g.style.right = "10px"), !g.expanded)
|
360 | continue;
|
361 | } else
|
362 | continue;
|
363 | const y = c.children[1].children;
|
364 | y.length > 0 && (s += et(y, a, i));
|
365 | }
|
366 | return s;
|
367 | };
|
368 | function Lt({ x1: t, y1: e, x2: i, y2: n }) {
|
369 | return `M ${t} ${e} V ${n > e ? n - 20 : n + 20} C ${t} ${n} ${t} ${n} ${i > t ? t + 20 : t - 20} ${n} H ${i}`;
|
370 | }
|
371 | function Mt({ x1: t, y1: e, x2: i, y2: n }) {
|
372 | return `M ${t} ${e} Q ${t} ${n} ${i} ${n}`;
|
373 | }
|
374 | function wt({ pT: t, pL: e, pW: i, pH: n, cT: s, cL: o, cW: l, cH: f, direction: h, isFirst: p }) {
|
375 | let c;
|
376 | p ? c = t + n / 2 : c = t + n;
|
377 | const a = s + f;
|
378 | let r = 0, d = 0, u = 0;
|
379 | return h === "lhs" ? (r = e + x, d = o, u = o + l) : h === "rhs" && (r = e + i - x, d = o + l, u = o), a < c + 50 && a > c - 50 ? `M ${r} ${c} H ${u} V ${a} H ${d}` : a >= c ? `M ${r} ${c} H ${u} V ${a - C} A ${C} ${C} 0 0 ${r > d ? 1 : 0} ${r > d ? u - C : u + C} ${a} H ${d}` : `M ${r} ${c} H ${u} V ${a + C} A ${C} ${C} 0 0 ${r > d ? 0 : 1} ${r > d ? u - C : u + C} ${a} H ${d}`;
|
380 | }
|
381 | function it({ pT: t, pL: e, pW: i, pH: n, cT: s, cL: o, cW: l, cH: f, direction: h, isFirst: p }) {
|
382 | let c = 0, a = 0;
|
383 | p ? c = t + n / 2 : c = t + n;
|
384 | const r = s + f;
|
385 | let d = 0, u = 0, m = 0;
|
386 | const g = Math.min(Math.abs(c - r) / 800, 1.2) * x;
|
387 | return h === "lhs" ? (m = e, d = m + x, u = m - x, a = o + x, `M ${d} ${c} C ${m} ${c} ${m + g} ${r} ${u} ${r} H ${a}`) : (m = e + i, d = m - x, u = m + x, a = o + l - x, `M ${d} ${c} C ${m} ${c} ${m - g} ${r} ${u} ${r} H ${a}`);
|
388 | }
|
389 | const E = (t, e) => {
|
390 | const i = document.createElement("span");
|
391 | return i.id = t, i.innerHTML = `<svg class="icon" aria-hidden="true">
|
392 | <use xlink:href="#icon-${e}"></use>
|
393 | </svg>`, i;
|
394 | };
|
395 | function $t(t) {
|
396 | const e = document.createElement("div"), i = E("fullscreen", "full"), n = E("toCenter", "living"), s = E("zoomout", "move"), o = E("zoomin", "add"), l = document.createElement("span");
|
397 | return l.innerText = "100%", e.appendChild(i), e.appendChild(n), e.appendChild(s), e.appendChild(o), e.className = "mind-elixir-toolbar rb", i.onclick = () => {
|
398 | t.container.requestFullscreen();
|
399 | }, n.onclick = () => {
|
400 | t.toCenter();
|
401 | }, s.onclick = () => {
|
402 | t.scaleVal < 0.6 || t.scale(t.scaleVal -= 0.2);
|
403 | }, o.onclick = () => {
|
404 | t.scaleVal > 1.6 || t.scale(t.scaleVal += 0.2);
|
405 | }, e;
|
406 | }
|
407 | function Et(t) {
|
408 | const e = document.createElement("div"), i = E("tbltl", "left"), n = E("tbltr", "right"), s = E("tblts", "side");
|
409 | return e.appendChild(i), e.appendChild(n), e.appendChild(s), e.className = "mind-elixir-toolbar lt", i.onclick = () => {
|
410 | t.initLeft();
|
411 | }, n.onclick = () => {
|
412 | t.initRight();
|
413 | }, s.onclick = () => {
|
414 | t.initSide();
|
415 | }, e;
|
416 | }
|
417 | function kt(t) {
|
418 | t.container.append($t(t)), t.container.append(Et(t));
|
419 | }
|
420 | const Nt = function(t, e = !0) {
|
421 | this.theme = t;
|
422 | const i = this.theme.cssVar, n = Object.keys(i);
|
423 | for (let s = 0; s < n.length; s++) {
|
424 | const o = n[s];
|
425 | this.mindElixirBox.style.setProperty(o, i[o]);
|
426 | }
|
427 | e && this.refresh();
|
428 | };
|
429 | function nt(t) {
|
430 | return {
|
431 | nodeData: t.isFocusMode ? t.nodeDataBackup : t.nodeData,
|
432 | linkData: t.linkData,
|
433 | direction: t.direction,
|
434 | theme: t.theme
|
435 | };
|
436 | }
|
437 | const St = function(t, e, i) {
|
438 | if (t) {
|
439 | if (console.time("selectNode"), typeof t == "string") {
|
440 | const n = S(t);
|
441 | return n ? this.selectNode(n) : void 0;
|
442 | }
|
443 | this.currentNode && (this.currentNode.className = ""), t.className = "selected", t.scrollIntoView({ block: "nearest", inline: "nearest" }), this.currentNode = t, e ? this.bus.fire("selectNewNode", t.nodeObj) : this.bus.fire("selectNode", t.nodeObj, i), console.timeEnd("selectNode");
|
444 | }
|
445 | }, At = function() {
|
446 | this.currentNode && (this.currentNode.className = ""), this.currentNode = null, this.bus.fire("unselectNode");
|
447 | }, Tt = function() {
|
448 | if (!this.currentNode || this.currentNode.dataset.nodeid === "meroot")
|
449 | return !1;
|
450 | const t = this.currentNode.parentElement.parentElement.nextSibling;
|
451 | let e;
|
452 | if (t)
|
453 | e = t.firstChild.firstChild;
|
454 | else
|
455 | return !1;
|
456 | return this.selectNode(e), !0;
|
457 | }, Ht = function() {
|
458 | if (!this.currentNode || this.currentNode.dataset.nodeid === "meroot")
|
459 | return !1;
|
460 | const t = this.currentNode.parentElement.parentElement.previousSibling;
|
461 | let e;
|
462 | if (t)
|
463 | e = t.firstChild.firstChild;
|
464 | else
|
465 | return !1;
|
466 | return this.selectNode(e), !0;
|
467 | }, Pt = function() {
|
468 | if (!this.currentNode)
|
469 | return;
|
470 | const t = this.currentNode.parentElement.nextSibling;
|
471 | if (t && t.firstChild) {
|
472 | const e = t.firstChild.firstChild.firstChild;
|
473 | this.selectNode(e);
|
474 | }
|
475 | }, Bt = function() {
|
476 | if (!this.currentNode || this.currentNode.dataset.nodeid === "meroot")
|
477 | return;
|
478 | const t = this.currentNode.parentElement.parentElement.parentElement.previousSibling;
|
479 | if (t) {
|
480 | const e = t.firstChild;
|
481 | this.selectNode(e);
|
482 | }
|
483 | }, zt = function() {
|
484 | const t = nt(this);
|
485 | return JSON.stringify(t, (e, i) => {
|
486 | if (e !== "parent")
|
487 | return e === "from" || e === "to" ? i.nodeObj.id : i;
|
488 | });
|
489 | }, Vt = function() {
|
490 | return JSON.parse(this.getDataString());
|
491 | }, Dt = function() {
|
492 | const t = nt(this).nodeData;
|
493 | let e = "# " + t.topic + `
|
494 |
|
495 | `;
|
496 | function i(n, s) {
|
497 | for (let o = 0; o < n.length; o++)
|
498 | s <= 6 ? e += "".padStart(s, "#") + " " + n[o].topic + `
|
499 |
|
500 | ` : e += "".padStart(s - 7, " ") + "- " + n[o].topic + `
|
501 | `, n[o].children && i(n[o].children || [], s + 1);
|
502 | }
|
503 | return i(t.children || [], 2), e;
|
504 | }, _t = function() {
|
505 | this.editable = !0;
|
506 | }, qt = function() {
|
507 | this.editable = !1;
|
508 | }, Xt = function(t) {
|
509 | this.scaleVal = t, this.map.style.transform = "scale(" + t + ")";
|
510 | }, Yt = function() {
|
511 | this.container.scrollTo(1e4 - this.container.offsetWidth / 2, 1e4 - this.container.offsetHeight / 2);
|
512 | }, Rt = function(t) {
|
513 | t(this);
|
514 | }, Ft = function(t) {
|
515 | t.nodeObj.root || (this.tempDirection === null && (this.tempDirection = this.direction), this.isFocusMode || (this.nodeDataBackup = this.nodeData, this.isFocusMode = !0), this.nodeData = t.nodeObj, this.nodeData.root = !0, this.initRight(), this.toCenter());
|
516 | }, Wt = function() {
|
517 | this.isFocusMode = !1, this.tempDirection !== null && (delete this.nodeData.root, this.nodeData = this.nodeDataBackup, this.direction = this.tempDirection, this.tempDirection = null, this.refresh(), this.toCenter());
|
518 | }, Ot = function() {
|
519 | this.direction = 0, this.refresh();
|
520 | }, It = function() {
|
521 | this.direction = 1, this.refresh();
|
522 | }, jt = function() {
|
523 | this.direction = 2, this.refresh();
|
524 | }, Gt = function(t) {
|
525 | this.locale = t, this.refresh();
|
526 | }, Jt = function(t, e) {
|
527 | const i = t.nodeObj;
|
528 | typeof e == "boolean" ? i.expanded = e : i.expanded !== !1 ? i.expanded = !1 : i.expanded = !0, this.layout(), this.linkDiv(), this.bus.fire("expandNode", i);
|
529 | }, Kt = function(t) {
|
530 | t = JSON.parse(JSON.stringify(t)), t && (this.nodeData = t.nodeData, this.linkData = t.linkData || {}), F(this.nodeData), this.layout(), this.linkDiv();
|
531 | }, Ut = Object.freeze( Object.defineProperty({
|
532 | __proto__: null,
|
533 | cancelFocus: Wt,
|
534 | disableEdit: qt,
|
535 | enableEdit: _t,
|
536 | expandNode: Jt,
|
537 | focusNode: Ft,
|
538 | getData: Vt,
|
539 | getDataMd: Dt,
|
540 | getDataString: zt,
|
541 | initLeft: Ot,
|
542 | initRight: It,
|
543 | initSide: jt,
|
544 | install: Rt,
|
545 | refresh: Kt,
|
546 | scale: Xt,
|
547 | selectFirstChild: Pt,
|
548 | selectNextSibling: Tt,
|
549 | selectNode: St,
|
550 | selectParent: Bt,
|
551 | selectPrevSibling: Ht,
|
552 | setLocale: Gt,
|
553 | toCenter: Yt,
|
554 | unselectNode: At
|
555 | }, Symbol.toStringTag, { value: "Module" })), Qt = function(t) {
|
556 | return {
|
557 | dom: t,
|
558 | mousedown: !1,
|
559 | lastX: 0,
|
560 | lastY: 0,
|
561 | handleMouseMove(e) {
|
562 | if (e.stopPropagation(), this.mousedown) {
|
563 | if (!this.lastX) {
|
564 | this.lastX = e.pageX, this.lastY = e.pageY;
|
565 | return;
|
566 | }
|
567 | const i = this.lastX - e.pageX, n = this.lastY - e.pageY;
|
568 | this.cb && this.cb(i, n), this.lastX = e.pageX, this.lastY = e.pageY;
|
569 | }
|
570 | },
|
571 | handleMouseDown(e) {
|
572 | e.stopPropagation(), this.mousedown = !0;
|
573 | },
|
574 | handleClear(e) {
|
575 | e.stopPropagation(), this.clear();
|
576 | },
|
577 | cb: null,
|
578 | init(e, i) {
|
579 | this.cb = i, this.handleClear = this.handleClear.bind(this), this.handleMouseMove = this.handleMouseMove.bind(this), this.handleMouseDown = this.handleMouseDown.bind(this), e.addEventListener("mousemove", this.handleMouseMove), e.addEventListener("mouseleave", this.handleClear), e.addEventListener("mouseup", this.handleClear), this.dom.addEventListener("mousedown", this.handleMouseDown);
|
580 | },
|
581 | destory(e) {
|
582 | e.removeEventListener("mousemove", this.handleMouseMove), e.removeEventListener("mouseleave", this.handleClear), e.removeEventListener("mouseup", this.handleClear), this.dom.removeEventListener("mousedown", this.handleMouseDown);
|
583 | },
|
584 | clear() {
|
585 | this.mousedown = !1, this.lastX = 0, this.lastY = 0;
|
586 | }
|
587 | };
|
588 | }, j = {
|
589 | create: Qt
|
590 | }, Zt = function(t, e, i, n) {
|
591 | const s = this.map.getBoundingClientRect();
|
592 | if (!t || !e)
|
593 | return;
|
594 | const o = t.getBoundingClientRect(), l = e.getBoundingClientRect(), f = (o.x + o.width / 2 - s.x) / this.scaleVal, h = (o.y + o.height / 2 - s.y) / this.scaleVal, p = (l.x + l.width / 2 - s.x) / this.scaleVal, c = (l.y + l.height / 2 - s.y) / this.scaleVal;
|
595 | let a, r, d, u;
|
596 | i && n ? (a = f + n.delta1.x, r = h + n.delta1.y, d = p + n.delta2.x, u = c + n.delta2.y) : (h + c) / 2 - h <= o.height / 2 ? (a = (o.x + o.width - s.x) / this.scaleVal + 100, r = h, d = (l.x + l.width - s.x) / this.scaleVal + 100, u = c) : (a = (f + p) / 2, r = (h + c) / 2, d = (f + p) / 2, u = (h + c) / 2);
|
597 | const m = {
|
598 | cx: f,
|
599 | cy: h,
|
600 | w: o.width,
|
601 | h: o.height
|
602 | }, g = {
|
603 | cx: p,
|
604 | cy: c,
|
605 | w: l.width,
|
606 | h: l.height
|
607 | }, y = Y(m, a, r), v = y.x, L = y.y, $ = R(g, d, u), T = $.x, H = $.y, z = U(d, u, T, H), w = {
|
608 | id: "",
|
609 | label: "",
|
610 | from: t.nodeObj.id,
|
611 | to: e.nodeObj.id,
|
612 | delta1: {
|
613 | x: a - f,
|
614 | y: r - h
|
615 | },
|
616 | delta2: {
|
617 | x: d - p,
|
618 | y: u - c
|
619 | }
|
620 | }, V = vt(
|
621 | `M ${v} ${L} C ${a} ${r} ${d} ${u} ${T} ${H}`,
|
622 | `M ${z.x1} ${z.y1} L ${T} ${H} L ${z.x2} ${z.y2}`
|
623 | );
|
624 | i && n ? (w.id = n.id, this.linkData[n.id] = w) : (w.id = Q(), this.linkData[w.id] = w, this.currentLink = V), V.linkObj = w, V.dataset.linkid = w.id, this.linkSvgGroup.appendChild(V), i || this.showLinkController(a, r, d, u, w, m, g);
|
625 | }, te = function(t) {
|
626 | let e;
|
627 | if (t ? e = t : e = this.currentLink, !e)
|
628 | return;
|
629 | console.log(e), this.hideLinkController();
|
630 | const i = e.linkObj.id;
|
631 | console.log(i), delete this.linkData[i], e.remove(), e = null;
|
632 | }, ee = function(t) {
|
633 | this.currentLink = t;
|
634 | const e = t.linkObj;
|
635 | if (!e)
|
636 | return;
|
637 | const i = e.from, n = e.to, s = this.map.getBoundingClientRect(), o = S(i).getBoundingClientRect(), l = S(n).getBoundingClientRect(), f = (o.x + o.width / 2 - s.x) / this.scaleVal, h = (o.y + o.height / 2 - s.y) / this.scaleVal, p = (l.x + l.width / 2 - s.x) / this.scaleVal, c = (l.y + l.height / 2 - s.y) / this.scaleVal, a = {
|
638 | cx: f,
|
639 | cy: h,
|
640 | w: o.width,
|
641 | h: o.height
|
642 | }, r = {
|
643 | cx: p,
|
644 | cy: c,
|
645 | w: l.width,
|
646 | h: l.height
|
647 | }, d = f + e.delta1.x, u = h + e.delta1.y, m = p + e.delta2.x, g = c + e.delta2.y;
|
648 | this.showLinkController(d, u, m, g, e, a, r);
|
649 | }, ie = function() {
|
650 | this.linkController.style.display = "none", this.P2.style.display = "none", this.P3.style.display = "none";
|
651 | }, ne = function(t, e, i, n, s, o, l) {
|
652 | this.linkController.style.display = "initial", this.P2.style.display = "initial", this.P3.style.display = "initial";
|
653 | const f = Y(o, t, e);
|
654 | let h = f.x, p = f.y;
|
655 | const c = R(l, i, n);
|
656 | let a = c.x, r = c.y;
|
657 | this.P2.style.cssText = `top:${e}px;left:${t}px;`, this.P3.style.cssText = `top:${n}px;left:${i}px;`, this.line1.setAttribute("x1", h), this.line1.setAttribute("y1", p), this.line1.setAttribute("x2", t), this.line1.setAttribute("y2", e), this.line2.setAttribute("x1", i), this.line2.setAttribute("y1", n), this.line2.setAttribute("x2", a), this.line2.setAttribute("y2", r), this.helper1 && (this.helper1.destory(this.map), this.helper2.destory(this.map)), this.helper1 = j.create(this.P2), this.helper2 = j.create(this.P3), this.helper1.init(this.map, (d, u) => {
|
658 | var g;
|
659 | t = t - d / this.scaleVal, e = e - u / this.scaleVal;
|
660 | const m = Y(o, t, e);
|
661 | h = m.x, p = m.y, this.P2.style.top = e + "px", this.P2.style.left = t + "px", (g = this.currentLink) == null || g.children[0].setAttribute("d", `M ${h} ${p} C ${t} ${e} ${i} ${n} ${a} ${r}`), this.line1.setAttribute("x1", h), this.line1.setAttribute("y1", p), this.line1.setAttribute("x2", t), this.line1.setAttribute("y2", e), s.delta1.x = t - o.cx, s.delta1.y = e - o.cy;
|
662 | }), this.helper2.init(this.map, (d, u) => {
|
663 | var y, v;
|
664 | i = i - d / this.scaleVal, n = n - u / this.scaleVal;
|
665 | const m = R(l, i, n);
|
666 | a = m.x, r = m.y;
|
667 | const g = U(i, n, a, r);
|
668 | this.P3.style.top = n + "px", this.P3.style.left = i + "px", (y = this.currentLink) == null || y.children[0].setAttribute("d", `M ${h} ${p} C ${t} ${e} ${i} ${n} ${a} ${r}`), (v = this.currentLink) == null || v.children[1].setAttribute("d", `M ${g.x1} ${g.y1} L ${a} ${r} L ${g.x2} ${g.y2}`), this.line2.setAttribute("x1", i), this.line2.setAttribute("y1", n), this.line2.setAttribute("x2", a), this.line2.setAttribute("y2", r), s.delta2.x = i - l.cx, s.delta2.y = n - l.cy;
|
669 | });
|
670 | }, se = Object.freeze( Object.defineProperty({
|
671 | __proto__: null,
|
672 | createLink: Zt,
|
673 | hideLinkController: ie,
|
674 | removeLink: te,
|
675 | selectLink: ee,
|
676 | showLinkController: ne
|
677 | }, Symbol.toStringTag, { value: "Module" })), oe = {}, le = {
|
678 | getObjById: K,
|
679 | generateNewObj: st,
|
680 | layout: ct,
|
681 | linkDiv: xt,
|
682 | createInputDiv: mt,
|
683 | createWrapper: ht,
|
684 | createParent: dt,
|
685 | createChildren: ft,
|
686 | createTopic: ut,
|
687 | findEle: S,
|
688 | changeTheme: Nt,
|
689 | ...Ut,
|
690 | ...oe,
|
691 | ...se,
|
692 | init(t) {
|
693 | if (!t || !t.nodeData)
|
694 | return new Error("MindElixir: `data` is required");
|
695 | t.direction !== void 0 && (this.direction = t.direction), this.changeTheme(t.theme || this.theme, !1), this.nodeData = t.nodeData, F(this.nodeData), this.linkData = t.linkData || {}, this.toolBar && kt(this), this.toCenter(), this.layout(), this.linkDiv();
|
696 | }
|
697 | }, B = document;
|
698 | function M({
|
699 | el: t,
|
700 | direction: e,
|
701 | locale: i,
|
702 | draggable: n,
|
703 | editable: s,
|
704 | contextMenu: o,
|
705 | contextMenuOption: l,
|
706 | toolBar: f,
|
707 | keypress: h,
|
708 | before: p,
|
709 | newTopicName: c,
|
710 | allowUndo: a,
|
711 | mainLinkStyle: r,
|
712 | subLinkStyle: d,
|
713 | overflowHidden: u,
|
714 | mobileMenu: m,
|
715 | theme: g
|
716 | }) {
|
717 | console.log("ME_version " + M.version, this);
|
718 | let y = null;
|
719 | const v = Object.prototype.toString.call(t);
|
720 | if (v === "[object HTMLDivElement]" ? y = t : v === "[object String]" && (y = document.querySelector(t)), !y)
|
721 | throw new Error("MindElixir: el is not a valid element");
|
722 | y.className += " mind-elixir", y.innerHTML = "", y.style.setProperty("--gap", x + "px"), this.mindElixirBox = y, this.before = p || {}, this.locale = i || "en", this.contextMenuOption = l, this.contextMenu = o === void 0 ? !0 : o, this.toolBar = f === void 0 ? !0 : f, this.keypress = h === void 0 ? !0 : h, this.mobileMenu = m || !1, this.direction = typeof e == "number" ? e : 1, this.draggable = n === void 0 ? !0 : n, this.newTopicName = c || "new node", this.editable = s === void 0 ? !0 : s, this.allowUndo = a === void 0 ? !1 : a, this.currentNode = null, this.currentLink = null, this.inputDiv = null, this.scaleVal = 1, this.tempDirection = null, this.mainLinkStyle = r || 0, this.subLinkStyle = d || 0, this.overflowHidden = u || !1, this.bus = lt.create(), this.container = B.createElement("div"), this.container.className = "map-container";
|
723 | const L = window.matchMedia("(prefers-color-scheme: dark)");
|
724 | this.theme = g || (L.matches ? J : G);
|
725 | const $ = B.createElement("div");
|
726 | $.className = "map-canvas", this.map = $, this.map.setAttribute("tabindex", "0"), this.container.appendChild(this.map), this.mindElixirBox.appendChild(this.container), this.nodes = B.createElement("me-nodes"), this.nodes.className = "main-node-container", this.lines = D("lines"), this.linkController = D("linkcontroller"), this.P2 = B.createElement("div"), this.P3 = B.createElement("div"), this.P2.className = this.P3.className = "circle", this.P2.style.display = this.P3.style.display = "none", this.line1 = I(0, 0, 0, 0), this.line2 = I(0, 0, 0, 0), this.linkController.appendChild(this.line1), this.linkController.appendChild(this.line2), this.linkSvgGroup = D("topiclinks"), this.map.appendChild(this.nodes), this.map.appendChild(this.linkController), this.map.appendChild(this.linkSvgGroup), this.map.appendChild(this.P2), this.map.appendChild(this.P3), this.overflowHidden ? this.container.style.overflow = "hidden" : ot(this);
|
727 | }
|
728 | M.prototype = le;
|
729 | M.LEFT = A;
|
730 | M.RIGHT = X;
|
731 | M.SIDE = q;
|
732 | M.THEME = G;
|
733 | M.DARK_THEME = J;
|
734 | M.version = "3.0.0";
|
735 | M.E = S;
|
736 | export {
|
737 | M as default,
|
738 | le as methods
|
739 | };
|