# Logo

The Simbolik brand mark: the full logo, the mark alone, or the wordmark alone, colored by the text roles; or a site's own logo as shapes or as a picture file.

Block: `smbk-logo`. Status: experimental. Figma: the Figma file, https://www.figma.com/community/file/1688324308358870630. Desktop and mobile: differ by presentation only.

## Options

| Axis | Values | Default | Meaning |
|---|---|---|---|
| `brand` | `simbolik` | `simbolik` | Which brand's logo. The logo stays simbolik's, and no license covers it; a product built on the design system replaces it with its own. |
| `form` | `logo`, `logomark`, `logotype` | `logo` | The whole logo, the mark alone, or the wordmark alone. Figma calls this "Variant" / "Type". |
| `source` | `shapes`, `picture` | `shapes` | Shapes are drawn in the page and take the system's colors, so they follow the theme; a picture is a site's logo file, drawn as an image with its own colors, and a dark version under the dark theme. |

Parts: `smbk-logo__mark`, `smbk-logo__type`, `smbk-logo__picture`, `smbk-logo__picture-dark`

## Markup

```html
<svg
  class="smbk-logo smbk-logo--brand-simbolik smbk-logo--form-logo smbk-logo--source-shapes"
  viewBox="0 0 173 32"
  role="img"
  aria-label="Simbolik"
><path class="smbk-logo__mark" d="M10.5947 8.62609V0.417391C10.5947 0.186873 10.782 0 11.0129 0H12.6858C12.9168 0 13.104 0.186872 13.104 0.417391V8.62609C13.104 10.3934 14.5395 11.8261 16.3103 11.8261H37.0814C37.3124 11.8261 37.4996 12.013 37.4996 12.2435V13.913C37.4996 14.1436 37.3124 14.3304 37.0814 14.3304H16.3103C13.1537 14.3304 10.5947 11.7765 10.5947 8.62609Z"></path><path class="smbk-logo__mark" d="M26.905 23.3739V31.5826C26.905 31.8131 26.7177 32 26.4867 32H24.8139C24.5829 32 24.3957 31.8131 24.3957 31.5826V23.3739C24.3957 21.6066 22.9602 20.1739 21.1894 20.1739L0.418272 20.1739C0.1873 20.1739 6.10177e-05 19.987 6.10352e-05 19.7565L6.11612e-05 18.0869C6.11787e-05 17.8564 0.187301 17.6696 0.418272 17.6696L21.1894 17.6696C24.346 17.6696 26.905 20.2235 26.905 23.3739Z"></path><path class="smbk-logo__type" d="M53.9717 23.6522C52.201 23.6522 50.776 23.5933 49.6967 23.4755C48.6259 23.3577 47.8122 23.1389 47.2557 22.8192C46.7076 22.4994 46.3366 22.045 46.1427 21.456C45.9572 20.8669 45.8644 20.1012 45.8644 19.1587H48.1916C48.1916 19.6888 48.2296 20.118 48.3055 20.4462C48.3814 20.7659 48.5964 21.0142 48.9505 21.1909C49.3047 21.3592 49.878 21.477 50.6706 21.5443C51.4717 21.6032 52.5931 21.6327 54.0349 21.6327C55.5611 21.6327 56.7458 21.6032 57.589 21.5443C58.4406 21.477 59.0519 21.3592 59.4229 21.1909C59.7939 21.0142 60.0174 20.7617 60.0933 20.4336C60.1776 20.1054 60.2197 19.672 60.2197 19.1335C60.2197 18.4771 60.1607 17.9848 60.0427 17.6567C59.9246 17.3285 59.6464 17.1097 59.2079 17.0003C58.7695 16.8825 58.0696 16.8194 57.1084 16.811L51.3157 16.7478C49.8232 16.731 48.6849 16.6048 47.9007 16.3692C47.1166 16.1336 46.5812 15.7212 46.2945 15.1322C46.0078 14.5347 45.8644 13.689 45.8644 12.5951C45.8644 11.5769 46.0204 10.7901 46.3324 10.2347C46.6528 9.67935 47.1503 9.28385 47.8249 9.04823C48.4994 8.81262 49.3763 8.67377 50.4556 8.6317C51.5349 8.58121 52.8376 8.55597 54.3638 8.55597C56.1598 8.55597 57.5848 8.61066 58.6388 8.72006C59.7012 8.82945 60.4938 9.03561 61.0166 9.33855C61.5478 9.64148 61.8935 10.0833 62.0537 10.6639C62.2223 11.2361 62.3066 11.985 62.3066 12.9107H59.9794C59.9794 12.3637 59.9415 11.9345 59.8656 11.6232C59.7897 11.3034 59.5831 11.072 59.2459 10.929C58.917 10.7775 58.3774 10.6807 57.6269 10.6386C56.8849 10.5966 55.8394 10.5755 54.4903 10.5755C52.9557 10.5755 51.7626 10.5924 50.9109 10.626C50.0593 10.6597 49.4438 10.7396 49.0643 10.8658C48.6849 10.9921 48.453 11.194 48.3687 11.4717C48.2844 11.741 48.2422 12.1155 48.2422 12.5951C48.2422 13.0832 48.2675 13.4703 48.3181 13.7564C48.3771 14.034 48.5247 14.2444 48.7608 14.3875C48.9969 14.5305 49.3805 14.6273 49.9118 14.6778C50.4514 14.7199 51.2018 14.7451 52.1631 14.7535L57.159 14.804C58.6598 14.8208 59.7981 14.9471 60.5739 15.1827C61.358 15.4099 61.8893 15.8348 62.1675 16.4575C62.4542 17.0718 62.5975 17.9638 62.5975 19.1335C62.5975 20.1853 62.4415 21.0142 62.1296 21.6201C61.826 22.2259 61.337 22.6761 60.6624 22.9706C59.9879 23.2567 59.0983 23.4419 57.9937 23.526C56.8976 23.6102 55.5569 23.6522 53.9717 23.6522Z"></path><path class="smbk-logo__type" d="M65.848 23.3746V9.64148H68.2764V23.3746H65.848Z"></path><path class="smbk-logo__type" d="M71.5649 23.3746V8.83366H73.9932V10.6386C74.3558 10.1506 74.7901 9.74246 75.296 9.41428C75.8019 9.0861 76.4469 8.84207 77.2311 8.68219C78.0237 8.51389 79.0355 8.42974 80.2666 8.42974C81.7927 8.42974 83.0364 8.6359 83.9977 9.04823C84.9589 9.46056 85.6672 10.1716 86.1225 11.1814C86.5357 10.5419 87.0332 10.0202 87.615 9.61624C88.1968 9.20391 88.9261 8.90518 89.803 8.72006C90.6884 8.52651 91.7761 8.42974 93.0662 8.42974C94.6008 8.42974 95.8487 8.64011 96.8099 9.06086C97.7712 9.47319 98.4752 10.18 98.9221 11.1814C99.3775 12.1828 99.6051 13.5544 99.6051 15.2963V23.3746H97.1767V15.2963C97.1767 13.9667 97.0376 12.9569 96.7593 12.2669C96.4811 11.5685 96.0173 11.0931 95.3681 10.8406C94.7273 10.5797 93.8588 10.4493 92.7626 10.4493C90.6125 10.4493 89.0779 10.7649 88.1588 11.396C87.2482 12.0271 86.7929 13.0579 86.7929 14.4885V14.4758C86.8013 14.7367 86.8055 15.0102 86.8055 15.2963V23.3746H84.3771V15.2963C84.3771 13.9667 84.238 12.9569 83.9597 12.2669C83.6815 11.5685 83.2177 11.0931 82.5685 10.8406C81.9277 10.5797 81.0592 10.4493 79.963 10.4493C77.8129 10.4493 76.2783 10.7649 75.3592 11.396C74.4486 12.0271 73.9932 13.0579 73.9932 14.4885V23.3746H71.5649Z"></path><path class="smbk-logo__type" d="M111.772 23.6522C110.212 23.6522 108.893 23.5344 107.814 23.2988C106.743 23.0632 105.9 22.5331 105.284 21.7084V23.3746H102.856V0H105.284V10.4872C105.9 9.67094 106.743 9.14501 107.814 8.90939C108.893 8.67377 110.212 8.55597 111.772 8.55597C113.408 8.55597 114.791 8.64011 115.921 8.80841C117.059 8.97671 117.978 9.3133 118.678 9.8182C119.378 10.3231 119.888 11.072 120.208 12.065C120.529 13.0579 120.689 14.3791 120.689 16.0284C120.689 17.7282 120.529 19.0872 120.208 20.1054C119.888 21.1236 119.378 21.8893 118.678 22.4026C117.978 22.9075 117.059 23.2399 115.921 23.3998C114.791 23.5681 113.408 23.6522 111.772 23.6522ZM118.261 16.0284C118.261 14.825 118.197 13.8615 118.071 13.1379C117.953 12.4142 117.687 11.8714 117.274 11.5096C116.861 11.1393 116.216 10.8911 115.339 10.7649C114.471 10.6386 113.282 10.5755 111.772 10.5755C110.398 10.5755 109.285 10.6386 108.433 10.7649C107.582 10.8911 106.928 11.1393 106.473 11.5096C106.018 11.8714 105.706 12.4142 105.537 13.1379C105.368 13.8615 105.284 14.825 105.284 16.0284C105.284 17.2738 105.368 18.2709 105.537 19.0199C105.706 19.7688 106.018 20.3326 106.473 20.7112C106.928 21.0815 107.582 21.3297 108.433 21.456C109.285 21.5738 110.398 21.6327 111.772 21.6327C113.282 21.6327 114.471 21.5738 115.339 21.456C116.216 21.3297 116.861 21.0815 117.274 20.7112C117.687 20.3326 117.953 19.7688 118.071 19.0199C118.197 18.2709 118.261 17.2738 118.261 16.0284Z"></path><path class="smbk-logo__type" d="M132.034 23.6522C130.407 23.6522 129.024 23.5681 127.886 23.3998C126.747 23.2399 125.828 22.9075 125.128 22.4026C124.429 21.8893 123.918 21.1236 123.598 20.1054C123.278 19.0872 123.117 17.7282 123.117 16.0284C123.117 14.3791 123.278 13.0579 123.598 12.065C123.918 11.072 124.429 10.3231 125.128 9.8182C125.828 9.3133 126.747 8.97671 127.886 8.80841C129.024 8.64011 130.407 8.55597 132.034 8.55597C133.67 8.55597 135.053 8.64011 136.183 8.80841C137.321 8.97671 138.24 9.3133 138.94 9.8182C139.64 10.3231 140.15 11.072 140.47 12.065C140.791 13.0579 140.951 14.3791 140.951 16.0284C140.951 17.7282 140.791 19.0872 140.47 20.1054C140.15 21.1236 139.64 21.8893 138.94 22.4026C138.24 22.9075 137.321 23.2399 136.183 23.3998C135.053 23.5681 133.67 23.6522 132.034 23.6522ZM138.523 16.0284C138.523 14.825 138.459 13.8615 138.333 13.1379C138.215 12.4142 137.949 11.8714 137.536 11.5096C137.123 11.1393 136.478 10.8911 135.601 10.7649C134.732 10.6386 133.543 10.5755 132.034 10.5755C130.533 10.5755 129.344 10.6386 128.467 10.7649C127.591 10.8911 126.946 11.1393 126.532 11.5096C126.119 11.8714 125.849 12.4142 125.723 13.1379C125.605 13.8615 125.546 14.825 125.546 16.0284C125.546 17.2738 125.605 18.2709 125.723 19.0199C125.849 19.7688 126.119 20.3326 126.532 20.7112C126.946 21.0815 127.591 21.3297 128.467 21.456C129.344 21.5738 130.533 21.6327 132.034 21.6327C133.543 21.6327 134.732 21.5738 135.601 21.456C136.478 21.3297 137.123 21.0815 137.536 20.7112C137.949 20.3326 138.215 19.7688 138.333 19.0199C138.459 18.2709 138.523 17.2738 138.523 16.0284Z"></path><path class="smbk-logo__type" d="M144.65 32V9.6H147.141L147.078 32H144.65Z"></path><path class="smbk-logo__type" d="M151.069 23.3746V9.64148H153.498V23.3746H151.069Z"></path><path class="smbk-logo__type" d="M156.811 23.3746V0H159.24V15.1827L168.915 8.83366H172.596L162.313 15.6623L173.001 23.3746H169.383L159.24 15.9148V23.3746H156.811Z"></path><path class="smbk-logo__type" d="M151.069 7.09569V4.52174H153.498V7.09569H151.069Z"></path><path class="smbk-logo__type" d="M65.88 7.37395V4.8H68.3084V7.37395H65.88Z"></path></svg>
```

