// Mockup https://www.figma.com/design/zsq2ahat30acTnumyy9aqC/00.Small-System?node-id=1235-18586&m=dev import { html, nothing } from "lit"; import type { Meta, StoryObj } from "@storybook/web-components"; import { TemsInputField, type TemsInputFieldProps, } from "@components/forms/ui/tems-input-field"; import "~icons/heroicons-outline/selector"; const ICON_OPTION_SELECTOR = html``; const meta: Meta = { title: "components/forms/ui/tems-input-field", tags: ["autodocs", "!dev", "Atoms"], render: (args) => { new TemsInputField(); return html``; }, args: { value: undefined, label: undefined, size: undefined, icon: undefined, disabled: false, status: undefined, }, argTypes: { value: { control: "text" }, label: { control: "text", description: "Placeholder text" }, size: { control: { type: "select", labels: { md: "Medium", sm: "Small", lg: "Large" }, }, table: { defaultValue: { summary: "md" }, }, options: ["sm", "md", "lg"], }, status: { control: "text", table: { defaultValue: { summary: "undefined" }, }, description: "undefined/true/false/custom message", }, icon: { control: { type: "select", labels: { undefined: "Default icon", "[object Object]": "Sample icon" }, }, table: { defaultValue: { summary: "mingcute:search-3-line" } }, options: [undefined, ICON_OPTION_SELECTOR], }, disabled: { control: "boolean", table: { defaultValue: { summary: "false" } }, }, }, }; export default meta; export type TemsInputFieldStory = StoryObj; export const Default: TemsInputFieldStory = { args: { label: "Label", size: "md", icon: undefined, value: "", }, }; export const Filled: TemsInputFieldStory = { args: { label: "Label", size: "md", icon: undefined, value: "Some text", }, }; export const Success: TemsInputFieldStory = { args: { label: "Label", size: "md", status: "true", icon: undefined, }, }; export const SuccessFilled: TemsInputFieldStory = { args: { label: "Label", size: "md", status: "true", icon: undefined, value: "Some text", }, }; export const Errored: TemsInputFieldStory = { args: { label: "Label", size: "md", status: "false", icon: undefined, }, }; export const ErroredFilled: TemsInputFieldStory = { args: { label: "Label", size: "md", status: "false", icon: undefined, value: "Some text", }, };