Skip to content

feat(apollo-vertex): headless escape hatches for the form wizard [AGVSOL-4703]#950

Open
frankkluijtmans wants to merge 2 commits into
mainfrom
frankkluijtmans/headless-wizard-form
Open

feat(apollo-vertex): headless escape hatches for the form wizard [AGVSOL-4703]#950
frankkluijtmans wants to merge 2 commits into
mainfrom
frankkluijtmans/headless-wizard-form

Conversation

@frankkluijtmans

Copy link
Copy Markdown
Contributor

Makes the form wizard usable headless so consumers can fully control the design. FormWizardSteps and FormWizardNav now accept a function child that receives the wizard wiring (steps/stepIndex/goToStep and back/next/isFirst/isLast/form), letting consumers render custom markup while keeping navigation and validation intact. FormWizard and FormWizardStep gained asChild to swap their wrapper element, and the new render-api types are exported through the barrel. All existing <FormWizardSteps /> and <FormWizardNav /> usage is unchanged. Adds a FormWizardHeadlessDemo (custom progress rail plus custom nav) and a "Bring your own UI" docs section demonstrating the three levels of control.

👨 Generated with Kluijt Code

Copilot AI review requested due to automatic review settings July 22, 2026 11:34
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (PT)
apollo-design 🟢 Ready Preview, Logs Jul 22, 2026, 05:49:21 AM
apollo-docs 🟢 Ready Preview, Logs Jul 22, 2026, 05:49:21 AM
apollo-landing 🟢 Ready Preview, Logs Jul 22, 2026, 05:49:21 AM
apollo-vertex 🟢 Ready Preview, Logs Jul 22, 2026, 05:49:21 AM

@github-actions

Copy link
Copy Markdown
Contributor

Dependency License Review

  • 1950 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1720
ISC 89
Apache-2.0 55
BSD-3-Clause 27
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 4
MIT-0 3
CC0-1.0 3
MIT OR Apache-2.0 2
(MIT OR Apache-2.0) 2
Unlicense 2
LGPL-3.0-or-later 1
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

@frankkluijtmans frankkluijtmans changed the title feat(apollo-vertex): headless escape hatches for the form wizard feat(apollo-vertex): headless escape hatches for the form wizard [AGVSOL-4703] Jul 22, 2026
@frankkluijtmans
frankkluijtmans marked this pull request as ready for review July 22, 2026 11:35
@frankkluijtmans
frankkluijtmans requested a review from a team as a code owner July 22, 2026 11:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds headless “escape hatches” to the Apollo Vertex Form Wizard so consumers can fully customize rendering while continuing to use the wizard’s step/navigation wiring and validation flow.

Changes:

  • Added render-prop APIs to FormWizardSteps and FormWizardNav (plus exported render-api types).
  • Added asChild support to FormWizard and FormWizardStep via Radix Slot.
  • Expanded docs and added a new headless demo showcasing custom progress + custom navigation.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
apps/apollo-vertex/registry/form-wizard/index.ts Exports the new render-api types through the barrel.
apps/apollo-vertex/registry/form-wizard/form-wizard.tsx Adds asChild and a render-prop escape hatch for steps (plus render-api type).
apps/apollo-vertex/registry/form-wizard/form-wizard-nav.tsx Adds a render-prop escape hatch for nav (plus render-api type).
apps/apollo-vertex/app/components/form-wizard/page.mdx Documents “Bring your own UI” and embeds the new headless demo + guidance.
apps/apollo-vertex/app/components/form-wizard/form-wizard-headless-demo.tsx New example demonstrating custom Stepper replacement and custom nav using the new APIs.
Comments suppressed due to low confidence (1)

apps/apollo-vertex/registry/form-wizard/form-wizard-nav.tsx:34

  • children is typed as ReactNode | ((api) => ReactNode), but non-function children are currently ignored and the default nav buttons still render. If ReactNode is supported here, it should be rendered inside the nav container when provided (falling back to the default UI only when children is null/undefined).
  return (
    <div
      data-slot="form-wizard-nav"
      className={cn("flex items-center justify-between gap-3", className)}
      {...props}
    >

Comment thread apps/apollo-vertex/registry/form-wizard/form-wizard.tsx
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

📊 Coverage + size by package

Per-package bundle size on this PR (no JS/TS source changes detected under packages/* or web-packages/*).

Package Coverage New-line coverage Packed (gzip) Unpacked vs main
@uipath/apollo-core 9.0% 43.84 MB 57.45 MB ±0
@uipath/apollo-react 37.3% 7.40 MB 28.28 MB ±0
@uipath/apollo-wind 41.0% 397.6 KB 2.58 MB +9 B
@uipath/ap-chat 85.8% 43.43 MB 55.92 MB ±0

"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.

Copilot AI review requested due to automatic review settings July 22, 2026 12:43
@frankkluijtmans
frankkluijtmans force-pushed the frankkluijtmans/headless-wizard-form branch from dc6a6b5 to 8735363 Compare July 22, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comment thread apps/apollo-vertex/registry/form-wizard/form-wizard-nav.tsx
Comment thread apps/apollo-vertex/registry/form-wizard/form-wizard.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:apollo-vertex size:L 100-499 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants