Skip to content

duplich/react-web-share

 
 

Repository files navigation

react-web-share

Tiny Web Share API wrapper with fallback for unsupported browsers

GitHub Actions Status NPM gzip

Edit react-web-share

💡 most browsers restricts web share api only to https websites

✨ Features

  • 🍃 Only ~6kb gzipped and no external dependencies
  • 🌀 Uses React Portal
  • ✌ Written w/ TypeScript

🔧 Installation

npm i react-web-share # npm yarn add react-web-share # yarn

Preview

Mobile

Mobile Preview

Desktop

Desktop Preview

📦 Example

import React, { useState } from "react"; import { RWebShare } from "react-web-share"; const Example = () => { return ( <div> <RWebShare data={{ text: "Like humans, flamingos make friends for life", url: "https://on.natgeo.com/2zHaNup", title: "Flamingos", }} onClick={() => console.log("shared successfully!")} > <button>Share 🔗</button> </RWebShare> </div> ); }; export default Example;

👀 Props

Prop Description Type Default
data Share Object {text, url, title} {text: "", url: currentURL, title: "Share"}
sites sites string[] all platforms (see list below for key list)
closeText translate close string localise close text
onClick callback on sucessful share
disableNative disables native share boolean false

🌎 Sites

  • facebook
  • twitter
  • whatsapp
  • reddit
  • telegram
  • linkedin
  • mail
  • copy (Copy to Clipboard)
  • vk
  • okru

📜 License

MIT © harshzalavadiya

About

Tiny web share wrapper with fallback for unsupported browsers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 75.3%
  • JavaScript 13.9%
  • CSS 9.2%
  • HTML 1.6%