Chat Launcher
A floating button that invites users to start a chat. Choose from 7 distinct visual styles, customize the colors, anchor it to either bottom corner, and pair it with a ChatWindow for a complete flow.
Variants
Launcher Variants
Click any launcher to see it animate. Pick the personality that fits your product.
<ChatLauncher
variant="spark"
text="Live Chat"
showTooltip
tooltipText="We are online!"
onClick={() => setOpen(true)}
/>Launcher → Window
Launcher → Window Flow
Click the launcher to open the chat window. Minimize or close to return to the launcher.
const [open, setOpen] = useState(false);
<>
{!open && (
<ChatLauncher
variant="spark"
text="Chat with us"
onClick={() => setOpen(true)}
/>
)}
{open && (
<ChatWindow
messages={messages}
onSendMessage={handleSend}
onMinimize={() => setOpen(false)}
onClose={() => setOpen(false)}
/>
)}
</>ChatLauncher Props
variant'icon' | 'morph' | 'beacon' | 'pulsar' | 'expand' | 'bar' | 'spark'"'spark'"Visual style for the launcher button.
variant'icon' | 'morph' | 'beacon' | 'pulsar' | 'expand' | 'bar' | 'spark'"'spark'"Visual style for the launcher button.
imageUrlstringLogo image rendered inside the launcher. Falls back to default chat icon if not set.
imageUrlstringLogo image rendered inside the launcher. Falls back to default chat icon if not set.
textstring"'Live Chat'"Label for variants that show text (bar, beacon, expand, spark).
textstring"'Live Chat'"Label for variants that show text (bar, beacon, expand, spark).
bgColorstringPrimary background color.
bgColorstringPrimary background color.
secBgColorstringSecondary color used in gradients.
secBgColorstringSecondary color used in gradients.
fontColorstringForeground (icon/text) color.
fontColorstringForeground (icon/text) color.
align'bottomRight' | 'bottomLeft'"'bottomRight'"Side of the screen the launcher is anchored to.
align'bottomRight' | 'bottomLeft'"'bottomRight'"Side of the screen the launcher is anchored to.
spacingCornerstringDistance from the anchored side edge.
spacingCornerstringDistance from the anchored side edge.
spacingBottomstringDistance from the bottom edge.
spacingBottomstringDistance from the bottom edge.
showTooltipbooleanShow an idle tooltip near the launcher.
showTooltipbooleanShow an idle tooltip near the launcher.
tooltipTextstring"'We are online!'"Tooltip text.
tooltipTextstring"'We are online!'"Tooltip text.
iconReactNodeCustom icon overriding the default chat icon.
iconReactNodeCustom icon overriding the default chat icon.
classNamestringExtra class on the root.
classNamestringExtra class on the root.
styleCSSPropertiesExtra inline styles.
styleCSSPropertiesExtra inline styles.
buttonOnMobilebooleanForce the simple icon variant on mobile when variant is bar/expand.
buttonOnMobilebooleanForce the simple icon variant on mobile when variant is bar/expand.
autoAnimateboolean"true"Enable periodic animations on variants that support them (e.g., expand).
autoAnimateboolean"true"Enable periodic animations on variants that support them (e.g., expand).
onClickreq() => voidClick handler — toggles open/close state externally.
onClickreq() => voidClick handler — toggles open/close state externally.
import { ChatLauncher } from 'fluxo-ui';
import type { ChatLauncherProps, ChatLauncherVariant, ChatLauncherAlign } from 'fluxo-ui';