Files
formbricks-formbricks/apps/docs/components/GridPattern.tsx
Matti Nannt 5c265aacb9 feat: full docs revamp for Formbricks 2.0 (#2568)
Co-authored-by: ShubhamPalriwala <spalriwalau@gmail.com>
2024-05-07 11:06:42 +02:00

44 lines
1.0 KiB
TypeScript

import { useId } from "react";
export function GridPattern({
width,
height,
x,
y,
squares,
...props
}: React.ComponentPropsWithoutRef<"svg"> & {
width: number;
height: number;
x: string | number;
y: string | number;
squares: Array<[x: number, y: number]>;
}) {
let patternId = useId();
return (
<svg aria-hidden="true" {...props}>
<defs>
<pattern id={patternId} width={width} height={height} patternUnits="userSpaceOnUse" x={x} y={y}>
<path d={`M.5 ${height}V.5H${width}`} fill="none" />
</pattern>
</defs>
<rect width="100%" height="100%" strokeWidth={0} fill={`url(#${patternId})`} />
{squares && (
<svg x={x} y={y} className="overflow-visible">
{squares.map(([x, y]) => (
<rect
strokeWidth="0"
key={`${x}-${y}`}
width={width + 1}
height={height + 1}
x={x * width}
y={y * height}
/>
))}
</svg>
)}
</svg>
);
}