Pos Retail Register
Retail point of sale register with a product grid, barcode scan field, cart and split payment.
Choose the primitives library your project already uses. Both look the same: your theme, not the variant, controls colors, shape, type and motion.
About this page
What it's for
- Retail point of sale register with a product grid, barcode scan field, cart and split payment.
- Cashier screen for a clothing shop with variants, discounts that need a manager PIN and held sales.
Includes
- Touch product grid
- Category chips
- Barcode or sku scan field
- Check digit validation
- Cart quantity stepper
- Stock limited quantities
- Line and order discount
- Manager pin over limit
Works with
- Radix UI and Base UI primitives (pick the one your project uses)
- React 19 and Tailwind CSS 4 in Next.js (App Router), Vite, React Router or TanStack Start, installed with the agentic-ui or shadcn CLI
- Your theme tokens, in light and dark mode
- 1 template or blueprint on this site use it (below)
Install
Included with Agentic UI Kit (one-time license). Install needs your license key: see pricing · connect your project.
Agentic UI CLI
agentic-ui add pos-retail-registerInstalls through shadcn and adapts the component to your design tokens.
shadcn CLI
npx shadcn@4.17.0 add @agentic-ui/pos-retail-registerUsed in
- Type
- Page
- Variants
- Radix UI and Base UI
- Themes
- Light and dark
- Widths
- Preview it at desktop, tablet and mobile widths above.
- Motion
- Animated, with a reduced-motion fallback
- Sample data
- Ships with sample data in
history.ts,settings.ts,history-sales.ts,products.ts,customers.ts,seed.ts; replace it with your own.
- npm packages
lucide-reactnext-themes- Registry dependencies
commerce-variant-pickeremail-kitemail-receiptlib-primitivesutil-print-styles- Files
53 files
- components/agentic-ui/pos-retail-register/components/receipt-print.css
- components/agentic-ui/pos-retail-register/screens/register.tsx
- components/agentic-ui/pos-retail-register/lib/inventory.ts
- components/agentic-ui/pos-retail-register/lib/types.ts
- components/agentic-ui/pos-retail-register/lib/types-ops.ts
- components/agentic-ui/pos-retail-register/lib/money.ts
- components/agentic-ui/pos-retail-register/lib/store.ts
- components/agentic-ui/pos-retail-register/lib/reducer.ts
- components/agentic-ui/pos-retail-register/lib/reduce-stock.ts
- components/agentic-ui/pos-retail-register/lib/derived.ts
- components/agentic-ui/pos-retail-register/lib/shifts.ts
- components/agentic-ui/pos-retail-register/lib/sales.ts
- components/agentic-ui/pos-retail-register/lib/tender.ts
- components/agentic-ui/pos-retail-register/lib/cart.ts
- components/agentic-ui/pos-retail-register/lib/returns.ts
- components/agentic-ui/pos-retail-register/lib/loyalty.ts
- components/agentic-ui/pos-retail-register/lib/dates.ts
- components/agentic-ui/pos-retail-register/data/history.ts
- components/agentic-ui/pos-retail-register/data/settings.ts
- components/agentic-ui/pos-retail-register/data/history-sales.ts
- components/agentic-ui/pos-retail-register/data/products.ts
- components/agentic-ui/pos-retail-register/lib/random.ts
- components/agentic-ui/pos-retail-register/lib/catalog.ts
- components/agentic-ui/pos-retail-register/lib/barcode.ts
- components/agentic-ui/pos-retail-register/data/customers.ts
- components/agentic-ui/pos-retail-register/lib/reduce-shift.ts
- components/agentic-ui/pos-retail-register/lib/reduce-sale.ts
- components/agentic-ui/pos-retail-register/lib/reduce-cart.ts
- components/agentic-ui/pos-retail-register/lib/reduce-admin.ts
- components/agentic-ui/pos-retail-register/data/seed.ts
- components/agentic-ui/pos-retail-register/components/scan-bar.tsx
- components/agentic-ui/pos-retail-register/components/common.tsx
- components/agentic-ui/pos-retail-register/components/register-dialogs.tsx
- components/agentic-ui/pos-retail-register/lib/receipt.ts
- components/agentic-ui/pos-retail-register/components/pin-dialog.tsx
- components/agentic-ui/pos-retail-register/components/variant-dialog.tsx
- components/agentic-ui/pos-retail-register/lib/swatches.ts
- components/agentic-ui/pos-retail-register/components/tender-dialog.tsx
- components/agentic-ui/pos-retail-register/components/tender-forms.tsx
- components/agentic-ui/pos-retail-register/components/receipt-dialog.tsx
- components/agentic-ui/pos-retail-register/emails/receipt-email.tsx
- components/agentic-ui/pos-retail-register/components/receipt-paper.tsx
- components/agentic-ui/pos-retail-register/components/receipt-print.tsx
- components/agentic-ui/pos-retail-register/components/notice.tsx
- components/agentic-ui/pos-retail-register/components/email-frame.tsx
- components/agentic-ui/pos-retail-register/components/held-dialogs.tsx
- components/agentic-ui/pos-retail-register/components/discount-dialog.tsx
- components/agentic-ui/pos-retail-register/components/customer-dialog.tsx
- components/agentic-ui/pos-retail-register/components/product-grid.tsx
- components/agentic-ui/pos-retail-register/lib/stock-view.ts
- components/agentic-ui/pos-retail-register/components/cart-panel.tsx
- components/agentic-ui/pos-retail-register/components/cart-summary.tsx
- components/agentic-ui/pos-retail-register/components/cart-lines.tsx
Related components
Pos Retail Customers
Customer loyalty list for a retail chain with tiers, points and spend.
Details and live previewPos Retail Inventory
Inventory screen for a retail chain with low stock alerts, store to store transfers and purchase orders you receive.
Details and live previewPos Retail Order Detail
Sale detail page with refund and exchange flow, reasons and manager approval.
Details and live previewPos Retail Orders
Search past retail sales by receipt number, customer or total with refund status filters.
Details and live preview