TasksUI DesignEngineering track

Data table component with sort, filter and selection

eng-ui-02suite v1.0htmlvision judge

Quality30%judge panel
Correctness45%deterministic · playwright-script
Completeness25%judge panel

Exact prompt sent to every model

Build a single-file HTML page containing a reusable data table component in vanilla JS (no libraries). Seed it with the 24 invoice rows below. Requirements:

  • Columns: Invoice #, Client, Issued, Due, Amount, Status
  • Click a header to sort ascending, again for descending, with a visible sort indicator; sorting must be type-aware (dates as dates, amounts as numbers)
  • Text filter box that filters across Client and Invoice # as you type
  • Status filter chips: All, Paid, Overdue, Pending (multi-select)
  • Row checkboxes plus a header checkbox with indeterminate state; a toolbar shows "N selected" and a "Mark paid" action that updates the Status of selected rows
  • Overdue rows have a subtle visual treatment; amounts right-aligned and formatted as USD
  • Empty state when filters match nothing
  • Dense but readable. Sticky header row. Works at 390px by allowing horizontal scroll of the table only. Return the complete file in one code block.

Responses

Latest published run: gemini-3.8-flash. For each model the repeat closest to its published median is shown; every repeat is in the repository.

No published attempts for this task yet

When the run is published, every model's raw response, per-dimension scores, judge rationales, human review notes and rendered artifacts appear here side by side.

Data table component with sort, filter and selection (eng-ui-02) | XOBENCH