#251 — Universal Table component

Repo: Twill-AI/twill-ai-ui State: closed | Status: done Assignee: nadddder, raymondehizoba

Created: 2025-03-19 · Updated: 2025-06-02

Description

https://www.figma.com/design/ZUrZatocX5Vs79IBNqzGke/Twill-UI?node-id=8623-26458&t=RIaI1tbHfTsvpeox-4

We need in re-usable “table” React component to render list of:

  • Transactions, disputes.
  • Customers.
  • Any accounting and payments data.

It should support:

  • Generic data providers in form of:
    • HTTP REST endpoints with different request and response shape (i.e. component should support mappers for both ways). For widgets with new types (“transactions”, “paymentlinks”, etc.)
    • Hardcoded into widget lists (current accounting data “table” widgets). We are going to render current (pre-Alpha) “table” type widgets to be rendered by old code.
    • In-memory lists, like list of integrations, customers, tokens (they are planned to be loaded into UI entirely) fetched once on UI app start.
  • Generic filters - see https://github.com/Twill-AI/facade/issues/309 for the widest amount of options possible.
  • Please note that generic filters will be implemented using the same strategy planned for flexible widgets so the frontend will receive a JSON schema specifying which parameters are filterable, their data types and possible values.
  • To set the value of filters you need to instantiate that schema with the right values.
  • Pagination with hardcoded (per widget) page size, “previous page”/“next page” buttons, total items counter. Note that some widget providers like explained in https://github.com/Twill-AI/facade/issues/309 won’t provide “total” information and counters should be

Notes

Add implementation notes, blockers, and context here

Add wikilinks to related people, meetings, or other tickets