## React

```tsx
import { Logo } from './design-system/components/logo/logo.js';

<Logo brand="simbolik" form="logo" source="shapes" />
```

## Stylesheet

```css
/* smbk-logo — Logo. Figma "logo-simbolik" 363:14503.
 * Inline SVG: the mark takes the brand border color, the same red in both
 * themes, and the wordmark the default text color, so it follows the theme.
 * Or a site's own picture files (source picture, below), which keep their own
 * colors.
 *
 * The block's own rule carries no weight (:where), as the icon's does: the part
 * rule of the component a logo sits in (the header's, the app bar's, the
 * footer's) always sets its height, whatever order the stylesheets load in. */

:where(.smbk-logo) {
  display: inline-block;
  height: var(--smbk-size-mark-xl);
  width: auto;
  vertical-align: middle;
}

.smbk-logo__mark {
  fill: var(--smbk-color-border-brand);
}

.smbk-logo__type {
  fill: var(--smbk-color-text-default);
}

/* ---- source: picture ----
   A site's logo file, drawn as an image so it keeps its own colors. The block takes the height its
   place gives it, as the shapes do, and the picture fills that height at its own proportion. A dark
   version, when given, shows under the dark theme in place of the light one: the theme is read from
   the same attributes the tokens read (data-theme, or the system's setting when no theme is set), and a
   light area inside a dark one shows the light picture again. */

:where(.smbk-logo--source-picture) {
  display: inline-flex;
}

.smbk-logo__picture,
.smbk-logo__picture-dark {
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.smbk-logo__picture-dark {
  display: none;
}

[data-theme="dark"] .smbk-logo__picture:has(+ .smbk-logo__picture-dark) {
  display: none;
}

[data-theme="dark"] .smbk-logo__picture-dark {
  display: block;
}

[data-theme="dark"] [data-theme="light"] .smbk-logo__picture:has(+ .smbk-logo__picture-dark) {
  display: block;
}

[data-theme="dark"] [data-theme="light"] .smbk-logo__picture-dark {
  display: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .smbk-logo__picture:has(+ .smbk-logo__picture-dark) {
    display: none;
  }

  :root:not([data-theme]) .smbk-logo__picture-dark {
    display: block;
  }

  :root:not([data-theme]) [data-theme="light"] .smbk-logo__picture:has(+ .smbk-logo__picture-dark) {
    display: block;
  }

  :root:not([data-theme]) [data-theme="light"] .smbk-logo__picture-dark {
    display: none;
  }
}

/* ---- high contrast (forced colors) ---- */
/* In Windows high-contrast mode the browser drops fills and shadows; this puts the meaning back with the
   user's own colors. Nothing here applies outside that mode. */

@media (forced-colors: active) {
  /* SVG fills are not forced, so the wordmark would keep the page theme's color on the user's
     background. It takes the palette's text color instead. */
  .smbk-logo__type {
    fill: CanvasText;
  }
}
```

## Tokens it reads

```json
{
  "size": {
    "mark": {
      "xl": {
        "$type": "dimension",
        "$value": "{{size.32}}",
        "$description": "Small fixed marks inside components (dots, bars, keys), extra large."
      }
    }
  },
  "color": {
    "border": {
      "brand": {
        "$type": "color",
        "$value": "{{color.red.600}}",
        "$description": "Brand-red edge; also the logo’s mark."
      }
    },
    "text": {
      "default": {
        "$type": "color",
        "$value": "{{color.grey.900}}",
        "$description": "Main text."
      }
    }
  }
}
```

## Purpose

The brand marks, drawn as shapes in the page so they take the system's colors: the mark in the brand red, the same in both themes, the wordmark in the default text color. That is what lets one logo work on both themes without a second image.

A site with a logo of its own gives the logo its shapes (`shapes`), in the same form as the built-in logo: a name, the whole logo's frame, the view boxes of the mark and of the wordmark, and their paths. They are drawn and colored the same way.

A logo with colors of its own, a gradient or several fills cannot be drawn with two color roles. A site gives it as picture files instead (`picture`, the picture source): the whole logo, and the mark and the wordmark alone where it has those forms, each with an optional dark version. Each is drawn as an image, so it keeps its own colors and nothing inside it runs.

## Anatomy

- The block, an inline graphic at the display height.
- The mark part, the symbol.
- The type part, the wordmark.
- With the picture source, the block holds the picture part, the file for its form, and the picture dark part, its dark version, if given, in place of the mark and the type.

## When to use

- The header and the footer.
- Anywhere the product signs its name.

- Shapes for a logo that should follow the theme and the reader's high contrast colors; a picture for a logo with colors of its own.

## When not to use

- As an icon inside a control. Use the mark alone at most, and only where the brand itself is the subject.

## Behavior

Shapes take the theme's colors as it changes. A picture keeps its colors; under the dark theme its dark version, when given, shows in place of the light one, read from the same theme setting the colors follow, so a light area inside a dark page shows the light picture.

## Accessibility

### What it does for you

- The graphic carries an image role and the brand name as its accessible name, or the name a site's own shapes carry.
- A picture logo's images carry the logo's name as their text alternative.
- It takes no focus and no keys.

### What you must do

- When the logo is a link home, make the link's name the brand name. The graphic then needs no name of its own.
- Draw a logo that must stay readable in high contrast mode as shapes. A picture cannot follow high contrast mode: it keeps its own colors on the reader's background.

### How to test

- With a screen reader, the logo is read as an image named for the brand. Inside a link home, the link is read by the brand name.
- With text at 200% and the page 320 pixels wide, the logo keeps its height and its width follows.
- In a forced-color mode, a logo drawn as shapes shows its wordmark in the system's text color. A picture logo keeps its own colors on the reader's background, so check that it still reads there.

## Usage rules

### Do

- Keep the height; the width follows.
- Give a picture logo a dark version unless it reads on both the light and the dark surfaces.
- Use a picture only where the logo's own colors matter; shapes follow the theme for free.

### Don't

- Recolor it. The two roles are the whole brand rule; on a brand surface use the mark in the on-brand text color by placing it in a container that sets the color.
- Ship the simbolik logo on your own product. It stays simbolik's and no license here covers it; replace it with your own logo.
- Rely on the order stylesheets load in to size a logo. Its own height is only a starting point that any class overrides, so set its height with a class of your own where you place it.
