'' '' materia theme based off of the bootstrap theme of the same name '' https://bootswatch.com/materia/ '' '' Author: Brett Schwarz '' Copyright (c) 2019 by Brett Schwarz !$THEME = "materia-outline" !if %not(%variable_exists("$BGCOLOR")) !$BGCOLOR = "transparent" !endif skinparam backgroundColor $BGCOLOR skinparam useBetaStyle false '' '' Colors taken from the css file of the BS theme '' !$BLUE = "#2196F3" !$INDIGO = "#6610f2" !$PURPLE = "#6f42c1" !$PINK = "#e83e8c" !$RED = "#e51c23" !$ORANGE = "#fd7e14" !$YELLOW = "#ff9800" !$GREEN = "#4CAF50" !$TEAL = "#20c997" !$CYAN = "#9C27B0" !$WHITE = "#FFF" !$GRAY_DARK = "#222" !$GRAY = "#666" !$PRIMARY = "#2196F3" !$SECONDARY = "#fff" !$SUCCESS = "#4CAF50" !$INFO = "#9C27B0" !$WARNING = "#ff9800" !$DANGER = "#e51c23" !$LIGHT = "#fff" !$DARK = "#222" '' *_LIGHT = tint (lighter) of the main color of 80% '' where TINT is calculated by clr + (255-clr) * tint_factor '' *_DARK = shade (darker) of the main color of 80% '' and SHADE is calculated by clr * (1 - shade_factor) '' !$FGCOLOR = $DARK !$PRIMARY_LIGHT = "#4dabf5" !$PRIMARY_DARK = "#1a78c2" !$PRIMARY_TEXT = $PRIMARY !$SECONDARY_LIGHT = "#fff" !$SECONDARY_DARK = "#cccccc" !$SECONDARY_TEXT = $SECONDARY_DARK !$INFO_LIGHT = "#b052c0" !$INFO_DARK = "#7D1F8D" !$INFO_TEXT = $INFO !$SUCCESS_LIGHT = "#70bf73" !$SUCCESS_DARK = "#3D8C40" !$SUCCESS_TEXT = $SUCCESS !$WARNING_LIGHT = "#ffad33" !$WARNING_DARK = "#CC7A00" !$WARNING_TEXT = $WARNING !$DANGER_LIGHT = "#B7161C" !$DANGER_TEXT = $DANGER !procedure $success($msg) $msg !endprocedure !procedure $failure($msg) $msg !endprocedure !procedure $warning($msg) $msg !endprocedure !procedure $primary_scheme() FontColor $PRIMARY_TEXT BorderColor $PRIMARY BackgroundColor $BGCOLOR !endprocedure '' '' Global Default Values '' skinparam defaultFontName "Verdana" skinparam defaultFontSize 12 skinparam dpi 100 skinparam shadowing true skinparam roundcorner 8 skinparam ParticipantPadding 40 skinparam BoxPadding 40 skinparam Padding 10 skinparam TitleFontColor $DARK skinparam TitleFontSize 20 skinparam TitleBorderThickness 0 skinparam ArrowColor $GRAY 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 BorderColor $SECONDARY_DARK FontSize 20 BorderRoundCorner 8 BorderThickness 1 BackgroundColor $BGCOLOR } skinparam legend { BackgroundColor $BGCOLOR BorderColor $SECONDARY_DARK FontColor $DARK } !startsub swimlane skinparam swimlane { BorderColor $INFO BorderThickness 2 TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY TitleFontColor $PRIMARY } !endsub !startsub activity skinparam activity { $primary_scheme() ' FontColor $PRIMARY_TEXT ' BorderColor $PRIMARY ' BackgroundColor $BGCOLOR BarColor $SUCCESS StartColor $INFO EndColor $INFO '' DiamondBackgroundColor $BGCOLOR DiamondBorderColor $SECONDARY_DARK DiamondFontColor $SECONDARY_TEXT } !endsub !startsub participant skinparam participant { $primary_scheme() ParticipantBorderThickness 2 } !endsub !startsub actor skinparam actor { $primary_scheme() ' FontColor $DARK } !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 $GRAY BoxFontColor $DARK '' DelayFontColor $DARK '' LifeLineBorderColor $SECONDARY_DARK LifeLineBorderThickness 2 LifeLineBackgroundColor $BGCOLOR '' GroupBorderColor $GRAY GroupFontColor $DARK GroupHeaderFontColor $INFO '' DividerBackgroundColor $BGCOLOR DividerBorderColor $GRAY DividerBorderThickness 2 DividerFontColor $DARK '' ReferenceBackgroundColor $BGCOLOR ReferenceBorderColor $GRAY ReferenceFontColor $DARK ReferenceHeaderFontColor $INFO '' StereotypeFontColor $PRIMARY_TEXT } !endsub !startsub partition skinparam partition { BorderColor $PRIMARY FontColor $PRIMARY BackgroundColor $BGCOLOR } !endsub !startsub collections skinparam collections { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY } !endsub !startsub control skinparam control { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK ' FontColor $DARK } !endsub !startsub entity skinparam entity { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK ' FontColor $DARK } !endsub !startsub boundary skinparam boundary { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK ' FontColor $DARK } !endsub !startsub agent skinparam agent { BackgroundColor $BGCOLOR BorderColor #999999 FontColor #333333 } !endsub !startsub note skinparam note { BorderThickness 1 BackgroundColor $BGCOLOR BorderColor $INFO FontColor $INFO } !endsub !startsub artifact skinparam artifact { BackgroundColor $BGCOLOR BorderColor $GRAY FontColor $GRAY } !endsub !startsub component skinparam component { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $SUCCESS ' FontColor $SUCCESS_TEXT } !endsub !startsub interface skinparam interface { BackgroundColor $BGCOLOR BorderColor $DANGER FontColor $DARK } !endsub !startsub storage skinparam storage { BackgroundColor $BGCOLOR BorderColor $WARNING FontColor $WARNING_TEXT } !endsub !startsub node skinparam node { BackgroundColor $BGCOLOR BorderColor $DARK FontColor $DARK } !endsub !startsub cloud skinparam cloud { BackgroundColor #F2FCFE-#eeeeee BorderColor #F2FCFE FontColor $DARK } !endsub !startsub database skinparam database { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK ' FontColor $DARK } !endsub !startsub class skinparam class { $primary_scheme() FontColor $LIGHT HeaderBackgroundColor $PRIMARY-$PRIMARY_DARK ' FontColor $PRIMARY_TEXT ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK StereotypeFontColor $DARK BorderThickness 1 AttributeFontColor $DARK AttributeFontSize 11 } !endsub !startsub object skinparam object { $primary_scheme() ' FontColor $SUCCESS ' BackgroundColor $BGCOLOR ' BorderColor $SECONDARY_DARK StereotypeFontColor $DARK BorderThickness 1 AttributeFontColor $SECONDARY_DARK AttributeFontSize 11 } !endsub !startsub usecase skinparam usecase { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $SECONDARY_DARK BorderThickness 2 ' FontColor $SECONDARY_TEXT StereotypeFontColor $PRIMARY } !endsub !startsub rectangle skinparam rectangle { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY_DARK BorderThickness 2 ' FontColor $PRIMARY StereotypeFontColor $PRIMARY } !endsub !startsub package skinparam package { BackgroundColor $BGCOLOR BorderColor $PRIMARY FontColor $PRIMARY BorderThickness 2 } !endsub !startsub folder skinparam folder { BackgroundColor $BGCOLOR BorderColor $WARNING FontColor $WARNING BorderThickness 2 } !endsub !startsub frame skinparam frame { BackgroundColor $BGCOLOR BorderColor $INFO FontColor $INFO BorderThickness 2 } !endsub !startsub state skinparam state { $primary_scheme() StartColor $INFO EndColor $INFO ' BackgroundColor $BGCOLOR ' BorderColor $SECONDARY_DARK ' FontColor $INFO AttributeFontColor $SECONDARY_TEXT AttributeFontSize 11 } !endsub !startsub queue skinparam queue { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $WARNING_DARK ' FontColor $WARNING_TEXT } !endsub !startsub card skinparam card { BackgroundColor $BGCOLOR BorderColor $INFO FontColor $INFO_TEXT } !endsub !startsub file skinparam file { BackgroundColor $BGCOLOR BorderColor $GRAY FontColor $GRAY } !endsub !startsub stack skinparam stack { $primary_scheme() ' BackgroundColor $BGCOLOR ' BorderColor $PRIMARY ' FontColor $PRIMARY_TEXT } !endsub