Tally UI

ParkedSales

Parked sale dialog with park, resume, and discard actions

Import

import { ParkedSales } from '@tallyui/components';

Usage

import { useSale } from '@tallyui/pos';
import { ParkedSales } from '@tallyui/components';

// Inside a component under TaxProvider.
const sale = useSale(settings, { registerId, cashierRef });
<ParkedSales
  sale={sale}
  parked={parked}
  onDiscard={discardParkedSale}
  onPark={parkSale}
  onResume={resumeParkedSale}
  currency={settings.currency}
  open={parkedOpen}
  onOpenChange={setParkedOpen}
/>

Renders a dialog with Park this sale and a list of parked sales showing time, item count, total, and customer name when present. Each row offers Resume and a confirmed Discard action; successful resume closes the dialog, while refusals or thrown errors appear inline.

Props

PropTypeDefaultDescription
saleReturnType<typeof useSale>requiredThe sale from useSale
parkedParkedOrderSummary[]requiredParked sale summaries, such as the list returned by useParkedSales(drafts)
onDiscard(id: string) => Promise<void>requiredDiscards a parked sale after confirmation
onPark() => Promise<string | null>---Parks the current sale; uses sale.park when omitted; return a refusal or null
onResume(id: string) => Promise<string | null>---Resumes the selected sale; uses sale.resume when omitted; null closes the dialog, while a refusal is shown inline
currencystringrequiredCurrency used to format parked sale totals
openbooleanrequiredWhether the dialog is open
onOpenChange(open: boolean) => voidrequiredReceives dialog visibility changes, including false after a successful resume
hour12boolean---Selects a 12- or 24-hour parked time; omission keeps the locale default

On this page