# Feature DREAM-978 - Use Primer Blankslate for Angular no-results states

Project: Stream Design System
Status: closed
URL: https://community.openproject.org/work_packages/DREAM-978

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 18.0.0 |
| Sprint |  |
| Backlog bucket |  |
| Votes |  |
| List | a11y report 2026 |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module | Frontend components and Primer design system, Modules and project features / Work packages, Accessibility |
| Feature Flag |  |
| Requires doc change | Yes |
| Enterprise plan | Community (COM) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Accessibility | Yes |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers | Alexander Coles |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

### Context

Angular views show "no results" in two ways. The legacy `op-no-results` component renders an info icon with a title and an HTML description. The newer `op-no-results` in `shared/components/blankslate/` builds on a simplified Angular implementation of Primer's Blankslate and is used only by the backlogs charts. The work packages table also hand-rolls its own empty row with an info icon, a bold title and a description.

### Goal

Every Angular no-results state renders as a Primer Blankslate, matching the server-rendered Primer views.

*   The legacy `op-no-results` is removed. Its consumers use the Blankslate version: work package card view, embedded work package graphs, and the documents and time entries widgets.
*   The work packages table shows a Blankslate for an empty query. It stays inside the table body, below the column headers.
*   Each consumer shows a fitting icon, title and description.
*   The Blankslate no-results component has spec coverage.

### Out of scope

*   Rails-rendered no-results (`common/_no_results.html.erb`, reporting tables).
