import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title, CustomArgsTable, VariantsTable,VariantRow } from '@calcom/storybook/components'
import { Alert } from './Alert';

<Meta title="UI/Alert" component={Alert} />

<Title title="Alert" suffix="Brief" subtitle="Version 2.0 — Last Update: 04 jan 2023"/>

## Definition
Alerts provide time-based feedback to the user after taking an action.

## Structure
Each alert has a state to represent neutral, positive or negative responses.

<CustomArgsTable of={Alert} />

<Examples title="Alert style">
  <Example title="Error">
    <Alert severity="error" title="Summarise what happened" message="Describe what can be done about it here." />
  </Example>
  <Example title="Warning">
    <Alert severity="warning" title="Summarise what happened" message="Describe what can be done about it here." />
  </Example>
  <Example title="With actions">
    <Alert
      severity="warning"
      title="Summarise what happened"
      message="Describe what can be done about it here."
      actions={<><button>Cancel me</button></>}
      />
  </Example>
</Examples>

<Title offset title="Alert" suffix="Variants" />

<Canvas>
  <Story
    name="Alert"
    args={{
      severity: 'success',
      title: 'Summarise what happened',
      message: 'Describe what can be done about it here.',
    }}
    argTypes={{
      severity: {
        control: {
          type: 'inline-radio',
          options: ['success', 'warning', 'error', 'neutral', 'info'],
        },
      },
      title: {
        control: {
          type: 'text'
        }
      },
      message: {
        control: {
          type: 'text'
        }
      },
    }}
  >
    {({ severity, title, message }) => (
      <VariantsTable titles={['Default']} columnMinWidth={150}>
        <VariantRow variant={severity}>
          <Alert severity={severity} title={title} message={message} />
        </VariantRow>
      </VariantsTable>
    )}
  </Story>
</Canvas>
