chore(components): rename Form/Input to Form/TextInput#73
Merged
Conversation
The component is text-shaped only — its styling (rounded-lg border px-3 py-2 text-base) fits text / email / password / search inputs but not checkbox or radio variants. "Form/Input" suggests a generic <input> wrapper that handles any type; renaming to "Form/TextInput" matches what it actually does. Pairs with the new Form/Checkbox primitive landing on the catalog PR. Together the Form/* layer reads as: - Form/TextInput — text-shaped fields (text, email, password, search) - Form/Checkbox — <input type=checkbox> - Form/Button — <button> - Form/Label — wrapping label Only consumer today is templates/security/login.html.twig (email and password fields); both updated. Twig templates lint clean, existing 48/48 tests pass. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Martin Yde Granath <yde001@gmail.com>
martinyde
approved these changes
Jun 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Links to issues
No issue — small follow-up to
PR #72's component
extraction, surfaced during review of that PR.
Description
Renames the existing
<twig:Form:Input>component to<twig:Form:TextInput>.The component is text-shaped only — its styling
(
rounded-lg border bg-surface px-3 py-2 text-base text-ink)fits
type="text",email,password,search. Passtype="checkbox"and you'd get a giant white box rather than acheck. So the name "
Form/Input" suggests a generic<input>wrapper that handles any type, but the implementation is
narrower. Renaming to
Form/TextInputmatches the actual scope.Paired with the new
Form/Checkboxprimitive landing onPR #72, the
Form/*layer reads consistently:
Form/TextInput<input>(text, email, password, search)Form/Checkbox<input type=checkbox>Form/Button<button>Form/Label<label>Only consumer today is
templates/security/login.html.twig(email and password fields); both are updated in the same commit.
Screenshot of the result
N/A — pure rename, no visual change.
Checklist
If your code does not pass all the requirements on the checklist you have to add a comment explaining why this change
should be exempt from the list.
Additional comments or questions
task test→ 48 tests, 172 assertions pass (the login-flowintegration tests in
SecurityControllerTestexercise the renamedcomponent end-to-end via the
/loginpage).task coding-standards-check→ green.This PR is independent of #72 — both can land in either order.
After both merge to
develop, theForm/*primitive layer isinternally consistent with no name overloading the
<input>or<option>HTML semantics.Details - AI specificities
Goal and motivation
the question came up of whether "Input" and "Option" were the
right names for the new checkbox-row and facet components. The
active conflict (
Filter/Optionoverloading the HTML<option>element) was fixed in that PR by renaming to
Filter/FacetItembefore shipping. This PR closes the latent half:
Form/Inputisnamed generically but its styling is text-only.
Scope
templates/components/Form/Input.html.twig→templates/components/Form/TextInput.html.twig. Captured viagit mvso history follows.<twig:Form:Input>→<twig:Form:TextInput>usages intemplates/security/login.html.twig.Non-goals
unchanged.
id, name, type, value, autocomplete, required, autofocus.SecurityControllerTestalready covers the rendered form.Conventions applied
Path/Pascal.html.twignaming convention usedelsewhere in
templates/components/.git mvpreserves history; the new primitivelayer (
Form/TextInput,Form/Checkbox, futureForm/Radio)doesn't overload any HTML element names.
Follow-up work intentionally out of scope
Form/Radioprimitive (will follow the same shape asForm/Checkboxwhen a radio-group facet variant lands).Related
Form/Checkboxand the broader component extraction this PRcloses the naming on.