- Fonts Configuration
- Button Configuration
- Group Configuration
- Bar Configuration
- Picture Configuration
- Input Configuration
- Text Configuration
- Dialog Configuration
- Action Pad Configuration
- Keypad Configuration
- Statuses Configuration
- Decoration Configuration
The widget configuration defines various UI components used throughout the application. Below are the different configuration categories:
Defines the default font settings from Google Fonts, such as:
fontFamily: Default font family (e.g., Montserrat)
Override the default button styles (primary, neutral, primaryOnDark, neutralOnDark) with custom configurations. Defines button styles, including:
{
"backgroundColor": "#ffff061e",
"foregroundColor": "#ffffffff",
"textColor": "#ff000000",
"iconColor": "#ffe42626",
"disabledIconColor": "#1fcd2f2f"
}- Background color (optional)
- Foreground color (optional)
- Icon colors (optional)
- Disabled states (optional)
Defines the structure of grouped widgets, including:
Example:
{
"backgroundColor": "#ffdf2929",
"textColor": "#ff100000"
}- Background color (optional)
- Text color (optional)
Defines navigation bars:
Example:
{
"backgroundColor": "#ffffff",
"selectedItemColor": "#ffffff",
"unSelectedItemColor": "#ffffff"
}Example:
{
"foregroundColor": "#ffffff",
"backgroundColor": "#ffffff",
"selectedItemColor": "#ffffff",
"unSelectedItemColor": "#ffffff"
}{
"defaultPlaceholderImage": {},
"appIcon": {},
"leadingAvatarStyle": {}
}Defines the default image used across the application when an asset fails to load or is
unavailable.
This configuration ensures visual consistency for all placeholder, error, or empty image states.
You can configure:
- uri — path or URL of the image resource.
Supports formats likeasset://,network://, orremote://. - render — optional rendering settings:
- scale — scaling factor to adjust image size.
- padding — defines extra spacing around the image (top, left, right, bottom).
Example:
{
"defaultPlaceholderImage": {
"uri": "asset://assets/secondary_onboardin_logo.svg",
"render": {
"scale": 0.25,
"padding": {
"left": 0.0,
"top": 128.0,
"right": 0.0,
"bottom": 0.0
}
}
}
}- Automatically used for all placeholder or fallback visuals (e.g., missing avatars, thumbnails, or logos).
- Helps maintain a unified appearance across different screens and loading states.
Configurable properties:
- color — Color overlay for the application icon (hex format).
Example:
{
"appIcon": {
"color": "#ffffff"
}
}The Leading Avatar component is a circular profile/avatar element commonly used in lists, call
screens, and contact details.
It can display a user’s photo, initials, or a placeholder icon, and supports additional visual
indicators like loading states,
smart badges, and registration status markers.
You can configure:
- Background color — circle fill color (hex).
- Size — radius in logical pixels.
- Initials text style — font, size, weight, color, etc.
- Placeholder icon — icon to show when no photo is available (by
codePointorname). - Loading overlay — loader visibility, padding, stroke width.
- Smart indicator — top-left badge with background color, icon, and size factor.
- Registered badge — bottom-right badge with colors for registered/unregistered and size factor.
Example:
{
"leadingAvatarStyle": {
"backgroundColor": "#EEF3F6",
"radius": 20.0,
"initialsTextStyle": {
"fontFamily": "Montserrat",
"fontSize": null,
"fontWeight": {
"weight": 700
},
"color": "#1F618F"
},
"placeholderIcon": {
"codePoint": "0xe497",
"fontFamily": "MaterialIcons",
"matchTextDirection": false
},
"loading": {
"showByDefault": false,
"padding": {
"left": 2.0,
"top": 2.0,
"right": 2.0,
"bottom": 2.0
},
"strokeWidth": 1.0
},
"smartIndicator": {
"backgroundColor": "#F8FBFD",
"icon": {
"codePoint": "0xe491",
"fontFamily": "MaterialIcons",
"matchTextDirection": false
},
"sizeFactor": 0.4
},
"registeredBadge": {
"registeredColor": null,
"unregisteredColor": null,
"sizeFactor": 0.2
}
}
}Defines input fields, including:
**Example: **
{
"primary": {
"labelColor": "#ffffff",
"border": {
"disabled": {
"typicalColor": "#ffffff",
"errorColor": "#ffffff"
},
"focused": {
"typicalColor": "#ffffff",
"errorColor": "#ffffff"
},
"any": {
"typicalColor": "#ffffff",
"errorColor": "#ffffff"
}
}
}
}- Primary input style
- Border configurations
- Label color settings
Defines text display settings, including:
Example:
{
"selection": {
"cursorColor": "#ffffff",
"selectionColor": "#ffffff",
"selectionHandleColor": "#ffffff"
},
"linkify": {
"styleColor": "#ffffff",
"linkifyStyleColor": "#ffffff"
}
}- Selection colors
- Link styles
Defines dialog settings, including:
Example:
{
"confirmDialog": {
"activeButtonColor1": "#ffffff",
"activeButtonColor2": "#ffffff",
"defaultButtonColor": "#ffffff"
},
"snackBar": {
"successBackgroundColor": "#75B943",
"errorBackgroundColor": "#E74C3C",
"infoBackgroundColor": "#494949",
"warningBackgroundColor": "#F95A14"
}
}- Confirmation dialogs
- Snack bar messages (success, error, info, warning colors)
Defines the styles for various action buttons, primarily used on the call screen and dial pad. Each key in this object corresponds to a specific button, and its value is a button style configuration (see Button Configuration).
This allows for customizing buttons like callStart, hangup, camera, muted, digit (for
keypad numbers), backspace, etc.
For toggleable buttons like camera or muted, you can define separate styles for their active
states (e.g., cameraActive).
Example:
{
"callStart": {
"backgroundColor": "#75B943",
"foregroundColor": "#ffffff",
"iconColor": "#ffffff"
},
"hangup": {
"backgroundColor": "#E74C3C",
"foregroundColor": "#ffffff",
"iconColor": "#ffffff"
},
"camera": {
"backgroundColor": "#660371b3"
},
"cameraActive": {
"backgroundColor": "#ff4baecc"
},
"muted": {
"backgroundColor": "#6613a7fe"
},
"mutedActive": {
"backgroundColor": "#ff14a3f8"
},
"digit": {
"backgroundColor": "#EEF3F6",
"foregroundColor": "#494949",
"textColor": "#494949"
},
"backspace": {
"backgroundColor": "transparent",
"iconColor": "#494949"
}
}callStart: Style for the call initiation button.hangup: Style for the call termination button.camera,cameraActive: Styles for the camera toggle button in its inactive and active states.muted,mutedActive: Styles for the mute toggle button.digit: Style for the numeric (0-9, *, #) buttons on the dial pad.backspace: Style for the backspace button on the dial pad. ... and other action buttons can be configured similarly.
Defines settings for the keypad (dial pad) view itself, distinct from the buttons on it.
Example:
{
"backgroundColor": "#ffffff",
"digitsTextStyle": {
"fontFamily": "Montserrat",
"fontSize": 36.0,
"fontWeight": {
"weight": 400
},
"color": "#494949"
},
"lettersTextStyle": {
"fontFamily": "Montserrat",
"fontSize": 12.0,
"fontWeight": {
"weight": 500
},
"color": "#494949"
}
}backgroundColor: Background color of the entire keypad view.digitsTextStyle: Text style for the main digits (e.g., "1", "2") on the keypad buttons.lettersTextStyle: Text style for the secondary letters (e.g., "ABC", "DEF") on the keypad buttons.
Defines status colors for:
Example:
{
"registrationStatuses": {
"online": "#75B943",
"offline": "#EEF3F6"
},
"callStatuses": {
"connectivityNone": "#E74C3C",
"connectError": "#E74C3C",
"appUnregistered": "#494949",
"connectIssue": "#E74C3C",
"inProgress": "#123752",
"ready": "#75B943"
}
}- Registration statuses (online, offline)
- Call statuses (ready, in progress, errors)
Defines UI decoration settings, such as gradient colors for various components.
Example:
{
"primaryGradientColorsConfig": {
"colors": [
{
"color": "#5CACE3",
"blend": true
},
{
"color": "#123752",
"blend": true
}
]
}
}