mind-elixir 5.2.0-beta.6 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/dist/LayoutSsr.iife.js +1 -1
- package/dist/LayoutSsr.js +27 -25
- package/dist/MindElixir.iife.js +11 -11
- package/dist/MindElixir.js +473 -483
- package/dist/MindElixirLite.iife.js +4 -4
- package/dist/MindElixirLite.js +257 -267
- package/dist/example.iife.js +1 -1
- package/dist/example.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/arrow.d.ts +1 -1
- package/dist/types/docs.d.ts +2 -2
- package/dist/types/index.d.ts +11 -11
- package/dist/types/methods.d.ts +39 -39
- package/dist/types/nodeOperation.d.ts +1 -1
- package/dist/types/plugin/keypress.d.ts +1 -1
- package/dist/types/summary.d.ts +2 -2
- package/dist/types/types/dom.d.ts +0 -1
- package/dist/types/types/index.d.ts +8 -7
- package/dist/types/utils/index.d.ts +4 -404
- package/dist/types/utils/pubsub.d.ts +3 -2
- package/dist/types/utils/svg.d.ts +1 -1
- package/package.json +107 -107
- package/readme.md +432 -432
package/dist/example.iife.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var example=function(){"use strict";return{nodeData:{id:"me-root",topic:"Mind Elixir",tags:["Mind Map Core"],children:[{topic:"logo2",id:"56dae51a90d350a8",direction:0,expanded:!0,children:[{id:"use-image",topic:"mind-elixir",image:{url:"https://raw.githubusercontent.com/ssshooter/mind-elixir-core/master/images/logo2.png",height:100,width:90,fit:"contain"}}]},{topic:"What is Mind Elixir",id:"bd4313fbac40284b",direction:0,expanded:!0,children:[{topic:"A mind map core",id:"beeb823afd6d2114"},{topic:"Free",id:"c1f068377de9f3a0"},{topic:"Open-Source",id:"c1f06d38a09f23ca"},{topic:"Framework agnostic",id:"c1f06e4cbcf16463",expanded:!0,children:[{topic:"Use without JavaScript framework",id:"c1f06e4cbcf16464"},{topic:"Pluginable",id:"c1f06e4cbcf16465"}]},{topic:"Use in your own project",id:"c1f1f11a7fbf7550",children:[{topic:"import MindElixir from 'mind-elixir'",id:"c1f1e245b0a89f9b"},{topic:"new MindElixir({...}).init(data)",id:"c1f1ebc7072c8928"}]},{topic:"Key Features",id:"c1f0723c07b408d7",expanded:!0,children:[{topic:"Fluent UX",id:"c1f09612fd89920d"},{topic:"Well designed",id:"c1f09612fd89920e"},{topic:"Mobile friendly",id:"c1f09612fd89920f"},{topic:"Lightweight & High performance",id:"c1f09612fd899210"}]}]},{topic:"Efficient Shortcuts",id:"bd1b66c4b56754d9",direction:0,expanded:!0,children:[{topic:"Tab - Create a child node",id:"bd1b6892bcab126a"},{topic:"Enter - Create a sibling node",id:"bd1b6b632a434b27"},{topic:"F1 - Center the Map",id:"bd1b983085187c0a"},{topic:"F2 - Begin Editing",id:"bd1b983085187c0b"},{topic:"Ctrl + C/V - Copy/Paste",id:"bd1b983085187c0c"},{topic:"Ctrl + +/- - Zoom In/Out",id:"bd1b983085187c0d"}]},{topic:"Advanced Features",id:"bd1b66c4b56754da",direction:0,expanded:!0,children:[{topic:"Bulk operations supported",id:"bd1b6892bcab126b",tags:["New"]},{topic:"Undo / Redo",id:"bd1b6b632a434b28",tags:["New"]},{topic:"Summarize nodes",id:"bd1b983085187c0e"},{topic:"Easily Styling with CSS variables",id:"bd1b983085187c0f",tags:["New"]}]},{topic:"Focus mode",id:"bd1b9b94a9a7a913",direction:1,expanded:!0,children:[{topic:"Right click and select Focus Mode",id:"bd1bb2ac4bbab458"},{topic:"Right click and select Cancel Focus Mode",id:"bd1bb4b14d6697c3"}]},{topic:"Left menu",id:"bd1b9d1816ede134",direction:0,expanded:!0,children:[{topic:"Node distribution",id:"bd1ba11e620c3c1a",expanded:!0,children:[{topic:"Left",id:"bd1c1cb51e6745d3"},{topic:"Right",id:"bd1c1e12fd603ff6"},{topic:"Both l & r",id:"bd1c1f03def5c97b"}]}]},{topic:"Bottom menu",id:"bd1ba66996df4ba4",direction:1,expanded:!0,children:[{topic:"Full screen",id:"bd1ba81d9bc95a7e"},{topic:"Return to Center",id:"bd1babdd5c18a7a2"},{topic:"Zoom in",id:"bd1bae68e0ab186e"},{topic:"Zoom out",id:"bd1bb06377439977"}]},{topic:"Link",id:"bd1beff607711025",direction:0,expanded:!0,children:[{topic:"Right click and select Link",id:"bd1bf320da90046a"},{topic:"Click the target you want to link",id:"bd1bf6f94ff2e642"},{topic:"Modify link with control points",id:"bd1c0c4a487bd036"},{topic:"Bidirectional link is",id:"4da8dbbc7b71be99"},{topic:"Also available.",id:"4da8ded27033a710"}]},{topic:"Node style",id:"bd1c217f9d0b20bd",direction:0,expanded:!0,children:[{topic:"Font Size",id:"bd1c24420cd2c2f5",style:{fontSize:"32px",color:"#3298db"}},{topic:"Font Color",id:"bd1c2a59b9a2739c",style:{color:"#c0392c"}},{topic:"Background Color",id:"bd1c2de33f057eb4",style:{color:"#bdc3c7",background:"#2c3e50"}},{topic:"Add tags",id:"bd1cff58364436d0",tags:["Completed"]},{topic:"Add icons",id:"bd1d0317f7e8a61a",icons:["😂"],tags:["www"]},{topic:"Bolder",id:"bd41fd4ca32322a4",style:{fontWeight:"bold"}},{topic:"Hyper link",id:"bd41fd4ca32322a5",hyperLink:"https://github.com/ssshooter/mind-elixir-core"}]},{topic:"Draggable",id:"bd1f03fee1f63bc6",direction:1,expanded:!0,children:[{topic:`Drag a node to another node
|
|
2
2
|
and the former one will become a child node of latter one`,id:"bd1f07c598e729dc"}]},{topic:"Export & Import",id:"beeb7586973430db",direction:1,expanded:!0,children:[{topic:"Export as SVG",id:"beeb7a6bec2d68e6"},{topic:"Export as PNG",id:"beeb7a6bec2d68e7",tags:["New"]},{topic:"Export JSON data",id:"beeb784cc189375f"},{topic:"Export as HTML",id:"beeb7a6bec2d68f5"}]},{topic:"Ecosystem",id:"beeb7586973430dc",direction:1,expanded:!0,children:[{topic:"@mind-elixir/node-menu",id:"beeb7586973430dd",hyperLink:"https://github.com/ssshooter/node-menu"},{topic:"@mind-elixir/export-xmind",id:"beeb7586973430de",hyperLink:"https://github.com/ssshooter/export-xmind"},{topic:"mind-elixir-react",id:"beeb7586973430df",hyperLink:"https://github.com/ssshooter/mind-elixir-react"}]},{topic:"dangerouslySetInnerHTML",id:"c00a1cf60baa44f0",style:{background:"#f1c40e"},children:[{topic:"Code Block",id:"c00a2264fdaw32612",children:[{topic:"",id:"c00a2264f4532613",dangerouslySetInnerHTML:`<pre class="language-javascript"><code class="language-javascript"><span class="token keyword">let</span> message <span class="token operator">=</span> <span class="token string">'Hello world'</span>
|
|
3
|
-
<span class="token function">alert</span><span class="token punctuation">(</span>message<span class="token punctuation">)</span></code></pre>`}]},{topic:"Customized Div",id:"c00a2264f4532615",children:[{topic:"",id:"c00a2264f4532614",dangerouslySetInnerHTML:'<div><style>.title{font-size:50px}</style><div class="title">Title</div><div style="color: red; font-size: 20px;">Hello world</div></div>'}]}],direction:1},{topic:"KaTeX",id:"markdown-complex-math",direction:1,expanded:!0,children:[{topic:"Fourier transform: $$F(\\omega) = \\int_{-\\infty}^{\\infty} f(t) e^{-i\\omega t} dt$$",id:"markdown-fourier",useMd:!0},{topic:"Schrödinger equation: $$i\\hbar\\frac{\\partial}{\\partial t}\\Psi = \\hat{H}\\Psi$$",id:"markdown-schrodinger",useMd:!0}]},{topic:"Basic Markdown Examples",id:"markdown-basic-examples",direction:1,expanded:!0,children:[{topic:"# Heading 1",id:"markdown-headings",useMd:!0},{topic:"**Bold text** and *italic text*
|
|
3
|
+
<span class="token function">alert</span><span class="token punctuation">(</span>message<span class="token punctuation">)</span></code></pre>`}]},{topic:"Customized Div",id:"c00a2264f4532615",children:[{topic:"",id:"c00a2264f4532614",dangerouslySetInnerHTML:'<div><style>.title{font-size:50px}</style><div class="title">Title</div><div style="color: red; font-size: 20px;">Hello world</div></div>'}]}],direction:1},{topic:"KaTeX",id:"markdown-complex-math",direction:1,expanded:!0,children:[{topic:"Fourier transform: $$F(\\omega) = \\int_{-\\infty}^{\\infty} f(t) e^{-i\\omega t} dt$$",id:"markdown-fourier",useMd:!0},{topic:"Schrödinger equation: $$i\\hbar\\frac{\\partial}{\\partial t}\\Psi = \\hat{H}\\Psi$$",id:"markdown-schrodinger",useMd:!0}]},{topic:"Basic Markdown Examples",id:"markdown-basic-examples",direction:1,expanded:!0,children:[{topic:"# Heading 1",id:"markdown-headings",useMd:!0},{topic:"**Bold text** and __Highlight__ and *italic text*",id:"markdown-emphasis",useMd:!0},{topic:`- Unordered list item 1
|
|
4
4
|
- Unordered list item 2`,id:"markdown-lists",useMd:!0},{topic:"[Link to GitHub](https://github.com) and `inline code`",id:"markdown-links-code",useMd:!0},{topic:`| Column 1 | Column 2 | Column 3 |
|
|
5
5
|
|----------|----------|----------|
|
|
6
6
|
| Row 1 | Data 1 | Info 1 |
|
package/dist/example.js
CHANGED
|
@@ -438,7 +438,7 @@ and the former one will become a child node of latter one`,
|
|
|
438
438
|
useMd: !0
|
|
439
439
|
},
|
|
440
440
|
{
|
|
441
|
-
topic: "**Bold text** and *italic text*
|
|
441
|
+
topic: "**Bold text** and __Highlight__ and *italic text*",
|
|
442
442
|
id: "markdown-emphasis",
|
|
443
443
|
useMd: !0
|
|
444
444
|
},
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.map-container{-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;-webkit-user-select:none;user-select:none;height:100%;width:100%;overflow:hidden;font-size:15px;outline:none;touch-action:none;background-color:var(--bgcolor)}.map-container *{box-sizing:border-box}.map-container::-webkit-scrollbar{width:0px;height:0px}.map-container .selected{outline:2px solid var(--selected);outline-offset:1px}.map-container.space-pressed,.map-container.space-pressed *{cursor:grab!important}.map-container.space-pressed:active,.map-container.space-pressed:active *{cursor:grabbing!important}.map-container .hyper-link{text-decoration:none;margin-left:.3em}.map-container me-main>me-wrapper>me-parent>me-epd{top:50%;transform:translateY(-50%)}.map-container me-epd{top:100%;transform:translateY(-50%)}.map-container .lhs{direction:rtl}.map-container .lhs>me-wrapper>me-parent>me-epd{left:-10px}.map-container .lhs me-epd{left:5px}.map-container .lhs me-tpc{direction:ltr}.map-container .rhs>me-wrapper>me-parent>me-epd{right:-10px}.map-container .rhs me-epd{right:5px}.map-container .map-canvas{position:relative;-webkit-user-select:none;user-select:none;width:fit-content;transform:scale(1)}.map-container .map-canvas me-nodes{position:relative;display:flex;justify-content:center;align-items:center;height:max-content;width:max-content;padding:var(--map-padding)}.map-container me-main>me-wrapper{position:relative;margin:var(--main-gap-y) var(--main-gap-x)}.map-container me-main>me-wrapper>me-parent{margin:10px;padding:0}.map-container me-main>me-wrapper>me-parent>me-tpc{border-radius:var(--main-radius);background-color:var(--main-bgcolor);border:2px solid var(--main-color);color:var(--main-color);padding:8px 25px}.map-container me-wrapper{display:block;pointer-events:none;width:fit-content}.map-container me-children,.map-container me-parent{display:inline-block;vertical-align:middle}.map-container me-root{position:relative;margin:45px 0;z-index:10}.map-container me-root me-tpc{font-size:25px;color:var(--root-color);padding:10px 30px;border-radius:var(--root-radius);border:var(--root-border-color) 2px solid;background-color:var(--root-bgcolor)}.map-container me-parent{position:relative;cursor:pointer;padding:6px var(--node-gap-x);margin-top:var(--node-gap-y);z-index:10}.map-container me-parent me-tpc{position:relative;border-radius:3px;color:var(--color);padding:var(--topic-padding)}.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;border-radius:3px}.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+DQo8c3ZnIHQ9IjE2NTY2NTQ3MTcyNDIiIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiDQogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+DQogICAgPHBhdGggZD0iTTUxMiA3NC42NjY2NjdDMjcwLjkzMzMzMyA3NC42NjY2NjcgNzQuNjY2NjY3IDI3MC45MzMzMzMgNzQuNjY2NjY3IDUxMlMyNzAuOTMzMzMzIDk0OS4zMzMzMzMgNTEyIDk0OS4zMzMzMzMgOTQ5LjMzMzMzMyA3NTMuMDY2NjY3IDk0OS4zMzMzMzMgNTEyIDc1My4wNjY2NjcgNzQuNjY2NjY3IDUxMiA3NC42NjY2Njd6IiBzdHJva2Utd2lkdGg9IjU0IiBzdHJva2U9J2JsYWNrJyBmaWxsPSd3aGl0ZScgPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNNjgyLjY2NjY2NyA0ODBoLTEzOC42NjY2NjdWMzQxLjMzMzMzM2MwLTE3LjA2NjY2Ny0xNC45MzMzMzMtMzItMzItMzJzLTMyIDE0LjkzMzMzMy0zMiAzMnYxMzguNjY2NjY3SDM0MS4zMzMzMzNjLTE3LjA2NjY2NyAwLTMyIDE0LjkzMzMzMy0zMiAzMnMxNC45MzMzMzMgMzIgMzIgMzJoMTM4LjY2NjY2N1Y2ODIuNjY2NjY3YzAgMTcuMDY2NjY3IDE0LjkzMzMzMyAzMiAzMiAzMnMzMi0xNC45MzMzMzMgMzItMzJ2LTEzOC42NjY2NjdINjgyLjY2NjY2N2MxNy4wNjY2NjcgMCAzMi0xNC45MzMzMzMgMzItMzJzLTE0LjkzMzMzMy0zMi0zMi0zMnoiPjwvcGF0aD4NCjwvc3ZnPg==);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+DQo8c3ZnIHQ9IjE2NTY2NTU1NjQ5ODUiIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiDQogICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+DQogICAgPHBhdGggZD0iTTUxMiA3NC42NjY2NjdDMjcwLjkzMzMzMyA3NC42NjY2NjcgNzQuNjY2NjY3IDI3MC45MzMzMzMgNzQuNjY2NjY3IDUxMlMyNzAuOTMzMzMzIDk0OS4zMzMzMzMgNTEyIDk0OS4zMzMzMzMgOTQ5LjMzMzMzMyA3NTMuMDY2NjY3IDk0OS4zMzMzMzMgNTEyIDc1My4wNjY2NjcgNzQuNjY2NjY3IDUxMiA3NC42NjY2Njd6IiBzdHJva2Utd2lkdGg9IjU0IiBzdHJva2U9J2JsYWNrJyBmaWxsPSd3aGl0ZScgPjwvcGF0aD4NCiAgICA8cGF0aCBkPSJNNjgyLjY2NjY2NyA1NDRIMzQxLjMzMzMzM2MtMTcuMDY2NjY3IDAtMzItMTQuOTMzMzMzLTMyLTMyczE0LjkzMzMzMy0zMiAzMi0zMmgzNDEuMzMzMzM0YzE3LjA2NjY2NyAwIDMyIDE0LjkzMzMzMyAzMiAzMnMtMTQuOTMzMzMzIDMyLTMyIDMyeiI+PC9wYXRoPg0KPC9zdmc+)!important;transition:opacity .3s;opacity:0}@media (hover: hover){.map-container me-parent me-epd.minus:hover{opacity:.8}}@media (hover: none){.map-container me-parent me-epd.minus{opacity:.8}}.map-container .icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.map-container .lines,.map-container .summary,.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,.map-container .summary{pointer-events:none;z-index:20}.map-container .summary>g,.map-container .topiclinks>g{cursor:pointer;pointer-events:stroke;z-index:20}.map-container .lines,.map-container .subLines{pointer-events:none}.map-container #input-box{position:absolute;top:0;left:0;width:max-content;max-width:35em;direction:ltr;-webkit-user-select:auto;user-select:auto;pointer-events:auto;color:var(--color);background-color:var(--bgcolor);outline:1px solid #ccc;border-radius:2px;z-index:100}.map-container me-tpc{display:block;max-width:35em;white-space:pre-wrap;pointer-events:all}.map-container me-tpc>*{pointer-events:none}.map-container me-tpc>a,.map-container me-tpc>iframe{pointer-events:auto}.map-container me-tpc>.text{display:inline-block}.map-container me-tpc>.text a{pointer-events:auto}.map-container me-tpc>img{display:block;margin-bottom:8px;object-fit:cover}.map-container .circle{position:absolute;height:10px;width:10px;margin-top:-5px;margin-left:-5px;border-radius:100%;background:#757575;border:2px solid #ffffff;z-index:50;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 4px 0 0;font-size:12px;line-height:1.3em}.map-container .icons{display:inline-block;direction:ltr;margin-left:5px}.map-container .icons span{display:inline-block;line-height:1.3em}.map-container .mind-elixir-ghost{position:fixed;top:-100%;left:-100%;box-sizing:content-box;opacity:.5;background-color:var(--main-bgcolor);border:2px solid var(--main-color);color:var(--main-color);max-width:200px;width:fit-content;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 16px;border-radius:6px}.map-container .selection-area{background:#4f90f22d;border:1px solid #4f90f2}.map-container .svg-label{position:absolute;left:0;top:0;display:flex;align-items:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;padding:2px;pointer-events:auto;cursor:pointer;z-index:10;max-width:200px;border-radius:3px;padding:var(--topic-padding)}.map-container h1{font-size:1.5rem;font-weight:700;color:var(--selected)}.map-container h2{font-size:1.25rem;font-weight:600;color:var(--selected)}.map-container h3{font-size:1.125rem;font-weight:600;color:var(--selected)}.map-container h4{font-size:1rem;font-weight:600;color:var(--selected)}.map-container h5{font-size:.875rem;font-weight:600;color:var(--selected)}.map-container h6{font-size:.875rem;font-weight:500;margin:.1rem 0;color:var(--selected);font-style:italic}.map-container strong,.map-container em,.map-container a{color:var(--selected)}.map-container a:hover{color:var(--selected);text-decoration:underline}.map-container .context-menu{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99}.map-container .context-menu .menu-list{position:fixed;list-style:none;margin:0;padding:0;color:var(--panel-color);box-shadow:0 12px 15px #0003;border-radius:5px;overflow:hidden}.map-container .context-menu .menu-list li{min-width:200px;overflow:hidden;white-space:nowrap;padding:6px 10px;background:var(--panel-bgcolor);border-bottom:1px solid var(--panel-border-color);cursor:pointer}.map-container .context-menu .menu-list li span{line-height:20px}.map-container .context-menu .menu-list li a{color:#333;text-decoration:none}.map-container .context-menu .menu-list li.disabled{display:none}.map-container .context-menu .menu-list li:hover{filter:brightness(.95)}.map-container .context-menu .menu-list li:last-child{border-bottom:0}.map-container .context-menu .menu-list li span:last-child{float:right}.map-container .context-menu .key{font-size:10px;background-color:#f1f1f1;color:#333;padding:2px 5px;border-radius:3px}.map-container .tips{position:absolute;bottom:28px;left:50%;transform:translate(-50%);color:var(--panel-color);background:var(--panel-bgcolor);opacity:.8;padding:5px 10px;border-radius:5px;font-weight:700}.mind-elixir-toolbar{position:absolute;color:var(--panel-color);background:var(--panel-bgcolor);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}
|
|
1
|
+
.map-container{-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;-webkit-user-select:none;user-select:none;height:100%;width:100%;overflow:hidden;font-size:15px;outline:none;touch-action:none;background-color:var(--bgcolor)}.map-container *{box-sizing:border-box}.map-container::-webkit-scrollbar{width:0px;height:0px}.map-container .selected{outline:2px solid var(--selected);outline-offset:1px}.map-container.space-pressed,.map-container.space-pressed *{cursor:grab!important}.map-container.space-pressed:active,.map-container.space-pressed:active *{cursor:grabbing!important}.map-container .hyper-link{text-decoration:none;margin-left:.3em}.map-container me-main>me-wrapper>me-parent>me-epd{top:50%;transform:translateY(-50%)}.map-container me-epd{top:100%;transform:translateY(-50%)}.map-container .lhs{direction:rtl}.map-container .lhs>me-wrapper>me-parent>me-epd{left:-10px}.map-container .lhs me-epd{left:5px}.map-container .lhs me-tpc{direction:ltr}.map-container .rhs>me-wrapper>me-parent>me-epd{right:-10px}.map-container .rhs me-epd{right:5px}.map-container .map-canvas{position:relative;-webkit-user-select:none;user-select:none;width:fit-content;transform:scale(1)}.map-container .map-canvas me-nodes{position:relative;display:flex;justify-content:center;align-items:center;height:max-content;width:max-content;padding:var(--map-padding)}.map-container me-main>me-wrapper{position:relative;margin:var(--main-gap-y) var(--main-gap-x)}.map-container me-main>me-wrapper>me-parent{margin:10px;padding:0}.map-container me-main>me-wrapper>me-parent>me-tpc{border-radius:var(--main-radius);background-color:var(--main-bgcolor);border:2px solid var(--main-color);color:var(--main-color);padding:8px 25px}.map-container me-wrapper{display:block;pointer-events:none;width:fit-content}.map-container me-children,.map-container me-parent{display:inline-block;vertical-align:middle}.map-container me-root{position:relative;margin:45px 0;z-index:10}.map-container me-root me-tpc{font-size:25px;color:var(--root-color);padding:10px 30px;border-radius:var(--root-radius);border:var(--root-border-color) 2px solid;background-color:var(--root-bgcolor)}.map-container me-parent{position:relative;cursor:pointer;padding:6px var(--node-gap-x);margin-top:var(--node-gap-y);z-index:10}.map-container me-parent me-tpc{position:relative;border-radius:3px;color:var(--color);padding:var(--topic-padding)}.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;border-radius:3px}.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}@media (hover: hover){.map-container me-parent me-epd.minus:hover{opacity:.8}}@media (hover: none){.map-container me-parent me-epd.minus{opacity:.8}}.map-container .icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.map-container .lines,.map-container .summary,.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,.map-container .summary{pointer-events:none;z-index:20}.map-container .summary>g,.map-container .topiclinks>g{cursor:pointer;pointer-events:stroke;z-index:20}.map-container .label-container{z-index:21}.map-container .lines,.map-container .subLines{pointer-events:none}.map-container #input-box{position:absolute;top:0;left:0;width:max-content;max-width:35em;direction:ltr;-webkit-user-select:auto;user-select:auto;pointer-events:auto;color:var(--color);background-color:var(--bgcolor);outline:1px solid #ccc;border-radius:2px;z-index:100}.map-container me-tpc{display:block;max-width:35em;white-space:pre-wrap;pointer-events:all}.map-container me-tpc>*{pointer-events:none}.map-container me-tpc>a,.map-container me-tpc>iframe{pointer-events:auto}.map-container me-tpc>.text{display:inline-block}.map-container me-tpc>.text a{pointer-events:auto}.map-container me-tpc>img{display:block;margin-bottom:8px;object-fit:cover}.map-container .circle{position:absolute;height:10px;width:10px;margin-top:-5px;margin-left:-5px;border-radius:100%;background:#757575;border:2px solid #ffffff;z-index:50;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 4px 0 0;font-size:12px;line-height:1.3em}.map-container .icons{display:inline-block;direction:ltr;margin-left:5px}.map-container .icons span{display:inline-block;line-height:1.3em}.map-container .mind-elixir-ghost{position:fixed;top:-100%;left:-100%;box-sizing:content-box;opacity:.5;background-color:var(--main-bgcolor);border:2px solid var(--main-color);color:var(--main-color);max-width:200px;width:fit-content;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 16px;border-radius:6px}.map-container .selection-area{background:#4f90f22d;border:1px solid #4f90f2}.map-container .svg-label{position:absolute;left:0;top:0;display:flex;align-items:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;padding:2px;pointer-events:auto;cursor:pointer;z-index:10;max-width:200px;border-radius:3px;padding:var(--topic-padding)}.map-container h1{font-size:1.5rem;font-weight:700;color:var(--selected)}.map-container h2{font-size:1.25rem;font-weight:600;color:var(--selected)}.map-container h3{font-size:1.125rem;font-weight:600;color:var(--selected)}.map-container h4{font-size:1rem;font-weight:600;color:var(--selected)}.map-container h5{font-size:.875rem;font-weight:600;color:var(--selected)}.map-container h6{font-size:.875rem;font-weight:500;margin:.1rem 0;color:var(--selected);font-style:italic}.map-container strong.asterisk-emphasis,.map-container em{color:var(--selected)}.map-container strong.underscore-emphasis{background:rgba(255,235,59,.25);padding:.05em .15em;border-radius:.15em}.map-container a{color:var(--selected)}.map-container a:hover{color:var(--selected);text-decoration:underline}.map-container .context-menu{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99}.map-container .context-menu .menu-list{position:fixed;list-style:none;margin:0;padding:0;color:var(--panel-color);box-shadow:0 12px 15px #0003;border-radius:5px;overflow:hidden}.map-container .context-menu .menu-list li{min-width:200px;overflow:hidden;white-space:nowrap;padding:6px 10px;background:var(--panel-bgcolor);border-bottom:1px solid var(--panel-border-color);cursor:pointer}.map-container .context-menu .menu-list li span{line-height:20px}.map-container .context-menu .menu-list li a{color:#333;text-decoration:none}.map-container .context-menu .menu-list li.disabled{display:none}.map-container .context-menu .menu-list li:hover{filter:brightness(.95)}.map-container .context-menu .menu-list li:last-child{border-bottom:0}.map-container .context-menu .menu-list li span:last-child{float:right}.map-container .context-menu .key{font-size:10px;background-color:#f1f1f1;color:#333;padding:2px 5px;border-radius:3px}.map-container .tips{position:absolute;bottom:28px;left:50%;transform:translate(-50%);color:var(--panel-color);background:var(--panel-bgcolor);opacity:.8;padding:5px 10px;border-radius:5px;font-weight:700}.mind-elixir-toolbar{position:absolute;color:var(--panel-color);background:var(--panel-bgcolor);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}
|
package/dist/types/arrow.d.ts
CHANGED
|
@@ -76,7 +76,7 @@ export interface ArrowOptions {
|
|
|
76
76
|
style?: ArrowStyle;
|
|
77
77
|
}
|
|
78
78
|
export declare const createArrow: (this: MindElixirInstance, from: Topic, to: Topic, options?: ArrowOptions) => void;
|
|
79
|
-
export declare const createArrowFrom: (this: MindElixirInstance, arrow: Omit<Arrow,
|
|
79
|
+
export declare const createArrowFrom: (this: MindElixirInstance, arrow: Omit<Arrow, "id">) => void;
|
|
80
80
|
export declare const removeArrow: (this: MindElixirInstance, linkSvg?: CustomSvg) => void;
|
|
81
81
|
export declare const selectArrow: (this: MindElixirInstance, link: CustomSvg) => void;
|
|
82
82
|
export declare const unselectArrow: (this: MindElixirInstance) => void;
|
package/dist/types/docs.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import type { Arrow } from './arrow';
|
|
|
2
2
|
import type methods from './methods';
|
|
3
3
|
import type { MindElixirMethods } from './methods';
|
|
4
4
|
import type { Summary, SummarySvgGroup } from './summary';
|
|
5
|
-
import type { MindElixirData, MindElixirInstance, NodeObj, NodeObjExport, Options, Theme } from './types';
|
|
5
|
+
import type { MindElixirData, MindElixirInstance, NodeObj, NodeObjExport, Options, Theme, TagObj } from './types';
|
|
6
6
|
import type { MainLineParams, SubLineParams } from './utils/generateBranch';
|
|
7
7
|
import type { Locale } from './i18n';
|
|
8
|
-
export { methods, Theme, Options, MindElixirMethods, MindElixirInstance, MindElixirData, NodeObj, NodeObjExport, Summary, SummarySvgGroup, Arrow, MainLineParams, SubLineParams, Locale, };
|
|
8
|
+
export { methods, Theme, Options, MindElixirMethods, MindElixirInstance, MindElixirData, NodeObj, NodeObjExport, Summary, SummarySvgGroup, Arrow, MainLineParams, SubLineParams, Locale, TagObj, };
|
|
9
9
|
export type * from './types/dom';
|
|
10
10
|
export type * from './utils/pubsub';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ declare namespace MindElixir {
|
|
|
8
8
|
export var prototype: {
|
|
9
9
|
init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
|
|
10
10
|
destroy(this: Partial<MindElixirInstance>): void;
|
|
11
|
-
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string
|
|
12
|
-
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string
|
|
11
|
+
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Blob;
|
|
12
|
+
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Promise<Blob | null>;
|
|
13
13
|
createSummary: (this: MindElixirInstance, options?: import("./summary").SummaryOptions) => void;
|
|
14
14
|
createSummaryFrom: (this: MindElixirInstance, summary: Omit<import("./summary").Summary, "id">) => void;
|
|
15
15
|
removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
@@ -22,7 +22,7 @@ declare namespace MindElixir {
|
|
|
22
22
|
tidyArrow(this: MindElixirInstance): void;
|
|
23
23
|
createArrow: (this: MindElixirInstance, from: Topic, to: Topic, options?: import("./arrow").ArrowOptions) => void;
|
|
24
24
|
createArrowFrom: (this: MindElixirInstance, arrow: Omit<import("./arrow").Arrow, "id">) => void;
|
|
25
|
-
removeArrow: (this: MindElixirInstance, linkSvg?: import("./docs").CustomSvg
|
|
25
|
+
removeArrow: (this: MindElixirInstance, linkSvg?: import("./docs").CustomSvg) => void;
|
|
26
26
|
selectArrow: (this: MindElixirInstance, link: import("./docs").CustomSvg) => void;
|
|
27
27
|
unselectArrow: (this: MindElixirInstance) => void;
|
|
28
28
|
rmSubline: (this: MindElixirInstance, tpc: Topic) => Promise<void>;
|
|
@@ -41,7 +41,7 @@ declare namespace MindElixir {
|
|
|
41
41
|
beginEdit: (this: MindElixirInstance, el?: Topic | undefined) => Promise<void>;
|
|
42
42
|
setNodeTopic: (this: MindElixirInstance, el: Topic, topic: string) => Promise<void>;
|
|
43
43
|
scrollIntoView: (this: MindElixirInstance, el: HTMLElement) => void;
|
|
44
|
-
selectNode: (this: MindElixirInstance, tpc: Topic, isNewNode?: boolean
|
|
44
|
+
selectNode: (this: MindElixirInstance, tpc: Topic, isNewNode?: boolean, e?: MouseEvent) => void;
|
|
45
45
|
selectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
|
|
46
46
|
unselectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
|
|
47
47
|
clearSelection: (this: MindElixirInstance) => void;
|
|
@@ -63,15 +63,15 @@ declare namespace MindElixir {
|
|
|
63
63
|
initRight: (this: MindElixirInstance) => void;
|
|
64
64
|
initSide: (this: MindElixirInstance) => void;
|
|
65
65
|
setLocale: (this: MindElixirInstance, locale: import("./i18n").Locale) => void;
|
|
66
|
-
expandNode: (this: MindElixirInstance, el: Topic, isExpand?: boolean
|
|
67
|
-
expandNodeAll: (this: MindElixirInstance, el: Topic, isExpand?: boolean
|
|
68
|
-
refresh: (this: MindElixirInstance, data?: MindElixirData
|
|
66
|
+
expandNode: (this: MindElixirInstance, el: Topic, isExpand?: boolean) => void;
|
|
67
|
+
expandNodeAll: (this: MindElixirInstance, el: Topic, isExpand?: boolean) => void;
|
|
68
|
+
refresh: (this: MindElixirInstance, data?: MindElixirData) => void;
|
|
69
69
|
getObjById: (id: string, data: import("./docs").NodeObj) => import("./docs").NodeObj | null;
|
|
70
70
|
generateNewObj: (this: MindElixirInstance) => import("./docs").NodeObjExport;
|
|
71
71
|
layout: (this: MindElixirInstance) => void;
|
|
72
|
-
linkDiv: (this: MindElixirInstance, mainNode?: import("./docs").Wrapper
|
|
72
|
+
linkDiv: (this: MindElixirInstance, mainNode?: import("./docs").Wrapper) => void;
|
|
73
73
|
editTopic: (this: MindElixirInstance, el: Topic) => void;
|
|
74
|
-
createWrapper: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj, omitChildren?: boolean
|
|
74
|
+
createWrapper: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj, omitChildren?: boolean) => {
|
|
75
75
|
grp: import("./docs").Wrapper;
|
|
76
76
|
top: import("./docs").Parent;
|
|
77
77
|
tpc: Topic;
|
|
@@ -82,7 +82,7 @@ declare namespace MindElixir {
|
|
|
82
82
|
};
|
|
83
83
|
createChildren: (this: MindElixirInstance, wrappers: import("./docs").Wrapper[]) => import("./docs").Children;
|
|
84
84
|
createTopic: (this: MindElixirInstance, nodeObj: import("./docs").NodeObj) => Topic;
|
|
85
|
-
findEle: (this: MindElixirInstance, id: string, el?: HTMLElement
|
|
85
|
+
findEle: (this: MindElixirInstance, id: string, el?: HTMLElement) => Topic;
|
|
86
86
|
changeTheme: (this: MindElixirInstance, theme: import("./docs").Theme, shouldRefresh?: boolean) => void;
|
|
87
87
|
};
|
|
88
88
|
export var LEFT: number;
|
|
@@ -91,7 +91,7 @@ declare namespace MindElixir {
|
|
|
91
91
|
export var THEME: import("./docs").Theme;
|
|
92
92
|
export var DARK_THEME: import("./docs").Theme;
|
|
93
93
|
export var version: string;
|
|
94
|
-
export var E: (this: MindElixirInstance, id: string, el?: HTMLElement
|
|
94
|
+
export var E: (this: MindElixirInstance, id: string, el?: HTMLElement) => Topic;
|
|
95
95
|
var _a: (topic: string) => MindElixirData;
|
|
96
96
|
export { _a as new };
|
|
97
97
|
}
|
package/dist/types/methods.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export type MindElixirMethods = typeof methods;
|
|
|
13
13
|
declare const methods: {
|
|
14
14
|
init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
|
|
15
15
|
destroy(this: Partial<MindElixirInstance>): void;
|
|
16
|
-
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string
|
|
17
|
-
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string
|
|
16
|
+
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Blob;
|
|
17
|
+
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Promise<Blob | null>;
|
|
18
18
|
createSummary: (this: MindElixirInstance, options?: summary.SummaryOptions) => void;
|
|
19
19
|
createSummaryFrom: (this: MindElixirInstance, summary: Omit<summary.Summary, "id">) => void;
|
|
20
20
|
removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
@@ -23,32 +23,32 @@ declare const methods: {
|
|
|
23
23
|
renderSummary: (this: MindElixirInstance) => void;
|
|
24
24
|
editSummary: (this: MindElixirInstance, el: summary.SummarySvgGroup) => void;
|
|
25
25
|
renderArrow(this: MindElixirInstance): void;
|
|
26
|
-
editArrowLabel(this: MindElixirInstance, el: import("./
|
|
26
|
+
editArrowLabel(this: MindElixirInstance, el: import("./docs").CustomSvg): void;
|
|
27
27
|
tidyArrow(this: MindElixirInstance): void;
|
|
28
|
-
createArrow: (this: MindElixirInstance, from: import("./
|
|
28
|
+
createArrow: (this: MindElixirInstance, from: import("./docs").Topic, to: import("./docs").Topic, options?: arrow.ArrowOptions) => void;
|
|
29
29
|
createArrowFrom: (this: MindElixirInstance, arrow: Omit<arrow.Arrow, "id">) => void;
|
|
30
|
-
removeArrow: (this: MindElixirInstance, linkSvg?: import("./
|
|
31
|
-
selectArrow: (this: MindElixirInstance, link: import("./
|
|
30
|
+
removeArrow: (this: MindElixirInstance, linkSvg?: import("./docs").CustomSvg) => void;
|
|
31
|
+
selectArrow: (this: MindElixirInstance, link: import("./docs").CustomSvg) => void;
|
|
32
32
|
unselectArrow: (this: MindElixirInstance) => void;
|
|
33
|
-
rmSubline: (this: MindElixirInstance, tpc: import("./
|
|
34
|
-
reshapeNode: (this: MindElixirInstance, tpc: import("./
|
|
35
|
-
insertSibling: (this: MindElixirInstance, type: "before" | "after", el?: import("./
|
|
36
|
-
insertParent: (this: MindElixirInstance, el?: import("./
|
|
37
|
-
addChild: (this: MindElixirInstance, el?: import("./
|
|
38
|
-
copyNode: (this: MindElixirInstance, node: import("./
|
|
39
|
-
copyNodes: (this: MindElixirInstance, tpcs: import("./
|
|
40
|
-
moveUpNode: (this: MindElixirInstance, el?: import("./
|
|
41
|
-
moveDownNode: (this: MindElixirInstance, el?: import("./
|
|
42
|
-
removeNodes: (this: MindElixirInstance, tpcs: import("./
|
|
43
|
-
moveNodeIn: (this: MindElixirInstance, from: import("./
|
|
44
|
-
moveNodeBefore: (this: MindElixirInstance, from: import("./
|
|
45
|
-
moveNodeAfter: (this: MindElixirInstance, from: import("./
|
|
46
|
-
beginEdit: (this: MindElixirInstance, el?: import("./
|
|
47
|
-
setNodeTopic: (this: MindElixirInstance, el: import("./
|
|
33
|
+
rmSubline: (this: MindElixirInstance, tpc: import("./docs").Topic) => Promise<void>;
|
|
34
|
+
reshapeNode: (this: MindElixirInstance, tpc: import("./docs").Topic, patchData: Partial<import("./types").NodeObj>) => Promise<void>;
|
|
35
|
+
insertSibling: (this: MindElixirInstance, type: "before" | "after", el?: import("./docs").Topic | undefined, node?: import("./types").NodeObj | undefined) => Promise<void>;
|
|
36
|
+
insertParent: (this: MindElixirInstance, el?: import("./docs").Topic | undefined, node?: import("./types").NodeObj | undefined) => Promise<void>;
|
|
37
|
+
addChild: (this: MindElixirInstance, el?: import("./docs").Topic | undefined, node?: import("./types").NodeObj | undefined) => Promise<void>;
|
|
38
|
+
copyNode: (this: MindElixirInstance, node: import("./docs").Topic, to: import("./docs").Topic) => Promise<void>;
|
|
39
|
+
copyNodes: (this: MindElixirInstance, tpcs: import("./docs").Topic[], to: import("./docs").Topic) => Promise<void>;
|
|
40
|
+
moveUpNode: (this: MindElixirInstance, el?: import("./docs").Topic | undefined) => Promise<void>;
|
|
41
|
+
moveDownNode: (this: MindElixirInstance, el?: import("./docs").Topic | undefined) => Promise<void>;
|
|
42
|
+
removeNodes: (this: MindElixirInstance, tpcs: import("./docs").Topic[]) => Promise<void>;
|
|
43
|
+
moveNodeIn: (this: MindElixirInstance, from: import("./docs").Topic[], to: import("./docs").Topic) => Promise<void>;
|
|
44
|
+
moveNodeBefore: (this: MindElixirInstance, from: import("./docs").Topic[], to: import("./docs").Topic) => Promise<void>;
|
|
45
|
+
moveNodeAfter: (this: MindElixirInstance, from: import("./docs").Topic[], to: import("./docs").Topic) => Promise<void>;
|
|
46
|
+
beginEdit: (this: MindElixirInstance, el?: import("./docs").Topic | undefined) => Promise<void>;
|
|
47
|
+
setNodeTopic: (this: MindElixirInstance, el: import("./docs").Topic, topic: string) => Promise<void>;
|
|
48
48
|
scrollIntoView: (this: MindElixirInstance, el: HTMLElement) => void;
|
|
49
|
-
selectNode: (this: MindElixirInstance, tpc: import("./
|
|
50
|
-
selectNodes: (this: MindElixirInstance, tpc: import("./
|
|
51
|
-
unselectNodes: (this: MindElixirInstance, tpc: import("./
|
|
49
|
+
selectNode: (this: MindElixirInstance, tpc: import("./docs").Topic, isNewNode?: boolean, e?: MouseEvent) => void;
|
|
50
|
+
selectNodes: (this: MindElixirInstance, tpc: import("./docs").Topic[]) => void;
|
|
51
|
+
unselectNodes: (this: MindElixirInstance, tpc: import("./docs").Topic[]) => void;
|
|
52
52
|
clearSelection: (this: MindElixirInstance) => void;
|
|
53
53
|
getDataString: (this: MindElixirInstance) => string;
|
|
54
54
|
getData: (this: MindElixirInstance) => MindElixirData;
|
|
@@ -62,32 +62,32 @@ declare const methods: {
|
|
|
62
62
|
move: (this: MindElixirInstance, dx: number, dy: number, smooth?: boolean) => void;
|
|
63
63
|
toCenter: (this: MindElixirInstance) => void;
|
|
64
64
|
install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
|
|
65
|
-
focusNode: (this: MindElixirInstance, el: import("./
|
|
65
|
+
focusNode: (this: MindElixirInstance, el: import("./docs").Topic) => void;
|
|
66
66
|
cancelFocus: (this: MindElixirInstance) => void;
|
|
67
67
|
initLeft: (this: MindElixirInstance) => void;
|
|
68
68
|
initRight: (this: MindElixirInstance) => void;
|
|
69
69
|
initSide: (this: MindElixirInstance) => void;
|
|
70
70
|
setLocale: (this: MindElixirInstance, locale: import("./i18n").Locale) => void;
|
|
71
|
-
expandNode: (this: MindElixirInstance, el: import("./
|
|
72
|
-
expandNodeAll: (this: MindElixirInstance, el: import("./
|
|
73
|
-
refresh: (this: MindElixirInstance, data?: MindElixirData
|
|
71
|
+
expandNode: (this: MindElixirInstance, el: import("./docs").Topic, isExpand?: boolean) => void;
|
|
72
|
+
expandNodeAll: (this: MindElixirInstance, el: import("./docs").Topic, isExpand?: boolean) => void;
|
|
73
|
+
refresh: (this: MindElixirInstance, data?: MindElixirData) => void;
|
|
74
74
|
getObjById: (id: string, data: import("./types").NodeObj) => import("./types").NodeObj | null;
|
|
75
75
|
generateNewObj: (this: MindElixirInstance) => import("./types").NodeObjExport;
|
|
76
76
|
layout: (this: MindElixirInstance) => void;
|
|
77
|
-
linkDiv: (this: MindElixirInstance, mainNode?: import("./
|
|
78
|
-
editTopic: (this: MindElixirInstance, el: import("./
|
|
79
|
-
createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean
|
|
80
|
-
grp: import("./
|
|
81
|
-
top: import("./
|
|
82
|
-
tpc: import("./
|
|
77
|
+
linkDiv: (this: MindElixirInstance, mainNode?: import("./docs").Wrapper) => void;
|
|
78
|
+
editTopic: (this: MindElixirInstance, el: import("./docs").Topic) => void;
|
|
79
|
+
createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean) => {
|
|
80
|
+
grp: import("./docs").Wrapper;
|
|
81
|
+
top: import("./docs").Parent;
|
|
82
|
+
tpc: import("./docs").Topic;
|
|
83
83
|
};
|
|
84
84
|
createParent: (this: MindElixirInstance, nodeObj: import("./types").NodeObj) => {
|
|
85
|
-
p: import("./
|
|
86
|
-
tpc: import("./
|
|
85
|
+
p: import("./docs").Parent;
|
|
86
|
+
tpc: import("./docs").Topic;
|
|
87
87
|
};
|
|
88
|
-
createChildren: (this: MindElixirInstance, wrappers: import("./
|
|
89
|
-
createTopic: (this: MindElixirInstance, nodeObj: import("./types").NodeObj) => import("./
|
|
90
|
-
findEle: (this: MindElixirInstance, id: string, el?: HTMLElement
|
|
88
|
+
createChildren: (this: MindElixirInstance, wrappers: import("./docs").Wrapper[]) => import("./docs").Children;
|
|
89
|
+
createTopic: (this: MindElixirInstance, nodeObj: import("./types").NodeObj) => import("./docs").Topic;
|
|
90
|
+
findEle: (this: MindElixirInstance, id: string, el?: HTMLElement) => import("./docs").Topic;
|
|
91
91
|
changeTheme: (this: MindElixirInstance, theme: import("./types").Theme, shouldRefresh?: boolean) => void;
|
|
92
92
|
};
|
|
93
93
|
export default methods;
|
|
@@ -2,7 +2,7 @@ import type { Topic } from './types/dom';
|
|
|
2
2
|
import { type MindElixirInstance, type NodeObj } from './types/index';
|
|
3
3
|
export declare const rmSubline: (tpc: Topic) => void;
|
|
4
4
|
export declare const reshapeNode: (this: MindElixirInstance, tpc: Topic, patchData: Partial<NodeObj>) => void;
|
|
5
|
-
export declare const insertSibling: (this: MindElixirInstance, type:
|
|
5
|
+
export declare const insertSibling: (this: MindElixirInstance, type: "before" | "after", el?: Topic, node?: NodeObj) => void;
|
|
6
6
|
export declare const insertParent: (this: MindElixirInstance, el?: Topic, node?: NodeObj) => void;
|
|
7
7
|
export declare const addChild: (this: MindElixirInstance, el?: Topic, node?: NodeObj) => void;
|
|
8
8
|
export declare const copyNode: (this: MindElixirInstance, node: Topic, to: Topic) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { KeypressOptions, MindElixirInstance } from '../types/index';
|
|
2
|
-
export declare const handleZoom: (mei: MindElixirInstance, direction:
|
|
2
|
+
export declare const handleZoom: (mei: MindElixirInstance, direction: "in" | "out", offset?: {
|
|
3
3
|
x: number;
|
|
4
4
|
y: number;
|
|
5
5
|
}) => void;
|
package/dist/types/summary.d.ts
CHANGED
|
@@ -36,12 +36,12 @@ export interface Summary {
|
|
|
36
36
|
style?: SummaryStyle;
|
|
37
37
|
}
|
|
38
38
|
export type SummarySvgGroup = SVGGElement & {
|
|
39
|
-
children: [SVGPathElement
|
|
39
|
+
children: [SVGPathElement];
|
|
40
40
|
summaryObj: Summary;
|
|
41
41
|
labelEl?: HTMLDivElement;
|
|
42
42
|
};
|
|
43
43
|
export declare const createSummary: (this: MindElixirInstance, options?: SummaryOptions) => void;
|
|
44
|
-
export declare const createSummaryFrom: (this: MindElixirInstance, summary: Omit<Summary,
|
|
44
|
+
export declare const createSummaryFrom: (this: MindElixirInstance, summary: Omit<Summary, "id">) => void;
|
|
45
45
|
export declare const removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
46
46
|
export declare const selectSummary: (this: MindElixirInstance, el: SummarySvgGroup) => void;
|
|
47
47
|
export declare const unselectSummary: (this: MindElixirInstance) => void;
|
|
@@ -46,7 +46,6 @@ export type CustomLine = SVGPathElement;
|
|
|
46
46
|
export type CustomArrow = SVGPathElement;
|
|
47
47
|
export interface CustomSvg extends SVGGElement {
|
|
48
48
|
arrowObj: Arrow;
|
|
49
|
-
label: SVGForeignObjectElement;
|
|
50
49
|
labelEl?: HTMLDivElement;
|
|
51
50
|
line: SVGPathElement;
|
|
52
51
|
arrow1: SVGPathElement;
|
|
@@ -10,10 +10,11 @@ import type { ContextMenuOption } from '../plugin/contextMenu';
|
|
|
10
10
|
import type { createDragMoveHelper } from '../utils/dragMoveHelper';
|
|
11
11
|
import type SelectionArea from '@viselect/vanilla';
|
|
12
12
|
export { type MindElixirMethods } from '../methods';
|
|
13
|
-
export declare
|
|
14
|
-
LHS
|
|
15
|
-
RHS
|
|
16
|
-
}
|
|
13
|
+
export declare const DirectionClass: {
|
|
14
|
+
readonly LHS: "lhs";
|
|
15
|
+
readonly RHS: "rhs";
|
|
16
|
+
};
|
|
17
|
+
export type DirectionClass = (typeof DirectionClass)[keyof typeof DirectionClass];
|
|
17
18
|
type Before = Partial<{
|
|
18
19
|
[K in Operations]: (...args: Parameters<OperationMap[K]>) => Promise<boolean> | boolean;
|
|
19
20
|
}>;
|
|
@@ -82,7 +83,7 @@ export interface MindElixirInstance extends Omit<Required<Options>, 'markdown' |
|
|
|
82
83
|
currentArrow: CustomSvg | null;
|
|
83
84
|
waitCopy: Topic[] | null;
|
|
84
85
|
scaleVal: number;
|
|
85
|
-
tempDirection:
|
|
86
|
+
tempDirection: 0 | 1 | 2 | null;
|
|
86
87
|
container: HTMLElement;
|
|
87
88
|
map: HTMLElement;
|
|
88
89
|
root: HTMLElement;
|
|
@@ -119,7 +120,7 @@ type PathString = string;
|
|
|
119
120
|
*/
|
|
120
121
|
export interface Options {
|
|
121
122
|
el: string | HTMLElement;
|
|
122
|
-
direction?:
|
|
123
|
+
direction?: 0 | 1 | 2;
|
|
123
124
|
locale?: Locale;
|
|
124
125
|
draggable?: boolean;
|
|
125
126
|
editable?: boolean;
|
|
@@ -227,6 +228,6 @@ export type MindElixirData = {
|
|
|
227
228
|
nodeData: NodeObj;
|
|
228
229
|
arrows?: Arrow[];
|
|
229
230
|
summaries?: Summary[];
|
|
230
|
-
direction?:
|
|
231
|
+
direction?: 0 | 1 | 2;
|
|
231
232
|
theme?: Theme;
|
|
232
233
|
};
|