Theme gallery

Shrike perchTheme mapped to shadcn. Compare with flex-funnels (Perch entity) and Shrike Storybook.

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 classShrike textStyleSizeColor
text-heading-screenheading80024pxprimary
text-heading-stepheading60018pxprimary
text-heading-subsectionheading50016pxprimary
text-bodyparagraph50016pxprimary
text-body-mutedparagraph40014pxsecondary
text-eyebroweyebrow40012pxsecondary

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

DefaultSecondaryOutlineDestructive

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

Loading

Alert

Dialog

Card

Utility account

Read-only header context from portal_context (later PR).
← Back to home