{"id":2107,"date":"2026-05-26T08:05:44","date_gmt":"2026-05-26T08:05:44","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/docs\/uncategorized\/mermaid-js-state-diagram-syntax-guide\/"},"modified":"2026-05-26T08:05:44","modified_gmt":"2026-05-26T08:05:44","slug":"mermaid-js-state-diagram-syntax-guide","status":"publish","type":"ld_docs","link":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/","title":{"rendered":"Guia de Sintaxe de Diagrama de Estados do Mermaid.js"},"content":{"rendered":"<h2>O que \u00e9 um Diagrama de Estados?<\/h2>\n<p>Um <strong>Diagrama de Estados<\/strong> (tamb\u00e9m conhecido como Statechart) \u00e9 um diagrama comportamental <strong>diagrama UML<\/strong> que modela o ciclo de vida finito de um \u00fanico objeto ou sub-sistema. Reconhecido como um tipo central <strong>tipo de diagrama UML<\/strong>, ele ilustra as condi\u00e7\u00f5es discretas (estados) que uma entidade pode ocupar, os eventos externos ou gatilhos que for\u00e7am uma mudan\u00e7a entre essas condi\u00e7\u00f5es (transi\u00e7\u00f5es) e os ramos condicionais de regras que alteram os caminhos de execu\u00e7\u00e3o. Essa representa\u00e7\u00e3o \u00e9 essencial para rastrear ciclos de vida complexos de objetos, como a progress\u00e3o de um pedido desde a execu\u00e7\u00e3o at\u00e9 a entrega, uma sequ\u00eancia de tempo limite de sess\u00e3o de usu\u00e1rio ou um loop de interruptor de hardware embutido.<\/p>\n<p>Com <strong>Mermaid.js<\/strong>, voc\u00ea pode definir suas m\u00e1quinas de estado reativas usando um esquema declarativo e baseado em texto. O motor de an\u00e1lise calcula automaticamente o espa\u00e7amento ideal para o layout, manipula setas de la\u00e7o recursivo e escala os limites dos cont\u00eaineres de estado de forma suave.<\/p>\n<h2>Guia de Sintaxe B\u00e1sica: Elementos e Constru\u00e7\u00f5es<\/h2>\n<p>Para projetar um diagrama de estados UML preciso e compat\u00edvel com padr\u00f5es no Mermaid, voc\u00ea deve dominar marcadores de entrada\/sa\u00edda, strings de transi\u00e7\u00e3o, aninhamento composto e blocos de escolha condicional.<\/p>\n<h3>1. Definindo Estados de Entrada, Sa\u00edda e Padr\u00e3o<\/h3>\n<p>Voc\u00ea inicializa uma tela de estado na primeira linha usando a <code>stateDiagram-v2<\/code>palavra-chave. Os ciclos de vida exigem pontos de in\u00edcio e parada expl\u00edcitos, representados pelo s\u00edmbolo de c\u00edrculo s\u00f3lido (<code>[*]<\/code>):<\/p>\n<ul>\n<li><strong>Estado Inicial (Entrada):<\/strong> <code>[*] --&gt; NomeDoEstado<\/code> (Marca onde o ciclo de vida come\u00e7a).<\/li>\n<li><strong>Estado Terminal (Sa\u00edda):<\/strong> <code>NomeDoEstado --&gt; [*]<\/code> (Marca onde o ciclo de vida conclui).<\/li>\n<\/ul>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmitWAVdXTsFz5ScVIgIiAUWAkoBAHu\/DUo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmitWAVdXTsF\/+TM\/OJ8iBiEDRYGSgMAwukPJg==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    [*] --&gt; Ocioso\r\n    Ocioso --&gt; [*]<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmitWAVdXTsF\/+TM\/OJ8iBiEDRYGSgMAwukPJg==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmitWAVdXTsFz5ScVIgIiAUWAkoBAHu\/DUo=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"SiHpwMe\"><img alt=\"\" class=\"alignnone size-full wp-image-634\" decoding=\"async\" height=\"184\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png\" width=\"60\"\/><\/p>\n<h3>2. Configurando Disparadores de Transi\u00e7\u00e3o e R\u00f3tulos de Evento<\/h3>\n<p>Para mapear uma mudan\u00e7a de estado, conecte seus tokens de estado definidos usando uma linha de seta padr\u00e3o (&#8220;<code>--&gt;<\/code>). Para documentar o evento exato, resposta da API ou clique no bot\u00e3o que causa essa transi\u00e7\u00e3o, acrescente dois pontos (&#8220;<code>:<\/code>) seguido pela sua string descritiva:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAAsfkksyyVAVdXTuF4NLigtS8lNQUBSuFgMTK3NS8ErfEzJzUFIhKhDRIMVSflYJnXll+ZnJqcGpJCVApAEGuIFE=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAAseSzLJ8BV1dO4Xg0uKC1Lziw4vzFawU3BJzMhL98gMS0xNzU\/NK8iGKkZSAdED0ghSXlBYlBpZmliSmJAIAzCkicQ==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    Ativo --&gt; Suspens\u00e3o : FalhaNoPagamento\r\n    Suspens\u00e3o --&gt; Ativo : FaturaQuitada<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAAseSzLJ8BV1dO4Xg0uKC1Lziw4vzFawU3BJzMhL98gMS0xNzU\/NK8iGKkZSAdED0ghSXlBYlBpZmliSmJAIAzCkicQ==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAAsfkksyyVAVdXTuF4NLigtS8lNQUBSuFgMTK3NS8ErfEzJzUFIhKhDRIMVSflYJnXll+ZnJqcGpJCVApAEGuIFE=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"djvhsUF\"><img alt=\"\" class=\"alignnone size-full wp-image-635\" decoding=\"async\" height=\"170\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904116de63.png\" width=\"245\"\/><\/p>\n<h3>3. Implementando Blocos de Escolha Condicionais<\/h3>\n<p>Para lidar com loops de avalia\u00e7\u00e3o ramificados, use o <code>&lt;&lt;escolha&gt;&gt;<\/code>estere\u00f3tipo. Isso cria uma forma clara em losango na tela que divide um \u00fanico caminho de transi\u00e7\u00e3o de entrada em m\u00faltiplos caminhos de sa\u00edda distintos com base em verifica\u00e7\u00f5es l\u00f3gicas em tempo de execu\u00e7\u00e3o:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmKQoEJyRmpydjyIXVqsYGOTnJGfmZxqZwdREq0Vq6Cra4eiCCKDog2kJKAoNTezNDe0OLVIwUohM00hKTEnMS85VcHOVsHQwACHruCSxLyUxKIUTG02IF0A7rQ5Ow==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgtTiksSUfIWy1KLMtMzkxKJ4IL+ktFjBxia1ODk\/JyPRzg6iMForVkFX1w5DJUQWQz9IaWhxaWJRZn5AUWpuZmmugpVCcapCcWIO0Do7WwVDAwMitCamFCXmI+u0AWkEAEQNQWY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    estado verificar_status &lt;&lt;escolha&gt;&gt;\r\n    [*] --&gt; verificar_status\r\n    verificar_status --&gt; UsuarioPremium : se saldo &gt;= 100\r\n    verificar_status --&gt; UsuarioPadrao : se saldo &lt; 100<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgtTiksSUfIWy1KLMtMzkxKJ4IL+ktFjBxia1ODk\/JyPRzg6iMForVkFX1w5DJUQWQz9IaWhxaWJRZn5AUWpuZmmugpVCcapCcWIO0Do7WwVDAwMitCamFCXmI+u0AWkEAEQNQWY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmKQoEJyRmpydjyIXVqsYGOTnJGfmZxqZwdREq0Vq6Cra4eiCCKDog2kJKAoNTezNDe0OLVIwUohM00hKTEnMS85VcHOVsHQwACHruCSxLyUxKIUTG02IF0A7rQ5Ow==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"HypodAD\"><img fetchpriority=\"high\" alt=\"\" class=\"alignnone size-full wp-image-636\" decoding=\"async\" fetchpriority=\"high\" height=\"222\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904161772d.png\" width=\"298\"\/><\/p>\n<h3>4. Estruturando Estados Compostos (Aninhados)<\/h3>\n<p>Ao modelar um sistema complexo, um \u00fanico estado de alto n\u00edvel pode conter sua pr\u00f3pria vida interna independente. Voc\u00ea pode criar uma estrutura de sub-estado aninhado definindo um estado pai seguido por um bloco de corpo envolto por chaves:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmKQoIJ\/UUpqUUBRfnJqcXFmXrpCNUQSBKK1YhV0de0UAhKTsxPTgZIIKbgQWIFPYlJqDly+FgAmQR80\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgtTiksSUfIWAovzk1OLixNzUvJJ8l\/yA1JRMoGg1RA0IRGvFKujq2im45iYl5iSmp+YipOBCYAVB+SWlSApqAXIYImM=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    estado ProcessamentoDoPedido {\r\n        [*] --&gt; Embalagem\r\n        Embalagem --&gt; Rotulagem\r\n    }<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgtTiksSUfIWAovzk1OLixNzUvJJ8l\/yA1JRMoGg1RA0IRGvFKujq2im45iYl5iSmp+YipOBCYAVB+SWlSApqAXIYImM=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorLkksSXXJTEwvSszVLTPi5VIAgmKQoIJ\/UUpqUUBRfnJqcXFmXrpCNUQSBKK1YhV0de0UAhKTsxPTgZIIKbgQWIFPYlJqDly+FgAmQR80\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite o Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"GxeUbLP\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-637\" decoding=\"async\" height=\"335\" loading=\"lazy\" sizes=\"auto, (max-width: 174px) 100vw, 174px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190419d2120.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190419d2120.png 174w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a190419d2120-156x300.png 156w\" width=\"174\"\/><\/p>\n<h2>Melhores Pr\u00e1ticas para Layouts Limpos de M\u00e1quinas de Estado<\/h2>\n<ul>\n<li><strong>Mantenha os Tokens de Estado Curto:<\/strong> Use strings de texto curtas em CamelCase para seus tokens de estado internos (por exemplo, <code>AguardandoReembolso<\/code>). Se voc\u00ea precisar de um t\u00edtulo descritivo longo na tela, use o <code>estado \"Bloco de Texto Descritivo\" como Token<\/code> sintaxe para criar um alias expl\u00edcito.<\/li>\n<li><strong>For\u00e7ar um \u00fanico ponto de entrada:<\/strong> Sempre comece seu diagrama a partir de um \u00fanico<code>[*]<\/code> n\u00f3. Ter m\u00faltiplos pontos de in\u00edcio pode confundir os usu\u00e1rios tentando rastrear o caminho de inicializa\u00e7\u00e3o raiz do sistema.<\/li>\n<li><strong>Sempre use stateDiagram-v2:<\/strong> Sempre escolha o<code>stateDiagram-v2<\/code> palavra-chave em vez da legada<code>stateDiagram<\/code> sinalizador. O motor de renderiza\u00e7\u00e3o v2 usa um algoritmo de layout atualizado que oferece roteamento de linhas mais limpo e alinhamentos melhores para caixas aninhadas.<\/li>\n<\/ul>\n<h2>Exemplos Reais de Diagramas de Estado Mermaid.js<\/h2>\n<h3>Exemplo 1: Ciclo de Vida de Transa\u00e7\u00e3o de Carteira Digital (Ramifica\u00e7\u00f5es de Escolha e Loops de Falha)<\/h3>\n<p>Este plano funcional modela o ciclo de vida de uma transa\u00e7\u00e3o de pagamento digital, mostrando como uma transa\u00e7\u00e3o se move a partir de um ponto inicial de submiss\u00e3o at\u00e9 um ramo de verifica\u00e7\u00e3o de fraude at\u00e9 estados finais no registro.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9kT9PwzAQxfdK\/Q6ekbIwVlWkQstUBMLdEEKHfbhW\/CeyzwG+PU5C3UBQPXi4e+\/9zudIQLjVoALYqrteLlg+sS+y9wBJvoojioat1+LotcC6Xi5GzfPVC6uqmh0CuMjTm9VEKMfe79ogm4at2O4TRSJ80rHZxIgxWnR0Sp5KC2HTtsF3OWzFehfjwgdke\/9xwXNnQKm\/lp3BDsqkk3lP6v+Q9+ASmHyDwvDQYQha4iXvFoXRbvDy\/NSg6eugLfpEM27B9GaORAb7bTyik9qpHHDrbV7kHmVmj765qoCzuDVIA\/kGXHOW8iRE3vSMX0btM\/KvTlrnsJ\/eN93zsSs=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkc9qwkAQxu+C77DnQi49igS0Db2kIMablDLdHePQZMfunyC+Tg99EF+su6aNC4ruceb7fvPNrHXg8JmgNtBm3eN4JMJD60Cx2Bjw6l1uUX6K6VRumSTm+XjUi9YPbyLLcrEyoG2hOwIFfSetnCQpaCKKPUrvwMw6aAgk8JKs5H9sqh3ws53hLtImYsHaeTj+HL9ZKBQnr5gD7eGGvyIdZh1uEIoGu2GBZI3EeS1NxR8GrTTk4BW0h+YFDWqHdwjLcAHbE1bY7riklhxWWPvQlZcphomRsECt4oySvjypeMCAeWK9IdOCKVHVaHrvFeUQIRhkE6txCy\/RWj7L5iEFX6QYUkdI+P6kdab99X4B61bDCQ==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    estado fraud_check &lt;&lt;choice&gt;&gt;\r\n\r\n    [*] --&gt; TransEnviada\r\n    TransEnviada --&gt; fraud_check : ExecutarAvaliacaoRisco\r\n\r\n    fraud_check --&gt; TransAprovada : Pontua\u00e7\u00e3o de Risco Baixa\r\n    fraud_check --&gt; TransSinalizada : Pontua\u00e7\u00e3o de Risco Elevada\r\n    \r\n    TransSinalizada --&gt; TransAprovada : SobrescritaManualGerente\r\n    TransSinalizada --&gt; TransRecusada : TempoLimiteSeguranca\r\n    \r\n    TransAprovada --&gt; PendenteLiquidacao : ConfirmarLedger\r\n    PendenteLiquidacao --&gt; TransConcluida : SucessoLiquidacaoBanco\r\n    \r\n    TransRecusada --&gt; [*]\r\n    TransConcluida --&gt; [*]<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkc9qwkAQxu+C77DnQi49igS0Db2kIMablDLdHePQZMfunyC+Tg99EF+su6aNC4ruceb7fvPNrHXg8JmgNtBm3eN4JMJD60Cx2Bjw6l1uUX6K6VRumSTm+XjUi9YPbyLLcrEyoG2hOwIFfSetnCQpaCKKPUrvwMw6aAgk8JKs5H9sqh3ws53hLtImYsHaeTj+HL9ZKBQnr5gD7eGGvyIdZh1uEIoGu2GBZI3EeS1NxR8GrTTk4BW0h+YFDWqHdwjLcAHbE1bY7riklhxWWPvQlZcphomRsECt4oySvjypeMCAeWK9IdOCKVHVaHrvFeUQIRhkE6txCy\/RWj7L5iEFX6QYUkdI+P6kdab99X4B61bDCQ==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9kT9PwzAQxfdK\/Q6ekbIwVlWkQstUBMLdEEKHfbhW\/CeyzwG+PU5C3UBQPXi4e+\/9zudIQLjVoALYqrteLlg+sS+y9wBJvoojioat1+LotcC6Xi5GzfPVC6uqmh0CuMjTm9VEKMfe79ogm4at2O4TRSJ80rHZxIgxWnR0Sp5KC2HTtsF3OWzFehfjwgdke\/9xwXNnQKm\/lp3BDsqkk3lP6v+Q9+ASmHyDwvDQYQha4iXvFoXRbvDy\/NSg6eugLfpEM27B9GaORAb7bTyik9qpHHDrbV7kHmVmj765qoCzuDVIA\/kGXHOW8iRE3vSMX0btM\/KvTlrnsJ\/eN93zsSs=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"FzzxFeh\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-638\" decoding=\"async\" height=\"742\" loading=\"lazy\" sizes=\"auto, (max-width: 397px) 100vw, 397px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19041e24943.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19041e24943.png 397w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19041e24943-161x300.png 161w\" width=\"397\"\/><\/p>\n<p><strong>An\u00e1lise da Sintaxe:<\/strong> Este fluxo de trabalho utiliza um<code>&lt;&lt;choice&gt;&gt;<\/code> bloco para avaliar pontua\u00e7\u00f5es de seguran\u00e7a logo no in\u00edcio. A transa\u00e7\u00e3o segue caminhos distintos com base nessas pontua\u00e7\u00f5es, com nomes de eventos claros (como<code>ExecutarAvaliacaoRisco<\/code>) documentados diretamente nas setas de transi\u00e7\u00e3o.<\/p>\n<h3>Exemplo 2: Pipeline de Cumprimento de Pedidos de E-Commerce (Sistemas Compostos Aninhados)<\/h3>\n<p>Este plano avan\u00e7ado de empresa descreve todo o ciclo de vida de envio e gerenciamento de pedidos, usando blocos compostos aninhados para mostrar as opera\u00e7\u00f5es internas que ocorrem na fase de cumprimento.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNplUEtPwzAMviPxH3JG6oXjDkis02DS0II4Ig6mcVdraVo5yUSF+O\/ksWop+BBF\/l62rQOHG4IjQ1+d729vRKj3uw9RVQ\/iwApZamhQZSC\/RTvRdmbrdUta92icWAkJU\/zVMDrPS6mNcX8E3xkqg3cOe0nNiczxChbNRHr1oMlNj15RTF2Da7qIz4mxFpwoesMmzLQeviRkp5VIoARrS+E\/XhTXwEzIL2CoRevEExrksJAKLnv4RC2ZjJttfsrFlyunSToaxyS92D6DUbaDE2bFjEfuBjWdkRP74N124EtnqgfTEvfLK1\/pURyO+gvdUZF9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptUU1LxDAQvQv+h5yFXjx6EEotIrjQZb2Jh9HMhkCTidNpL+J\/d9JUuy32EErex7w3GQQEHzw4hlBNt9dXRr\/XmzdTVfemQ+stNdTTB1gqWDm3yExuQzOGxD5gFDJ3pgMH838DSUbeGeAgWbgVfRXsMoKOQIEnwbBi691MqUfrhdjDcYTeW7Co059JsENHq+ofWon9Dj04DCd0mlKlf8Q6MU1gYfXYk7PBAaI\/ax16YYhDIs7FGB4xV1a7VvznmPNqTxyGxe37chnbLcyp4uSLvE7Ie+9FtXAKX1gj5eYNxbPnoEi5hDbU0Zan2Az9lWS9rvsHQTKg3A==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\r\n    [*] --&gt; PedidoColocado\r\n    \r\n    PedidoColocado --&gt; EmCumprimento : PagamentoCapturado\r\n    \r\n    estado EmCumprimento {\r\n        [*] --&gt; ColetaItem\r\n        ColetaItem --&gt; AuditoriaQualidade : LotePego\r\n        AuditoriaQualidade --&gt; EmbalagemSegura : AuditoriaAprovada\r\n        EmbalagemSegura --&gt; ManifestoTransportadoraGerado : EtiquetaImpressa\r\n    }\r\n    \r\n    EmCumprimento --&gt; Enviado : ApertoTransportadora\r\n    Enviado --&gt; Entregue : ConfirmadoEntregaEmAndamento\r\n    \r\n    Entregue --&gt; [*]<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptUU1LxDAQvQv+h5yFXjx6EEotIrjQZb2Jh9HMhkCTidNpL+J\/d9JUuy32EErex7w3GQQEHzw4hlBNt9dXRr\/XmzdTVfemQ+stNdTTB1gqWDm3yExuQzOGxD5gFDJ3pgMH838DSUbeGeAgWbgVfRXsMoKOQIEnwbBi691MqUfrhdjDcYTeW7Co059JsENHq+ofWon9Dj04DCd0mlKlf8Q6MU1gYfXYk7PBAaI\/ax16YYhDIs7FGB4xV1a7VvznmPNqTxyGxe37chnbLcyp4uSLvE7Ie+9FtXAKX1gj5eYNxbPnoEi5hDbU0Zan2Az9lWS9rvsHQTKg3A==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNplUEtPwzAMviPxH3JG6oXjDkis02DS0II4Ig6mcVdraVo5yUSF+O\/ksWop+BBF\/l62rQOHG4IjQ1+d729vRKj3uw9RVQ\/iwApZamhQZSC\/RTvRdmbrdUta92icWAkJU\/zVMDrPS6mNcX8E3xkqg3cOe0nNiczxChbNRHr1oMlNj15RTF2Da7qIz4mxFpwoesMmzLQeviRkp5VIoARrS+E\/XhTXwEzIL2CoRevEExrksJAKLnv4RC2ZjJttfsrFlyunSToaxyS92D6DUbaDE2bFjEfuBjWdkRP74N124EtnqgfTEvfLK1\/pURyO+gvdUZF9\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite Mermaid no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"TYltJdW\"><img loading=\"lazy\" alt=\"\" class=\"alignnone size-full wp-image-639\" decoding=\"async\" height=\"1083\" loading=\"lazy\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904232f697.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904232f697.png 381w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904232f697-106x300.png 106w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a1904232f697-360x1024.png 360w\" width=\"381\"\/><\/p>\n<p><strong>An\u00e1lise de Sintaxe:<\/strong> Ao envolver etapas dentro do <code>estado InFulfillment {...}<\/code> bloco corpo, voc\u00ea cria um limite estrutural claro na tela. O motor trata este bloco como um \u00fanico estado pai consolidado ao renderizar suas etapas internas de fluxo de trabalho sequencialmente, tornando os ciclos de vida complexos e multicamadas f\u00e1ceis de navegar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 um Diagrama de Estados? Um Diagrama de Estados (tamb\u00e9m conhecido como Statechart) \u00e9 um diagrama comportamental diagrama UML que modela o ciclo de vida finito de um \u00fanico objeto ou sub-sistema. Reconhecido como um tipo central tipo&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":5,"template":"","meta":{"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"ld_collection":[14],"class_list":["post-2107","ld_docs","type-ld_docs","status-publish","hentry","ld_collection-vpascode-docs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide<\/title>\n<meta name=\"description\" content=\"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide\" \/>\n<meta property=\"og:description\" content=\"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/\",\"name\":\"Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19040d605c9.png\",\"datePublished\":\"2026-05-26T08:05:44+00:00\",\"description\":\"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19040d605c9.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/img_6a19040d605c9.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/vpascode-docs\\\/mermaid-js-state-diagram-syntax-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lean Docs\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/docs\\\/%ld_collection%\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guia de Sintaxe de Diagrama de Estados do Mermaid.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide","description":"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/","og_locale":"pt_PT","og_type":"article","og_title":"Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide","og_description":"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.","og_url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/","og_site_name":"VPasCode","og_image":[{"url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/","url":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/","name":"Mermaid State Diagram Syntax | VPasCode Text to Diagram Guide","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png","datePublished":"2026-05-26T08:05:44+00:00","description":"Define system behavior and event triggers with Mermaid state diagrams in VPasCode, a cloud diagram-as-code tool.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/#primaryimage","url":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png","contentUrl":"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/05\/img_6a19040d605c9.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/docs\/vpascode-docs\/mermaid-js-state-diagram-syntax-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Lean Docs","item":"https:\/\/www.vpascode.com\/pt\/docs\/%ld_collection%\/"},{"@type":"ListItem","position":3,"name":"Guia de Sintaxe de Diagrama de Estados do Mermaid.js"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs\/2107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_docs"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/ld_docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2107"}],"wp:term":[{"taxonomy":"ld_collection","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/ld_collection?post=2107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}