import React from "react"; import TextArea from "../../app/components/controls/TextArea"; import { INPUT_STATE_OPTIONS, LABEL_VARIANT_OPTIONS, SMALL_MEDIUM_LARGE_OPTIONS, TEXT_AREA_APPEARANCE_OPTIONS, } from "../../lib/propNormalization"; export default { title: "Components/Controls/TextArea", component: TextArea, parameters: { layout: "centered", }, argTypes: { size: { control: { type: "select" }, options: [...SMALL_MEDIUM_LARGE_OPTIONS], }, labelVariant: { control: { type: "select" }, options: [...LABEL_VARIANT_OPTIONS], }, appearance: { control: { type: "select" }, options: [...TEXT_AREA_APPEARANCE_OPTIONS], }, state: { control: { type: "select" }, options: [...INPUT_STATE_OPTIONS], }, disabled: { control: { type: "boolean" }, }, error: { control: { type: "boolean" }, }, }, }; const Template = (args) => ; export const Default = { args: { label: "Text Area", placeholder: "Enter text...", value: "", }, render: Template, }; export const WithValue = { args: { label: "Text Area", placeholder: "Enter text...", value: "This is some sample text content that demonstrates how the text area looks with content.", }, render: Template, }; export const Small = { args: { size: "small", label: "Small Text Area", placeholder: "Enter text...", value: "", }, render: Template, }; export const Medium = { args: { size: "medium", label: "Medium Text Area", placeholder: "Enter text...", value: "", }, render: Template, }; export const Large = { args: { size: "large", label: "Large Text Area", placeholder: "Enter text...", value: "", }, render: Template, }; export const Embedded = { args: { label: "Section content", placeholder: "Enter text...", value: "Embedded appearance used in create-flow modals: borderless, darker grey block.", appearance: "embedded", size: "large", rows: 4, }, render: Template, }; export const HorizontalLabel = { args: { labelVariant: "horizontal", label: "Horizontal Label", placeholder: "Enter text...", value: "", }, render: Template, }; export const AllSizes = () => (