2.0.3 • Published 11 months ago

react-floating-bubble v2.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

React Floating Bubble

A customizable floating bubble component for React applications, similar to Intercom's messenger bubble. Built with React, TypeScript, and Tailwind CSS.

Features

  • 🎨 Fully customizable appearance
  • 📱 Responsive design
  • 🎯 Multiple position options
  • 🔔 Notification badge support
  • ✨ Smooth animations
  • 🎁 Custom icon support
  • 💬 Tooltip support
  • 📦 TypeScript support
  • 🎯 ESM and CommonJS support

Installation

npm install react-floating-bubble
# or
yarn add react-floating-bubble

Usage

import { Bubble } from 'react-floating-bubble';

function App() {
  return (
    <Bubble
      position="bottom-right"
      color="#0084ff"
      size={56}
      tooltip="Need help?"
      showBadge
      badgeCount={3}
      onClick={() => console.log('Bubble clicked!')}
    >
      <div>
        <h3 className="text-lg font-bold">Hello there! 👋</h3>
        <p className="mt-2">How can we help you today?</p>
      </div>
    </Bubble>
  );
}

Props

PropTypeDefaultDescription
position'bottom-right' | 'bottom-left' | 'top-right' | 'top-left''bottom-right'Position of the bubble on the screen
sizenumber56Size of the bubble in pixels
colorstring'#0084ff'Primary color of the bubble
iconReact.ReactNodeundefinedCustom icon to display in the bubble
tooltipstringundefinedText to display when hovering over the bubble
showBadgebooleanfalseWhether to show a notification badge
badgeCountnumber0Number to display in the notification badge
classNamestring''Custom CSS class names
animatebooleantrueWhether to use subtle bounce animation
onClick() => voidundefinedClick handler for the bubble
childrenReact.ReactNodeundefinedContent to display in the popover

Examples

Custom Icon

import { Bubble } from 'react-floating-bubble';

function App() {
  return (
    <Bubble
      icon={
        <svg
          xmlns="http://www.w3.org/2000/svg"
          className="h-6 w-6"
          fill="none"
          viewBox="0 0 24 24"
          stroke="currentColor"
        >
          <path
            strokeLinecap="round"
            strokeLinejoin="round"
            strokeWidth={2}
            d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
          />
        </svg>
      }
      color="#00c853"
    />
  );
}

With Notification Badge

import { Bubble } from 'react-floating-bubble';

function App() {
  return (
    <Bubble
      showBadge
      badgeCount={5}
      position="bottom-left"
      tooltip="You have 5 new messages"
    />
  );
}

Development

  1. Clone the repository
  2. Install dependencies: npm install
  3. Start development server: npm run dev
  4. Build the package: npm run build
  5. Run tests: npm test

License

MIT © Your Name

2.0.3

11 months ago

2.0.2

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.9.9

11 months ago

1.9.8

11 months ago

1.9.7

11 months ago

1.9.5

11 months ago

1.9.0

11 months ago

1.8.0

11 months ago

1.7.0

11 months ago

1.6.0

11 months ago

1.5.0

11 months ago

1.3.0

11 months ago

1.2.0

11 months ago

1.0.0

11 months ago