A typical POS screen built from five composed jsRibbon components — a shared
Pos component owns the state; SearchBar, CategoryFilter,
ProductGrid, CartPanel and TodayStat read and write it via dotted
keys. Checkout injects a sixth, dynamically-registered Receipt component. Backed by
IndexedDB — no framework, no build step, no external dependency.