import _ from 'lodash'; import React, { useState } from 'react'; import { Meta, Story } from '@storybook/react'; import { ChatIcon } from '../Icon/ChatIcon/ChatIcon'; import { Button } from '../Button/Button'; import { Banner, IBannerProps } from './Banner'; export default { title: 'communication/Banner', component: Banner, parameters: { docs: { description: { component: Banner.peek.description, }, }, }, args: Banner.defaultProps, } as Meta; export const Basic: Story = (args) => ( Default ); export const Stateful: Story = (args) => { const [isClosed, setIsClosed] = useState(false); return (

setIsClosed(true)}> Default
); }; export const Stateless: Story = (args) => { const kinds = [ { label: 'Default', value: undefined }, { label: 'Success', value: 'success' }, { label: 'Warning', value: 'warning' }, { label: 'Danger', value: 'danger' }, { label: 'Info', value: 'info' }, ]; return (
{_.map(kinds, ({ label, value }) => (
{label} {label} -- No Close {String.fromCharCode(0x00d7)}
))}
} style={{ marginBottom: 8 }} > Has Icon
Sit totam voluptas error dolorum ullam Quo ipsam esse amet mollitia consequuntur Cumque cum nisi porro cumque sit nisi Facilis placeat suscipit earum blanditiis eveniet Earum dolor voluptates perferendis quis
Adipisicing culpa atque totam quidem dicta consequatur fugiat quaerat Facilis cupiditate amet nam in perferendis Veritatis iusto molestiae illum doloribus deserunt Odit autem obcaecati dolores ad incidunt? Ipsa eveniet modi.
Lorem sit explicabo vitae illum labore Nostrum inventore dolor nisi deserunt voluptatem Voluptas itaque nesciunt omnis necessitatibus asperiores! Eius error ab consequatur necessitatibus repudiandae quibusdam Odio consequuntur at necessitatibus at
{_.map(kinds, ({ label, value }) => (
{label} -- Outline
Outline banners are for messages with multi-line content.
))}
} isFilled={false} style={{ marginBottom: 8 }} >
Has Icon -- Outline
Outline banners are for messages with multi-line content.
); }; export const Small: Story = (args) => { const kinds = [ { label: 'Default', value: undefined }, { label: 'Success', value: 'success' }, { label: 'Warning', value: 'warning' }, { label: 'Danger', value: 'danger' }, { label: 'Info', value: 'info' }, ]; return (
{_.map(kinds, ({ label, value }) => (
{label} {label} -- No Close {String.fromCharCode(0x00d7)}
))} {_.map(kinds, ({ label, value }) => (
{label} -- Outline Only
))}
); };