' First test with themes (it depends on a original theme, changes colors and set $TECHN_FONT_SIZE)
!theme cyborg
!$THEME = "C4_FirstTest"
!$ELEMENT_FONT_COLOR ?= $PRIMARY_TEXT
!$ARROW_COLOR ?= $PRIMARY_LIGHT
!$ARROW_FONT_COLOR ?= $ARROW_COLOR
!$BOUNDARY_COLOR ?= $PRIMARY_DARK
!$BOUNDARY_BG_COLOR ?= "transparent"
!$LEGEND_FONT_COLOR ?= "#FFFFFF"
!$LEGEND_TITLE_COLOR ?= "#000000"
' %darken(darkkhaki,50), #khaki
!$LEGEND_DARK_COLOR ?= "#66622E"
!$LEGEND_LIGHT_COLOR ?= "#khaki"
!$PERSON_FONT_COLOR ?= $INFO_TEXT
!$PERSON_BG_COLOR ?= $INFO_LIGHT
!$PERSON_BORDER_COLOR ?= $INFO_DARK
!$EXTERNAL_PERSON_FONT_COLOR ?= $INFO_TEXT
!$EXTERNAL_PERSON_BG_COLOR ?= $INFO_DARK
!$EXTERNAL_PERSON_BORDER_COLOR ?= $INFO_LIGHT
!$SYSTEM_FONT_COLOR ?= $SUCCESS_TEXT
!$SYSTEM_BG_COLOR ?= $SUCCESS_LIGHT
!$SYSTEM_BORDER_COLOR ?= $SUCCESS_DARK
!$EXTERNAL_SYSTEM_FONT_COLOR ?= $SUCCESS_TEXT
!$EXTERNAL_SYSTEM_BG_COLOR ?= $SUCCESS_DARK
!$EXTERNAL_SYSTEM_BORDER_COLOR ?= $SUCCESS_LIGHT
!$CONTAINER_FONT_COLOR ?= $WARNING_TEXT
!$CONTAINER_BG_COLOR ?= $DANGER_LIGHT
!$CONTAINER_BORDER_COLOR ?= $DANGER_DARK
!$EXTERNAL_CONTAINER_FONT_COLOR ?= $WARNING_TEXT
!$EXTERNAL_CONTAINER_BG_COLOR ?= $DANGER_DARK
!$EXTERNAL_CONTAINER_BORDER_COLOR ?= $DANGER_LIGHT
!$COMPONENT_FONT_COLOR ?= $PRIMARY_TEXT
!$COMPONENT_BG_COLOR ?= $PRIMARY_LIGHT
!$COMPONENT_BORDER_COLOR ?= $PRIMARY_DARK
!$EXTERNAL_COMPONENT_FONT_COLOR ?= $PRIMARY_TEXT
!$EXTERNAL_COMPONENT_BG_COLOR ?= $PRIMARY_DARK
!$EXTERNAL_COMPONENT_BORDER_COLOR ?= $PRIMARY_LIGHT
!$NODE_FONT_COLOR ?= $SECONDARY_TEXT
!$NODE_BG_COLOR ?= $SECONDARY_LIGHT
!$NODE_BORDER_COLOR ?= $SECONDARY_DARK
!$TECHN_FONT_SIZE ?= 18
' <<<<<<<<<<<<< sequence diagram is styled via skinparam and style
' $BOUNDARY_BG_COLOR... have to be defined in theme itself that it can be used in styles,...
' (no default values which are defined in C4.puml)
' If skinparams and styles are defined with concrete values no variables are required
!$BOUNDARY_BG_COLOR ?= "transparent"
!$BOUNDARY_COLOR ?= "#444444"
!$ARROW_COLOR ?= "#666666"
' replace transparent with concrete background that it can be used as font color too
!if ($BOUNDARY_BG_COLOR == "transparent")
!$SEQUENCE_BG_COLOR = white
!else
!$SEQUENCE_BG_COLOR = $BOUNDARY_BG_COLOR
!endif
' "C4 styled" default is no foot boxes
hide footbox
' "C4 styled" default is that lifeline is arrow color
skinparam SequenceLifelineBorderColor $ARROW_COLOR
skinparam SequenceGroupBodyBackgroundColor $SEQUENCE_BG_COLOR
skinparam SequenceGroupFontColor $BOUNDARY_COLOR
skinparam SequenceGroupBackgroundColor $BOUNDARY_COLOR
skinparam SequenceGroupHeaderFontColor $SEQUENCE_BG_COLOR
skinparam SequenceGroupBorderColor $BOUNDARY_COLOR
skinparam SequenceReferenceBackgroundColor $SEQUENCE_BG_COLOR
skinparam SequenceReferenceFontColor $BOUNDARY_COLOR
skinparam SequenceReferenceHeaderBackgroundColor $BOUNDARY_COLOR
' VIA STYLE
' skinparam SequenceReferenceHeaderFontColor $SEQUENCE_BG_COLOR
skinparam SequenceReferenceBorderColor $BOUNDARY_COLOR
skinparam SequenceDividerBackgroundColor $SEQUENCE_BG_COLOR
skinparam SequenceDividerFontColor $BOUNDARY_COLOR
skinparam SequenceDividerBorderColor $BOUNDARY_COLOR
' VIA STYLE
' skinparam SequenceDelayFontColor green
' <<<<<<<<<<<<< end sequence diagram