Bill schedule

Shows what is coming up, by date, and who takes care of each one.

Examples

Next two weeks

  1. Phone

    Lime pays

    minus 45.00 US dollars
  2. Rent share

    You pay

    minus 450.00 US dollars
  3. Music

    Lime pays

    minus 11.99 US dollars

Low balance

  1. Phone

    Lime pays

    minus 45.00 US dollars
  2. Rent share

    Not enough to cover it

    minus 450.00 US dollars, more than you have available
  3. Music

    Lime pays

    minus 11.99 US dollars

Pay

    1. Phone

      Lime pays

      minus 45.00 US dollars

    autopaydefault

    1. Rent share

      You pay

      minus 450.00 US dollars

    manual

States

    1. Phone

      Lime pays

      minus 45.00 US dollars

    upcoming

    1. Phone

      Not enough to cover it

      minus 45.00 US dollars, more than you have available

    not covered

    1. Phone

      Paid

      minus 45.00 US dollars

    paid

Usage

When to use it
Use
The next one or two weeks of bills on a home or bills screen.
Use
Showing which bills the assistant pays on its own and which wait for you.
Not for
Payments that already happened. Use List.
Not for
Asking before one bill is paid. Use Approval request.
Not for
A long history to scan and sort. Use Table.

Rules

6 rules
Must
Pass bills in date order, soonest first. Because BillSchedule renders bills in the order given and never sorts them.
Must
Set pay on every bill so the person sees what goes out without them. Because a bill with no pay shows no line under its name, so nothing tells the person whether it goes out without them.
Should
Pass available so a bill the account cannot cover warns before its day.
Should
Keep a paid bill in place with paid: true until the period ends; do not remove it.
Should
Show up to five bills and link to the rest.
Never
Draw a month grid for a few bills. Because the date tiles already give the weekday and day, and a grid spreads five bills over 35 cells.

Accessibility

3 checks
The list is an ordered list, so its order is announced.
Each tile is a time element with the full date as hidden text.
A bill the account cannot cover says so in words under its name, not by the amount color alone.

Edge cases

3 edge cases
Long bill name
Truncates; the tile and the amount keep their width.
Two bills on one day
Each keeps its own tile, so the rows stay the same shape.
Right to left
The tile sits at the start and the amount at the end.

API

3 props
bills
Bill[] default required
available
number
autopayLabel
string default 'Paid for you'

Tokens

7 tokens
--surface
#f6f5f2
--radius-field
12px
--fg
#0f0f0d
--fg-3
#6b6a63
--text-xs
12px
--text-base
16px
--weight-semibold
600

Install

For your coding agent

GitHub

Please star me pookie

141

A new design system every week

Leave your email before you copy the prompt.