π Tailwind to CSS (tw-to-css)
Transform Tailwind classes to pure CSS using our plug-and-play package, compatible with both CSR and SSR. The package also includes the option to convert the output to JSON for use with React or other tools.
Here's a list of advantages of using the package:
- β
Simplifies integration of Tailwind CSS into projects
- β
Compatible with both Client-side and Server-side Rendering
- β
Plug-and-play, no configuration necessary
- β
Option to convert output to JSON for use with React or other tools
- β
Improves performance by eliminating runtime processing
- β
Reduces project size and build time
- β
Maintains the readability and maintainability of the Tailwind CSS codebase
Installation
NPM module
npm install tw-to-css -E
yarn add tw-to-css -E
CDN
<script src="https://unpkg.com/tw-to-css@0.0.12/dist/cdn.min.js"></script>
Usage
import { twi, twj } from "tw-to-css";
const styleInline = twi(`bg-white mx-auto`);
const styleJSON = twj(`bg-white mx-auto`);
The twi
and twj
functions accept multiple types of inputs.
twi`bg-blue-700 ${false && "rounded"}`;
twi({ "bg-blue-700": true, rounded: false, underline: isTrue() });
twi([["bg-blue-700"], ["text-white", "rounded"], [["underline"]]]);
twi("bg-blue-700 text-white");
twi
and twj
functions take an additional options object that allows you to configure the output.
Options:
minify | boolean | true | Compresses the CSS code |
merge | boolean | true | Combines all generated CSS classes into a single style block. |
Example:
twi("bg-white mx-auto", { minify: false, merge: false });
You can also configure your own Tailwind config using the tailwindToCSS function:
import { tailwindToCSS } from "tw-to-css";
const { twi, twj } = tailwindToCSS({
config: {
theme: {
extend: {
colors: {
"custom-color": "#ff0000",
},
},
},
},
});
Example of usage with React:
import * as React from "react";
import { twj } from "tw-to-css";
export default function EmailTemplate() {
return (
<html>
<body style={twj("font-sans text-md bg-white py-4")}>
<h1 style={twj("text-black text-center p-0 my-2 mx-0")}>Tailwind to CSS!</h1>
<p style={twj("text-gray-400 text-center")}>Transform Tailwind classes to pure CSS</p>
</body>
</html>
);
}