Skip to content
GetUrUI

Billing and usage

3 variantsNewPro
.md

Billing cards for SaaS settings — usage meters with thresholds and projections, seats and spend with a priced seat stepper, and a credits balance with top-up packs — that fill, count and spring.

billingusagemeterquotaseatscreditssaassettingsupgrade

Usage meters

usage-meters.tsx

Plan meters that fill with a spring, mark the alert threshold and hatched end-of-cycle projection, and turn to near-limit or over-limit with an icon and a word.

$npx shadcn@latest add @geturui-pro/billing-usage-usage-meters
PropTypeDefaultDescription
plan / cyclestring—Plan name and reset caption.
metersUsageMeter[]—{ id, label, used, limit, projected?, format?, overageNote? }.
warnAtnumber0.8Fraction where a meter turns to warning.
defaultAlertsbooleantrueInitial state of the email alert switch.
onAlertsChange / onManagefunction—Switch and button handlers.

Seats and spend

seats-spend.tsx

A seat grid with pending invites, month-to-date spend against a budget pace line, and a seat stepper that prices the monthly and prorated change before the upgrade.

$npx shadcn@latest add @geturui-pro/billing-usage-seats-spend
PropTypeDefaultDescription
plan / seatPricestring / number—Plan name and price per seat a month.
seatsTotal / seatsUsed / invitesnumber—Seat counts for the grid.
membersstring[]—Initials for the avatar stack.
dailySpendnumber[]—Spend per day so far this month.
daysInMonth / monthlyBudgetnumber—Budget pace and projection inputs.
onAddSeats(count: number) => void—Called with the stepper value.

Credits balance

credits-balance.tsx

Credits on a ring that springs to the new total after a purchase, runway in days from the burn rate, top-up packs as a radio group and an auto-recharge switch.

$npx shadcn@latest add @geturui-pro/billing-usage-credits-balance
PropTypeDefaultDescription
balance / capacitynumber—Credits left and the ring's full value.
dailyBurnnumber1860Average credits used per day.
lowDaysnumber10Runway below which the card warns.
packsCreditPack[]—{ id, credits, price, note? } top-up options.
onPurchase(pack: CreditPack) => void—Called on buy; the card adds the credits optimistically.

Install the whole set

Installs every billing and usage variant at once. Each section above has its own command for a single variant.

Pro installs use your private registry token. Add the @geturui-pro registry once — setup guide. The command works after you get Pro.

$npx shadcn@latest add @geturui-pro/billing-usage

Accessibility

  • Meters use role="meter" with a value text that includes the status and projection; warning and over-limit states always show an icon and a word.
  • Switches are buttons with role="switch", credit packs are a radio group with arrow-key selection, and the seat stepper announces its count.
  • Counting numbers keep a static value for screen readers, and reduced motion fills meters and rings without animation.

Related