Customization

This section outlines the elements you can customize within the Email Input module to match your brand while preserving Incode’s core UX. It clarifies which areas are flexible, such as text, and brand colors and which elements remain fixed to ensure consistency, accessibility, and optimal capture performance across platforms.


Empty Form Screen

Initial state of the module. The email field is empty, validation hasn’t run yet, and Continue is disabled until a valid format is entered.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelFully localizable; keep succinct for scanability
Email Input (Idle)Border, surface, placeholder textMaintain clear contrast with focused/error states
Close IconColorShould remain subtle vs. brand accents
Primary Button (Disabled)Label and disabled colorsMust remain visually distinct from enabled state
Footer“Verified by Incode” lineOptional but recommended for transparency and trust
Brand ColorsHeader, accentsUse existing brand tokens to ensure consistency

Fixed Elements

ElementWhy it is fixed
Layout structure & spacingEnsures cross-module consistency and predictable rhythm
Input height & radiusStandardized for touch ergonomics and familiarity
Button placementKeeps spatial consistency through all states
WCAG minimum contrastMandatory for accessibility compliance

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
Subtitle texttext-body-secondary#60667C
Email input border (idle)input-border-default#EBECEF
Email input surface (idle)input-surface-default#FCFCFD
Email input placeholderinput-text-field-placeholder#A3A8B8
Email input textinput-text-field-default#262831
Close iconicon-neutral-500#60667C
Button background (disabled)button-primary-surface-disabled#EBECEF
Button text (disabled)button-primary-text-disabled#A3A8B8
Footer texttext-body-secondary#60667C
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • If customizing text, ensure clarity and brevity (e.g., “Enter your email” instead of “Please provide your email address”).
  • When adjusting button color, maintain strong contrast for accessibility.


Focused Input Screen

State when the user is actively typing and the email format is valid. The input shows a focused style and "Continue" button becomes enabled.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelFully localizable; keep concise
Email Input (Focused)Border, surface, caret, placeholderMust keep high contrast vs. idle/error
Close IconColorRemains secondary to brand accents
Primary Button (Enabled)Label and background/text colorsUse brand primary; ensure WCAG contrast
Footer“Verified by Incode” lineOptional but recommended for transparency and trust

Fixed Elements

ElementWhy it is fixed
Input height, radius, spacingTouch ergonomics and cross-module consistency
Button placementSpatial predictability across states
WCAG minimum contrastRequired for certification and compliance

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
Subtitle texttext-body-secondary#60667C
Email input border (focused)input-border-focused#006AFF
Email input surface (focused)input-surface-focused#FCFCFD
Email input textinput-text-field-default#262831
Email input placeholderinput-text-field-placeholder#A3A8B8
Close iconicon-neutral-500#60667C
Button background (enabled)button-primary-surface-default#006AFF
Button text (enabled)button-primary-text-default#FFFFFF
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • You can adjust the focus color to match your brand, but ensure it remains visually distinct from error states.
  • If modifying typography, preserve visual differences between title, subtitle, and input to maintain clarity.
  • Always test your custom color scheme in light and dark modes for accessibility consistency.


OTP Entry Screen (Focused State)

This screen appears after the user enters their email and the system sends a one-time passcode (OTP) to this email.

The user is prompted to enter the code in a series of clearly separated fields. As the input fields gain focus, the borders and surfaces adapt to indicate active interaction. A countdown below the button communicates when the user can resend the code.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, helper text, countdown labelFully localizable; supports dynamic values (e.g., countdown)
OTP FieldsBorder and text color in focused stateMust maintain accessibility contrast and clarity
ButtonsLabel, color states (disabled/enabled)Must meet WCAG 2.1 contrast requirements
Resend Code TextColor, hover/press stateUses tertiary text token, consistent with interaction patterns
Brand ColorsPrimary accent and focus colorDerived from brand-500 and related tokens
Footer“Verified by Incode” lineOptional but recommended for transparency and trust

Fixed Elements

