# XWUIPointOfSale

A retail point-of-sale / checkout screen: a searchable product grid on one side (tappable tiles with image, name, and price - dimmed and untappable when `inStock: false`), a running cart on the other (line items with a qty stepper, unit price, line total, and a remove button), a totals block (subtotal, discount, tax, total), payment-method buttons, and a "Complete sale" primary action. Composes `XWUISearch`, `XWUIInputNumber`, `XWUIDisplayMonetary`, `XWUIButtonGroup`, and `XWUIButton`. Cart state is owned internally - tapping a tile adds/increments a line, the stepper and remove button edit it in place, and completing the sale clears the order for the next customer - while `onCartChange` / `onCompleteSale` callbacks and the `xwui-point-of-sale:cart-change` / `xwui-point-of-sale:complete-sale` DOM events mirror every change out to the host app.

## Basic Usage

A café register with six products, a two-line cart already rung up, 15% VAT, and Cash pre-selected as the payment method.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: A café register (SAR) with a pre-loaded cart, 15% VAT, and cash selected as the payment method.
```

## Discount And Out Of Stock

Eight products, one sold out, a storewide discount on the order, and Card pre-selected as the payment method.

```example
file: examples/DiscountAndOutOfStock.ts
html: examples/DiscountAndOutOfStock.html
title: Discount And Out Of Stock
description: A larger catalog with one sold-out tile, a storewide discount, and card payment selected.
```

```api
```
