import React from 'react';
import { ChevronRightIcon } from '@heroicons/react/24/outline';
import { rdsFontSizes } from '../../../utils/tailwindClasses';
import { Link } from '../../Link/Link';
// Set types for as props
type BaseItemTypeProps = 'li' | 'div';
type TitleTypeProps = 'h2' | 'h3';
export interface FileItemProps {
children?: React.ReactNode;
fontSize?: 'base' | 'lg' | 'xl';
title?: string;
link?: string;
filesize?: string;
date?: string;
}
export interface ItemBaseProps {
as?: keyof JSX.IntrinsicElements;
}
export interface BaseItemProps {
as?: BaseItemTypeProps;
}
export interface TitleProps {
as?: TitleTypeProps;
}
const FileItemBase = ({
as: Component = 'div',
children,
link,
}: ItemBaseProps & FileItemProps) => {
return (
{filesize} - {date}
); }; // Set default for base component as props FileItemBase.defaultProps = { as: 'li', }; FileItemBase.displayName = 'FileItem'; Content.displayName = 'FileItem.Content'; Title.displayName = 'FileItem.Title'; Details.displayName = 'FileItem.Details'; export const FileItem = Object.assign(FileItemBase, { Content, Title, Details, });