1.0.1 • Published 4 months ago

@toucantrickle/toucantrickle-widgets v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

Overview

The repo contains the ToucanTrickle Protocol buttons/widgets that can be integrated into your website. This includes a checkout button that can be used to provide simple signup experience as well as a top-up button that can be added to your app/website to allow users to ensure they maintain a healthy toucanTrickle balance.

Installation

To install the stable version:

npm install --save @toucantrickle/toucantrickle-widgets

or using yarn:

yarn add @toucantrickle/toucantrickle-widgets

Usage

Add this import to starting point of your project such as: index.js or index.ts files

import '@toucantrickle/toucantrickle-widgets';

Or add this script tag at the starting of the project

<script>https://cdn.jsdelivr.net/npm/@toucantrickle/toucantrickle-widgets@1.0.0/dist/index.js</script>

Create a <toucantrickle-checkout-button/> element with required attributes mentioned below.

<toucantrickle-checkout-button
  class="toucantrickle-checkout-button"
  environment="production"
  chains="polygon,avalanche"
  provider="0x...."
  plan="123456"
  onClose="close"
  onSuccess="success"
  label="Checkout with Crypto"
></toucantrickle-checkout-button>

Attributes:

nameRequiredDescription
classCSS classes to add.
environmentEnvironment. Possible values: testnet or production. Defaults to production.
chainsList of chains a subscription can be created on. Ensure the same plans exist on all chains. Defaults to polygon.
providerYour provider wallet address.
planYour ToucanTrickle plan id.
labelMessage to put on the button.
refInclude a custom value associated with the ToucanTrickle subscription data.
sizeButton size. Possible values:regular, large or small. Defaults to regular.
themeWidget theme. Possible values: dark or light. Defaults to dark.
redirectRedirect to URL upon successful subscribe. Does not call onSuccess handler, if supplied.
onCloseCallback for close event.
onSuccessCallback for successSubscription event.

Events:

nameDescription
closeFires after widget closes
successSubscriptionFires when user subscribes to plan

Multi Chain:

The ToucanTrickle protocol has been deployed on a number of EVM chains, and additional chains will be supported in the future. For the checkout widget to support multiple chains, the provider must have deployed the exact same set of plans/discounts on each chain in which they support. Once that is done, the widget needs to be told which chains to support via the chains attribute. The value is a comma separate list of the following chains:

Production Environment:

  • polygon
  • avalanche
  • fantom
  • celo
  • aurora
  • moonbeam
  • gnosis

Testnet Environment:

  • mumbai
  • fuji
  • celo_alfajores

Styling:

toucantrickle-checkout-button uses Shadow CSS ::part spec. It has button inside defined as button part img.png

<style>
  .toucantrickle-checkout-button::part(button) {
    background-color: aqua;
    width: 100%; /* Those styles apply to button in shadow root */
  }
</style>
<toucantrickle-checkout-button
  class="toucantrickle-checkout-button"
  label="Pay with Crypto"
/>

See more about ::part() on https://developer.mozilla.org/en-US/docs/Web/CSS/::part