ElementWhy it is fixed
Input field layoutEnsures consistency across all OTP verification steps
Field spacingOptimized for readability and tap accuracy
Countdown behaviorFixed duration to standardize retry experience
Button placementStandard alignment for visual rhythm and reachability
Typography hierarchyMaintains cross-platform readability
WCAG minimum contrastRequired for accessibility certification

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
OTP input border (focused)input-border-focused#006AFF
OTP input surface (focused)input-surface-focused#FCFCFD
OTP input textinput-text-field-default#262831
Button background (disabled)button-primary-surface-disabled#EBECEF
Button text (disabled)button-primary-text-disabled#A3A8B8
Countdown texttext-body-secondary#60667C
Resend linkbutton-tertiary-text-disabled#60667C
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • You can adjust the focus color to match your brand, but ensure it remains visually distinct from error states.
  • If modifying typography, preserve visual differences between title, subtitle, and input to maintain clarity.
  • Always test your custom color scheme in light and dark modes for accessibility consistency.


OTP Checking (Verification Loading) Screen

This screen represents the verification state of the OTP. After the user submits the one-time passcode (OTP), the system verifies the input. The interface locks input fields and transitions the button to a loading spinner, indicating that validation is in progress. During this state, interaction is temporarily disabled until the verification completes.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle and helper textFully localizable; tone can be adapted
OTP Fields (Disabled)Border, background, and text colorShould visually indicate a non-editable state
ButtonsSpinner color, background, and textSpinner inherits brand color for visual consistency
Resend / Change Number TextColor and link stateUses tertiary text token
Brand ColorsButton and header accentsDerived from brand-... tokens
Footer“Verified by Incode” textOptional but recommended for consistency, transparency and trust

Fixed Elements

ElementWhy it is fixed
Layout structureEnsures consistency across all verification states
Button positionAligned for accessibility and predictable interaction flow
Input layout and spacingMaintains readability during transition states
Loading spinner sizeStandardized for cross-platform consistency
Typography hierarchyMaintains readability and balance
WCAG minimum contrastEnsures accessible visual design

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
OTP input border (disabled)input-border-disabled#EBECEF
OTP input surface (disabled)input-surface-disabled#EBECEF
OTP input text (disabled)input-text-field-disabled#A3A8B8
Spinner accentsurface-brand-400-static#3388FF
Button background (loading)button-primary-surface-default#006AFF
Button text (loading)button-primary-text-default#FFFFFF
Resend / Change Email textbutton-tertiary-text-disabled#60667C
Footer texttext-body-secondary#60667C
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • If modifying color schemes, ensure that disabled input states remain visibly distinct.


Processing Screen

This optional screen appears after the OTP verification is completed and before the module transitions to a success or failure state. It communicates that the system is finalizing the verification process, providing visual feedback to assure the user that progress is ongoing.


Customizable Elements

AreaWhat can be customizedNotes
TextLoading message (e.g., “Processing...”)Fully localizable; keep short and neutral
SpinnerColor, animation speedMust use brand color for recognition; avoid slowing animation
BackgroundColor and safe area paddingMaintain contrast and visual calmness
Brand ColorsHeader and spinner accentShould use primary brand token for consistency
Close IconColorOptional; use neutral tone for secondary emphasis

Fixed Elements

ElementWhy it is fixed
Spinner placementCentralized for visual focus and balance
Animation timingConsistent across all processing states in SDK
Typography sizeMaintains clear hierarchy and visual stability
Button removalReduces confusion during non-interactive state
Layout rhythmMatches other module loading states for cohesion

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Spinner accent (primary)spinner-surface-primary#006AFF
Spinner accent (secondary)spinner-surface-secondary#E5F0FF
Title textspinner-text-title#262831
Background surfacesurface-neutral-0#FFFFFF
Iconicon-neutral-500#60667C

Design Notes

  • Keep the text short; don’t include instructions or next steps here.
  • If using customized colors, ensure they don’t reduce the contrast of the spinner icon.


Success Screen

This screen appears after the user’s email has been successfully verified. It provides a clear confirmation of success before the flow transitions to the next module or completion step. The layout is intentionally minimal to maintain focus on the success feedback.


Customizable Elements

AreaWhat can be customizedNotes
TextConfirmation message (e.g., “Email verified!”)Fully localizable; tone should remain concise and positive
Success IconColor, animationShould use the positive status color token; simple checkmark animation is acceptable
Brand ColorsHeader and accentMust align with overall brand identity while maintaining readability
BackgroundColorKeep high contrast for the icon and message
Close IconColorOptional; maintain neutral tone for minimal distraction

