import React from 'react';
import { rdsFontSizes } from '../../../utils/tailwindClasses';
import { HeroIcon, IconName } from '../../HeroIcon';
// Set types for as props
type BaseItemTypeProps = 'li' | 'div';
type TitleTypeProps = 'h2' | 'h3';
export interface DetailsItemProps {
children?: React.ReactNode;
fontSize?: 'base' | 'lg' | 'xl';
title?: string;
description?: string;
icon?: IconName;
}
export interface ItemBaseProps {
as?: keyof JSX.IntrinsicElements;
}
export interface BaseItemProps {
as?: BaseItemTypeProps;
}
export interface TitleProps {
as?: TitleTypeProps;
}
const DetailsItemBase = ({
as: Component = 'div',
children,
}: ItemBaseProps & DetailsItemProps) => {
return (
{description}
; }; // Set default for base component as props DetailsItemBase.defaultProps = { as: 'li', }; DetailsItemBase.displayName = 'DetailsItem'; Content.displayName = 'DetailsItem.Content'; Title.displayName = 'DetailsItem.Title'; Icon.displayName = 'DetailsItem.Icon'; Description.displayName = 'DetailsItem.Description'; export const DetailsItem = Object.assign(DetailsItemBase, { Content, Title, Icon, Description, });