All Projects → rcaferati → React Awesome Button

rcaferati / React Awesome Button

Licence: mit
React button component. Awesome button is a 3D UI, progress, social and share enabled, animated at 60fps, light weight, performant, production ready react UI button component. 🖥️ 📱

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Awesome Button

React Native Really Awesome Button
React Native button component. Awesome Button is a 3D at 60fps, progress enabled, social ready, extendable, production ready component that renders an awesome animated set of UI buttons. 📱
Stars: ✭ 988 (+4.77%)
Mutual labels:  share, social, animated, component, progress, button
React Progress Button
🌀 Simple react.js component for an inline progress indicator
Stars: ✭ 516 (-45.28%)
Mutual labels:  component, progress, button
Vue Social Share
A Vue 2.x social share component
Stars: ✭ 136 (-85.58%)
Mutual labels:  share, social, component
Gradient Widgets
Flutter widgets wrapped with gradients
Stars: ✭ 290 (-69.25%)
Mutual labels:  progress, button
Pix
🎨 Pix is an online pixel art community where everyone can unleash their creativity on a 16x16 canvas, built with React-Native for iOS devices. 🚀
Stars: ✭ 86 (-90.88%)
Mutual labels:  social, share
netflix-list-exporter
💫‎‎‎‏‏‎ An Extension to export your lists from Netflix to Clipboard area and share it with your friends.
Stars: ✭ 60 (-93.64%)
Mutual labels:  share, button
jQuery-Awesome-Sosmed-Share-Button
Awesome Social Media Share Button With Share Count
Stars: ✭ 58 (-93.85%)
Mutual labels:  share, button
React Native Platform Touchable
A wrapper around the various Touchable* components built into React Native core with platform defaults
Stars: ✭ 440 (-53.34%)
Mutual labels:  component, button
Share.js
一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等
Stars: ✭ 3,534 (+274.76%)
Mutual labels:  share, social
Buttonprogressbar Ios
A small and flexible (well documented) UIButton subclass with animated loading progress, and completion animation.
Stars: ✭ 479 (-49.2%)
Mutual labels:  animated, progress
Github Buttons
Unofficial github:buttons.
Stars: ✭ 821 (-12.94%)
Mutual labels:  component, button
Static Social Buttons
Static Social Buttons for Sharing and Tweeting
Stars: ✭ 18 (-98.09%)
Mutual labels:  share, social
Awloader
AWLoader is a UI Component that allows you to integrate loader that fits your needs within your app.
Stars: ✭ 11 (-98.83%)
Mutual labels:  component, progress
react-custom-share
Social media share buttons for ReactJS. Use one of the built-in button themes or create a custom one from scratch.
Stars: ✭ 47 (-95.02%)
Mutual labels:  social, share
aboutmeinfo-telegram-bot
ℹ️ About Me Info Bot: Share your social media and links on Telegram
Stars: ✭ 20 (-97.88%)
Mutual labels:  social, share
YBPulseButton
A Custom button that pulses.
Stars: ✭ 31 (-96.71%)
Mutual labels:  button, animated
Vue Simple Spinner
A simple, flexible spinner for Vue.js
Stars: ✭ 385 (-59.17%)
Mutual labels:  component, progress
Vue Step Progress
A simple Vue component that displays a Progress Bar with labels for each step
Stars: ✭ 26 (-97.24%)
Mutual labels:  component, progress
vue-socials
💬 Social media share buttons and counts for Vue.js
Stars: ✭ 32 (-96.61%)
Mutual labels:  social, share
YHThirdManager
一个快速、简单、易集成、扩展性好的社交化组件。摒弃友盟等三方库,使用原生SDK。支持微信支付、微信分享、微信登录、微信授权、QQ授权、QQ分享、QQ登录、新浪授权、新浪登录、新浪分享、微博评论、微博获取、支付宝支付。极大的减小了包体积;同时加入了自动管理提示框的功能
Stars: ✭ 41 (-95.65%)
Mutual labels:  social, share

React <AwesomeButton /> UI Component

Travis NPM

react-awesome-button is a performant, extendable, highly customisable, production ready React Component that renders an animated set of 3D UI buttons. Bundled together with a social share and progress enabled components.

react-awesome-button demo

Key Features

  • 60fps 3D animated button
  • Animated progress button
  • Social icons and network specific share methods
  • OnPress ripple effect
  • Look and feel customisable and extendable in two ways: via CSS custom properties or SASS variables and lists (scss config file).
  • Use it with CSSModules or **Plain CSS

Live demo

Checkout the live demo with the CSS customizer at my web portfolio page.

