Skip to content

Commit

Permalink
merge tw-Classes from Textarea props using twMerge
Browse files Browse the repository at this point in the history
  • Loading branch information
armanal committed Nov 7, 2023
1 parent 8666902 commit 994a6ea
Showing 1 changed file with 26 additions and 18 deletions.
44 changes: 26 additions & 18 deletions packages/material-tailwind-react/src/components/Textarea/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import PropTypes from "prop-types";

// utils
import classnames from "classnames";
import { twMerge } from "tailwind-merge";
import findMatch from "../../utils/findMatch";
import objectsToString from "../../utils/objectsToString";

Expand Down Expand Up @@ -98,26 +99,33 @@ export const Textarea = React.forwardRef<HTMLDivElement, TextareaProps>(
const labelColor = objectsToString(
textareaVariant.colors.label[findMatch(valid.colors, color, "gray")],
);
const containerClasses = classnames(objectsToString(base.container), containerProps?.className);
const textareaClasses = classnames(
objectsToString(base.textarea),
objectsToString(textareaVariant.base.textarea),
objectsToString(textareaVariant.sizes[findMatch(valid.sizes, size, "md")].textarea),
{ [textareaColor]: !error && !success },
{ [textareaError]: error },
{ [textareaSuccess]: success },
{ [textareaShrink]: shrink },
!resize ? "!resize-none" : "",
const containerClasses = twMerge(
classnames(objectsToString(base.container)),
containerProps?.className,
);
const textareaClasses = twMerge(
classnames(
objectsToString(base.textarea),
objectsToString(textareaVariant.base.textarea),
objectsToString(textareaVariant.sizes[findMatch(valid.sizes, size, "md")].textarea),
{ [textareaColor]: !error && !success },
{ [textareaError]: error },
{ [textareaSuccess]: success },
{ [textareaShrink]: shrink },
!resize ? "!resize-none" : "",
),
className,
);
const labelClasses = classnames(
objectsToString(base.label),
objectsToString(textareaVariant.base.label),
objectsToString(textareaVariant.sizes[findMatch(valid.sizes, size, "md")].label),
{ [labelColor]: !error && !success },
{ [labelError]: error },
{ [labelSuccess]: success },
{ [labelShrink]: shrink },
const labelClasses = twMerge(
classnames(
objectsToString(base.label),
objectsToString(textareaVariant.base.label),
objectsToString(textareaVariant.sizes[findMatch(valid.sizes, size, "md")].label),
{ [labelColor]: !error && !success },
{ [labelError]: error },
{ [labelSuccess]: success },
{ [labelShrink]: shrink },
),
labelProps?.className,
);

Expand Down

0 comments on commit 994a6ea

Please sign in to comment.