Skip to content
Back to Components

TransactionsTable

@hua-labs/ui/advanced/dashboard
v1.0.0

bash
npm install @hua-labs/hua
tsx
import { TransactionsTable } from "@hua-labs/ui/advanced/dashboard";

거래 ID가맹점금액상태결제수단거래 일시
tx_001
Merchant AJohn Doe
₩150,000수수료 4,500
승인
Credit Card2026. 2. 20. 오후 5:36
tx_002
Merchant B
₩85,000
대기
Bank Transfer2026. 2. 20. 오후 4:36
tx_003REF-123
Merchant C
₩320,000
실패
Credit Card2026. 2. 20. 오후 3:36
tx_004
Merchant D
₩45,000
환불
Quick Pay2026. 2. 19. 오후 5:36

거래 ID가맹점금액상태결제수단거래 일시
1
Test
₩10,000
승인
Card2026. 2. 20. 오후 5:36
2
Test
₩10,000
대기
Card2026. 2. 20. 오후 5:36
3
Test
₩10,000
실패
Card2026. 2. 20. 오후 5:36
4
Test
₩10,000
환불
Card2026. 2. 20. 오후 5:36
5
Test
₩10,000
취소
Card2026. 2. 20. 오후 5:36
6
Test
₩10,000
검토중
Card2026. 2. 20. 오후 5:36

거래 ID가맹점금액상태결제수단거래 일시

거래 ID가맹점금액상태결제수단거래 일시

거래 데이터가 없습니다

필터를 조정하거나 날짜 범위를 변경해보세요.

Props

rows*TransactionRow[]-Array of transaction data rows
columnsTransactionColumnConfig[]Default columnsColumn configuration array
isLoadingbooleanfalseShow loading skeleton
captionReact.ReactNode-Table caption
filtersReact.ReactNode-Filter components
emptyStateReact.ReactNode-Custom empty state component
onRowClick(row: TransactionRow) => void-Row click handler
highlightRow(row: TransactionRow) => boolean-Row highlight condition function
statusLabelsPartial<Record<TransactionStatus, string>>-Custom status labels
localestring"ko-KR"Locale for formatting
defaultCurrencystring"KRW"Default currency
footerReact.ReactNode-Footer content
loadingRowsnumber5Number of skeleton rows when loading
statusRenderer(status: TransactionStatus, row: TransactionRow) => ReactNode-Custom status renderer
amountFormatter(row: TransactionRow) => ReactNode-Custom amount formatter
methodFormatter(row: TransactionRow) => ReactNode-Custom payment method formatter
dateFormatter(row: TransactionRow) => ReactNode-Custom date formatter
rowActionLabel(row: TransactionRow) => string-Custom row action button label
rowActionHintstring-Tooltip hint for row action

TransactionRow

id*string-Transaction ID
merchant*string-Merchant name
amount*number-Transaction amount
currencystring-Currency code
status*"approved" | "pending" | "failed" | "refunded" | "cancelled" | "review"-Transaction status
methodstring-Payment method
date*string | Date-Transaction date
customerstring-Customer information
feenumber-Transaction fee
referencestring-Reference number

BasicTransactionsTable.tsxtsx
import { TransactionsTable } from "@hua-labs/ui/advanced/dashboard";

export function BasicTransactionsTable() {
  const transactions = [
    {
      id: "tx_001",
      merchant: "Merchant A",
      amount: 150000,
      status: "approved" as const,
      method: "Credit Card",
      date: new Date()
    },
    {
      id: "tx_002",
      merchant: "Merchant B",
      amount: 85000,
      status: "pending" as const,
      method: "Bank Transfer",
      date: new Date(Date.now() - 3600000)
    }
  ];

  return (
    <TransactionsTable
      rows={transactions}
      onRowClick={(row) => console.log(row)}
    />
  );
}