Skip to content

feat(Contractor.SignatureForm): add contractor W-9 signature form component#2319

Open
serikjensen wants to merge 1 commit into
feat/contractor-w9-signature-form-hookfrom
feat/contractor-w9-signature-form
Open

feat(Contractor.SignatureForm): add contractor W-9 signature form component#2319
serikjensen wants to merge 1 commit into
feat/contractor-w9-signature-form-hookfrom
feat/contractor-w9-signature-form

Conversation

@serikjensen

@serikjensen serikjensen commented Jul 1, 2026

Copy link
Copy Markdown
Member

Summary

Adds the Contractor.SignatureForm component, built on top of useContractorSignatureForm (#2318). Second of two PRs; stacked on #2318 — review/merge that one first.

  • Maps the hook's field surface to UI via useComponentContext() and SDKFormProvider.
  • Renders the document PDF download link and a link to the IRS W-9 instructions (no inline preview).
  • Fires a scoped CONTRACTOR_SIGN_DOCUMENT event on successful submit.
  • Registers the component for contractor onboarding exports and sdk-app design mode; adds Contractor.SignatureForm to the i18n namespace and the global component-name union.

Test plan

  • npm run test -- --run src/components/Contractor/Documents/SignatureForm/SignatureForm.test.tsx (15 passing)
  • npx tsc --noEmit
  • npm run i18n:generate + npm run derive (API report + docs regenerated, 0 errors)

Decomposed from #2299. Diff against main will collapse to component-only changes once #2318 merges.

Screen.Recording.2026-06-30.at.4.52.45.PM.mov

Made with Cursor

Renders the contractor W-9 signing surface on top of useContractorSignatureForm:
maps the hook's field surface to UI, shows the document PDF download and IRS
W-9 instructions links, and fires a scoped CONTRACTOR_SIGN_DOCUMENT event on
submit. Registers the component for onboarding and sdk-app design mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
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