---
title: "Product bundle"
description: "Often bought together: three pieces joined by plus signs, each with a checkbox, and a live total, saving and add button."
plan: Pro
docs: https://ui.edbn.me/docs/blocks/product-bundle
---

# Product bundle

Often bought together: three pieces joined by plus signs, each with a checkbox, and a live total, saving and add button.

Each piece has a labelled Checkbox, all ticked to start; unticking one dims its photo. The total, the struck full price, the saving and the button's count follow the ticks, and the change is announced. Two or more pieces take a set amount off each. With one ticked the note says what a second would save; with none the button stays focusable but disabled. Adding shows a spinner, then Added to cart for two seconds, in one cell so the button keeps its width. From 1024px the total sits beside the pieces; on phones the pieces stack as rows.

A Pro block built on Base UI and Tailwind CSS v4.

## Installation

This is a Pro item. Once per project, create a token at https://ui.edbn.me/dashboard/tokens, put it in `.env.local` as `EDBN_TOKEN`, and add the registry to `components.json`:

```json
{
  "registries": {
    "@edbn": {
      "url": "https://ui.edbn.me/r/{name}.json",
      "headers": { "Authorization": "Bearer ${EDBN_TOKEN}" }
    }
  }
}
```

Then install:

```bash
npx shadcn@4.19.0 add @edbn/product-bundle
```

## Dependencies
- npm: lucide-react@^1.33.0
- edbn: edbn-base, aspect-ratio, button, card, checkbox, field, spinner

## Source

The source is part of Pro (https://ui.edbn.me/pricing). The install above adds it to the project, ready to edit.

## More product details blocks

All 5, with install commands: https://ui.edbn.me/docs/blocks/product-details (Markdown: https://ui.edbn.me/docs/blocks/product-details.md)

## For agents
- Base theme, once per project: npx shadcn@4.19.0 add https://ui.edbn.me/r/edbn-base.json
- MCP server with search, items, examples and source: https://ui.edbn.me/mcp
- Every page and item: https://ui.edbn.me/llms.txt
