feat(checkout): tiered metered pricing display
Merged
MA
2mo ago+620+620+012345678901234567890123456789-54-54-01234567890123456789
Summary
Supersedes @strandhvilliam's #14042, rewritten against the current backend.
Graduated, collapsed. The default. From $12.00 / unit under the price, detail rows behind the #13945 toggle.
Graduated, expanded. One row per tier. Bounds are inclusive, so a tier starts one unit past the one below it. The meter line drops its rate: repeating $12.00 directly above the row that already states it reads as two different prices.
Volume, expanded. Same table plus one caption.
50% discount. Every tier rate struck through and restated. The price line and the tier rows render rates through one component, so a discount cannot apply to one and not the other.
Flat metered_unit price, unchanged.
Checklist
- This PR addresses a single concern (one bug fix, one feature, one refactor)
- The diff is reasonably sized and easy to review
- New functionality is covered by tests
- Linting and type checking pass (
uv run task lint && uv run task lint_types) - No unrelated changes or drive-by fixes are included