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

<Meta title="Tokens/Gradients" />

<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-4);
      column-gap: var(--spacing-4);
      grid-template-columns: 1fr;
    }
  }

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

  @media (min-width: 1024px) {
    .preview-list {
      grid-template-columns: 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.5 / 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(--white);
  }

  .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>

# Gradients

Gradients are used to add depth to an interface.

## Using gradient tokens

<div className="tip-wrapper">
  <span className="tip">Tip</span>Gradients are defined as CSS Custom
  properties, to use them, use: <code>var(--grad-primary-dark)</code> as the
  gradient color values.
</div>

```
background-image: linear-gradient(to bottom right, var(--grad-primary-dark));
background-image: radial-gradient(to bottom right, var(--grad-primary-dark));
```

---

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

<div className="preview-list">
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-neutral-light))",
    }}
  >
    <span>
      <strong>--grad-neutral-light</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to bottom right, var(--grad-neutral))",
    }}
  >
    <span>
      <strong>--grad-neutral</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-neutral-dark))",
    }}
  >
    <span>
      <strong>--grad-neutral-dark</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-primary-light))",
    }}
  >
    <span>
      <strong>--grad-primary-light</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to bottom right, var(--grad-primary))",
    }}
  >
    <span>
      <strong>--grad-primary</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>--grad-primary-dark</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary-light))",
    }}
  >
    <span>
      <strong>--grad-secondary-light</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary))",
    }}
  >
    <span>
      <strong>--grad-secondary</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary-dark))",
    }}
  >
    <span>
      <strong>--grad-secondary-dark</strong>
    </span>
  </div>

  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary-primary-light))",
    }}
  >
    <span>
      <strong>--grad-secondary-primary-light</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary-primary))",
    }}
  >
    <span>
      <strong>--grad-secondary-primary</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-secondary-primary-dark))",
    }}
  >
    <span>
      <strong>--grad-secondary-primary-dark</strong>
    </span>
  </div>
  
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-neutral-primary-light))",
    }}
  >
    <span>
      <strong>--grad-neutral-primary-light</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-neutral-primary))",
    }}
  >
    <span>
      <strong>--grad-neutral-primary</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-neutral-primary-dark))",
    }}
  >
    <span>
      <strong>--grad-neutral-primary-dark</strong>
    </span>
  </div>
</div>
<div className="subheading">Direction</div>

Example:

```
background-image: linear-gradient(to right, var(--grad-primary));
```

<div className="preview-list">
  <div
    className="preview-item"
    style={{
      backgroundImage:
        "linear-gradient(to bottom right, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>to bottom right</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to bottom, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>to bottom</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to top, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>to top</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to right, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>to right</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(to left, var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>to left</strong>
    </span>
  </div>
</div>
<div className="subheading">Types</div>

Example:

```
background-image: radial-gradient(var(--grad-primary-dark));
background-image: linear-gradient(var(--grad-primary-dark));
```

<div className="preview-list">
  <div
    className="preview-item"
    style={{
      backgroundImage: "radial-gradient(var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>radial-gradient</strong>
    </span>
  </div>
  <div
    className="preview-item"
    style={{
      backgroundImage: "linear-gradient(var(--grad-primary-dark))",
    }}
  >
    <span>
      <strong>linear-gradient</strong>
    </span>
  </div>
</div>
