Skip to content

feat(react): add UI primitives for source forms#187

Open
mrzmyr wants to merge 1 commit intoRhysSullivan:mainfrom
mrzmyr:mrzmyr/source-forms-01-primitives
Open

feat(react): add UI primitives for source forms#187
mrzmyr wants to merge 1 commit intoRhysSullivan:mainfrom
mrzmyr:mrzmyr/source-forms-01-primitives

Conversation

@mrzmyr
Copy link
Copy Markdown
Contributor

@mrzmyr mrzmyr commented Apr 11, 2026

1 of 5 — source-forms refactor split from #169.

Introduces four shared UI primitives that the upcoming source-form refactor relies on, keeping the refactor PRs focused on wiring rather than new atoms:

  • <FilterTabs> — compact tab selector used by the shared auth section.
  • <FloatActions> — sticky bottom action bar for save/cancel on long forms (Claude / ElevenLabs-style editing UX).
  • <IOSSpinner> — iOS-style blade spinner for subtle inline loading states, paired with a new keyframe in globals.css.
  • <Textarea maxRows> — adds an optional maxRows prop so source-form preview/error panels can cap their height without bespoke wrappers.

No consumers updated in this PR; follow-up PRs adopt them.

Stack

  1. (this PR) feat(react): add UI primitives for source forms
  2. feat(react): add <AuthenticationSection> primitive
  3. refactor(mcp): adopt shared primitives in Add/Edit source forms
  4. refactor(sources): standardize openapi, graphql, google-discovery, onepassword forms
  5. refactor(react): restructure sources list and sources-add container

Each PR typechecks + lints on its own when merged in order.

Introduces four shared UI primitives that the upcoming source-form refactor
relies on, keeping the refactor PR focused on wiring rather than new atoms:

- <FilterTabs> — compact tab selector used by the shared auth section.
- <FloatActions> — sticky bottom action bar for save/cancel on long forms
  (Claude / ElevenLabs-style editing UX).
- <IOSSpinner> — iOS-style blade spinner for subtle inline loading states,
  paired with a new keyframe in globals.css.
- <Textarea> — adds an optional maxRows prop so source-form preview/error
  panels can cap their height without bespoke wrappers.

No consumers updated in this PR; follow-up PRs adopt them.
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