Skip to content

feat(design): SoliplexInput focusNode + readOnly passthroughs#298

Merged
91jaeminjo merged 1 commit into
mainfrom
feat/soliplex-input-focusnode-readonly
Jun 1, 2026
Merged

feat(design): SoliplexInput focusNode + readOnly passthroughs#298
91jaeminjo merged 1 commit into
mainfrom
feat/soliplex-input-focusnode-readonly

Conversation

@WilliamKarolDiCioccio

Copy link
Copy Markdown
Collaborator

What

Adds two TextField passthroughs that SoliplexInput didn't expose:

  • focusNode — lets callers drive focus programmatically (e.g. refocusing the field after a submit).
  • readOnly — locks editing while keeping the field's normal, non-greyed styling. Unlike enabled: false, the text stays fully legible and the field remains focusable — for freezing input during a transient busy state.

Why

Surfaced while starting the room module design-system adoption. The chat composer refocuses its field after each send (focusNode.requestFocus()) and sets readOnly: true (not enabled: false) while an agent run is in flight so the field stays styled normally but locked. SoliplexInput couldn't express either, which would have forced the app's single most-used input to stay raw Material.

Same pattern as #283 (adoption revealed SoliplexButton needed iconAlignment).

Scope

Both params are additive and have no visual effect at rest — input goldens are unchanged. This is the dependency that unblocks the room-composer adoption PR.

Tests

  • readOnly blocks edits while staying enabled
  • forwards an external focusNode to the field

Full soliplex_design/test/components/input suite green (incl. goldens, no drift).

🤖 Generated with Claude Code

Adds two TextField passthroughs the wrapper was missing:

- `focusNode` — lets callers drive focus programmatically (e.g.
  refocusing the field after a submit).
- `readOnly` — locks editing while keeping the field's normal,
  non-greyed styling, for transient busy states where `enabled: false`
  would be too visually heavy.

Both are additive and have no effect at rest, so the input goldens are
unchanged. Surfaced while adopting the design system in the room
composer, which refocuses its field after each send and freezes input
(without greying) while an agent run is in flight.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@91jaeminjo 91jaeminjo merged commit a330e2d into main Jun 1, 2026
6 checks passed
@91jaeminjo 91jaeminjo deleted the feat/soliplex-input-focusnode-readonly branch June 1, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants