'' '' Carbon Gray theme - using the Gray palette from https://carbondesignsystem.com '' '' Author: Bharat Rajagopalan '' Copyright (c) 2022 by Bharat Rajagopalan !$THEME = "carbon-gray" '!$BGCOLOR = "#f5f5f5" !if %not(%variable_exists("$BGCOLOR")) !$BGCOLOR = "transparent" !endif skinparam backgroundColor $BGCOLOR skinparam useBetaStyle false !$RED_80 = '#750e13' !$RED_70 = '#a2191f' !$RED_60 = '#da1e28' !$RED_50 = '#fa4d56' !$RED_40 = '#ff8389' !$RED_30 = '#ffb3b8' !$RED_20 = '#ffd7d9' !$RED_10 = '#fff1f1' !$CYAN_10 = '#e5f6ff' !$CYAN_20 = '#bae6ff' !$CYAN_30 = '#82cfff' !$CYAN_40 = '#33b1ff' !$CYAN_50 = '#1192e8' !$CYAN_60 = '#0072c3' !$CYAN_70 = '#00539a' !$CYAN_80 = '#003a6d' !$PURPLE_80 ='#491d8b' !$PURPLE_70 = '#6929c4' !$PURPLE_60 = '#8a3ffc' !$PURPLE_50 = '#a56eff' !$PURPLE_40 = '#be95ff' !$PURPLE_30 = '#d4bbff' !$PURPLE_20 = '#e8daff' !$PURPLE_10 = '#f6f2ff' !$TEAL_10 = '#d9fbfb' !$TEAL_20 = '#9ef0f0' !$TEAL_30 = '#3ddbd9' !$TEAL_40 = '#08bdba' !$TEAL_50 = '#009d9a' !$TEAL_60 = '#007d79' !$TEAL_70 = '#005d5d' !$TEAL_80 = '#004144' !$GRAY_10 = '#f4f4f4' !$GRAY_20 = '#e0e0e0' !$GRAY_30 = '#c6c6c6' !$GRAY_40 = '#a8a8a8' !$GRAY_50 = '#8d8d8d' !$GRAY_60 = '#6f6f6f' !$GRAY_70 = '#525252' !$GRAY_80 = '#393939' !$GRAY_90 = '#262626' !$GRAY_100 = '#161616' !$WHITE = '#FFFFF' !$GRAY_DARK = $GRAY_100 !$GRAY = $GRAY_30 !$LIGHT = $GRAY_70 !$DARK = $GRAY_90 '' *_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 = $GRAY_10 !$PRIMARY_LIGHT = $GRAY_10 !$PRIMARY_DARK = $GRAY_30 !$PRIMARY_TEXT = $DARK !$SECONDARY = $GRAY_10 !$SECONDARY_LIGHT = $GRAY_10 !$SECONDARY_DARK = $GRAY_30 !$SECONDARY_TEXT = $DARK !$INFO = $WHITE !$INFO_LIGHT = $GRAY_20 !$INFO_DARK = $GRAY_30 !$INFO_TEXT = $DARK !$SUCCESS = $DARK !$SUCCESS_LIGHT = $DARK !$SUCCESS_DARK = $DARK !$SUCCESS_TEXT = $WHITE !$WARNING = $WHITE !$WARNING_LIGHT = $WHITE !$WARNING_DARK = $WHITE !$WARNING_TEXT = $DARK !$DANGER = $WHITE !$DANGER_LIGHT = $WHITE !$DANGER_DARK = $WHITE !$DANGER_TEXT = $DARK !$OTHER_BG = $WHITE !$DB_BG = $GRAY !$LINE_THICKNESS = 1 !$BORDER_THICKNESS = 1 !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 RoundCorner 0 !endprocedure '' '' Global Default Values '' skinparam defaultFontName IBM Plex Sans, Noto Sans, Verdana skinparam defaultFontSize 12 'skinparam dpi 125 skinparam shadowing false skinparam roundcorner 0 skinparam ParticipantPadding 30 skinparam BoxPadding 30 skinparam Padding 10 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 $SECONDARY_TEXT BorderColor $SECONDARY FontSize 20 BorderRoundCorner 8 BorderThickness 0 BackgroundColor $BGCOLOR } skinparam legend { BackgroundColor $OTHER_BG BorderColor $DARK FontColor $PRIMARY_TEXT } !startsub swimlane skinparam swimlane { BorderColor $PRIMARY BorderThickness $LINE_THICKNESS TitleBackgroundColor $PRIMARY_LIGHT-$PRIMARY TitleFontColor $PRIMARY_TEXT BackgroundColor $BG_COLOR TitleFontStyle bold } !endsub !startsub activity skinparam activity { $primary_scheme() BarColor $DARK StartColor $LIGHT-$DARK EndColor $LIGHT-$DARK '' DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY DiamondBorderColor $SECONDARY DiamondFontColor $SECONDARY_TEXT } !endsub !startsub participant skinparam participant { $primary_scheme() ParticipantBorderThickness $BORDER_THICKNESS } !endsub !startsub actor skinparam actor { $primary_scheme() } !endsub !startsub arrow skinparam arrow { Thickness $LINE_THICKNESS Color $GRAY FontColor $FGCOLOR } !endsub !startsub sequence skinparam sequence { BorderColor $PRIMARY_DARK ' For some reason sequence title font color does not pick up from global TitleFontColor $SECONDARY_TEXT BackgroundColor $OTHER_BG StartColor $PRIMARY EndColor $PRIMARY '' BoxBackgroundColor $OTHER_BG BoxBorderColor $PRIMARY_DARK BoxFontColor $PRIMARY_TEXT '' DelayFontColor $PRIMARY_TEXT '' LifeLineBorderColor $PRIMARY_DARK LifeLineBorderThickness $LINE_THICKNESS LifeLineBackgroundColor $PRIMARY '' GroupBorderColor $PRIMARY_DARK GroupFontColor $PRIMARY_TEXT GroupFontStyle bold GroupHeaderFontColor $INFO_TEXT GroupBackgroundColor $PRIMARY GroupBodyBackgroundColor $OTHER_BG GroupHeaderBackgroundColor $PRIMARY '' DividerBackgroundColor $PRIMARY DividerBorderColor $PRIMARY_DARK DividerBorderThickness $LINE_THICKNESS DividerFontColor $PRIMARY_TEXT '' ReferenceBackgroundColor $BGCOLOR ReferenceHeaderBorderColor $PRIMARY_DARK ReferenceHeaderBackgroundColor $PRIMARY ReferenceBorderColor $PRIMARY_DARK ReferenceFontColor $DARK ReferenceHeaderFontColor $INFO_TEXT '' StereotypeFontColor $PRIMARY_TEXT } !endsub !startsub partition skinparam partition { BorderColor $PRIMARY FontColor $PRIMARY_TEXT BackgroundColor $OTHER_BG fontStyle bold } !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 $PRIMARY_LIGHT BorderColor $PRIMARY_DARK FontColor $PRIMARY_TEXT RoundCorner 0 } !endsub !startsub note skinparam note { BorderThickness 1 BackgroundColor $INFO_LIGHT-$INFO BorderColor $DARK FontColor $INFO_TEXT RoundCorner 0 } !endsub !startsub artifact skinparam artifact { BackgroundColor $PRIMARY BorderColor $PRIMARY_DARK FontColor $DARK RoundCorner 0 } !endsub !startsub component skinparam component { $primary_scheme() BackgroundColor $PRIMARY BorderColor $PRIMARY_DARK } !endsub !startsub interface skinparam interface { BackgroundColor $PRIMARY_DARK BorderColor $PRIMARY_DARK FontColor $PRIMARY_TEXT } !endsub !startsub storage skinparam storage { BackgroundColor $OTHER_BG BorderColor $DARK FontColor $WARNING_TEXT } !endsub !startsub node skinparam node { BackgroundColor $OTHER_BG BorderColor $PRIMARY_DARK FontColor $PRIMARY_TEXT Roundcorner 0 } !endsub !startsub cloud skinparam cloud { BackgroundColor $OTHER_BG BorderColor $PRIMARY_DARK FontColor $PRIMARY_TEXT Roundcorner 0 } !endsub !startsub database skinparam database { $primary_scheme() BorderColor $PRIMARY_DARK BackgroundColor $OTHER_BG Roundcorner 0 } !endsub !startsub class skinparam class { $primary_scheme() HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY StereotypeFontColor $PRIMARY_TEXT StereotypeFontSize 9 BorderThickness $LINE_THICKNESS AttributeFontColor $PRIMARY_TEXT AttributeFontSize 11 } !endsub !startsub object skinparam object { $primary_scheme() StereotypeFontColor $PRIMARY_TEXT BorderThickness $BORDER_THICKNESS AttributeFontColor $PRIMARY_TEXT AttributeFontSize 11 } !endsub !startsub usecase skinparam usecase { $primary_scheme() BorderThickness $BORDER_THICKNESS StereotypeFontColor $PRIMARY_TEXT } !endsub !startsub rectangle skinparam rectangle { $primary_scheme() BackgroundColor $OTHER_BG BorderThickness $BORDER_THICKNESS StereotypeFontColor $PRIMARY_TEXT } !endsub !startsub package skinparam package { $primary_scheme() BackgroundColor $OTHER_BG BorderThickness $BORDER_THICKNESS } !endsub !startsub folder skinparam folder { BackgroundColor $OTHER_BG BorderColor $PRIMARY_DARK FontColor $WARNING_TEXT BorderThickness $BORDER_THICKNESS Roundcorner 0 } !endsub !startsub frame skinparam frame { BackgroundColor $OTHER_BG BorderColor $PRIMARY_DARK FontColor $DARK BorderThickness $BORDER_THICKNESS Roundcorner 0 } !endsub !startsub state skinparam state { $primary_scheme() BorderColor $PRIMARY_DARK StartColor $INFO EndColor $INFO AttributeFontColor $SECONDARY_TEXT AttributeFontSize 11 } !endsub !startsub queue skinparam queue { $primary_scheme() } !endsub !startsub card skinparam card { BackgroundColor $OTHER_BG BorderColor $PRIMARY_DARK FontColor $INFO_TEXT RoundCorner 0 } !endsub !startsub file skinparam file { BackgroundColor $SECONDARY_LIGHT-$SECONDARY BorderColor $SECONDARY_DARK FontColor $SECONDARY_TEXT RoundCorner 0 } !endsub !startsub stack skinparam stack { $primary_scheme() } !endsub !startsub person skinparam person { $primary_scheme() } !endsub !if (%variable_exists("LEGACY")) !$LEGACY = "true" !endif !if (%getenv("LEGACY") == "true") !$LEGACY = "true" !endif '!if (not %variable_exists("$LEGACY")) skinparam useBetaStyle true !startsub mindmap !endsub '!endif