Store + Context
🛒 0 in cart
The badge reads the store via context — no prop drilling.
Usage
import { store, createContext, provide, useContext, html } from "./index.js";
// store() makes each key its own signal — mutate it like a plain object.
const cart = store({ items: 0 });
const CartCtx = createContext(null);
const CartBadge = () => {
const c = useContext(CartCtx); // read from anywhere below
return html`<span>🛒 ${() => c.items} in cart</span>`;
};
provide(CartCtx, cart, () => html`
${CartBadge()}
<button onclick=${() => cart.items++}>Add to cart</button>
`)