A React component that provides a visual overlay for displaying and debugging grid layouts in your application, defined by tailwind classes.
Shift + G
on your keyboardnpm i react-tailwind-grid-viewer
or
yarn add react-tailwind-grid-viewer
import GridViewer from "react-tailwind-grid-viewer";
<GridViewer color="bg-cyan-500" />;
It's a good idea to avoid rendering the component in production, but it's up to you.
{
process.env.NODE_ENV !== "production" && <GridViewer color="bg-cyan-500" />;
}
Press Shift + G
to toggle the grid overlay visibility.
const customGrid = [
{
breakpoint: "default",
columnClass: "grid-cols-4",
gapClass: "gap-4",
classes: "px-2",
},
{
breakpoint: "md",
columnClass: "grid-cols-8",
gapClass: "gap-6",
classes: "px-4",
},
// ... add more breakpoints as needed
];
<GridViewer color="bg-cyan-500" grid={customGrid} />;
Prop | Type | Default | Description |
---|---|---|---|
color |
string |
- | The background color class for the grid columns. Must be a valid Tailwind CSS background color class (e.g., "bg-cyan-500" ). |
opacity |
string |
"bg-opacity-20" |
The opacity class for the grid columns. Must be a valid Tailwind CSS background opacity class (e.g., "bg-opacity-20" ). |
grid |
GridConfig[] |
See below* | An array of grid configurations for different breakpoints. |
container |
boolean |
true |
Whether to apply the container class to the grid wrapper. |
visibleByDefault |
boolean |
false |
Whether the grid overlay should be visible by default. |
[
{
breakpoint: "default",
columnClass: "grid-cols-2",
gapClass: "gap-8",
classes: "px-4",
},
{
breakpoint: "md",
columnClass: "grid-cols-6",
gapClass: "gap-8",
classes: "px-8",
},
{
breakpoint: "lg",
columnClass: "grid-cols-12",
gapClass: "gap-16",
classes: "px-16",
},
{
breakpoint: "xl",
columnClass: "grid-cols-12",
gapClass: "gap-16",
classes: "px-16",
},
{
breakpoint: "2xl",
columnClass: "grid-cols-12",
gapClass: "gap-16",
classes: "px-16",
},
];
A: Make sure you set color
to a existing background color class in from your tailwind config e.g. bg-gray-500
.
A: While GridViewer is designed to work seamlessly with Tailwind CSS, you could use it with other frameworks by providing appropriate class names in the grid configuration.
A: Currently, the keyboard shortcut is not customizable.
A: GridViewer is designed to have minimal impact on performance. It only renders when visible and uses CSS for most of its functionality. However, it's recommended to remove or disable it in production builds.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.