import { cn } from '@gentleduck/libs/cn'
import React from 'react'
import { ChevronDown, ChevronRight, Search } from './icons'
export function SplitView({ left, right }: { left: React.ReactNode; right: React.ReactNode }) {
return (
)
}
export function ListShell({
title,
count,
toolbar,
children,
}: {
title?: string
count?: number
toolbar?: React.ReactNode
children: React.ReactNode
}) {
return (
{title && (
{title}
)}
{typeof count === 'number' && (
{count}
)}
{toolbar}
{children}
)
}
export function ListItem({
active,
onClick,
dot,
primary,
secondary,
trailing,
}: {
active?: boolean
onClick?: () => void
dot?: string
primary: React.ReactNode
secondary?: React.ReactNode
trailing?: React.ReactNode
}) {
return (
)
}
export function Section({
title,
defaultOpen = true,
toolbar,
children,
}: {
title: string
defaultOpen?: boolean
toolbar?: React.ReactNode
children: React.ReactNode
}) {
const [open, setOpen] = React.useState(defaultOpen)
return (
{toolbar}
{open &&
{children}
}
)
}
export function DetailEmpty({ message }: { message: string }) {
return (
{message}
)
}
export function FilterBar({
value,
onChange,
placeholder = 'Filter',
trailing,
}: {
value: string
onChange: (v: string) => void
placeholder?: string
trailing?: React.ReactNode
}) {
return (
)
}