grid.tsx 493 B

1234567891011121314
  1. 'use client';
  2. import { type ComponentRenderProps } from '@json-render/react';
  3. export function Grid({ element, children }: ComponentRenderProps) {
  4. const { columns, gap } = element.props as { columns?: number | null; gap?: string | null };
  5. const gaps: Record<string, string> = { none: '0', sm: '8px', md: '16px', lg: '24px' };
  6. return (
  7. <div style={{ display: 'grid', gridTemplateColumns: `repeat(${columns || 2}, 1fr)`, gap: gaps[gap || 'md'] }}>
  8. {children}
  9. </div>
  10. );
  11. }