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}
    ); }