import { type ReactElement, type ReactNode, cloneElement } from "react";
import { cx } from "../class-names.ts";
import { MiddotSeparated } from "../MiddotSeparated/MiddotSeparated.tsx";
import { item, list } from "./style.css.ts";
export { listViewTheme } from "./style.css.ts";
export function ListItemContainer(props: {
children?: ReactNode;
className?: string;
}) {
return
{props.children};
}
export function ListItemContent(props: {
children?: ReactNode;
render?: ReactElement;
className?: string;
}) {
const element = props.render ?? ;
return cloneElement(element, cx(props, item.content), props.children);
}
export function ListItemHeading(props: {
children?: ReactNode;
className?: string;
}) {
return {props.children}
;
}
export function ListItemSummary(props: {
children?: ReactNode;
className?: string;
}) {
return (
{props.children}
);
}
export function ListItem(props: {
heading: string;
type?: string;
summary: ReactNode;
render?: ReactElement;
aside?: ReactNode;
}) {
const { render, heading, type, summary, aside } = props;
return (
{heading}
{type && {type}}
{summary}
{aside}
);
}
export function ListView(props: {
children?: ReactNode;
fallback?: ReactNode;
className?: string;
}) {
const { children, fallback } = props;
return (
<>
{fallback}
>
);
}