import React from 'react'; import { View, ViewStyle, type StyleProp } from 'react-native'; import { Spacing } from '@/constants/theme'; interface FlexLayoutProps { children: React.ReactNode; gap?: number; style?: ViewStyle; } export const Row: React.FC = ({ children, gap = Spacing.inlineGapSm, style, }) => ( {children} ); export const Col: React.FC = ({ children, gap = Spacing.inlineGapSm, style, }) => ( {children} ); export const Grid: React.FC = ({ children, gap = Spacing.cardGap, columns = 2, style, }) => ( {React.Children.map(children, (child) => React.cloneElement(child as React.ReactElement<{ style?: StyleProp }>, { style: [ { width: `${100 / columns - (gap * (columns - 1)) / columns}%`, }, (child as React.ReactElement<{ style?: StyleProp }>).props.style, ], }) )} ); export const Center: React.FC<{ children: React.ReactNode; style?: ViewStyle }> = ({ children, style, }) => ( {children} ); export const Between: React.FC = ({ children, gap = 0, style, }) => ( {children} );