import React from 'react';
import clsx from 'clsx';
import { LinkTextCard } from 'shared/patterns/LinkTextCard';
import { ButtonConfig } from 'shared/patterns/ButtonGroup';
import { PageGrid, PageGridRow, PageGridCol } from 'shared/components/PageGrid/page-grid';
import { SectionHeader } from 'shared/patterns/SectionHeader';
export interface LinkTextCardData {
/** Heading text for the card */
heading: string;
/** Description text for the card */
description: string;
/** Array of button configurations (max 2) */
buttons: ButtonConfig[];
}
export interface LinkTextDirectoryProps {
/** Section heading (required) */
heading: string;
/** Optional description text */
description?: string;
/** Array of card data to display */
cards: LinkTextCardData[];
/** Additional CSS classes */
className?: string;
}
/**
* LinkTextDirectory Component
*
* A section pattern that displays a numbered list of LinkTextCard components.
* Features a heading, optional description, and a vertically stacked list of cards
* with automatic sequential numbering (01, 02, 03...).
*
* Layout:
* - Header section with heading + description
* - Responsive vertical spacing between cards
* - Desktop: Right-aligned cards with 40px gaps
* - Tablet: Left-aligned cards with 32px gaps
* - Mobile: Left-aligned cards with 24px gaps
*
* @example
* // Basic usage
*
*
* @example
* // Without description
*
*/
export const LinkTextDirectory: React.FC = ({
heading,
description,
cards,
className,
}) => {
return (
{/* Cards List */}
{cards.map((card, index) => (
))}
);
};
export default LinkTextDirectory;