Theme gallery
Typography
Shrike textStyle mapped to portal utility classes. Compare with flex-funnels contract-form (Perch entity).
Screen chrome
Perch Customer Portal
Check if you qualify for income-based savings
You may qualify for additional savings if your household income falls below a certain limit and if you participate in a qualifying low-to-moderate income (LMI) program.
Maps to: portal-kicker · heading800 (Title) · paragraph500 primary (Description — Shrike Text defaults)
Section block
Eligibility details
Select your county and household occupancy below to calculate your county's household income limit.
Your information is used only to pre-fill your verification form and won't be shared outside the state program.
Maps to: paragraph500 emphasis · paragraph500 primary · paragraph400 secondary
Form labels & helpers
County of residence
Required for income limit lookup.
Number of people in household
Include all members living at the service address.
Consent & contract link
I have reviewed my . By proceeding, I will be submitting my e-signature on the attestation.
Maps to: paragraph400 secondary with inline link (contract-form consent row)
Errors
We couldn't personalize your form. Please try again or contact support.
County is required.
Maps to: paragraph500 color error · field-level messages
Centered step title
Upload proof of eligibility
Used on proof-doc and account screens in flex-funnels (heading600).
| Portal class | Shrike textStyle | Size | Color |
|---|---|---|---|
| text-heading-screen | heading800 | 24px | primary |
| text-heading-step | heading600 | 18px | primary |
| text-heading-subsection | heading500 | 16px | primary |
| text-body | paragraph500 | 16px | primary |
| text-body-muted | paragraph400 | 14px | secondary |
| text-eyebrow | eyebrow400 | 12px | secondary |
Buttons
default = Shrike Perch primary (green). secondary = Shrike default (white).
Input components
shadcn inputs installed for self-attestation. Vanilla CLI output + Perch theme tokens.
Text inputs
Select (combobox)
Radio group
Checkbox
Checkbox group (string[] value)
Badge
Proof document upload
react-dropzone v15 dropzone for MN proof docs. Upload converts to a base64 data URI for the EP upload mutation (wired in a later slice).
Who is this document for?
Upload proof document
Front of document (back optional in the attestation flow).
Drag and drop a file here
or choose a file from your device
Max size: 5 MB | Formats: JPEG, PNG, HEIC, or PDF