CSS
Preview.js supports CSS imports out of the box.
You can import CSS files in your components directly:
import "./styles.css";
You can also import CSS files in your wrapper component to apply global styles:
// __previewjs__/Wrapper.tsx
import "../src/styles.css";
export function Wrapper({ children }) {
return <div>{children}</div>;
}
CSS Modules
CSS Modules are supported out of the box.
/* Button.module.css */
.button {
background: blue;
color: white;
}
import styles from "./Button.module.css";
export function Button() {
return <button className={styles.button}>Click me</button>;
}
SASS/SCSS
SASS/SCSS is supported out of the box.
/* styles.scss */
$color: blue;
.button {
background: $color;
color: white;
}
import "./styles.scss";
LESS
LESS is supported out of the box.
/* styles.less */
@color: blue;
.button {
background: @color;
color: white;
}
import "./styles.less";
PostCSS / Tailwind
If your CSS relies on PostCSS, it will be picked up as long as your project has a postcss.config.js
file.
For example for Tailwind, here is the required configuration:
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
You should also make sure that you import the global CSS as explained above.