diff --git a/themes/puml-theme-spacelab-white b/themes/puml-theme-spacelab-white new file mode 100644 index 000000000..6f3f2eb38 --- /dev/null +++ b/themes/puml-theme-spacelab-white @@ -0,0 +1,516 @@ +'' +'' superhero theme based off of the bootstrap theme of the same name +'' https://bootswatch.com/spacelab/ +'' +'' Author = "Brett Schwarz +'' Copyright (c) 2020 by Brett Schwarz + +!$THEME = "spacelab" + +!if %not(%variable_exists("$BGCOLOR")) +!$BGCOLOR = "white" +!endif + +skinparam backgroundColor $BGCOLOR +skinparam useBetaStyle false + +'' +'' Colors taken from the css file of the BS theme +'' +!$BLUE = "#446e9b" +!$INDIGO = "#6610f2" +!$PURPLE = "#6f42c1" +!$PINK = "#e83e8c" +!$RED = "#cd0200" +!$ORANGE = "#fd7e14" +!$YELLOW = "#d47500" +!$GREEN = "#3cb521" +!$TEAL = "#20c997" +!$CYAN = "#3399f3" +!$WHITE = "#ffffff" +!$GRAY = "#777777" +!$GRAYDARK = "#333333" +!$PRIMARY = "#446e9b" +!$SECONDARY = "#999999" +!$SUCCESS = "#3cb521" +!$INFO = "#3399f3" +!$WARNING = "#d47500" +!$DANGER = "#cd0200" +!$LIGHT = "#eeeeee" +!$DARK = "#333333" + +'' *_DARK = tint (lighter) of the main color of 80% +'' where TINT is calculated by clr + (255-clr) * tint_factor +'' *_LIGHT = shade (darker) of the main color of 80% +'' and SHADE is calculated by clr * (1 - shade_factor) +'' +!$FGCOLOR = $WHITE +!$PRIMARY_DARK = "#304d6d" +!$PRIMARY_LIGHT = "#7c9ab9" +!$PRIMARY_TEXT = $WHITE +!$SECONDARY_DARK = "#6b6b6b" +!$SECONDARY_LIGHT = "#b8b8b8" +!$SECONDARY_TEXT = $WHITE +!$INFO_DARK = "#246baa" +!$INFO_LIGHT = "#70b8f7" +!$INFO_TEXT = $WHITE +!$SUCCESS_DARK = "#32a243" +!$SUCCESS_LIGHT = "#4cbc5c" +!$SUCCESS_TEXT = $WHITE +!$WARNING_DARK = "#945200" +!$WARNING_LIGHT = "#e19e4d" +!$WARNING_TEXT = $WHITE +!$DANGER_DARK = "#900100" +!$DANGER_LIGHT = "#dc4e4d" +!$DANGER_TEXT = $WHITE +!$DARK_DARK = "#242424" +!$DARK_LIGHT = "#707070" +!$LIGHT_DARK = "#a7a7a7" +!$LIGHT_LIGHT = "#f3f3f3" + +!procedure $success($msg) + $msg +!endprocedure + +!procedure $failure($msg) + $msg +!endprocedure + +!procedure $warning($msg) + $msg +!endprocedure + +!procedure $primary_scheme() + FontColor $PRIMARY_TEXT + BorderColor $PRIMARY_DARK + BackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK +!endprocedure +'' +'' Style settings +'' + +'' +'' Global Default Values +'' +skinparam defaultFontName "Verdana" +skinparam defaultFontSize 12 +skinparam dpi 100 +skinparam shadowing false +skinparam roundcorner 8 +skinparam ParticipantPadding 40 +skinparam BoxPadding 40 +skinparam Padding 5 +skinparam ArrowColor $DARK +skinparam stereotype { + CBackgroundColor $SECONDARY_LIGHT + CBorderColor $SECONDARY_DARK + ABackgroundColor $SUCCESS_LIGHT + ABorderColor $SUCCESS_DARK + IBackgroundColor $DANGER_LIGHT + IBorderColor $DANGER_DARK + EBackgroundColor $WARNING_LIGHT + EBorderColor $WARNING_DARK + NBackgroundColor $INFO_LIGHT + NBorderColor $INFO_DARK +} +skinparam title { + FontColor $PRIMARY_DARK + BorderColor $SECONDARY_DARK + FontSize 20 + BorderRoundCorner 8 + BorderThickness 1 + BackgroundColor $SECONDARY_LIGHT-$SECONDARY +} + +skinparam legend { + BackgroundColor $SECONDARY + BorderColor $SECONDARY_DARK + FontColor $LIGHT +} + +!startsub swimlane +skinparam swimlane { + BorderColor $INFO + BorderThickness 2 + TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY + TitleFontColor $PRIMARY_DARK +} +!endsub + +!startsub activity + +skinparam activity { + $primary_scheme() + BarColor $SUCCESS + StartColor $INFO + EndColor $INFO + '' + DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK + DiamondBorderColor $SECONDARY_DARK + DiamondFontColor $SECONDARY_TEXT +} +!endsub + +!startsub participant + +skinparam participant { + $primary_scheme() + ParticipantBorderThickness 2 +} +!endsub + +!startsub actor + +skinparam actor { + $primary_scheme() +} +!endsub + +!startsub arrow + +skinparam arrow { + Thickness 3 + Color $PRIMARY + FontColor $FGCOLOR +} +!endsub + +!startsub sequence + +skinparam sequence { + BorderColor $PRIMARY + ' For some reason sequence title font color does not pick up from global + TitleFontColor $PRIMARY + BackgroundColor $BGCOLOR + StartColor $PRIMARY + EndColor $PRIMARY + '' + BoxBackgroundColor $BGCOLOR + BoxBorderColor $DARK + BoxFontColor $DARK + '' + DelayFontColor $DARK + '' + LifeLineBorderColor $SECONDARY + LifeLineBorderThickness 2 + LifeLineBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK + '' + GroupBorderColor $DARK + GroupFontColor $DARK + GroupHeaderFontColor $INFO + GroupBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK + GroupHeaderBackgroundColor $BGCOLOR + '' + DividerBackgroundColor $DARK_LIGHT-$DARK_DARK + DividerBorderColor $DARK + DividerBorderThickness 2 + DividerFontColor $LIGHT + '' + ReferenceBackgroundColor $BGCOLOR + ReferenceBorderColor $DARK + ReferenceFontColor $DARK + ReferenceHeaderFontColor $INFO + ReferenceHeaderBackgroundColor $SECONDARY_DARK-$SECONDARY_DARK + '' + StereotypeFontColor $PRIMARY_TEXT +} +!endsub + +!startsub partition + +skinparam partition { + BorderColor $PRIMARY + FontColor $PRIMARY + BackgroundColor $BGCOLOR +} +!endsub + +!startsub collections + +skinparam collections { + $primary_scheme() +} +!endsub + +!startsub control + +skinparam control { + $primary_scheme() +} +!endsub + +!startsub entity + +skinparam entity { + $primary_scheme() +} +!endsub + +!startsub boundary + +skinparam boundary { + $primary_scheme() +} +!endsub + +!startsub agent + +skinparam agent { + BackgroundColor $WARNING + BorderColor $WARNING_LIGHT + FontColor $DARK +} +!endsub + +!startsub note + +skinparam note { + BorderThickness 1 + BackgroundColor $INFO_LIGHT-$INFO_DARK + BorderColor $INFO_DARK + FontColor $WHITE +} +!endsub + +!startsub artifact + +skinparam artifact { + BackgroundColor $DARK + BorderColor $DARK_DARK + FontColor $LIGHT +} +!endsub + +!startsub component + +skinparam component { + $primary_scheme() +} +!endsub + +!startsub interface + +skinparam interface { + BackgroundColor $DANGER_DARK + BorderColor $DANGER + FontColor $DARK +} +!endsub + +!startsub storage + +skinparam storage { + BackgroundColor $WARNING + BorderColor $WARNING_DARK + FontColor $WARNING_TEXT +} +!endsub + +!startsub node + +skinparam node { + BackgroundColor $SECONDARY + BorderColor $LIGHT + FontColor $LIGHT +} +!endsub + +!startsub cloud + +skinparam cloud { + BackgroundColor #F2FCFE-#eeeeee + BorderColor #F2FCFE + FontColor $DARK +} +!endsub + +!startsub database + +skinparam database { + $primary_scheme() +} +!endsub + +!startsub class + +skinparam class { + $primary_scheme() + FontColor $WHITE + HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY + StereotypeFontColor $LIGHT + BorderThickness 1 + AttributeFontColor $LIGHT + AttributeFontSize 11 +} +!endsub + +!startsub object + +skinparam object { + $primary_scheme() + StereotypeFontColor $DARK + BorderThickness 1 + AttributeFontColor $SECONDARY_TEXT + AttributeFontSize 11 +} +!endsub + +!startsub usecase + +skinparam usecase { + $primary_scheme() + BorderThickness 2 + StereotypeFontColor $PRIMARY +} +!endsub + +!startsub rectangle + +skinparam rectangle { + $primary_scheme() + BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK + BorderThickness 2 + StereotypeFontColor $PRIMARY +} +!endsub + +!startsub package + +skinparam package { + BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK + BorderColor $PRIMARY + FontColor $PRIMARY + BorderThickness 2 +} +!endsub + +!startsub folder + +skinparam folder { + BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK + BorderColor $WARNING + FontColor $WARNING + BorderThickness 2 +} +!endsub + +!startsub frame + +skinparam frame { + BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK + BorderColor $INFO + FontColor $INFO + BorderThickness 2 +} +!endsub + +!startsub state + +skinparam state { + $primary_scheme() + StartColor $INFO + EndColor $INFO + AttributeFontColor $SECONDARY_TEXT + AttributeFontSize 11 +} +!endsub + +!startsub queue + +skinparam queue { + $primary_scheme() +} +!endsub + +!startsub card + +skinparam card { + BackgroundColor $INFO_LIGHT-$INFO_DARK + BorderColor $INFO_DARK + FontColor $INFO_TEXT +} +!endsub + +!startsub file + +skinparam file { + BackgroundColor $SECONDARY_DARK-$SECONDARY_DARK + BorderColor $LIGHT + FontColor $LIGHT +} +!endsub + +!startsub stack + +skinparam stack { + $primary_scheme() +} +!endsub