@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
32 lines (31 loc) • 1.23 kB
JavaScript
"use client";
import { getEnv } from "../../core/utils/get-env/get-env.mjs";
import { useProps } from "../../core/MantineProvider/use-props/use-props.mjs";
import { factory } from "../../core/factory/factory.mjs";
import { InputBase } from "../InputBase/InputBase.mjs";
import { TextareaAutosize } from "./Autosize.mjs";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/Textarea/Textarea.tsx
const defaultProps = { size: "sm" };
const Textarea = factory((props) => {
const { autosize, maxRows, minRows, __staticSelector, resize, ...others } = useProps("Textarea", defaultProps, props);
const shouldAutosize = autosize && getEnv() !== "test";
const autosizeProps = shouldAutosize ? {
maxRows,
minRows
} : {};
return /* @__PURE__ */ jsx(InputBase, {
component: shouldAutosize ? TextareaAutosize : "textarea",
...others,
__staticSelector: __staticSelector || "Textarea",
multiline: true,
"data-no-overflow": autosize && maxRows === void 0 || void 0,
__vars: { "--input-resize": resize },
...autosizeProps
});
});
Textarea.classes = InputBase.classes;
Textarea.displayName = "@mantine/core/Textarea";
//#endregion
export { Textarea };
//# sourceMappingURL=Textarea.mjs.map