Skip to content

Expose borderless auto-growing multiline inputs - #6

Open
jeregrine wants to merge 1 commit into
elixir-crab:mainfrom
jeregrine:feat/inline-multiline-inputs
Open

jeregrine wants to merge 1 commit into
elixir-crab:mainfrom
jeregrine:feat/inline-multiline-inputs

Conversation

@jeregrine

Copy link
Copy Markdown

Summary

Expose appearance, multiline, and bounded max_rows options on GPUI.UI.input/1, preserving the default bordered single-line input. Multiline inputs wrap and grow up to their row limit; Enter submits and Shift+Enter inserts a newline.

Forward Shift+Enter as a controlled change because the underlying component inserts that newline silently and emits PressEnter, not Change. Expose multiline accessibility semantics while keeping masked values private. Multiline mode and row limits are construction options: callers must use a new ID when changing them.

Evidence

Native tests exercise Shift+Enter followed by controlled reconciliation and Enter submission, wrapping at a fixed width, and growth stopping at two rows. Existing single-line edit/reconciliation tests remain green.

The broader native controls suite has three button/radio failures also reproduced on unmodified upstream main. Clean package validation fails in the unchanged transitive gpui-component dependency due to incompatible upstream APIs, before compiling this bridge.

Release Notes:

  • [GPUI] Added borderless, wrapping, auto-growing multiline inputs with bounded rows and controlled newline events.

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.

1 participant