🎨 Choose a Theme
Click to switch between different theme examples showing how to customize the widget for your brand:
Corporate Blue
Professional and trustworthy design perfect for enterprise and financial services.
Accent Color:
Background:
White
💡 How to Customize
The chat widget is embedded with theme variables that can be customized in real-time:
<script
src="http://your-widget-server:30871/embed.js"
data-label="Chat with us!"
data-accent="#0e7cc8"
data-text-color="#ffffff">
</script>
Or update theme at runtime with CSS custom properties on #mini-chat-host
Multiple Themes
Choose from pre-built themes or create your own with custom colors and branding.
Fast & Lightweight
Minimal JavaScript footprint, loads async, doesn't block page rendering.
Secure & Private
End-to-end encrypted messages, no tracking, GDPR compliant.
Responsive Design
Works perfectly on mobile, tablet, and desktop devices.
📚 Widget Customization Guide
Available CSS Custom Properties
--mc-accent/--mc-text-color: Accent pill fill and readable text--mc-font-family-light/--mc-font-family-dark,--mc-font-size,--mc-font-weight: Typography controls--mc-surface-*: Widget surfaces (primary,elevated,header,badge,pill,hover)--mc-text-*&--mc-msg-text: Primary, muted, and message text colors--mc-control-*&--mc-button-*: Close button and send button palettes--mc-msg-user/--mc-msg-bot: Message bubble backgrounds--mc-feedback-*,--mc-shadow-control: Feedback icon colors and control shadow--mc-window-width,--mc-window-height,--mc-window-radius: Layout sizing
Theme Modes & Fonts
Control the default theme directly on the embed script:
<script src="https://your-domain/embed.js"
data-theme="auto"
data-font-light="Inter, system-ui, sans-serif"
data-font-dark="Inter, 'Segoe UI', sans-serif"
data-theme-persist="true"></script>
data-theme:light,dark, orauto(default follows system)data-font-light/data-font-dark: Override font stacks per themedata-theme-persist: Set tofalseto skip localStorage preferencedata-theme-storage: Override the storage key when you host multiple widgets
Runtime Theme API
Switch themes programmatically after load:
// Force dark mode for this session
MiniChat.setThemeMode('dark');
// Follow system again without clearing stored preference
MiniChat.setTheme('auto', { persist: false });
// Provide custom fonts per theme
MiniChat.setFonts({
light: 'Inter, system-ui, sans-serif',
dark: 'Inter, "Segoe UI", sans-serif'
});
// Theme-specific color tokens
MiniChat.setTheme({
light: { 'mc-msg-text': '#1f2937' },
dark: { 'mc-msg-text': '#f8fafc' }
});
// Inspect current state
MiniChat.getThemeState();