import * as stylex from '@stylexjs/stylex'; import type { BadgeProps } from '../../../components/badge'; import { Badge } from '../../../components/badge'; import { Button } from '../../../components/button'; import { Icon } from '../../../components/icon'; import { Section } from '../../../components/section'; import { ChevronLeft } from '../../../icons/glyphs/chevron-left'; import { ChevronRight } from '../../../icons/glyphs/chevron-right'; import { rtl } from '../../../styles/rtl.styles'; import { styles } from './user-profile-billing-history-section.styles'; export interface UserProfileBillingHistoryItem { id: string; dateLabel: string; invoiceLabel: string; amountLabel: string; statusLabel: string; statusColor?: BadgeProps['color']; } export interface UserProfileBillingHistoryPagination { page: number; pageCount: number; pageSize: number; pageSizeOptions?: readonly number[]; } export interface UserProfileBillingHistorySectionViewProps { items: UserProfileBillingHistoryItem[]; pagination?: UserProfileBillingHistoryPagination; onPageChange?: (page: number) => void; onPageSizeChange?: (pageSize: number) => void; onView?: (id: string) => void; } export function UserProfileBillingHistorySectionView({ items, pagination, onPageChange, onPageSizeChange, onView, }: UserProfileBillingHistorySectionViewProps) { return ( History {/* TODO: Replace this inline implementation with the Mosaic Table component. */}
{items.length > 0 ? ( items.map(item => ( )) ) : ( )}
Invoice Amount Status
{item.dateLabel}
{item.invoiceLabel}
{item.amountLabel} {item.statusLabel} {onView ? ( ) : null}
No invoices yet
{pagination ? ( // TODO: Replace this inline implementation with the Mosaic Pagination component.
) : null}
); }