Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

wa-chat-widget

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wa-chat-widget

A simple WhatsApp chat widget for websites

  • 1.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-16.67%
Maintainers
1
Weekly downloads
 
Created
Source

WhatsApp Chat Widget

npm version npm downloads commit size hits

A lightweight, customizable WhatsApp chat widget that adds a floating WhatsApp button to your website. When clicked, it opens a WhatsApp chat with a pre-defined message.

Features

  • 🎨 Fully customizable appearance
  • 📱 Mobile-friendly and responsive
  • 🎯 Multiple position options
  • 💬 Custom pre-defined messages
  • 🔧 Easy to install and configure
  • 🌐 Works with any website
  • 💪 No dependencies
  • ♿ Accessibility friendly
  • 🌙 Dark mode support
  • 🖨️ Print-friendly (hides widget)

Installation

Using npm

npm install wa-chat-widget

Using CDN

<script src="https://cdn.jsdelivr.net/npm/wa-chat-widget@1.0.3/dist/wa-chat-widget.js"></script>

or

<script src="https://unpkg.com/wa-chat-widget@1.0.3/dist/wa-chat-widget.js"></script>

Usage

Note: The Phone number should be entered in the international format without the + sign. For eg: If your number is +1 234-567-9898, then you should enter the phone number as 12345679898.

ES6 Module

import WaChatWidget from 'wa-chat-widget';

const widget = new WaChatWidget({
    phoneNumber: '1234567890',
    message: "Hello! I'm interested in your services"
});

Script Tag

<script src="https://cdn.jsdelivr.net/npm/wa-chat-widget@1.0.3/dist/wa-chat-widget.js"></script>
<script>
    const widget = new WaChatWidget({
        phoneNumber: '1234567890',
        message: "Hello! I'm interested in your services"
    });
</script>

Configuration Options

OptionTypeDefaultDescription
phoneNumberstring''WhatsApp number in international format without + symbol in front (required)
messagestring"I'm interested to know more about your offerings."Default message
positionstring'bottom-right'Widget position ('top-left', 'top-right', 'bottom-left', 'bottom-right')
backgroundColorstring'#25D366'Background color of the widget
textColorstring'#fff'Color of the WhatsApp icon
sizestring'60px'Size of the widget
showTooltipbooleantrueShow/hide tooltip on hover
tooltipTextstring'Chat with us'Text to show in tooltip

Examples

Basic Usage

new WaChatWidget({
    phoneNumber: '1234567890'
});

Custom Styling

new WaChatWidget({
    phoneNumber: '1234567890',
    backgroundColor: '#075e54',
    textColor: '#ffffff',
    size: '70px',
    position: 'top-right'
});

Multi-Language Support

const userLanguage = navigator.language.substring(0, 2);
const messages = {
    en: "Hi, I'd like to know more",
    es: "Hola, me gustaría saber más",
    fr: "Bonjour, j'aimerais en savoir plus"
};

new WaChatWidget({
    phoneNumber: '1234567890',
    message: messages[userLanguage] || messages.en,
    tooltipText: 'Chat with us'
});

Dynamic Control

const widget = new WaChatWidget({
    phoneNumber: '1234567890'
});

// Hide widget
widget.hide();

// Show widget
widget.show();

// Update options
widget.updateOptions({
    backgroundColor: '#128C7E',
    size: '65px'
});

// Destroy widget
widget.destroy();

Business Hours

function isBusinessHours() {
    const now = new Date();
    const hours = now.getHours();
    const day = now.getDay();
    return day >= 1 && day <= 5 && hours >= 9 && hours < 17;
}

new WaChatWidget({
    phoneNumber: '1234567890',
    message: isBusinessHours() 
        ? "Hi, I'd like to speak with your team"
        : "Hi, I'd like to leave a message",
    tooltipText: isBusinessHours()
        ? "Chat with us now!"
        : "Leave us a message",
    backgroundColor: isBusinessHours() ? '#25D366' : '#128C7E'
});

API Methods

MethodDescription
show()Shows the widget
hide()Hides the widget
destroy()Removes the widget from DOM
updateOptions(options)Updates widget configuration

Browser Support

  • Chrome (Latest)
  • Firefox (Latest)
  • Safari (Latest)
  • Edge (Latest)
  • Opera (Latest)

License

Commercial license

If you want to use this plugin to develop commercial sites, themes, projects, and applications, the Commercial license is the appropriate license. With this option, your source code is kept proprietary. Read more about the commercial license.

Open source license

If you are creating an open source application under a license compatible with the GNU GPL license v3, you may use this project under the terms of the GPLv3.

Author

Raghu Chinnannan

Support

For support, please open an issue in the GitHub repository.

Keywords

FAQs

Package last updated on 02 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc