import { Meta } from "@storybook/addon-docs";

<Meta title="Tokens/Shadows" />

<style>{`
  .subheading {
    --mediumdark: '#999999';
    font-weight: 900;
    font-size: 13px;
    color: var(--black);
    letter-spacing: 6px;
    line-height: 24px;
    text-transform: uppercase;
    margin-bottom: 12px;
    margin-top: 40px;
  }

  .preview-list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 10px;
  }

  @media (min-width: 620px) {
    .preview-list {
      row-gap: var(--spacing-12);
      column-gap: var(--spacing-12);
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (min-width: 865px) {
    .preview-list {
      row-gap: var(--spacing-12);
      column-gap: var(--spacing-12);
      grid-template-columns: 1fr 1fr 1fr;
    }
  }

  @media (min-width: 1024px) {
    .preview-list {
      grid-template-columns: 1fr 1fr 1fr 1fr;
    }
  }
  .preview-item {
    display: block;
    border-radius: var(--radius-base);
    color: #333333;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
  }

  .preview-item-preview {
    width: var(--spacing-8);
    height: var(--spacing-8);
    border-radius: var(--radius-base);
    transition: background 150ms ease-out;
  }

  .preview-item strong {
    font-weight: 600;
    display: block;
    letter-spacing: 0.25px;
    color: var(--neutral-600);
  }

  .preview-item span {
    font-size: var(--sizing-sm);
    line-height: 20px;
  }

  .tip {
    display: inline-block;
    border-radius: 1em;
    font-size: 15px;
    line-height: 12px;
    font-weight: 700;
    background: #E7FDD8;
    color: #66BF3C;
    padding: 4px 12px;
    margin-right: 10px;
    vertical-align: top;
  }

  .tip-wrapper {
    margin-top: var(--spacing-8);
    margin-bottom: var(--spacing-8);
  }

  .tip-wrapper code {
    display: inline-block;
  }

  
`}</style>

# Shadows

Shadows are used to cast shadows from interface elements, creating elevation between content.

## Using color tokens

<div className="tip-wrapper">
  <span className="tip">Tip</span>Colors are defined as CSS Custom properties,
  to use them, use: <code>var(--primary-500)</code> as the CSS property value.
</div>

```
box-shadow: var(--shadow-md);
text-shadow: var(--shadow-sm);
```

---

<div className="subheading">Shadows</div>

<div className="preview-list">
  <div className="preview-item" style={{ boxShadow: "var(--shadow-none)" }}>
    <span>
      <strong>--shadow-none</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-sm)" }}>
    <span>
      <strong>--shadow-sm</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-base)" }}>
    <span>
      <strong>--shadow-base</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-md)" }}>
    <span>
      <strong>--shadow-md</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-lg)" }}>
    <span>
      <strong>--shadow-lg</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-xl)" }}>
    <span>
      <strong>--shadow-xl</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-2xl)" }}>
    <span>
      <strong>--shadow-2xl</strong>
    </span>
  </div>
</div>

<div className="subheading">Inset Shadows</div>

<div className="preview-list">
  <div className="preview-item" style={{ boxShadow: "var(--shadow-inner-sm)" }}>
    <span>
      <strong>--shadow-inner-sm</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{ boxShadow: "var(--shadow-inner-base)" }}
  >
    <span>
      <strong>--shadow-inner-base</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-inner-md)" }}>
    <span>
      <strong>--shadow-inner-md</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-inner-lg)" }}>
    <span>
      <strong>--shadow-inner-lg</strong>
    </span>
  </div>
  <div className="preview-item" style={{ boxShadow: "var(--shadow-inner-xl)" }}>
    <span>
      <strong>--shadow-inner-xl</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{ boxShadow: "var(--shadow-inner-2xl)" }}
  >
    <span>
      <strong>--shadow-inner-2xl</strong>
    </span>
  </div>
</div>
<div className="subheading">Inherit (experimental)</div>

Inherit shadows will inherit the color of the element and use that as the shadow color.

Example:

```
.element {
  box-shadow: var(--shadow-inherit-md);
  color: var(--primary-200);
}
```

<div className="preview-list">
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-sm)",
      color: "var(--neutral-100)",
    }}
  >
    <span>
      <strong>--shadow-inherit-sm</strong>
    </span>
    <div class="preview-inherit-color">with --neutral-100</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-base)",
      color: "var(--neutral-100)",
    }}
  >
    <span>
      <strong>--shadow-inherit-base</strong>
    </span>
    <div class="preview-inherit-color">with --neutral-100</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-md)",
      color: "var(--neutral-200)",
    }}
  >
    <span>
      <strong>--shadow-inherit-md</strong>
    </span>
    <div class="preview-inherit-color">with --neutral-200</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-lg)",
      color: "var(--primary-100)",
    }}
  >
    <span>
      <strong>--shadow-inherit-lg</strong>
    </span>
    <div class="preview-inherit-color">with --primary-100</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-xl)",
      color: "var(--primary-200)",
    }}
  >
    <span>
      <strong>--shadow-inherit-xl</strong>
    </span>
    <div class="preview-inherit-color">with --primary-200</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-2xl)",
      color: "var(--primary-300)",
    }}
  >
    <span>
      <strong>--shadow-inherit-2xl</strong>
    </span>
    <div class="preview-inherit-color">with --primary-300</div>
  </div>
  <div
    className="preview-item"
    style={{
      boxShadow: "var(--shadow-inherit-inner)",
      color: "var(--secondary-300)",
    }}
  >
    <span>
      <strong>--shadow-inherit-inner</strong>
    </span>
    <div class="preview-inherit-color">with --secondary-300</div>
  </div>
</div>
