const { cva } = require("class-variance-authority"); // ⚠️ Disclaimer: Use of Tailwind CSS is optionalconst button = cva("button", { variants: { intent: { primary: [ "bg-blue-500", "text-white", "border-transparent", "hover:bg-blue-600", ], secondary: [ "bg-white", "text-gray-800", "border-gray-400", "hover:bg-gray-100", ], }, size: { small: ["text-sm", "py-1", "px-2"], medium: ["text-base", "py-2", "px-4"], }, }, compoundVariants: [{ intent: "primary", size: "medium", class: "uppercase" }], defaultVariants: { intent: "primary", size: "medium", },}); module.exports = function ({ label, intent, size }) { return `<button class="${button({ intent, size })}">${label}</button>`;};