collab/mermaid/cypress/platform/state-refactor.htmlblame
View source
6dd74de1<html>
6dd74de2
6dd74de3<head>
6dd74de4 <link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet" />
6dd74de5 <link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />
6dd74de6 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/font-awesome.min.css" />
6dd74de7 <link href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css" rel="stylesheet" />
6dd74de8 <link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet" />
6dd74de9 <link rel="preconnect" href="https://fonts.googleapis.com" />
6dd74de10 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
6dd74de11 <link href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&display=swap" rel="stylesheet" />
6dd74de12 <link
6dd74de13 href="https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
6dd74de14 rel="stylesheet" />
6dd74de15 <link href="https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Rubik+Mono+One&display=swap"
6dd74de16 rel="stylesheet" />
6dd74de17
6dd74de18 <style>
6dd74de19 body {
6dd74de20 font-family: 'Arial';
6dd74de21 }
6dd74de22
6dd74de23 table {
6dd74de24 width: 100%;
6dd74de25 border-collapse: collapse;
6dd74de26 table-layout: fixed;
6dd74de27 }
6dd74de28
6dd74de29 th,
6dd74de30 td {
6dd74de31 border: 1px solid black;
6dd74de32 padding: 10px;
6dd74de33 text-align: center;
6dd74de34 vertical-align: middle;
6dd74de35 }
6dd74de36
6dd74de37 .separator {
6dd74de38 height: 20px;
6dd74de39 background-color: #f0f0f0;
6dd74de40 }
6dd74de41
6dd74de42 .vertical-header {
6dd74de43 text-align: center;
6dd74de44 }
6dd74de45
6dd74de46 .collapsible {
6dd74de47 background-color: #f9f9f9;
6dd74de48 color: #444;
6dd74de49 cursor: pointer;
6dd74de50 padding: 18px;
6dd74de51 width: 100%;
6dd74de52 border: none;
6dd74de53 text-align: left;
6dd74de54 outline: none;
6dd74de55 font-size: 15px;
6dd74de56 }
6dd74de57
6dd74de58 .active,
6dd74de59 .collapsible:hover {
6dd74de60 background-color: #ccc;
6dd74de61 }
6dd74de62
6dd74de63 .collapsible:after {
6dd74de64 content: '\002B';
6dd74de65 color: #777;
6dd74de66 font-weight: bold;
6dd74de67 float: right;
6dd74de68 margin-left: 2px;
6dd74de69 }
6dd74de70
6dd74de71 .active:after {
6dd74de72 content: "\2212";
6dd74de73 }
6dd74de74
6dd74de75 .content {
6dd74de76 padding: 0 5px;
6dd74de77 max-height: 0;
6dd74de78 overflow: hidden;
6dd74de79 transition: max-height 0.2s ease-out;
6dd74de80 background-color: #f1f1f1;
6dd74de81 }
6dd74de82
6dd74de83 .content .pre-scrollable {
6dd74de84 max-height: 200px;
6dd74de85 overflow-y: scroll;
6dd74de86 }
6dd74de87 </style>
6dd74de88</head>
6dd74de89
6dd74de90<body>
6dd74de91 <table>
6dd74de92 <tr>
6dd74de93 <th></th> <!-- Placeholder for the top left corner -->
6dd74de94 <th>Dagre</th>
6dd74de95 <th>Dagre with rough</th>
6dd74de96 <th>ELK</th>
6dd74de97 <th>ELK with rough</th>
6dd74de98 </tr>
6dd74de99 <tr>
6dd74de100 <th class="vertical-header">
6dd74de101 <button class="collapsible">Simple State (only id)</button>
6dd74de102 <div class="content">
6dd74de103 <div class="pre-scrollable">
6dd74de104 <pre>
6dd74de105 stateId
6dd74de106 </pre>
6dd74de107 </div>
6dd74de108 </div>
6dd74de109 </th>
6dd74de110 <td>
6dd74de111 <pre id="diagram1" class="mermaid">
6dd74de112stateDiagram-v2
6dd74de113 stateId
6dd74de114 </pre>
6dd74de115 </td>
6dd74de116 <td>
6dd74de117 <pre id="diagram2" class="mermaid">
6dd74de118%%{init: {"look": "handDrawn"} }%%
6dd74de119stateDiagram-v2
6dd74de120 stateId
6dd74de121
6dd74de122 </pre>
6dd74de123 </td>
6dd74de124 <td>
6dd74de125 <pre id="diagram3" class="mermaid">
6dd74de126%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de127stateDiagram-v2
6dd74de128 stateId
6dd74de129
6dd74de130 </pre>
6dd74de131 </td>
6dd74de132 <td>
6dd74de133 <pre id="diagram4" class="mermaid">
6dd74de134%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de135stateDiagram-v2
6dd74de136 stateId
6dd74de137
6dd74de138 </pre>
6dd74de139 </td>
6dd74de140 </tr>
6dd74de141 <!-- Separator row -->
6dd74de142 <tr class="separator">
6dd74de143 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de144 </tr>
6dd74de145 <tr>
6dd74de146 <th class="vertical-header">
6dd74de147 <button class="collapsible">State with description with `as` keyword</button>
6dd74de148 <div class="content">
6dd74de149 <div class="pre-scrollable">
6dd74de150 <pre>
6dd74de151
6dd74de152 state "description text" as s2
6dd74de153 </pre>
6dd74de154 </div>
6dd74de155 </div>
6dd74de156 </th>
6dd74de157 <td>
6dd74de158 <pre id="diagram1" class="mermaid">
6dd74de159stateDiagram-v2
6dd74de160 state "This is a state description" as s2
6dd74de161 </pre>
6dd74de162 </td>
6dd74de163 <td>
6dd74de164 <pre id="diagram2" class="mermaid">
6dd74de165%%{init: {"look": "handDrawn"} }%%
6dd74de166stateDiagram-v2
6dd74de167 state "This is a state description" as s3
6dd74de168 </pre>
6dd74de169 </td>
6dd74de170 <td>
6dd74de171 <pre id="diagram3" class="mermaid">
6dd74de172%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de173stateDiagram-v2
6dd74de174 state "This is a state description" as s4
6dd74de175 </pre>
6dd74de176 </td>
6dd74de177 <td>
6dd74de178 <pre id="diagram4" class="mermaid">
6dd74de179%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de180stateDiagram-v2
6dd74de181 state "This is a state description" as s5
6dd74de182 </pre>
6dd74de183 </td>
6dd74de184 </tr>
6dd74de185 <!-- Separator row -->
6dd74de186 <tr class="separator">
6dd74de187 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de188 </tr>
6dd74de189 <tr>
6dd74de190 <th class="vertical-header">
6dd74de191 <button class="collapsible">State with description with `:` syntax</button>
6dd74de192 <div class="content">
6dd74de193 <div class="pre-scrollable">
6dd74de194 <pre>
6dd74de195
6dd74de196 s2 : description text
6dd74de197 </pre>
6dd74de198 </div>
6dd74de199 </div>
6dd74de200 </th>
6dd74de201 <td>
6dd74de202 <pre id="diagram1" class="mermaid">
6dd74de203stateDiagram-v2
6dd74de204 s21 : This is a state description
6dd74de205 </pre>
6dd74de206 </td>
6dd74de207 <td>
6dd74de208 <pre id="diagram2" class="mermaid">
6dd74de209%%{init: {"look": "handDrawn"} }%%
6dd74de210stateDiagram-v2
6dd74de211 s22 : This is a state description
6dd74de212
6dd74de213 </pre>
6dd74de214 </td>
6dd74de215 <td>
6dd74de216 <pre id="diagram3" class="mermaid">
6dd74de217%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de218stateDiagram-v2
6dd74de219 s23 : This is a state description
6dd74de220
6dd74de221 </pre>
6dd74de222 </td>
6dd74de223 <td>
6dd74de224 <pre id="diagram4" class="mermaid">
6dd74de225%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de226stateDiagram-v2
6dd74de227 s24 : This is a state description
6dd74de228
6dd74de229 </pre>
6dd74de230 </td>
6dd74de231 </tr>
6dd74de232 <!-- Separator row -->
6dd74de233 <tr class="separator">
6dd74de234 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de235 </tr>
6dd74de236 <tr>
6dd74de237 <th class="vertical-header">
6dd74de238 <button class="collapsible">
6dd74de239 State with transition
6dd74de240 </button>
6dd74de241 <div class="content">
6dd74de242 <div class="pre-scrollable">
6dd74de243 <pre>
6dd74de244
6dd74de245 s1 --> s2
6dd74de246
6dd74de247 </pre>
6dd74de248 </div>
6dd74de249 </div>
6dd74de250 </th>
6dd74de251 <td>
6dd74de252 <pre id="diagram1" class="mermaid">
6dd74de253
6dd74de254 stateDiagram-v2
6dd74de255 s31 --> s32
6dd74de256
6dd74de257 </pre>
6dd74de258 </td>
6dd74de259 <td>
6dd74de260 <pre id="diagram2" class="mermaid">
6dd74de261%%{init: {"look": "handDrawn"} }%%
6dd74de262
6dd74de263 stateDiagram-v2
6dd74de264 s41 --> s42
6dd74de265
6dd74de266
6dd74de267 </pre>
6dd74de268 </td>
6dd74de269 <td>
6dd74de270 <pre id="diagram3" class="mermaid">
6dd74de271%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de272stateDiagram-v2
6dd74de273 s51 --> s52
6dd74de274
6dd74de275
6dd74de276 </pre>
6dd74de277 </td>
6dd74de278 <td>
6dd74de279 <pre id="diagram4" class="mermaid">
6dd74de280%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de281stateDiagram-v2
6dd74de282 s61 --> s62
6dd74de283
6dd74de284
6dd74de285 </pre>
6dd74de286 </td>
6dd74de287 </tr>
6dd74de288 <!-- Separator row -->
6dd74de289 <tr class="separator">
6dd74de290 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de291 </tr>
6dd74de292
6dd74de293 </tr>
6dd74de294 <tr>
6dd74de295 <th class="vertical-header">
6dd74de296 <button class="collapsible">
6dd74de297 State transition with label
6dd74de298 </button>
6dd74de299 <div class="content">
6dd74de300 <div class="pre-scrollable">
6dd74de301 <pre>
6dd74de302
6dd74de303 s1 --> s2: A transition
6dd74de304
6dd74de305 </pre>
6dd74de306 </div>
6dd74de307 </div>
6dd74de308 </th>
6dd74de309 <td>
6dd74de310 <pre id="diagram1" class="mermaid">
6dd74de311
6dd74de312 stateDiagram-v2
6dd74de313 a1 --> a2: A transition
6dd74de314
6dd74de315 </pre>
6dd74de316 </td>
6dd74de317 <td>
6dd74de318 <pre id="diagram2" class="mermaid">
6dd74de319%%{init: {"look": "handDrawn"} }%%
6dd74de320
6dd74de321 stateDiagram-v2
6dd74de322 a3 --> a4: A transition
6dd74de323
6dd74de324
6dd74de325 </pre>
6dd74de326 </td>
6dd74de327 <td>
6dd74de328 <pre id="diagram3" class="mermaid">
6dd74de329%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de330stateDiagram-v2
6dd74de331 a5 --> a6: A transition
6dd74de332
6dd74de333
6dd74de334 </pre>
6dd74de335 </td>
6dd74de336 <td>
6dd74de337 <pre id="diagram4" class="mermaid">
6dd74de338%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de339stateDiagram-v2
6dd74de340 a7 --> a8: A transition
6dd74de341
6dd74de342
6dd74de343 </pre>
6dd74de344 </td>
6dd74de345 </tr>
6dd74de346 <!-- Separator row -->
6dd74de347 <tr class="separator">
6dd74de348 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de349 </tr>
6dd74de350
6dd74de351 </tr>
6dd74de352 <tr>
6dd74de353 <th class="vertical-header">
6dd74de354 <button class="collapsible">
6dd74de355 Start & End
6dd74de356 </button>
6dd74de357 <div class="content">
6dd74de358 <div class="pre-scrollable">
6dd74de359 <pre>
6dd74de360
6dd74de361 [*] --> test
6dd74de362 test --> [*]
6dd74de363
6dd74de364 </pre>
6dd74de365 </div>
6dd74de366 </div>
6dd74de367 </th>
6dd74de368 <td>
6dd74de369 <pre id="diagram1" class="mermaid">
6dd74de370
6dd74de371 stateDiagram-v2
6dd74de372 [*] --> test
6dd74de373 test --> [*]
6dd74de374
6dd74de375 </pre>
6dd74de376 </td>
6dd74de377 <td>
6dd74de378 <pre id="diagram2" class="mermaid">
6dd74de379%%{init: {"look": "handDrawn"} }%%
6dd74de380
6dd74de381 stateDiagram-v2
6dd74de382 [*] --> test
6dd74de383 test --> [*]
6dd74de384
6dd74de385
6dd74de386 </pre>
6dd74de387 </td>
6dd74de388 <td>
6dd74de389 <pre id="diagram3" class="mermaid">
6dd74de390%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de391stateDiagram-v2
6dd74de392 [*] --> test
6dd74de393 test --> [*]
6dd74de394
6dd74de395
6dd74de396 </pre>
6dd74de397 </td>
6dd74de398 <td>
6dd74de399 <pre id="diagram4" class="mermaid">
6dd74de400%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de401stateDiagram-v2
6dd74de402 [*] --> test
6dd74de403 test --> [*]
6dd74de404
6dd74de405
6dd74de406 </pre>
6dd74de407 </td>
6dd74de408 </tr>
6dd74de409 <!-- Separator row -->
6dd74de410 <tr class="separator">
6dd74de411 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de412 </tr>
6dd74de413
6dd74de414 </tr>
6dd74de415 <tr>
6dd74de416 <th class="vertical-header">
6dd74de417 <button class="collapsible">
6dd74de418 Composite state
6dd74de419 </button>
6dd74de420 <div class="content">
6dd74de421 <div class="pre-scrollable">
6dd74de422 <pre>
6dd74de423
6dd74de424 [*] --> First
6dd74de425 state First {
6dd74de426 [*] --> second
6dd74de427 second --> [*]
6dd74de428 }
6dd74de429
6dd74de430 </pre>
6dd74de431 </div>
6dd74de432 </div>
6dd74de433 </th>
6dd74de434 <td>
6dd74de435 <pre id="diagram1" class="mermaid">
6dd74de436
6dd74de437 stateDiagram-v2
6dd74de438 [*] --> First
6dd74de439 state First {
6dd74de440 [*] --> second
6dd74de441 second --> [*]
6dd74de442 }
6dd74de443
6dd74de444 </pre>
6dd74de445 </td>
6dd74de446 <td>
6dd74de447 <pre id="diagram2" class="mermaid">
6dd74de448%%{init: {"look": "handDrawn"} }%%
6dd74de449
6dd74de450 stateDiagram-v2
6dd74de451 [*] --> First
6dd74de452 state First {
6dd74de453 [*] --> second
6dd74de454 second --> [*]
6dd74de455 }
6dd74de456
6dd74de457
6dd74de458 </pre>
6dd74de459 </td>
6dd74de460 <td>
6dd74de461 <pre id="diagram3" class="mermaid">
6dd74de462%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de463stateDiagram-v2
6dd74de464 [*] --> First
6dd74de465 state First {
6dd74de466 [*] --> second
6dd74de467 second --> [*]
6dd74de468 }
6dd74de469
6dd74de470
6dd74de471 </pre>
6dd74de472 </td>
6dd74de473 <td>
6dd74de474 <pre id="diagram4" class="mermaid">
6dd74de475%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de476stateDiagram-v2
6dd74de477 [*] --> First
6dd74de478 state First {
6dd74de479 [*] --> second
6dd74de480 second --> [*]
6dd74de481 }
6dd74de482
6dd74de483
6dd74de484 </pre>
6dd74de485 </td>
6dd74de486 </tr>
6dd74de487 <!-- Separator row -->
6dd74de488 <tr class="separator">
6dd74de489 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de490 </tr>
6dd74de491
6dd74de492
6dd74de493 </tr>
6dd74de494 <tr>
6dd74de495 <th class="vertical-header">
6dd74de496 <button class="collapsible">
6dd74de497 Nested Composite state
6dd74de498 </button>
6dd74de499 <div class="content">
6dd74de500 <div class="pre-scrollable">
6dd74de501 <pre>
6dd74de502
6dd74de503
6dd74de504 [*] --> Level1
6dd74de505
6dd74de506 state Level1 {
6dd74de507 [*] --> Level2
6dd74de508
6dd74de509 state Level2 {
6dd74de510 [*] --> level2
6dd74de511 level2 --> Level3
6dd74de512
6dd74de513 state Level3 {
6dd74de514 [*] --> level3
6dd74de515 level3 --> [*]
6dd74de516 }
6dd74de517 }
6dd74de518 }
6dd74de519
6dd74de520
6dd74de521 </pre>
6dd74de522 </div>
6dd74de523 </div>
6dd74de524 </th>
6dd74de525 <td>
6dd74de526 <pre id="diagram1" class="mermaid">
6dd74de527
6dd74de528 stateDiagram-v2
6dd74de529 [*] --> Level1
6dd74de530
6dd74de531 state Level1 {
6dd74de532 [*] --> Level2
6dd74de533
6dd74de534 state Level2 {
6dd74de535 [*] --> level2
6dd74de536 level2 --> Level3
6dd74de537
6dd74de538 state Level3 {
6dd74de539 [*] --> level3
6dd74de540 level3 --> [*]
6dd74de541 }
6dd74de542 }
6dd74de543 }
6dd74de544
6dd74de545
6dd74de546 </pre>
6dd74de547 </td>
6dd74de548 <td>
6dd74de549 <pre id="diagram2" class="mermaid">
6dd74de550%%{init: {"look": "handDrawn"} }%%
6dd74de551
6dd74de552 stateDiagram-v2
6dd74de553 [*] --> Level1
6dd74de554
6dd74de555 state Level1 {
6dd74de556 [*] --> Level2
6dd74de557
6dd74de558 state Level2 {
6dd74de559 [*] --> level2
6dd74de560 level2 --> Level3
6dd74de561
6dd74de562 state Level3 {
6dd74de563 [*] --> level3
6dd74de564 level3 --> [*]
6dd74de565 }
6dd74de566 }
6dd74de567 }
6dd74de568
6dd74de569
6dd74de570
6dd74de571 </pre>
6dd74de572 </td>
6dd74de573 <td>
6dd74de574 <pre id="diagram3" class="mermaid">
6dd74de575%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de576 stateDiagram-v2
6dd74de577 [*] --> Level1
6dd74de578
6dd74de579 state Level1 {
6dd74de580 [*] --> Level2
6dd74de581
6dd74de582 state Level2 {
6dd74de583 [*] --> level2
6dd74de584 level2 --> Level3
6dd74de585
6dd74de586 state Level3 {
6dd74de587 [*] --> level3
6dd74de588 level3 --> [*]
6dd74de589 }
6dd74de590 }
6dd74de591 }
6dd74de592
6dd74de593
6dd74de594 </pre>
6dd74de595 </td>
6dd74de596 <td>
6dd74de597 <pre id="diagram4" class="mermaid">
6dd74de598%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de599 stateDiagram-v2
6dd74de600 [*] --> Level1
6dd74de601
6dd74de602 state Level1 {
6dd74de603 [*] --> Level2
6dd74de604
6dd74de605 state Level2 {
6dd74de606 [*] --> level2
6dd74de607 level2 --> Level3
6dd74de608
6dd74de609 state Level3 {
6dd74de610 [*] --> level3
6dd74de611 level3 --> [*]
6dd74de612 }
6dd74de613 }
6dd74de614 }
6dd74de615
6dd74de616 </pre>
6dd74de617 </td>
6dd74de618 </tr>
6dd74de619 <!-- Separator row -->
6dd74de620 <tr class="separator">
6dd74de621 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de622 </tr>
6dd74de623
6dd74de624 <tr>
6dd74de625 <th class="vertical-header">
6dd74de626 <button class="collapsible">
6dd74de627 Composite state with transition
6dd74de628 </button>
6dd74de629 <div class="content">
6dd74de630 <div class="pre-scrollable">
6dd74de631 <pre>
6dd74de632 [*] --> B1
6dd74de633 B1 --> B2
6dd74de634 B1 --> B3
6dd74de635
6dd74de636 state B1 {
6dd74de637 [*] --> B11
6dd74de638 B11 --> [*]
6dd74de639 }
6dd74de640 state B2 {
6dd74de641 [*] --> B22
6dd74de642 B22 --> [*]
6dd74de643 }
6dd74de644 state B3 {
6dd74de645 [*] --> B33
6dd74de646 B33 --> [*]
6dd74de647 }
6dd74de648
6dd74de649
6dd74de650
6dd74de651 </pre>
6dd74de652 </div>
6dd74de653 </div>
6dd74de654 </th>
6dd74de655 <td>
6dd74de656 <pre id="diagram1" class="mermaid">
6dd74de657
6dd74de658 stateDiagram-v2
6dd74de659 [*] --> B1
6dd74de660 B1 --> B2
6dd74de661 B1 --> B3
6dd74de662
6dd74de663 state B1 {
6dd74de664 [*] --> B11
6dd74de665 B11 --> [*]
6dd74de666 }
6dd74de667 state B2 {
6dd74de668 [*] --> B22
6dd74de669 B22 --> [*]
6dd74de670 }
6dd74de671 state B3 {
6dd74de672 [*] --> B33
6dd74de673 B33 --> [*]
6dd74de674 }
6dd74de675 </pre>
6dd74de676 </td>
6dd74de677 <td>
6dd74de678 <pre id="diagram2" class="mermaid">
6dd74de679%%{init: {"look": "handDrawn"} }%%
6dd74de680
6dd74de681 stateDiagram-v2
6dd74de682 [*] --> B1
6dd74de683 B1 --> B2
6dd74de684 B1 --> B3
6dd74de685
6dd74de686 state B1 {
6dd74de687 [*] --> B11
6dd74de688 B11 --> [*]
6dd74de689 }
6dd74de690 state B2 {
6dd74de691 [*] --> B22
6dd74de692 B22 --> [*]
6dd74de693 }
6dd74de694 state B3 {
6dd74de695 [*] --> B33
6dd74de696 B33 --> [*]
6dd74de697 }
6dd74de698 </pre>
6dd74de699 </td>
6dd74de700 <td>
6dd74de701 <pre id="diagram3" class="mermaid">
6dd74de702%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de703 stateDiagram-v2
6dd74de704 [*] --> B1
6dd74de705 B1 --> B2
6dd74de706 B1 --> B3
6dd74de707
6dd74de708 state B1 {
6dd74de709 [*] --> B11
6dd74de710 B11 --> [*]
6dd74de711 }
6dd74de712 state B2 {
6dd74de713 [*] --> B22
6dd74de714 B22 --> [*]
6dd74de715 }
6dd74de716 state B3 {
6dd74de717 [*] --> B33
6dd74de718 B33 --> [*]
6dd74de719 }
6dd74de720
6dd74de721 </pre>
6dd74de722 </td>
6dd74de723 <td>
6dd74de724 <pre id="diagram4" class="mermaid">
6dd74de725%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de726 stateDiagram-v2
6dd74de727[*] --> B1
6dd74de728 B1 --> B2
6dd74de729 B1 --> B3
6dd74de730
6dd74de731 state B1 {
6dd74de732 [*] --> B11
6dd74de733 B11 --> [*]
6dd74de734 }
6dd74de735 state B2 {
6dd74de736 [*] --> B22
6dd74de737 B22 --> [*]
6dd74de738 }
6dd74de739 state B3 {
6dd74de740 [*] --> B33
6dd74de741 B33 --> [*]
6dd74de742 }
6dd74de743 </pre>
6dd74de744 </td>
6dd74de745 </tr>
6dd74de746 <!-- Separator row -->
6dd74de747 <tr class="separator">
6dd74de748 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de749 </tr>
6dd74de750
6dd74de751
6dd74de752 <tr>
6dd74de753 <th class="vertical-header">
6dd74de754 <button class="collapsible">
6dd74de755
6dd74de756 Choice
6dd74de757 </button>
6dd74de758 <div class="content">
6dd74de759 <div class="pre-scrollable">
6dd74de760 <pre>
6dd74de761 state if_state &lt;&lt;choice&gt;&gt;
6dd74de762 [*] --> IsPositive
6dd74de763 IsPositive --> if_state
6dd74de764 if_state --> False: if n < 0
6dd74de765 if_state --> True : if n >= 0
6dd74de766
6dd74de767
6dd74de768
6dd74de769
6dd74de770 </pre>
6dd74de771 </div>
6dd74de772 </div>
6dd74de773 </th>
6dd74de774 <td>
6dd74de775 <pre id="diagram1" class="mermaid">
6dd74de776
6dd74de777 stateDiagram-v2
6dd74de778 state if_state <<choice>>
6dd74de779 [*] --> IsPositive
6dd74de780 IsPositive --> if_state
6dd74de781 if_state --> False: if n < 0
6dd74de782 if_state --> True : if n >= 0
6dd74de783 </pre>
6dd74de784 </td>
6dd74de785 <td>
6dd74de786 <pre id="diagram2" class="mermaid">
6dd74de787%%{init: {"look": "handDrawn"} }%%
6dd74de788
6dd74de789 stateDiagram-v2
6dd74de790 state if_state <<choice>>
6dd74de791 [*] --> IsPositive
6dd74de792 IsPositive --> if_state
6dd74de793 if_state --> False: if n < 0
6dd74de794 if_state --> True : if n >= 0
6dd74de795 </pre>
6dd74de796 </td>
6dd74de797 <td>
6dd74de798 <pre id="diagram3" class="mermaid">
6dd74de799%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de800 stateDiagram-v2
6dd74de801 state if_state <<choice>>
6dd74de802 [*] --> IsPositive
6dd74de803 IsPositive --> if_state
6dd74de804 if_state --> False: if n < 0
6dd74de805 if_state --> True : if n >= 0
6dd74de806 </pre>
6dd74de807 </td>
6dd74de808 <td>
6dd74de809 <pre id="diagram4" class="mermaid">
6dd74de810%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de811 stateDiagram-v2
6dd74de812 state if_state <<choice>>
6dd74de813 [*] --> IsPositive
6dd74de814 IsPositive --> if_state
6dd74de815 if_state --> False: if n < 0
6dd74de816 if_state --> True : if n >= 0
6dd74de817 </pre>
6dd74de818 </td>
6dd74de819 </tr>
6dd74de820 <!-- Separator row -->
6dd74de821 <tr class="separator">
6dd74de822 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de823 </tr>
6dd74de824
6dd74de825 <tr>
6dd74de826 <th class="vertical-header">
6dd74de827 <button class="collapsible">
6dd74de828 Fork & Join
6dd74de829 </button>
6dd74de830 <div class="content">
6dd74de831 <div class="pre-scrollable">
6dd74de832 <pre>
6dd74de833 state fork_state &lt;&lt;fork&gt;&gt;
6dd74de834 [*] --> fork_state
6dd74de835 fork_state --> State2
6dd74de836 fork_state --> State3
6dd74de837
6dd74de838 state join_state &lt;&lt;join&gt;&gt;
6dd74de839 State2 --> join_state
6dd74de840 State3 --> join_state
6dd74de841 join_state --> State4
6dd74de842 State4 --> [*]
6dd74de843
6dd74de844
6dd74de845
6dd74de846 </pre>
6dd74de847 </div>
6dd74de848 </div>
6dd74de849 </th>
6dd74de850 <td>
6dd74de851 <pre id="diagram1" class="mermaid">
6dd74de852 stateDiagram-v2
6dd74de853 state fork_state <<fork>>
6dd74de854 [*] --> fork_state
6dd74de855 fork_state --> State2
6dd74de856 fork_state --> State3
6dd74de857
6dd74de858 state join_state <<join>>
6dd74de859 State2 --> join_state
6dd74de860 State3 --> join_state
6dd74de861 join_state --> State4
6dd74de862 State4 --> [*]
6dd74de863
6dd74de864 </pre>
6dd74de865 </td>
6dd74de866 <td>
6dd74de867 <pre id="diagram2" class="mermaid">
6dd74de868%%{init: {"look": "handDrawn"} }%%
6dd74de869 stateDiagram-v2
6dd74de870 state fork_state <<fork>>
6dd74de871 [*] --> fork_state
6dd74de872 fork_state --> State2
6dd74de873 fork_state --> State3
6dd74de874
6dd74de875 state join_state <<join>>
6dd74de876 State2 --> join_state
6dd74de877 State3 --> join_state
6dd74de878 join_state --> State4
6dd74de879 State4 --> [*]
6dd74de880
6dd74de881 </pre>
6dd74de882 </td>
6dd74de883 <td>
6dd74de884 <pre id="diagram3" class="mermaid">
6dd74de885%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de886 stateDiagram-v2
6dd74de887 state fork_state <<fork>>
6dd74de888 [*] --> fork_state
6dd74de889 fork_state --> State2
6dd74de890 fork_state --> State3
6dd74de891
6dd74de892 state join_state <<join>>
6dd74de893 State2 --> join_state
6dd74de894 State3 --> join_state
6dd74de895 join_state --> State4
6dd74de896 State4 --> [*]
6dd74de897
6dd74de898 </pre>
6dd74de899 </td>
6dd74de900 <td>
6dd74de901 <pre id="diagram4" class="mermaid">
6dd74de902%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de903 stateDiagram-v2
6dd74de904 state fork_state <<fork>>
6dd74de905 [*] --> fork_state
6dd74de906 fork_state --> State2
6dd74de907 fork_state --> State3
6dd74de908
6dd74de909 state join_state <<join>>
6dd74de910 State2 --> join_state
6dd74de911 State3 --> join_state
6dd74de912 join_state --> State4
6dd74de913 State4 --> [*]
6dd74de914
6dd74de915 </pre>
6dd74de916 </td>
6dd74de917 </tr>
6dd74de918 <!-- Separator row -->
6dd74de919 <tr class="separator">
6dd74de920 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de921 </tr>
6dd74de922
6dd74de923 <tr>
6dd74de924 <th class="vertical-header">
6dd74de925 <button class="collapsible">
6dd74de926 Notes
6dd74de927 </button>
6dd74de928 <div class="content">
6dd74de929 <div class="pre-scrollable">
6dd74de930 <pre>
6dd74de931
6dd74de932 TN1: The state with a note
6dd74de933 note right of TN1
6dd74de934 note text
6dd74de935 end note
6dd74de936 TN1 --> TN2
6dd74de937 note left of TN2 : note text
6dd74de938
6dd74de939 </pre>
6dd74de940 </div>
6dd74de941 </div>
6dd74de942 </th>
6dd74de943 <td>
6dd74de944 <pre id="diagram1" class="mermaid">
6dd74de945 stateDiagram-v2
6dd74de946 TN1: The state with a note
6dd74de947 note right of TN1
6dd74de948 Important information! You can write
6dd74de949 notes.
6dd74de950 end note
6dd74de951 TN1 --> TN2
6dd74de952 note left of TN2 : This is the note to the left.
6dd74de953
6dd74de954 </pre>
6dd74de955 </td>
6dd74de956 <td>
6dd74de957 <pre id="diagram2" class="mermaid">
6dd74de958%%{init: {"look": "handDrawn"} }%%
6dd74de959 stateDiagram-v2
6dd74de960 TN3: The state with a note
6dd74de961 note right of TN3
6dd74de962 Important information! You can write
6dd74de963 notes.
6dd74de964 end note
6dd74de965 TN3 --> TN4
6dd74de966 note left of TN4 : This is the note to the left.
6dd74de967 </pre>
6dd74de968 </td>
6dd74de969 <td>
6dd74de970 <pre id="diagram3" class="mermaid">
6dd74de971%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de972 stateDiagram-v2
6dd74de973 TN5: The state with a note
6dd74de974 note right of TN5
6dd74de975 Important information! You can write
6dd74de976 notes.
6dd74de977 end note
6dd74de978 TN5 --> TN6
6dd74de979 note left of TN6 : This is the note to the left.
6dd74de980
6dd74de981 </pre>
6dd74de982 </td>
6dd74de983 <td>
6dd74de984 <pre id="diagram4" class="mermaid">
6dd74de985%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de986 stateDiagram-v2
6dd74de987 TN7: The state with a note
6dd74de988 note right of TN7
6dd74de989 Important information! You can write
6dd74de990 notes.
6dd74de991 end note
6dd74de992 TN7 --> TN8
6dd74de993 note left of TN8 : This is the note to the left.
6dd74de994 </pre>
6dd74de995 </td>
6dd74de996 </tr>
6dd74de997 <!-- Separator row -->
6dd74de998 <tr class="separator">
6dd74de999 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de1000 </tr>
6dd74de1001
6dd74de1002
6dd74de1003 <tr>
6dd74de1004 <th class="vertical-header">
6dd74de1005 <button class="collapsible">
6dd74de1006 Concurrent states
6dd74de1007 </button>
6dd74de1008 <div class="content">
6dd74de1009 <div class="pre-scrollable">
6dd74de1010 <pre>
6dd74de1011[*] --> Active
6dd74de1012
6dd74de1013state Active {
6dd74de1014 [*] --> NumLockOff
6dd74de1015 NumLockOff --> NumLockOn : EvNumLockPressed
6dd74de1016 NumLockOn --> NumLockOff : EvNumLockPressed
6dd74de1017 --
6dd74de1018 [*] --> CapsLockOff
6dd74de1019 CapsLockOff --> CapsLockOn : EvCapsLockPressed
6dd74de1020 CapsLockOn --> CapsLockOff : EvCapsLockPressed
6dd74de1021 --
6dd74de1022 [*] --> ScrollLockOff
6dd74de1023 ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
6dd74de1024 ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
6dd74de1025}
6dd74de1026
6dd74de1027
6dd74de1028 </pre>
6dd74de1029 </div>
6dd74de1030 </div>
6dd74de1031 </th>
6dd74de1032 <td>
6dd74de1033 <pre id="diagram1" class="mermaid">
6dd74de1034 stateDiagram-v2
6dd74de1035 [*] --> Active
6dd74de1036
6dd74de1037 state Active {
6dd74de1038 [*] --> NumLockOff
6dd74de1039 NumLockOff --> NumLockOn : EvNumLockPressed
6dd74de1040 NumLockOn --> NumLockOff : EvNumLockPressed
6dd74de1041 --
6dd74de1042 [*] --> CapsLockOff
6dd74de1043 CapsLockOff --> CapsLockOn : EvCapsLockPressed
6dd74de1044 CapsLockOn --> CapsLockOff : EvCapsLockPressed
6dd74de1045 --
6dd74de1046 [*] --> ScrollLockOff
6dd74de1047 ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
6dd74de1048 ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
6dd74de1049 }
6dd74de1050
6dd74de1051 </pre>
6dd74de1052 </td>
6dd74de1053 <td>
6dd74de1054 <pre id="diagram2" class="mermaid">
6dd74de1055%%{init: {"look": "handDrawn"} }%%
6dd74de1056 stateDiagram-v2
6dd74de1057 [*] --> Active
6dd74de1058
6dd74de1059 state Active {
6dd74de1060 [*] --> NumLockOff
6dd74de1061 NumLockOff --> NumLockOn : EvNumLockPressed
6dd74de1062 NumLockOn --> NumLockOff : EvNumLockPressed
6dd74de1063 --
6dd74de1064 [*] --> CapsLockOff
6dd74de1065 CapsLockOff --> CapsLockOn : EvCapsLockPressed
6dd74de1066 CapsLockOn --> CapsLockOff : EvCapsLockPressed
6dd74de1067 --
6dd74de1068 [*] --> ScrollLockOff
6dd74de1069 ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
6dd74de1070 ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
6dd74de1071 }
6dd74de1072 </pre>
6dd74de1073 </td>
6dd74de1074 <td>
6dd74de1075 <pre id="diagram3" class="mermaid">
6dd74de1076%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de1077 stateDiagram-v2
6dd74de1078 [*] --> Active
6dd74de1079
6dd74de1080 state Active {
6dd74de1081 [*] --> NumLockOff
6dd74de1082 NumLockOff --> NumLockOn : EvNumLockPressed
6dd74de1083 NumLockOn --> NumLockOff : EvNumLockPressed
6dd74de1084 --
6dd74de1085 [*] --> CapsLockOff
6dd74de1086 CapsLockOff --> CapsLockOn : EvCapsLockPressed
6dd74de1087 CapsLockOn --> CapsLockOff : EvCapsLockPressed
6dd74de1088 --
6dd74de1089 [*] --> ScrollLockOff
6dd74de1090 ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
6dd74de1091 ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
6dd74de1092 }
6dd74de1093
6dd74de1094 </pre>
6dd74de1095 </td>
6dd74de1096 <td>
6dd74de1097 <pre id="diagram4" class="mermaid">
6dd74de1098%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de1099 stateDiagram-v2
6dd74de1100 [*] --> Active
6dd74de1101
6dd74de1102 state Active {
6dd74de1103 [*] --> NumLockOff
6dd74de1104 NumLockOff --> NumLockOn : EvNumLockPressed
6dd74de1105 NumLockOn --> NumLockOff : EvNumLockPressed
6dd74de1106 --
6dd74de1107 [*] --> CapsLockOff
6dd74de1108 CapsLockOff --> CapsLockOn : EvCapsLockPressed
6dd74de1109 CapsLockOn --> CapsLockOff : EvCapsLockPressed
6dd74de1110 --
6dd74de1111 [*] --> ScrollLockOff
6dd74de1112 ScrollLockOff --> ScrollLockOn : EvScrollLockPressed
6dd74de1113 ScrollLockOn --> ScrollLockOff : EvScrollLockPressed
6dd74de1114 }
6dd74de1115 </pre>
6dd74de1116 </td>
6dd74de1117 </tr>
6dd74de1118
6dd74de1119
6dd74de1120 <!-- Separator row -->
6dd74de1121 <tr class="separator">
6dd74de1122 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de1123 </tr>
6dd74de1124
6dd74de1125 <tr>
6dd74de1126 <th class="vertical-header">
6dd74de1127 <button class="collapsible">
6dd74de1128 Directions
6dd74de1129 </button>
6dd74de1130 <div class="content">
6dd74de1131 <div class="pre-scrollable">
6dd74de1132 <pre>
6dd74de1133direction LR
6dd74de1134 [*] --> D1
6dd74de1135 D1 --> D2
6dd74de1136 D2 --> D3
6dd74de1137 state D3 {
6dd74de1138 direction TB
6dd74de1139 D11 --> D22
6dd74de1140 }
6dd74de1141 D2 --> D4
6dd74de1142 </pre>
6dd74de1143 </div>
6dd74de1144 </div>
6dd74de1145 </th>
6dd74de1146 <td>
6dd74de1147 <pre id="diagram1" class="mermaid">
6dd74de1148 stateDiagram-v2
6dd74de1149 direction LR
6dd74de1150 [*] --> D1
6dd74de1151 D1 --> D2
6dd74de1152 D2 --> D3
6dd74de1153 state D3 {
6dd74de1154 direction TB
6dd74de1155 D11 --> D22
6dd74de1156 }
6dd74de1157 D2 --> D4
6dd74de1158 </pre>
6dd74de1159 </td>
6dd74de1160 <td>
6dd74de1161 <pre id="diagram2" class="mermaid">
6dd74de1162%%{init: {"look": "handDrawn"} }%%
6dd74de1163 stateDiagram-v2
6dd74de1164 direction LR
6dd74de1165 [*] --> D1
6dd74de1166 D1 --> D2
6dd74de1167 D2 --> D3
6dd74de1168 state D3 {
6dd74de1169 direction TB
6dd74de1170 D11 --> D22
6dd74de1171 }
6dd74de1172 D2 --> D4
6dd74de1173 </pre>
6dd74de1174 </td>
6dd74de1175 <td>
6dd74de1176 <pre id="diagram3" class="mermaid">
6dd74de1177%%{init: {"handDrawn": false, "layout": "elk"} }%%
6dd74de1178 stateDiagram-v2
6dd74de1179 direction LR
6dd74de1180 [*] --> D1
6dd74de1181 D1 --> D2
6dd74de1182 D2 --> D3
6dd74de1183 state D3 {
6dd74de1184 direction TB
6dd74de1185 D11 --> D22
6dd74de1186 }
6dd74de1187 D2 --> D4
6dd74de1188 </pre>
6dd74de1189 </td>
6dd74de1190 <td>
6dd74de1191 <pre id="diagram4" class="mermaid">
6dd74de1192%%{init: {"look": "handDrawn", "layout": "elk"} }%%
6dd74de1193 stateDiagram-v2
6dd74de1194 direction LR
6dd74de1195 [*] --> D1
6dd74de1196 D1 --> D2
6dd74de1197 D2 --> D3
6dd74de1198 state D3 {
6dd74de1199 direction TB
6dd74de1200 D11 --> D22
6dd74de1201 }
6dd74de1202 D2 --> D4
6dd74de1203 </pre>
6dd74de1204 </td>
6dd74de1205 </tr>
6dd74de1206
6dd74de1207
6dd74de1208 <!-- Separator row -->
6dd74de1209 <tr class="separator">
6dd74de1210 <td colspan="5"></td> <!-- This cell spans all columns including the vertical header -->
6dd74de1211 </tr>
6dd74de1212 <!-- New row -->
6dd74de1213 <tr>
6dd74de1214 <th class="vertical-header">Additional Content</th>
6dd74de1215 <td>New content 1</td>
6dd74de1216 <td>New content 2</td>
6dd74de1217 <td>New content 3</td>
6dd74de1218 <td>New content 4</td>
6dd74de1219 </tr>
6dd74de1220 </table>
6dd74de1221
6dd74de1222
6dd74de1223 <script type="module">
6dd74de1224 import mermaid from './mermaid.esm.mjs';
6dd74de1225 import layouts from './mermaid-layout-elk.esm.mjs';
6dd74de1226 mermaid.registerLayoutLoaders(layouts);
6dd74de1227 mermaid.parseError = function (err, hash) {
6dd74de1228
6dd74de1229 };
6dd74de1230
6dd74de1231 mermaid.initialize({
6dd74de1232 handDrawn: false,
6dd74de1233 mergeEdges: true,
6dd74de1234 layout: 'dagre',
6dd74de1235 flowchart: { titleTopMargin: 10 },
6dd74de1236 // fontFamily: 'Caveat',
6dd74de1237 fontFamily: 'Kalam',
6dd74de1238 sequence: {
6dd74de1239 actorFontFamily: 'courier',
6dd74de1240 noteFontFamily: 'courier',
6dd74de1241 messageFontFamily: 'courier',
6dd74de1242 },
6dd74de1243 fontSize: 16,
6dd74de1244 logLevel: 0,
6dd74de1245 });
6dd74de1246 function callback() {
6dd74de1247 alert('It worked');
6dd74de1248 }
6dd74de1249 mermaid.parseError = function (err, hash) {
6dd74de1250 console.error('In parse error:');
6dd74de1251 console.error(err);
6dd74de1252 };
6dd74de1253
6dd74de1254
6dd74de1255 let coll = document.getElementsByClassName("collapsible");
6dd74de1256 for (const element of coll) {
6dd74de1257 element.addEventListener("click", function () {
6dd74de1258 this.classList.toggle("active");
6dd74de1259 let content = this.nextElementSibling;
6dd74de1260 if (content.style.maxHeight) {
6dd74de1261 content.style.maxHeight = null;
6dd74de1262 } else {
6dd74de1263 content.style.maxHeight = content.scrollHeight + "px";
6dd74de1264 }
6dd74de1265 });
6dd74de1266 }
6dd74de1267
6dd74de1268 </script>
6dd74de1269</body>
6dd74de1270
6dd74de1271</html>