Part of #291.
Motivation
ShareExport was styled before the portal design settled. It drifts from the frame, and
its styling is not consistently driven by the theme tokens the design calls for.
Design references
Same design in both; only the tokens differ. Where a frame is ambiguous, the
prototype is the tiebreaker.
Done when
Out of scope
Behavior, data, placement in the portal, new tokens, dark mode. Styling only.
Notes — written as of 88ce91a on 2026-09-01. Rough guide; re-verify against latest code.
Ships no stylesheet. First question is whether it needs one or is fully styled by shared panel chrome; answer that before assuming there's work.
88ce91aa (LayerFilter) is the reference for what this PR looks like: token-driven
values, explicit hover/focus states, min-width: 0 and overflow guards, transitions
on the properties that change.
Part of #291.
Motivation
ShareExport was styled before the portal design settled. It drifts from the frame, and
its styling is not consistently driven by the theme tokens the design calls for.
Design references
Same design in both; only the tokens differ. Where a frame is ambiguous, the
prototype is the tiebreaker.
Done when
Out of scope
Behavior, data, placement in the portal, new tokens, dark mode. Styling only.
Notes — written as of 88ce91a on 2026-09-01. Rough guide; re-verify against latest code.
Ships no stylesheet. First question is whether it needs one or is fully styled by shared panel chrome; answer that before assuming there's work.
88ce91aa(LayerFilter) is the reference for what this PR looks like: token-drivenvalues, explicit hover/focus states,
min-width: 0and overflow guards, transitionson the properties that change.