clsxis a tiny JavaScript utility. It’s commonly used in React to buildclassNamevalues based on state (error, active, disabled, etc.) without messy string logic.
npm install clsx
import clsx from "clsx"clsx("btn", "btn-primary")// → "btn btn-primary"
clsx("btn",isActive && "btn-active",isDisabled && "btn-disabled")// isActive = true// isDisabled = false// → "btn btn-active"
Only truthy values are included.
clsx("input", {"input-error": hasError,"input-disabled": disabled,})// hasError = true// disabled = true// → "input input-error input-disabled"
Keys with truthy values are included.
<inputclassName={clsx("h-10 rounded-md border px-3",error? "border-red-500": "border-gray-300",disabled && "opacity-50 cursor-not-allowed")}/>