Estimate: 40m · Depends on: 6.1.3
The design asset for every 6.2 surface. filter-builder.mock.html (6.1.3) designs ONLY the builder — saving/managing/sharing is undesigned (the design-gate NONE-exists case). Output: design/work-items/saved-filters.mock.html + PNG + a "Saved filters (Story 6.2)" section in design/work-items/design-notes.md. Render checklist + AA + dark parity. Mirrors: Jira's Save/Save-as split, its Filters directory columns, its starred-first menu.
Specify, panel by panel:
- Save affordance + dirty state — where Save / Save as sit relative to the 6.1.3 builder panel; the applied-filter name chip in the toolbar; the dirty indicator on modification; the owner (Save + Save as) vs non-owner (Save as only) split; the save dialog (name, optional description, visibility control) incl. the duplicate-name error and the viewer's private-only state.
- The filter dropdown — entry beside the builder affordance: starred first, then My filters / Project filters / Defaults groups, server-backed search, per-row star toggle + owner/visibility hints, the "View all filters" footer to the directory; empty states per group.
- The filters directory — the project-level page (placement off the /issues surface; name the route in the notes): columns name / owner / visibility / stars / actions; search + pagination; row actions by permission (rename, edit details, visibility, change owner [admin], delete); built-in defaults listed read-only; empty + no-access states.
- Visibility control + delete warning — the private/project control (with the one-line explanation of each, the 6.4.1 grammar); the delete confirm naming dependents ("1 subscription will be removed"; the 6.3 widget line reserved).
- Subscription editor — per-filter subscribe: preset schedule (daily / weekdays / weekly + hour), the subscribed state, unsubscribe; where it mounts (dropdown row action + directory row action).
- The "filter missing" widget state — the designed degraded card 6.3 renders when a referenced filter is gone (the verified Cloud gadget behaviour) — drawn here so 6.3 inherits it.
Acceptance criteria
- The mockup + PNG + notes exist, composed from shipped primitives (
Combobox, Modal, Pill, EmptyState, the 6.1.3 builder chrome) + token tiers; render checklist + AA + dark parity pass.
- Panels cover: save dialog + dirty/ownership states, the dropdown (all groups + search + star), the directory (columns, actions-by-role, built-ins, empty/no-access), visibility control, delete-with-dependents warning, subscription editor, and the filter-missing widget state.
design-notes.md names the directory route, the dropdown grouping/order rule (starred → mine → project → defaults), the owner/non-owner save split, and records the two-visibility deviation + extension slots.
- No improvised primitive; token needs recorded.
Context refs
design/work-items/filter-builder.mock.html + notes (6.1.3) — the surface this extends; filter.mock.html (2.5.9) + list.mock.html (the toolbar grammar)
design/projects/ 6.4.1 (the access-control + members-panel grammar to mirror for visibility + change-owner)
- The verified Jira directory columns / starred-menu / Save-as facts in the Story 6.2 description
- Findings #35/#54; the design-mockup render checklist