<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.mind-elixir.com/pt-BR/blog</id>
    <title>Mind Elixir Core Blog</title>
    <updated>2025-07-04T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.mind-elixir.com/pt-BR/blog"/>
    <subtitle>Mind Elixir Core Blog</subtitle>
    <icon>https://docs.mind-elixir.com/pt-BR/img/favicon-64.png</icon>
    <entry>
        <title type="html"><![CDATA[Effortlessly Integrate Professional Mind Mapping into Your Web Projects - Mind Elixir Core]]></title>
        <id>https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir</id>
        <link href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir"/>
        <updated>2025-07-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A comprehensive guide on integrating mind mapping functionality into web projects using Mind Elixir Core. From basic installation to advanced customization, complete with code examples and best practices to help developers quickly master this powerful JavaScript mind mapping library.]]></summary>
        <content type="html"><![CDATA[<blockquote>
<p>[!NOTE]
This article was written for Mind Elixir Core 5.0. Version 6.0 is now available and changed DOM selectors, operation payloads, TypeScript types and the event map. The code below has been updated where needed — see the <a class="" href="https://docs.mind-elixir.com/pt-BR/docs/getting-started/migration-v6">v6 API Guide</a> for the current v6 API.</p>
</blockquote>
<p>In our information-rich era, we're constantly dealing with vast amounts of complex data and ideas. Traditional linear note-taking often fails to capture the dynamic nature and interconnections of our thoughts, while <strong>mind maps</strong> serve as an intuitive note-taking tool that helps us better organize ideas, structure knowledge, and spark creativity—all while being more user-friendly than whiteboards or drawing software.</p>
<!-- -->
<p>Whether you're building knowledge management platforms, educational websites, or collaboration tools, integrating mind mapping functionality can significantly enhance user experience, making complex information display and interaction more intuitive and efficient.</p>
<p>If you want to add mind mapping capabilities to your web projects, <a href="https://github.com/SSShooter/mind-elixir-core" target="_blank" rel="noopener noreferrer" class="">Mind Elixir Core</a> makes it possible to <strong>integrate professional-grade mind mapping with just a few lines of code</strong>. For instance, in a <strong>personal blog</strong>, you can use mind maps to visualize article knowledge structures or create interactive study notes—features that not only make content more engaging but also significantly boost your blog's professional appeal.</p>
<p><img decoding="async" loading="lazy" src="https://img.ssshooter.com/img/how-to-use-mind-elixir/screenshot.jpg" alt="Mind Elixir Core" class="img_Uzcm"></p>
<p>The open-source JavaScript mind mapping core <a href="https://github.com/SSShooter/mind-elixir-core" target="_blank" rel="noopener noreferrer" class="">Mind Elixir Core</a> offers these key features:</p>
<ul>
<li class=""><strong>Smooth User Experience</strong>
Fluid interactions with natural feedback, including mobile support.</li>
<li class=""><strong>Lightweight &amp; High Performance</strong>
Small footprint with fast loading and rendering, maintaining high frame rates even with complex diagrams.</li>
<li class=""><strong>Framework Agnostic</strong>
Easy integration with React, Vue, Svelte, or vanilla projects—works standalone or embedded.</li>
<li class=""><strong>Plugin Architecture</strong>
Flexible plugin system supporting official extensions and custom plugins for modular functionality.</li>
<li class=""><strong>PNG / HTML Export Support</strong>
Export mind maps as images or HTML pages for easy sharing and embedding.</li>
<li class=""><strong>Node Summaries &amp; Connections</strong>
Support for node summaries, connection lines, tags, and various node styles to meet different needs.</li>
<li class=""><strong>Undo / Redo Support</strong>
Complete operation history stack—any modification can be quickly reverted or redone with confidence.</li>
<li class=""><strong>Efficient Keyboard Shortcuts</strong>
Rich keyboard shortcuts to boost productivity for power users.</li>
<li class=""><strong>CSS Variable Customization</strong>
Easy control of node styles and overall themes through CSS variables for highly customized, beautiful layouts.</li>
</ul>
<p>Let's dive into how you can quickly integrate Mind Elixir Core into your projects! 🤗</p>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="super-simple-integration">Super Simple Integration<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#super-simple-integration" class="hash-link" aria-label="Link direto para Super Simple Integration" title="Link direto para Super Simple Integration" translate="no">​</a></h2>
<p>Install the dependency:</p>
<div class="language-bash codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-bash codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token plain">npm i mind-elixir -S</span><br></div></code></pre></div></div>
<p>Import Mind Elixir Core:</p>
<div class="language-javascript codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-javascript codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">MindElixir</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mind-elixir"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mind-elixir/style"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Versions 5.0+ require explicit style import</span><br></div></code></pre></div></div>
<p>Alternatively, you can include it directly via <code>script</code> tag:</p>
<div class="language-html codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-html codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">script</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">type</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">module</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">src</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">https://cdn.jsdelivr.net/npm/mind-elixir/dist/MindElixir.js</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token script"></span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">script</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><br></div></code></pre></div></div>
<p>Before initialization, we need to style your target mount element. Specifically, you need to <strong>give it explicit width and height dimensions</strong>, paying special attention to height. Any frontend developer who's wrestled with CSS knows that 100% height can be tricky to handle. Let's use a 500px tall div as an example.</p>
<div class="language-html codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-html codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">div</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">id</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">map</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">div</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">style</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token style language-css"></span><br></div><div class="token-line" style="color:#393A34"><span class="token style language-css">	</span><span class="token style language-css selector id" style="color:#00009f">#map</span><span class="token style language-css"> </span><span class="token style language-css punctuation" style="color:#393A34">{</span><span class="token style language-css"></span><br></div><div class="token-line" style="color:#393A34"><span class="token style language-css">		</span><span class="token style language-css property" style="color:#36acaa">height</span><span class="token style language-css punctuation" style="color:#393A34">:</span><span class="token style language-css"> </span><span class="token style language-css number" style="color:#36acaa">500</span><span class="token style language-css unit">px</span><span class="token style language-css punctuation" style="color:#393A34">;</span><span class="token style language-css"></span><br></div><div class="token-line" style="color:#393A34"><span class="token style language-css">		</span><span class="token style language-css property" style="color:#36acaa">width</span><span class="token style language-css punctuation" style="color:#393A34">:</span><span class="token style language-css"> </span><span class="token style language-css number" style="color:#36acaa">100</span><span class="token style language-css unit">%</span><span class="token style language-css punctuation" style="color:#393A34">;</span><span class="token style language-css"></span><br></div><div class="token-line" style="color:#393A34"><span class="token style language-css">	</span><span class="token style language-css punctuation" style="color:#393A34">}</span><span class="token style language-css"></span><br></div><div class="token-line" style="color:#393A34"><span class="token style language-css"></span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">style</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><br></div></code></pre></div></div>
<p>Next comes the actual initialization. If you don't need other initialization options, just pass in the mount element!</p>
<div class="language-javascript codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-javascript codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports maybe-class-name">MindElixir</span><span class="token plain"> </span><span class="token keyword module" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mind-elixir"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword module" style="color:#00009f">import</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"mind-elixir/style"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> options </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token literal-property property" style="color:#36acaa">el</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#map"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// or HTMLDivElement</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> mei </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">options</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> data </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token maybe-class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">new</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"new topic"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">mei</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">init</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">data</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>That's it—you've completed the most basic integration!</p>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/vEOqWjE" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/vEOqWjE</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="event-listening">Event Listening<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#event-listening" class="hash-link" aria-label="Link direto para Event Listening" title="Link direto para Event Listening" translate="no">​</a></h2>
<p>Once you've integrated mind mapping into your project, the most common requirement is event listening. You'll need to monitor various node operations and respond to user actions. For example, when a user creates a new node, you'll want to save it promptly.</p>
<p>Mind Elixir Core uses a <code>bus</code> to dispatch events—this term comes from the "event bus" concept, where all events are dispatched through this central "bus." Usage is similar to the browser's <code>addEventListener</code>; as long as you have access to the <code>bus</code>, you can listen for events anywhere.</p>
<p>This article was written against Mind Elixir Core 5.0, where the following events were available:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">type</span><span class="token plain"> </span><span class="token class-name">EventMap</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">operation</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">info</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Operation</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">selectNode</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">nodeObj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> e</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> MouseEvent</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">selectNewNode</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">nodeObj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">selectNodes</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">nodeObj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">unselectNodes</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">nodeObj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">expandNode</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">nodeObj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">linkDiv</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">scale</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">scale</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">move</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">data</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> dx</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> dy</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">updateArrowDelta</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">arrow</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Arrow</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function-variable function" style="color:#d73a49">showContextMenu</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">e</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> MouseEvent</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<blockquote>
<p>[!WARNING]
<strong>v6 changed the event map.</strong> The standalone <code>expandNode</code> event no longer exists: folding is reported through <code>operation</code> with the name <code>expandNode</code> or <code>collapseNode</code>. <code>selectNode</code> became <code>selectNodes</code> / <code>selectNewNode</code>, a <code>refresh</code> event was added, and operation payloads now use <code>target</code> / <code>destination</code> / <code>position</code> instead of <code>obj</code> / <code>objs</code> / <code>toObj</code> / <code>type</code>. See the <a class="" href="https://docs.mind-elixir.com/pt-BR/docs/getting-started/migration-v6">v6 API Guide</a>.</p>
</blockquote>
<p>Most node operation events are grouped under the <code>operation</code> event. Talk is cheap—add this to your project and try manipulating some nodes to see how it works:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token plain">mei</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">bus</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">addListener</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"operation"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">operation</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">operation</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>Sometimes event listening isn't enough. If you need to ensure data is inserted into the database before displaying it, you'll need <strong>operation interception</strong>. Add a <code>before</code> option to your <code>options</code>—this is an object where keys are the operations you want to intercept. If you need to intercept the <code>addChild</code> operation, you can write:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> mei </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token comment" style="color:#999988;font-style:italic">// ...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	before</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">addChild</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">el</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> obj</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token keyword" style="color:#00009f">try</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				</span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">saveToDatabase</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">obj</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				</span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">catch</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">error</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				</span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">error</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"Error adding child:"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> error</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				</span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">false</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>This way, the child node will only be added after <code>saveToDatabase()</code> runs successfully; if it fails, the insertion operation will be cancelled.</p>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/EajBbrM" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/EajBbrM</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="mind-map-redrawing">Mind Map Redrawing<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#mind-map-redrawing" class="hash-link" aria-label="Link direto para Mind Map Redrawing" title="Link direto para Mind Map Redrawing" translate="no">​</a></h2>
<p>Besides using Mind Elixir Core core's default behavior to update mind maps, you can also redraw mind maps by directly updating node data.</p>
<p>The complete node data structure is as follows:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">interface</span><span class="token plain"> </span><span class="token class-name">NodeObj</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	topic</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	id</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Uid</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	style</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		fontSize</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		color</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		background</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		fontWeight</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	children</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> NodeObj</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	tags</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	icons</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	hyperLink</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	expanded</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	direction</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Left </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> Right</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	image</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		url</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		width</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		height</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		fit</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"fill"</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"contain"</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"cover"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	branchColor</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	dangerouslySetInnerHTML</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	note</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>By modifying node data, you can insert <strong>images, tags, hyperlinks, and other</strong> elements into nodes. For example, you can read the current mind map data from the Mind Elixir Core instance's <code>nodeData</code>, modify it, and then call the <code>refresh</code> method to redraw the mind map.</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> data </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> mind</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">nodeData</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">data</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">data</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">topic </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> data</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">topic </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"new Data"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">mind</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">refresh</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>But what if you want to update the entire mind map with completely new data? That's possible too! Pass data that conforms to the Mind Elixir Core format to the <code>refresh</code> method, and you can instantly update the entire map.</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> data </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"https://esm.sh/mind-elixir/dist/example.js"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">mind</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">refresh</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">data</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/vEOqpOX" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/vEOqpOX</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="freedom-to-redesign">Freedom to Redesign<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#freedom-to-redesign" class="hash-link" aria-label="Link direto para Freedom to Redesign" title="Link direto para Freedom to Redesign" translate="no">​</a></h2>
<p>Mind Elixir Core gives you the freedom to completely redesign your mind maps.</p>
<p>First, you can easily adjust the overall style of your mind map through <code>theme</code> and <code>cssVar</code>. The core comes with two built-in themes: <code>MindElixir.DARK_THEME</code> and <code>MindElixir.THEME</code>. If you need a custom theme, you can create an object following the theme format and pass it to Mind Elixir Core.</p>
<p>Here's a complete Mind Elixir Core theme and how to use it:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">PROFESSIONAL_THEME</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	name</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Professional"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"light"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	palette</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"#2c2c2c"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#404040"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#555555"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#6a6a6a"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#7f7f7f"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#949494"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#a9a9a9"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	cssVar</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--node-gap-x"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"32px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--node-gap-y"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"12px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--main-gap-x"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"68px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--main-gap-y"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"48px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--root-radius"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"8px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--main-radius"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"6px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--root-color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#ffffff"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--root-bgcolor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#1a1a1a"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--root-border-color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#333333"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--main-color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#2c2c2c"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--main-bgcolor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#ffffff"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--topic-padding"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"4px"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#4a4a4a"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--bgcolor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#fafafa"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--selected"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#666666"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--panel-color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#2c2c2c"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--panel-bgcolor"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#ffffff"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token string-property property" style="color:#36acaa">"--panel-border-color"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#e0e0e0"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">let</span><span class="token plain"> mind </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	el</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#map"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	theme</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">PROFESSIONAL_THEME</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>Note that <code>data</code> itself can also contain a <code>theme</code>, which will override the <code>theme</code> in <code>options</code>. This ensures each mind map can have its own independent theme. If you need a fixed theme, remember to set the <code>data</code>'s <code>theme</code> to <code>undefined</code> during initialization.</p>
<p>P.S. If you want to modify the theme after initialization, you can use the <code>changeTheme</code> method.</p>
<p>The commonly used <code>main-gap</code> in <code>cssVar</code> can adjust the spacing between main nodes:</p>
<p><img decoding="async" loading="lazy" src="https://img.ssshooter.com/img/how-to-use-mind-elixir/main-gap.jpg" alt="Mind Elixir Core main-gap" class="img_Uzcm"></p>
<p>The <code>node-gap</code> can adjust the internal spacing of nodes:</p>
<p><img decoding="async" loading="lazy" src="https://img.ssshooter.com/img/how-to-use-mind-elixir/node-gap.png" alt="Mind Elixir Core node-gap" class="img_Uzcm"></p>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/azOgVKX" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/azOgVKX</a></p>
</blockquote>
<p>For other parameters that can't be adjusted through CSS variables, you can fine-tune them directly through CSS overrides.</p>
<p>Going deeper, you can adjust connection line styles through <code>generateMainBranch</code> and <code>generateSubBranch</code>. (See the CodePen link below for examples)</p>
<p>After writing appropriate <code>generateMainBranch</code> and <code>generateSubBranch</code> functions, if you find the expand/collapse button positions are off, you can fine-tune them with CSS.</p>
<blockquote>
<p>[!NOTE]
<strong>v6 selector update.</strong> Inner map elements are now <code>&lt;div&gt;</code> elements: tag selectors such as <code>me-main</code>, <code>me-wrapper</code>, <code>me-parent</code> and <code>me-epd</code> became class selectors, and direction classes are now <code>.me-main.lhs</code> / <code>.me-main.rhs</code> / <code>.me-main.down</code>. The snippet below uses the v6 selectors; on v5 use the tag selectors instead.</p>
</blockquote>
<p>The default styles are:</p>
<div class="language-less codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-less codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token plain">// Expand/collapse button styles for main nodes (direct children of root)</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.me-main &gt; .me-wrapper &gt; .me-parent &gt; .me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	top: 50%;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	transform: translateY(-50%);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">// Expand/collapse button styles for other child nodes</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	top: 100%;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	transform: translateY(-50%);</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">// Specific adjustments for left-side expand/collapse buttons</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.me-main.lhs {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	&amp; &gt; .me-wrapper &gt; .me-parent &gt; .me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		left: -10px;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	.me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		left: 5px;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">// Specific adjustments for right-side expand/collapse buttons</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">.me-main.rhs {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	&amp; &gt; .me-wrapper &gt; .me-parent &gt; .me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		right: -10px;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	.me-epd {</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		right: 5px;</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	}</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">}</span><br></div></code></pre></div></div>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/WNmZMmq" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/WNmZMmq</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="node-styling">Node Styling<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#node-styling" class="hash-link" aria-label="Link direto para Node Styling" title="Link direto para Node Styling" translate="no">​</a></h2>
<p>If you have customization needs for individual nodes beyond the overall style, nodes themselves can have <code>style</code> settings:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">//...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  fontSize</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  color</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  background</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  fontWeight</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// ...</span><br></div></code></pre></div></div>
<p>If you have <strong>very strong</strong> customization needs for nodes and feel these <code>style</code> configurations aren't nearly enough, no problem—we've got you covered!</p>
<p>You can get even more creative with <code>dangerouslySetInnerHTML</code>, for example:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> data </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	nodeData</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		id</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"me-root"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		topic</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Mind Elixir Core"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		tags</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"Mind Map Core"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		children</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				topic</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Customized Div"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				id</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"c00a2264f4532615"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				children</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">					</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">						topic</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">						id</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"c00a2264f4532614"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">						dangerouslySetInnerHTML</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">							</span><span class="token string" style="color:#e3116c">'&lt;div&gt;&lt;style&gt;.title{font-size:50px}&lt;/style&gt;&lt;div class="title"&gt;Title&lt;/div&gt;&lt;div style="color: red; font-size: 20px;"&gt;Hello world&lt;/div&gt;&lt;/div&gt;'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">					</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/MYwMrjZ" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/MYwMrjZ</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="exporting-images">Exporting Images<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#exporting-images" class="hash-link" aria-label="Link direto para Exporting Images" title="Link direto para Exporting Images" translate="no">​</a></h2>
<p>Thanks to <a href="https://github.com/qq15725/modern-screenshot" target="_blank" rel="noopener noreferrer" class="">modern-screenshot</a>, which cleverly converts divs to images using SVG while preserving everything intact. Basically, as long as you haven't done anything too crazy with <code>dangerouslySetInnerHTML</code> (like embedding videos), you can export images normally. <code>@ssshooter/modern-screenshot</code> adds an extra <code>padding</code> option to adjust screenshot margins.</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> domToPng </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@ssshooter/modern-screenshot"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">download</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> dataUrl </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">domToPng</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">mind</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">nodes</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token function-variable function" style="color:#d73a49">onCloneNode</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">node</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> n </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> node </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> HTMLDivElement</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			n</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">style</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">position </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			n</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">style</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">top </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			n</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">style</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">left </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			n</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">style</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">bottom </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			n</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">style</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">right </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">""</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		padding</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">300</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		quality</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> link </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> document</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">createElement</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"a"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	link</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">download </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"screenshot.png"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	link</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">href </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> dataUrl</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	link</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">click</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p>You can use <a href="https://github.com/qq15725/modern-screenshot" target="_blank" rel="noopener noreferrer" class="">modern-screenshot</a> directly or the recently released <a href="https://github.com/zumerlab/snapdom" target="_blank" rel="noopener noreferrer" class="">snapdom</a>. If you encounter incomplete screenshots (mainly incomplete summaries and connection lines), you can adjust <code>--map-padding</code> in <code>cssVar</code>.</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> snapdom </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"@zumer/snapdom"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">dl2</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">snapdom</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">mind</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">nodes</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> result</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">download</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> format</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"jpg"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> filename</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"my-capture"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<p><img decoding="async" loading="lazy" src="https://img.ssshooter.com/img/how-to-use-mind-elixir/map-padding.jpg" alt="Mind Elixir Core map-padding" class="img_Uzcm"></p>
<p>If you still get partial screenshots, it might be due to scale not being equal to 1. Try <strong>setting scale to 1</strong> before taking the screenshot, then restore the original size afterward.</p>
<blockquote>
<p>[!TIP]
Try it on CodePen: <a href="https://codepen.io/ssshooter/pen/NPqZXXB" target="_blank" rel="noopener noreferrer" class="">https://codepen.io/ssshooter/pen/NPqZXXB</a></p>
</blockquote>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="using-with-server-side-rendering-frameworks">Using with Server-Side Rendering Frameworks<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#using-with-server-side-rendering-frameworks" class="hash-link" aria-label="Link direto para Using with Server-Side Rendering Frameworks" title="Link direto para Using with Server-Side Rendering Frameworks" translate="no">​</a></h2>
<p>When using Mind Elixir Core in server-side rendering frameworks like Next.js, you'll often encounter issues like <code>window is not defined</code>. This is because Mind Elixir Core heavily relies on various DOM operations and <strong>cannot work properly in SSR environments</strong>.</p>
<p>To solve this problem, you can use <code>useEffect</code> to load Mind Elixir Core during client-side rendering. Here's a simple example:</p>
<div class="language-tsx codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-tsx codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token string" style="color:#e3116c">"use client"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:#393A34">{</span><span class="token imports"> useEffect </span><span class="token imports punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"react"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token imports punctuation" style="color:#393A34">{</span><span class="token imports"> mindMapExample </span><span class="token imports punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"./mapExample"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">export</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">MindMap</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> className </span><span class="token punctuation" style="color:#393A34">}</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> className</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token function" style="color:#d73a49">useEffect</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token keyword" style="color:#00009f">import</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"mind-elixir"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">then</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token maybe-class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> theme </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token maybe-class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">default</span><span class="token punctuation" style="color:#393A34">.</span><span class="token constant" style="color:#36acaa">DARK_THEME</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			theme</span><span class="token punctuation" style="color:#393A34">.</span><span class="token property-access">cssVar</span><span class="token punctuation" style="color:#393A34">[</span><span class="token string" style="color:#e3116c">"--bgcolor"</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"rgba(0,0,0,0)"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> mei </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MindElixir</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">default</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				el</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"#map"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				direction</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				theme</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			mei</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">init</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				nodeData</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> mindMapExample</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			mei</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">toCenter</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token dom variable" style="color:#36acaa">window</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">addEventListener</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"resize"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:#393A34">=&gt;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">				mei</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">toCenter</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">			</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">		</span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">div</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">id</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">wrapper</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag" style="color:#00009f"> </span><span class="token tag attr-name" style="color:#00a4db">className</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript" style="color:#00009f">className</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain-text">			</span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">div</span><span class="token tag" style="color:#00009f"></span><br></div><div class="token-line" style="color:#393A34"><span class="token tag" style="color:#00009f">				</span><span class="token tag attr-name" style="color:#00a4db">id</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">map</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag" style="color:#00009f"></span><br></div><div class="token-line" style="color:#393A34"><span class="token tag" style="color:#00009f">				</span><span class="token tag attr-name" style="color:#00a4db">className</span><span class="token tag attr-value punctuation attr-equals" style="color:#393A34">=</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag attr-value" style="color:#e3116c">pointer-events-none h-[50vh] w-screen</span><span class="token tag attr-value punctuation" style="color:#393A34">"</span><span class="token tag" style="color:#00009f"></span><br></div><div class="token-line" style="color:#393A34"><span class="token tag" style="color:#00009f">				</span><span class="token tag attr-name" style="color:#00a4db">onScroll</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:#393A34">=</span><span class="token tag script language-javascript punctuation" style="color:#393A34">{</span><span class="token tag script language-javascript punctuation" style="color:#393A34">(</span><span class="token tag script language-javascript" style="color:#00009f">e</span><span class="token tag script language-javascript punctuation" style="color:#393A34">)</span><span class="token tag script language-javascript" style="color:#00009f"> </span><span class="token tag script language-javascript arrow operator" style="color:#393A34">=&gt;</span><span class="token tag script language-javascript" style="color:#00009f"> e</span><span class="token tag script language-javascript punctuation" style="color:#393A34">.</span><span class="token tag script language-javascript method function property-access" style="color:#d73a49">preventDefault</span><span class="token tag script language-javascript punctuation" style="color:#393A34">(</span><span class="token tag script language-javascript punctuation" style="color:#393A34">)</span><span class="token tag script language-javascript punctuation" style="color:#393A34">}</span><span class="token tag" style="color:#00009f"></span><br></div><div class="token-line" style="color:#393A34"><span class="token tag" style="color:#00009f">			</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">div</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain-text"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain-text">		</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">div</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="other-mind-elixir-core-options">Other Mind Elixir Core Options<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#other-mind-elixir-core-options" class="hash-link" aria-label="Link direto para Other Mind Elixir Core Options" title="Link direto para Other Mind Elixir Core Options" translate="no">​</a></h2>
<p>Mind Elixir Core has many other configurable options:</p>
<div class="language-ts codeBlockContainer_mbDz theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_sf_J"><pre tabindex="0" class="prism-code language-ts codeBlock_Rhci thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_pksg"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">interface</span><span class="token plain"> </span><span class="token class-name">Options</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token comment" style="color:#999988;font-style:italic">// ...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	direction</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Node layout direction: 0 left, 1 right, 2 both sides</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	locale</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Locale</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Language selection</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	contextMenu</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> ContextMenuOption</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Enable right-click menu, can add options</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	toolBar</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Enable built-in toolbar</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	keypress</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> KeypressOptions</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Enable shortcuts, can add custom shortcuts</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	mouseSelectionButton</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Drag button, default right-click drag</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	before</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Before</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Operation interception mentioned above</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	newTopicName</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Default value for new nodes</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	allowUndo</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Enable undo/redo</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	overflowHidden</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Whether canvas can move, useful for mind map cards</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	alignment</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> Alignment</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// When set to 'nodes', canvas centers on mind map; when 'root', centers on root node (default)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	scaleSensitivity</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Zoom sensitivity for scroll wheel and menu</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	draggable</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Whether nodes can be dragged</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	editable</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Whether editable</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">	</span><span class="token comment" style="color:#999988;font-style:italic">// ...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_YaRH" id="conclusion">Conclusion<a href="https://docs.mind-elixir.com/pt-BR/blog/how-to-use-mind-elixir#conclusion" class="hash-link" aria-label="Link direto para Conclusion" title="Link direto para Conclusion" translate="no">​</a></h2>
<p>Through this guide, you should now have mastered Mind Elixir Core techniques from basic usage to advanced customization. If you encounter any issues during use, or have better ideas and suggestions, feel free to share in the comments or join the discussion on <a href="https://github.com/SSShooter/mind-elixir-core" target="_blank" rel="noopener noreferrer" class="">GitHub</a> and submit PRs! Let's make Mind Elixir Core even better together!</p>]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[O Mind Elixir Core 4.0 chegou!]]></title>
        <id>https://docs.mind-elixir.com/pt-BR/blog/mind-elixir-4</id>
        <link href="https://docs.mind-elixir.com/pt-BR/blog/mind-elixir-4"/>
        <updated>2024-02-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[O Mind Elixir Core 4.0 traz mais cores, edição múltipla de nós mais completa, exportação de imagens renovada, novos atalhos, inserção personalizada de nós e documentação reescrita, além de um guia de atualização de 3.x para 4.x.]]></summary>
        <content type="html"><![CDATA[<p>O Mind Elixir Core 4.0 chegou! Esta é uma versão major com muitos recursos e melhorias novas. Trabalhamos nela nos últimos meses e estamos animados para compartilhá-la com você.</p>
]]></content>
        <author>
            <name>Dejie Zhou</name>
            <uri>https://github.com/SSShooter</uri>
        </author>
        <category label="release" term="release"/>
    </entry>
</feed>