2.0.3 • Published 4 months ago

react-floating-bubble v2.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 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

4 months ago

2.0.2

4 months ago

2.0.1

4 months ago

2.0.0

4 months ago

1.9.9

4 months ago

1.9.8

4 months ago

1.9.7

4 months ago

1.9.5

4 months ago

1.9.0

4 months ago

1.8.0

4 months ago

1.7.0

5 months ago

1.6.0

5 months ago

1.5.0

5 months ago

1.3.0

5 months ago

1.2.0

5 months ago

1.0.0

5 months ago