import * as React from "react"; import { action } from "@storybook/addon-actions"; import { Story, Meta } from "@storybook/react"; import { PageHeader, SpacingBox, PrimaryButton, SecondaryButton } from "../../"; import { PromoBanner } from "../"; import PromoContent from "../components/PromoContent"; import { purpleLighten5, themeBgSecondary } from "../../design-tokens/build/js/designTokens"; export default { title: "Feedback/PromoBanner", component: PromoBanner, subcomponents: { PromoContent }, argTypes: { bodyContent: { control: { type: "text" } }, gradients: { options: [purpleLighten5, themeBgSecondary] }, primaryAction: { control: { disable: true } }, secondaryAction: { control: { disable: true } }, "data-cy": { control: { disable: true } } } } as Meta; const Template: Story = args => ( <> Primary page content ); export const Default = Template.bind({}); export const CustomBackgroundColor = Template.bind({}); CustomBackgroundColor.args = { bgColor: purpleLighten5 }; export const GradientBackground = Template.bind({}); GradientBackground.args = { gradients: "lightBlue" }; export const BannerGraphic = Template.bind({}); BannerGraphic.args = { graphicSrc: "http://placehold.it/350x150" }; export const WithPrimaryAndSecondaryActions = args => ( <> Primary Action} secondaryAction={Secondary Action} headingText="Promo Banner" bodyContent="The PromoBanner component is used to bring the user's attention to informational content relevant to the page it's being displayed on. It typically appears below the PageHeader." dismissHandler={action("Hide the promo")} optOutHandler={action("Do not show this promo again")} {...args} /> Primary page content );