(function () { 'use strict'; var ComponentsLibrary = [ { code: '{Agent1} -> {Agent2}: {Message}', title: 'Simple arrow (synchronous)', }, { code: '{Agent1} --> {Agent2}: {Message}', title: 'Arrow with dotted line (response)', }, { code: '{Agent1} ->> {Agent2}: {Message}', title: 'Open arrow (asynchronous)', }, { code: '{Agent1} -x {Agent2}: {Message}', title: 'Lost message', }, { code: '{Agent1} ~> {Agent2}: {Message}', title: 'Wavy line', }, { code: '{Agent1} -> {Agent1}: {Message}', title: 'Self-connection', }, { code: '{Agent1} -> ...{id}\n...{id} -> {Agent2}: {Message}', preview: ( 'begin A, B\n' + 'A -> ...x\n' + '...x -> B: Message' ), title: 'Asynchronous message', }, { code: '* -> {Agent1}: {Message}', title: 'Found message', }, { code: ( '{Agent1} -> {Agent2}\n' + '& {Agent1} -> {Agent3}: {Broadcast}' ), title: 'Broadcast message', }, { code: ( '{Agent1} -> +{Agent2}: {Request}\n' + '{Agent1} <-- -{Agent2}: {Response}' ), title: 'Request/response pair', }, { code: ( '{Agent1} -> *{Agent2}: {Request}\n' + '{Agent1} <-- !{Agent2}: {Response}' ), title: 'Inline agent creation / destruction', }, { code: ( '{Agent1} -> {Agent2}: {Request}\n' + '{Agent1} <-- {Agent2}: {Response}\n' + 'end {Agent2}' ), preview: ( 'begin A\n' + '::\n' + 'A -> B: Request\n' + 'A <-- B: Response\n' + 'end B' ), title: 'Agent creation / destruction', }, { code: 'autolabel "[]