' UsePlantUML, version 1
' https://github.com/larryr/UsePlantUML

'--- Colors

!define PGREEN   #5EB569
!define PGRAY    #384149
!define PDKGREEN #4E9658
!define PLTGREEN #88C68D

!define PAPURPLE #571079
!define PABLUE   #385CAD
!define PAORANGE #FFAD02
!define PARED    #D0242B
!define PANAVY   #13163D

!define PVORANGE  #FFCD64
!define PVLTGREEN #DCEEDC

!define PGLTGRAY #F1F4F6
!define PGLTGRAY1 #D1D8DD
!define PGLTGRAY2 #96A1A9
!define PGLTGRAY3 #657079

!define GPBLU1 #00BAFF
!define GPBLU2 #1A5A95
!define GPBLU3 #1B1464
!define GPBLU4 #ADE5FF
!define GPTXTLT #FFFFFF
!define GPTXTDK #1B1464

!define GRAY1 #E1E3E7
!define GRAY2 #C8CAD2
!define GRAY3 #ABB1BC
!define GRAY4 #788092
!define GRAY5 #42506A
!define GRAY6 #273755
!define GRAY7 #0C1E40

!define CMAIN  

!define  BACK1  GPBLU1
!define  BORD1  GPBLU2
!define  BACK2  GPBLU4
!define  GRAYFONT GRAY4

!define _COLOR GPBLU2
!define _BG_COLOR #FFFFFF
!define _BORDER_COLOR GPBLU4
!define _SYMBOL_COLOR _COLOR



'--- Leave Azure colors separate for Azure specific components
!define AZURE_COLOR #0072C6
!define AZURE_BG_COLOR #FFFFFF
!define AZURE_BORDER_COLOR #3C7FC0
!define AZURE_SYMBOL_COLOR AZURE_COLOR

'--- Styling

!define TECHN_FONT_SIZE 12

skinparam defaultTextAlignment center

skinparam wrapWidth 200 
skinparam maxMessageSize 150

skinparam rectangle {
    StereotypeFontSize 12
}

skinparam Arrow {
    Color #666666
    FontColor #666666
    FontSize 12
}

!definelong EntityColoring(e_stereo)
skinparam rectangle<<e_stereo>> {
    BackgroundColor _BG_COLOR
    BorderColor _BORDER_COLOR
}
!enddefinelong

'--- Layout

!definelong LAYOUT_AS_SKETCH
skinparam backgroundColor #EEEBDC
skinparam handwritten true
skinparam defaultFontName "Comic Sans MS"
center footer <font color=red>Warning:</font> Created for discussion, needs to be validated
!enddefinelong

!define LAYOUT_TOP_DOWN top to bottom direction
!define LAYOUT_LEFT_RIGHT left to right direction

'--- Elements

!definelong EntityColoring(e_stereo)
skinparam rectangle<<e_stereo>> {
    BackgroundColor _BG_COLOR
    BorderColor _BORDER_COLOR
}
!enddefinelong

!definelong Entity(e_alias, e_label, e_techn, e_color, e_sprite, e_stereo)
rectangle "==e_label\n<color:e_color><$e_sprite></color>\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<e_stereo>> as e_alias
!enddefinelong

!definelong Entity(e_alias, e_label, e_techn, e_descr, e_color, e_sprite, e_stereo)
rectangle "==e_label\n<color:e_color><$e_sprite></color>\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<e_stereo>> as e_alias
!enddefinelong


'--- Azure definitions

!definelong AzureEntityColoring(e_stereo)
skinparam rectangle<<e_stereo>> {
    BackgroundColor _BG_COLOR
    BorderColor _BORDER_COLOR
}
!enddefinelong

!definelong AzureEntity(e_alias, e_label, e_techn, e_color, e_sprite, e_stereo)
rectangle "==e_label\n<color:e_color><$e_sprite></color>\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<e_stereo>> as e_alias
!enddefinelong

!definelong AzureEntity(e_alias, e_label, e_techn, e_descr, e_color, e_sprite, e_stereo)
rectangle "==e_label\n<color:e_color><$e_sprite></color>\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<e_stereo>> as e_alias
!enddefinelong
