import { Meta } from '@storybook/blocks'
import Image from 'next/image'

import Code from './assets/code-brackets.svg'
import Colors from './assets/colors.svg'
import Comments from './assets/comments.svg'
import Direction from './assets/direction.svg'
import Flow from './assets/flow.svg'
import Plugin from './assets/plugin.svg'
import Repo from './assets/repo.svg'
import StackAlt from './assets/stackalt.svg'

<Meta title="Example/Introduction" />

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

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

    @media (min-width: 620px) {
      .link-list {
        row-gap: 20px;
        column-gap: 20px;
        grid-template-columns: 1fr 1fr;
      }
    }

    @media all and (-ms-high-contrast:none) {
    .link-list {
        display: -ms-grid;
        -ms-grid-columns: 1fr 1fr;
        -ms-grid-rows: 1fr 1fr;
      }
    }

    .link-item {
      display: block;
      padding: 20px;
      border: 1px solid #00000010;
      border-radius: 5px;
      transition: background 150ms ease-out, border 150ms ease-out, transform 150ms ease-out;
      color: #333333;
      display: flex;
      align-items: flex-start;
    }

    .link-item:hover {
      border-color: #1EA7FD50;
      transform: translate3d(0, -3px, 0);
      box-shadow: rgba(0, 0, 0, 0.08) 0 3px 10px 0;
    }

    .link-item:active {
      border-color: #1EA7FD;
      transform: translate3d(0, 0, 0);
    }

    .link-item strong {
      font-weight: 700;
      display: block;
      margin-bottom: 2px;
    }

    .link-item-img-wrapper {
      height: 40px;
      width: 40px;
      margin-right: 15px;
      flex: none;
    }

    .link-item span,
    .link-item p {
      margin: 0;
      font-size: 14px;
      line-height: 20px;
    }

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

    .tip-wrapper {
      font-size: 13px;
      line-height: 20px;
      margin-top: 40px;
      margin-bottom: 40px;
    }

    .tip-wrapper code {
      font-size: 12px;
      display: inline-block;
    }
  `}
</style>

# Welcome to Storybook

Storybook helps you build UI components in isolation from your app's business logic, data, and context.
That makes it easy to develop hard-to-reach states. Save these UI states as **stories** to revisit during development, testing, or QA.

Browse example stories now by navigating to them in the sidebar.
View their code in the `stories` directory to learn how they work.
We recommend building UIs with a [**component-driven**](https://componentdriven.org) process starting with atomic components and ending with pages.

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

<div className="link-list">
  <a
    className="link-item"
    href="https://storybook.js.org/docs/react/addons/addon-types"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={Plugin} alt="plugin" />
    </div>
    <span>
      <strong>Presets for popular tools</strong>
      Easy setup for TypeScript, SCSS and more.
    </span>
  </a>
  <a
    className="link-item"
    href="https://storybook.js.org/docs/react/configure/webpack"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={StackAlt} alt="Build" />
    </div>
    <span>
      <strong>Build configuration</strong>
      How to customize webpack and Babel
    </span>
  </a>
  <a
    className="link-item"
    href="https://storybook.js.org/docs/react/configure/styling-and-css"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={Colors} alt="colors" />
    </div>
    <span>
      <strong>Styling</strong>
      How to load and configure CSS libraries
    </span>
  </a>
  <a
    className="link-item"
    href="https://storybook.js.org/docs/react/get-started/setup#configure-storybook-for-your-stack"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={Flow} alt="flow" />
    </div>
    <span>
      <strong>Data</strong>
      Providers and mocking for data libraries
    </span>
  </a>
</div>

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

<div className="link-list">
  <a className="link-item" href="https://storybook.js.org/docs" target="_blank">
    <div className="link-item-img-wrapper">
      <Image src={Repo} alt="repo" />
    </div>
    <span>
      <strong>Storybook documentation</strong>
      Configure, customize, and extend
    </span>
  </a>
  <a
    className="link-item"
    href="https://storybook.js.org/tutorials/"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={Direction} alt="direction" />
    </div>
    <span>
      <strong>In-depth guides</strong>
      Best practices from leading teams
    </span>
  </a>
  <a
    className="link-item"
    href="https://github.com/storybookjs/storybook"
    target="_blank"
  >
    <div className="link-item-img-wrapper">
      <Image src={Code} alt="code" />
    </div>
    <span>
      <strong>GitHub project</strong>
      View the source and add issues
    </span>
  </a>
  <a className="link-item" href="https://discord.gg/storybook" target="_blank">
    <div className="link-item-img-wrapper">
      <Image src={Comments} alt="comments" />
    </div>
    <span>
      <strong>Discord chat</strong>
      Chat with maintainers and the community
    </span>
  </a>
</div>

<div className="tip-wrapper">
  <span className="tip">Tip</span>Edit the Markdown in{' '}
  <code>stories/Introduction.mdx</code>
</div>
