Customization

This section outlines the elements you can customize within the Phone Number 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

This screen represents the initial state of the Phone Number Input flow. The user is prompted to enter their phone number and country code. At this stage, no input is provided, and the Continue button is disabled.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelFully localizable; tone can be adapted
Input FieldBorder, background, placeholder colorMust follow contrast and accessibility guidelines
Brand ColorsHeader, buttons, and accent elementsUses Incode token structure for consistency
ButtonsLabel, color states (enabled/disabled)Must meet WCAG contrast ratio
Footer“Verified by Incode” textOptional but recommended for consistency, transparency and trust

Fixed Elements

ElementWhy it is fixed
Layout structureEnsures alignment across onboarding modules
Input field shape and proportionsMust remain consistent with other form modules
Spacing & safe areasOptimized for readability and touch ergonomics
Font hierarchyMaintains visual clarity across all device sizes
Close icon positionStandardized for user familiarity
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
Input placeholderinput-text-field-placeholder#A3A8B8
Input borderinput-border-default#EBECEF
Input surfaceinput-surface-default#FCFCFD
Dropdown textdropdown-text-input-default#262831
Dropdown borderdropdown-border-default#EBECEF
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 number” instead of “Please provide your mobile phone”).
  • When adjusting button color, maintain strong contrast for accessibility.


Form Filling Screen (Focused State)

This screen represents the focused input state of the Phone Number Input module.

When the user begins typing, the input field becomes highlighted with the focused border color, and the Continue button activates once the phone number is valid. This state communicates interaction and readiness to proceed.


Customizable Elements

AreaWhat can be customizedNotes
TextTitle, subtitle, button labelFully localizable; tone can be adapted
Input Field (Focused)Border color, surface, placeholder textMust meet accessibility and contrast requirements
Dropdown (Country Code)Icon, border, and surface colorsUses shared input styles and tokens
Brand ColorsButton and active statesDerived from brand token system
ButtonsLabel, enabled/disabled colorsMust align with WCAG standards

Fixed Elements

ElementWhy it is fixed
Layout structureMaintains alignment and consistency across modules
Input shape and field heightStandardized for usability and accessibility
Spacing & paddingOptimized for touch and visual rhythm
Typography hierarchyEnsures consistent information hierarchy
Button dimensionsFixed to meet platform accessibility requirements
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
Input border (focused)input-border-focused#006AFF
Input textinput-text-field-default#262831
Input surface (focused)input-surface-focused#FCFCFD
Dropdown textdropdown-text-input-default#262831
Dropdown borderdropdown-border-default#EBECEF
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 phone number and the system sends a one-time passcode (OTP) via SMS.

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

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 textinput-text-field-default#262831
OTP input surface (focused)input-surface-focused#FCFCFD
Button background (disabled)button-primary-surface-disabled#EBECEF
Button text (disabled)button-primary-text-disabled#A3A8B8
Resend code textbutton-tertiary-text-disabled#60667C
Countdown timer texttext-body-secondary#60667C
Iconicon-neutral-500#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 Phone Number Input module. 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-500 and brand-400 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 text (disabled)input-text-field-disabled#A3A8B8
OTP input border (disabled)input-border-disabled#EBECEF
OTP input surface (disabled)input-surface-disabled#EBECEF
Button background (default/loading)button-primary-surface-default#006AFF
Button text (default/loading)button-primary-text-default#FFFFFF
Spinner accentsurface-brand-400-static#3388FF
Resend/change number textbutton-tertiary-text-disabled#60667C
Iconicon-neutral-500#60667C
Background surfacesurface-neutral-0#FFFFFF

Design Notes

  • Avoid introducing additional text or loaders elsewhere on the screen.
  • If modifying color schemes, ensure that disabled input states remain visibly distinct.


Success Screen

This screen appears after the user’s phone number 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 messageFully localizable; tone can be adapted
Success IconColor and animationMust use approved positive color tokens
Brand ColorsHeader and accentBased on brand-500 values
BackgroundColor and safe area paddingMust preserve contrast and clarity

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
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 phone number 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.