Portfolio settings 1a — ScopeBar + ScopedFieldGrid

The table a settings topic becomes: a label column, one column per scope, and the scope bar as its ONE header row. Captured from the arsenal's live preview (sample data) on the branch's own dev server; no product page renders it until part 1b.

30 Sept 2026 · branch settings-portfolio/pr1a-scoped-grid · captured against propflow-stage · at 76efd01435+local

Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.

1 · A property with its own value

The header row is the scope bar: [Company | Property] and the property picker sit in the column header itself, over the column they switch — there is no second header row above the grid (Gera, 2026-09-30). The row is one setting; the box holds this property's own value, so it is solid, lightly tinted, and says Set for this property with a quiet Use company value link — no filled badge.

Asserted in the captured DOM — Tour length · Company · Property · Sample Court · Set for this property · Use company value

A property with its own value
More states: inherited value, company column, phone width

2 · Emptied: it inherits, and says from where

After Use company value, the box is empty with a dashed border — no number is painted in it — and the note names what it will use: Empty · uses company value: 45 minutes. The number comes from the property route's resolver answer, never from own ?? company in the browser.

Asserted in the captured DOM — Empty · uses company value: 45 minutes

Emptied: it inherits, and says from where

3 · The company column

Company scope: the value applies to every property that leaves it empty, and Use PropFlow default empties the company's own value.

Asserted in the captured DOM — Applies to every property that leaves it empty · Use PropFlow default

The company column

4 · Phone width: the row stacks

Below md the label sits above its cell and the property picker takes the full width under the chips — no horizontal scroll.

Asserted in the captured DOM — Tour length · Set for this property

Phone width: the row stacks
PropFlow Docs