refactor(forms): retire InputGroup component prop - #8115
Conversation
…nent prop 10 Select sites move to SelectField (incl. CreatePipelineStage's hand-rolled error border, now the error prop). 15 custom-control sites move to FieldLabel + a form-group wrapper. The component prop is gone from InputGroup and a lint rule keeps it out. Fake placeholder options become react-select's placeholder prop; toSelectedValue is now generic (its old signature was wrong for every caller). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Closing: this was a sizing/validation spike for retiring the component prop, and the work is now split into #8120/#8121/#8122 under #8119, to be tackled individually. One caveat for the follow-ups: CI skipped the E2E jobs here (draft, stacked base), so the spike only proved compile-time completeness; the #8122 batches should get their E2E signal on their own PRs. The branch stays around as a reference for the per-site transforms. |
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Contributes to #7364. Stacked on the SelectField PRs (base:
refactor/select-semantic-tokens). Opened as a draft spike to validate the full migration against CI E2E before splitting into review batches.Migrates every
<InputGroup component={...} />call site and deletes the prop:SelectField(the CreatePipelineStage red-border hack becomes theerrorprop).FieldLabel+ a plain form-group wrapper.componentremoved fromInputGroup, with a lint rule so it stays gone.placeholder(grey placeholder text instead of a value-looking default).Utils.toSelectedValueis now generic; its old signature was wrong for every caller. Handlers that ignored react-select's null case got guards.How did you test this code?
tsc: 0 new errors vs the base branch, 21 baseline errors fixed.eslint: clean on all 27 changed files; the new lint rule confirms nocomponent=remains.