Offers
Offer components for making, viewing, and responding to price offers on marketplace items.
Make offer button
The make offer button opens the offer dialog. Available in full (secondary variant) and icon-only (outline) modes.
Offer option cards
Quick-select offer options with 10% and 20% preset discounts plus a custom amount option. Selected state uses primary border with a subtle background.
Make offer dialog
The full offer dialog shows the item info, preset and custom offer options, an optional message field, buyer protection fee, and a submit button.
Counter offer dialog
When declining isn't enough, sellers can counter with a different price and an optional message. Opens from the counter button on the offer bubble.
Offer bubble states
Pending (actionable)
Accepted
Declined
Countered
Sender -- waiting
Sender -- accepted
All offer bubble states using the real OfferMessageBubble component. Pending offers show action buttons. Countered offers show the counter amount and seller message. Sender view uses muted badge styling.