import { BlockIcon, CancelIcon, CancelSmallIcon, ChannelBtnFilledIcon, CheckCircleFilledIcon, ErrorTriangleFilledIcon, Hourglass3Icon, InfoIcon, LightbulbIcon, } from '@channel.io/bezier-icons' import type { Meta, StoryFn, StoryObj } from '@storybook/react' import { noop } from '~/src/utils/function' import { LegacyStackItem, LegacyVStack } from '~/src/components/LegacyStack' import { Banner } from './Banner' import mdx from './Banner.mdx' import { type BannerProps } from './Banner.types' const meta: Meta = { component: Banner, parameters: { docs: { page: mdx, }, }, argTypes: { hasLink: { control: { type: 'boolean', }, }, linkText: { control: { type: 'text', }, }, linkTo: { control: { type: 'text', }, }, }, tags: ['!autodocs'], } export default meta export const Primary: StoryObj = { args: { variant: 'default', icon: LightbulbIcon, content: 'Information here.', actionIcon: CancelSmallIcon, onClickAction: noop, }, } export const Overview: StoryFn<{}> = () => ( ) export const UsageMinWidth: StoryObj<{}> = { render: () => ( ), name: 'Usage (min width)', } export const UsageFullWidth: StoryObj<{}> = { render: () => ( ), name: 'Usage (full width)', } export const UsageMaxWidth: StoryObj<{}> = { render: () => ( ), name: 'Usage (max width)', } export const UsageConsecutive: StoryObj<{}> = { render: () => ( ), name: 'Usage (consecutive)', } export const UsageNoIcon: StoryObj<{}> = { render: () => ( ), name: 'Usage (no icon)', } export const UsageLink: StoryObj<{}> = { render: () => ( ), name: 'Usage (link)', } export const UsageLinkTo: StoryObj<{}> = { render: () => ( ), name: 'Usage (link to external location)', }