You can run this demo locally on 8080 by cloning this repository and running npm start

Storybook

Checkout the Storybook at my web portfolio page.

Figma File

Import it directly into your Figma project.

You can run the storybook locally on 6006 by cloning this repository and running npm run storybook

Installation

npm install --save react-awesome-button

Styling with plain CSS and CSS Modules

Plain CSS

import { AwesomeButton } from "react-awesome-button";
import "react-awesome-button/dist/styles.css";

function Button() {
  return <AwesomeButton type="primary">Button</AwesomeButton>;
}

CSS Modules

import { AwesomeButton } from "react-awesome-button";
import AwesomeButtonStyles from "react-awesome-button/src/styles/styles.scss";

function Button() {
  return (
    <AwesomeButton cssModule={AwesomeButtonStyles} type="primary">
      Button
    </AwesomeButton>
  );
}

AwesomeButton rendered with a button tag

Renders the component with a Button tag and an onPress prop called on animation release. Checkout this example live on the storyboard.

import { AwesomeButton } from "react-awesome-button";
import AwesomeButtonStyles from "react-awesome-button/src/styles/styles.scss";

function Button() {
  return (
    <AwesomeButton
      cssModule={AwesomeButtonStyles}
      type="primary"
      ripple
      onPress={() => {
        // do something
      }}
    >
      Button
    </AwesomeButton>
  );
}

AwesomeButton rendered with an anchor tag

Render the component with an anchor tag setting the href and target attributes.

Checkout this example live on the storyboard.

import { AwesomeButton } from "react-awesome-button";
import AwesomeButtonStyles from "react-awesome-button/src/styles/styles.scss";

function Button() {
  return (
    <AwesomeButton
      cssModule={AwesomeButtonStyles}
      type="primary"
      href="https://google.com"
      target="_blank"
    >
      Button
    </AwesomeButton>
  );
}

AwesomeButton props

Attribute Type Default Description
type string primary Render a specific button type, styled by the .scss type list
size string auto Render a specific button size, styled by the .scss size list
element node null Overwrites the default container element renderer, useful for using it with react-router Link component.
disabled bool false Should render a disabled button
visible bool true Should the button be visible
ripple bool false Should render the animated ripple effect
onPress function null Default click/press function
href string null Forces the button to be rendered on an anchor container and sets the href to the specified value
target string null When used together with href renders an anchor with a specific target attribute

AwesomeButtonProgress basic example

Checkout this example live on the storyboard.

  import { AwesomeButtonProgress } from 'react-awesome-button';
  import AwesomeButtonStyles from 'react-awesome-button/src/styles/styles.scss'

  function Button() {
    return (
      <AwesomeButtonProgress
        cssModule={AwesomeButtonStyles}
        type="primary"
        onPress={next => {
          // do a sync/async task then call `next()`
        }}
      >
        Button
      </AwesomeButtonProgress>
    );
  }

AwesomeButtonProgress specific props

Being a wrapper on the AwesomeButton component, it accepts its props plus the following ones.

Attribute Type Default Description
loadingLabel string Wait .. Progress button loading label text
resultLabel string Success Progress button success label text
releaseDelay number 500 Delay for releasing the button after the progress animation
fakePress boolean false When set to true triggers a fake button press

AwesomeButtonSocial basic example

Checkout this example live on the storyboard.

  import { AwesomeButtonSocial } from 'react-awesome-button';
  import AwesomeButtonStyles from 'react-awesome-button/src/styles/styles.scss'

  function Button() {
    return (
      <AwesomeButtonSocial
        cssModule={AwesomeButtonStyles}
        type="facebook"
        url="https://caferati.me"
      >
        Button
      </AwesomeButton>
    );
  }

AwesomeButtonSocial specific props

Being a wrapper on the AwesomeButton component, it accepts its props plus the following ones.

Attribute Type Default Description
type string primary Render a specific button type. Bundled with Facebook, Instagram, Twitter, Github, Youtube, Linkedin, Pinterest, Reddit, Messenger, Whatsapp and Google Plus (RIP) types and share methods
icon bool false Should render the social icon relative to the button type
iconHeight number 23 Rendered icon height
icon number 30 Rendered icon width
url string null Url string to be used on the sharer
image string null Image url to be rendered on the sharer
message string null Message string to be rendered on the share post
phone string null Phone number to be used when using the Whatsapp sharer
user string null Username to be redirected to when using the Messenger sharer

React Native Version

Checkout the React Native version of the Awesome Button UI Component at rcaferati/react-native-really-awesome-button

Author

Rafael Caferati

License

MIT. Copyright (c) 2019 Rafael Caferati.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].