// Mockup https://www.figma.com/design/zsq2ahat30acTnumyy9aqC/00.Small-System?node-id=1235-18254&m=dev
import { html, nothing } from "lit";
import type { Meta, StoryObj } from "@storybook/web-components";
import { TemsInputPosttab } from "@components/forms/ui/tems-input-posttab";
import { TemsInputPretab } from "@components/forms/ui/tems-input-pretab";
import {
TemsDefinedField,
type TemsDefinedFieldProps,
} from "@components/forms/searchbar/tems-defined-field";
import "~icons/heroicons-outline/selector";
const ICON_OPTION_SELECTOR = html``;
const meta: Meta = {
title: "components/forms/searchbar/tems-defined-field",
tags: ["autodocs", "!dev", "Molecules"],
render: (args) => {
new TemsInputPretab();
new TemsInputPosttab();
new TemsDefinedField();
return html``;
},
args: {
value: undefined,
label: undefined,
icon: undefined,
disabled: false,
status: undefined,
pretabLabel: undefined,
pretabIcon: undefined,
posttabIcon: undefined,
},
argTypes: {
value: { control: "text" },
label: { control: "text", description: "Placeholder text" },
status: {
control: "text",
table: {
defaultValue: { summary: "undefined" },
},
description: "undefined/true/false/custom message",
},
disabled: {
control: "boolean",
table: { defaultValue: { summary: "false" } },
},
pretabLabel: { control: "text", description: "Pretab label" },
pretabIcon: {
control: {
type: "select",
labels: {
undefined: "No pretab icon",
"[object Object]": "Sample icon",
},
},
options: [undefined, ICON_OPTION_SELECTOR],
},
posttabIcon: {
control: {
type: "select",
labels: {
undefined: "No posttab icon",
"[object Object]": "Sample icon",
},
},
options: [undefined, ICON_OPTION_SELECTOR],
},
},
};
export default meta;
export type TemsDefinedFieldStory = StoryObj;
export const Default: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
},
};
export const IconLeft: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
pretabIcon: ICON_OPTION_SELECTOR,
},
};
export const LabelLeft: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
pretabLabel: "www.",
},
};
export const LabelIconLeft: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
},
};
export const IconRight: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const Both: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const BothLabel: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const FilledBothLabel: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
value: "Something",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const ErrorBase: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
value: "Something",
status: "false",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const ErrorMessage: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
value: "Something",
status: "Error, custom message",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const ErrorEmpty: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
status: "Error, custom message",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const Success: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
value: "Something",
status: "true",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const SuccessEmpty: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
status: "true",
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const Disabled: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
value: "Something",
disabled: true,
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};
export const DisabledEmpty: TemsDefinedFieldStory = {
args: {
label: "Placeholder",
disabled: true,
pretabLabel: "www.",
pretabIcon: ICON_OPTION_SELECTOR,
posttabIcon: ICON_OPTION_SELECTOR,
},
};