tree 5a198b276f5105decfb3333092df39b9d7f2ec5a
parent e54b553982606145f88f6379839da208a2f55a06
author hernan <hernan@rive.app> 1793372111 -0700
committer hernan <hernan@rive.app> 1793372111 -0700

fix(text input): put the caret after pre-filled text on focus without a press (#15258)

* fix(text input): put the caret after pre-filled text on focus without a press

Text set from outside (the file's own value, a data bind) leaves the caret
at the start, and focus only moved it for Tab or selectAllOnFocus. A field
focused on a state's entry, from code or by accessibility showed the caret
before its text, so typing went in front of it.

Focus now puts the caret after the text unless the user placed it since the
text was last set from outside: a press places it before focusing, and keys,
typing and earlier focus keep it, so refocusing finds it where the user left
it. Tab and selectAllOnFocus still select all.

Adds RawTextInput::moveCursorToEnd, exported to Dart (rawTextMoveCursorToEnd)
so the editor's TextInput behaves the same.

* fix(text input): place the caret at the end before the font arrives

A focus on a state's entry can land before the field's font is available,
and moveCursorToEnd shaped the text to resolve the caret's line, which
dereferences the missing font. Without a font, store the end position with
its line unresolved and let update() resolve it once the font arrives.

* fix(text input): select all before the font arrives

Tab or selectAllOnFocus can focus a field before its font is available, and
selectAll shaped the text to resolve the selection's lines, dereferencing
the missing font. selectAll and moveCursorToEnd now share positionAtIndex,
which leaves the line for update() to resolve when there is no font yet.

Also puts a test case header on one line, as clang-format 19 wants it.

* test(capture): let the user place the caret the claimed press must keep

The nested capture test set the caret through the raw input, which no longer
counts as placed, so the claim's focus action moved it after the text. Place
it with a key while focused instead: focus coming back keeps it, so the
caret still shows the input's press handling never ran.

Rive-Mono-Commit: 8199ff51213dda03caf4427c394ddcce0856db41
