Documentation Index
Fetch the complete documentation index at: https://docs.getpara.com/llms.txt
Use this file to discover all available pages before exploring further.
Customize the visual appearance of the Para Modal to match your application’s design system.
Logo Configuration
paraModalConfig={{
logo: "https://yourdomain.com/logo.png"
}}
For optimal display, use a logo image with dimensions of 372px × 160px.
Theme Configuration
Basic Theme Example
paraModalConfig={{
theme: {
foregroundColor: "#333333",
backgroundColor: "#FFFFFF",
accentColor: "#007AFF",
mode: "light",
borderRadius: "md",
font: "Arial, sans-serif"
}
}}
Dark Mode Configuration
paraModalConfig={{
theme: {
// Light mode colors
foregroundColor: "#333333",
backgroundColor: "#FFFFFF",
accentColor: "#007AFF",
// Dark mode colors
darkForegroundColor: "#FFFFFF",
darkBackgroundColor: "#1C1C1E",
darkAccentColor: "#0A84FF",
mode: "dark" // or "light"
}
}}
Advanced Theme with Custom Palette
For granular control over specific UI components, use the customPalette option:
paraModalConfig={{
theme: {
foregroundColor: "#333333",
backgroundColor: "#FFFFFF",
accentColor: "#007AFF",
mode: "light",
customPalette: {
text: {
primary: "#333333",
secondary: "#666666",
subtle: "#999999",
inverted: "#FFFFFF",
error: "#FF3B30"
},
modal: {
surface: {
main: "#FFFFFF",
footer: "#F2F2F7"
},
border: "#E5E5EA"
},
button: {
primary: {
background: "#007AFF",
hover: "#0056CC",
text: "#FFFFFF"
}
}
}
}
}}
Custom Fonts
You can use custom fonts by importing them in your global CSS and specifying the font family:
paraModalConfig={{
theme: {
font: "Inter, sans-serif"
}
}}
Ensure your custom font is loaded before the modal renders for the best user experience.
Password & PIN Screen Theme Limitations
Password and PIN authentication screens are rendered in an iframe and use the Developer Portal theme settings, not your paraModalConfig.theme. This means:
- Theme colors may differ between the modal and password screens if configurations don’t match
- Dynamic theme changes at runtime won’t affect the iframe
- You must configure matching themes in both your code and the Developer Portal for consistency
Complete Theming Example
<ParaProvider
paraClientConfig={{
apiKey: process.env.REACT_APP_PARA_API_KEY || "",
}}
config={{
appName: "Your App Name"
}}
paraModalConfig={{
logo: "https://yourdomain.com/logo.png",
theme: {
foregroundColor: "#333333",
backgroundColor: "#FFFFFF",
accentColor: "#007AFF",
mode: "light",
borderRadius: "md",
font: "Inter, sans-serif",
oAuthLogoVariant: "default",
customPalette: {
text: {
primary: "#333333",
secondary: "#666666"
},
button: {
primary: {
background: "#007AFF",
hover: "#0056CC"
}
}
}
}
}}
>
{children}
</ParaProvider>
Modal Designer
Test your theme configuration with our interactive tool: