# Shipping Label block

> Create Shipping Label

Create shipping label dialog: a wide centered dialog with a sticky header carrying the title + close action, a two-column scrollable body, and a sticky footer with terms link plus Cancel / Buy Shipping Label actions. Left column stacks a pickup-to-destination route + order meta card, a Products card with per-item Weight inputs (kg), and a Packaging card with Custom Package / Carrier Package line tabs containing package name, type select, total weight, length/width/height + unit dropdown, and a save-for-future checkbox. Right column carries a Summary card (Shipping to + address + price details + total) followed by a Shipping Date input with calendar affordance and a Send Shipping Info to Customer checkbox.

- Type: Pro block
- Category: [Inventory](https://web.dev.reui.io/blocks/solutions/inventory.md)
- Page: https://web.dev.reui.io/blocks/solutions/inventory/solution-inventory-10
- MCP: `get_block("solution-inventory-10")`
- Built with: Button, Checkbox, Dialog, Field, Frame, Input, Input Group, Item, Label, Scroll Area, Select, Separator, Tabs, Timeline
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A centered dialog for buying a label with item weights in kg, custom package type and dimensions, a ship date and customer notice

## Agent notes

- `SHIPMENT`, `SHIPMENT_ITEMS`, `DEFAULT_PACKAGE` and `SUMMARY` in data.ts are sample data; `SUMMARY` prices are static, not summed from weights
- The form `onSubmit` only calls `setOpen`, so Buy Shipping Label sends nothing, and the ship date stays inside `ShippingDateField`
- Browse Carrier Boxes has no handler and the Carrier Package tab holds no fields, so `CarrierPackagePanel` needs your carrier lookup

## When not to use

- Reviewing an order's route, delivery method and price before any label is bought: use [Order Details](https://web.dev.reui.io/blocks/solutions/inventory/solution-inventory-11.md) (`get_block("solution-inventory-11")`)
- A short confirmation or single purpose modal with no address or packaging fields: use [Dialog](https://web.dev.reui.io/components/dialog.md) (`get_component("dialog")`)

## Install

```bash
npx shadcn@latest add @reui/solution-inventory-10
```

## About Inventory blocks

### When to use

- Stock overview and ledger pages: KPI tiles, a stock health bar and a filterable SKU table
- A low stock reorder queue, or a purchase order received line by line from its supplier
- Product and order overlays: stock rules, variants and photos, order review, tracking or a shipping label

### When not to use

- A team overview of KPI tiles and charts where nothing tracks stock or SKUs: use the [Dashboard blocks](https://web.dev.reui.io/blocks/application/dashboard.md)
- A side panel for a record other than a product, order or shipment: use the [Sheet blocks](https://web.dev.reui.io/blocks/application/sheet.md)
- An activity or event history on its own, with no stock or shipment around it: use the [Timeline blocks](https://web.dev.reui.io/blocks/application/timeline.md)

### Agent notes

- Every block sets a `min-h-svh` wrapper with its own padding in page.tsx or its root component; drop it when the block mounts inside your app layout
- No block fetches or saves anything: actions set local state, fire a sonner `toast`, link to a page anchor or have no handler, so wire each to your API

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
