@vela-ui/react
Version:
Vela UI React components
60 lines (57 loc) • 1.36 kB
JavaScript
import {
Input,
InputGroup
} from "./chunk-NHADI6X2.mjs";
import {
Description,
FieldError,
Label
} from "./chunk-FFLNGARZ.mjs";
// src/components/text-field.tsx
import { TextField as AriaTextField, composeRenderProps } from "react-aria-components";
import { tv } from "tailwind-variants";
import { jsx, jsxs } from "react/jsx-runtime";
var textFieldVariants = tv({
base: "group flex flex-col gap-2"
});
function TextField({
placeholder,
label,
description,
errorMessage,
size,
className,
inputClassName,
startElement,
endElement,
startAddon,
endAddon,
...props
}) {
return /* @__PURE__ */ jsxs(
AriaTextField,
{
className: composeRenderProps(className, (className2) => textFieldVariants({ className: className2 })),
...props,
children: [
label && /* @__PURE__ */ jsx(Label, { children: label }),
/* @__PURE__ */ jsx(
InputGroup,
{
size,
startElement,
endElement,
startAddon,
endAddon,
children: /* @__PURE__ */ jsx(Input, { placeholder, className: inputClassName })
}
),
description && /* @__PURE__ */ jsx(Description, { children: description }),
/* @__PURE__ */ jsx(FieldError, { children: errorMessage })
]
}
);
}
export {
TextField
};