--- interface Props { /** Layout mode: number of columns or 'auto' for responsive */ layout?: "2-column" | "3-column" | "4-column" | "auto"; /** Gap between items - can be a predefined size or custom value (e.g., "2rem", "20px", "1.5em") */ gap?: "small" | "medium" | "large" | string; /** Optional class to apply on the wrapper */ class?: string; /** Optional ID for the stack */ id?: string; } const { layout = "2-column", gap = "medium", class: className, id, } = Astro.props as Props; const getGapSize = () => { switch (gap) { case "small": return "0.5rem"; case "medium": return "1rem"; case "large": return "1.5rem"; default: return gap; } }; const gapSize = getGapSize(); ---