Fixed Elements

ElementWhy it is fixed
Layout structureEnsures consistent feedback presentation across modules
Icon size and positionOptimized for recognition and accessibility
Text alignmentCentral alignment for visual balance
Typography hierarchyMaintains brand consistency and readability
WCAG minimum contrastRequired for accessibility compliance

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
Success iconicon-status-positive#189F60
Icon backgroundicon-neutral-0#FFFFFF
Close iconicon-neutral-500#60667C
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • Keep the confirmation text short and positive; don’t include instructions or next steps here.
  • If using customized colors, ensure they don’t reduce the contrast of the success message or icon.


OTP Error Screen

This screen appears when the user enters an incorrect or expired code. It provides immediate visual feedback through red highlight states and an error message. The interface allows the user to resend the code or change their email before attempting verification again.



Customizable Elements

AreaWhat can be customizedNotes
TextError message and helper textFully localizable; keep concise and polite tone
Input Fields (Error)Border, background, text colorMust maintain strong color contrast for accessibility
Error IconColorUses negative (error) status color token
ButtonsLabel, color stateMaintain clear disabled and active visual distinction
Links (Resend / Change Email)Color and hover statesUse brand accent color for recognition
Brand ColorsHeader and accentsShould align with existing brand color tokens
Footer“Verified by Incode” textOptional but recommended for consistency, transparency and trust



Fixed Elements

ElementWhy it is fixed
Layout structureMaintains consistency across OTP states
Input field shape and spacingOptimized for error visibility
Button placementStandardized for user familiarity
Typography hierarchyPreserves consistent hierarchy and legibility
Error message positionFixed to align directly below input fields
WCAG minimum contrastRequired for accessibility compliance



Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
Error borderinput-border-negative#E71111
Error surfaceinput-surface-negative#EBECEF
Error textinput-text-helper-negative#E71111
Error iconinput-icon-negative#E71111
Input text (default)input-text-field-default#262831
Button background (disabled)button-primary-surface-disabled#EBECEF
Button text (disabled)button-primary-text-disabled#A3A8B8
Links (Resend / Change Email)button-tertiary-text-default#006AFF
Footer texttext-body-secondary#60667C
Background surfacesurface-neutral-0#FFFFFF



Design Notes

  • Error messaging should remain concise — don’t overload users with explanations.
  • Avoid replacing the red border with icons alone; border color communicates immediacy effectively.


Failure Screen

This screen appears when a critical issue prevents the verification process from completing — for example, a timeout, or unexpected backend failure. It reassures the user with clear feedback and offers a “Try again” action to quickly restart the verification flow.


Customizable Elements

AreaWhat can be customizedNotes
TextHeading and button labelFully localizable; tone should remain calm and neutral
Error IconColor, size, animationShould use negative color token; avoid using motion-heavy icons
Button (Primary)Label, background, text colorUse brand accent for consistency; maintain high contrast
Brand ColorsHeader, accentMust match brand token palette
BackgroundColorMaintain sufficient contrast for visibility and focus

Fixed Elements

ElementWhy it is fixed
Layout and spacingConsistent centered hierarchy across all result states
Icon and text alignmentEnsures immediate clarity and minimal scanning effort
Typography weightReinforces error hierarchy; avoids visual noise
Button placementFixed below feedback message to preserve spatial consistency
WCAG minimum contrastRequired for accessibility compliance

Token Reference

UI ElementTokenRaw Value
Brand namesurface-brand-500-static#006AFF
Title texttext-body-primary#262831
Error iconicon-status-negative#E71111
Icon backgroundicon-neutral-0#FFFFFF
Close iconicon-neutral-500#60667C
Button background (primary)button-primary-surface-default#006AFF
Button textbutton-primary-text-default#FFFFFF
Background surfacesurface-neutral-0#FFFFFF



Design Notes

  • Error messaging should remain concise — don’t overload users with extra details.
  • Avoid specifying is details whether the error is due to network, validation, or server issues to prevent potential reverse-engineering attempts by fraudsters.