mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
8ae732000c
> 🤖 This PR was modified by Coder Agents on behalf of Jake Howell. Linear: [DEVEX-355](https://linear.app/coder/issue/DEVEX-355) First PR in a 5-PR stack splitting #25328. Adds the small UI primitives the AI settings stack depends on. - `FormField` accepts a `description` prop and renders a required marker. `aria-describedby` is composed from the description, helper, and error IDs. - `PageHeader` title, subtitle, and caption forward `className` and other intrinsic `h1`/`h2`/`span` props to their root elements. - `AvatarData` gains an opt-in `truncate` prop that clips overflowing title and subtitle with an ellipsis. Off by default so existing consumers passing non-text nodes (icons, badges) do not clip silently. - Bundles the Vercel provider icon (`vercel.svg`) and registers it in `icons.json` and `externalImages.ts`. No new pages or routes here; later PRs in the stack consume these primitives. <details> <summary>Stack</summary> 1. **jakehwll/DEVEX-355/01-primitives, primitives (this PR)** 2. jakehwll/DEVEX-355/02-api, API client and query layer 3. jakehwll/DEVEX-355/03-components, provider form components 4. jakehwll/DEVEX-355/04-pages, pages and routes 5. jakehwll/DEVEX-355/05-section, section reshuffle Replaces #25328 once the stack lands. </details>