A lightweight React component library for displaying Support us page in a clean and customizable way. It provides pre-built UI components to showcase support us page with tier-based layouts, theme support, and Tailwind CSS styling, making it easy to integrate a professional support us page into any project or website.
ð Features
-
ðĻ Tier-based Layouts: Display sponsors in different tiers with logos and links, styled according to the selected theme.
-
ðĻ Theme Support: Choose from light, dark, minimal, corporate, or AOSSIE themes for consistent branding.
-
ðĻ Customizable Styling: Tailwind CSS classes for easy customization of the support us page.
-
ðĨïļ Responsive Design: Built with responsive design principles for optimal viewing on all devices.
-
ð§Đ Easy Integration: Simple to integrate into any project or website with a single component.
-
ðĶ ESM + CommonJS + UMD builds: Supports various module systems for flexible integration.
-
ð§ TypeScript support included: Provides type definitions for seamless development.
-
ðĻ Styled with Tailwind (no global resets): Uses Tailwind CSS for styling with no global resets.
-
ðŠķ Lightweight and optimized: Lightweight and optimized for performance.
ðŧ Tech Stack
React â For building reusable UI components
TypeScript â For type safety and better developer experience
Tailwind CSS â For modern, utility-first styling
Rollup â For bundling and optimizing the package for distribution
Node.js & npm â For package management and publishing
ð Repository Links
Installation
You can install and use this package either through npm (recommended for Node.js projects) or directly via a CDN.
Using npm
Install the package using npm:
# Install the package
npm install support-us-buttonUsing CDN
You can also use the component directly in the browser via a CDN:
<script src="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/index.umd.js"></script>
Once included, the component will be available to use in your project.
Usage
Using npm
// Import the component in your project: import SupportUsButton from "support-us-button"; // Import the styles in your project: import "support-us-button/style.css"; // Import the types in your project: import type { supportUsButtonProps } from "support-us-button"; // Use the component in your project: <SupportUsButton {...props} />; // props is an object of type supportUsButtonProps
Using CDN
<script src="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/index.umd.js"></script> // Import the styles in your project: <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/style.css" /> // Use the component in your project: <SupportUsButton />
Once included, the component will be available to use in your project.
Quick Start
Props template â fill in your own values:
const props: supportUsButtonProps = { Theme: "", // "AOSSIE" | "light" | "dark" | "minimal" | "corporate" pattern: "", // "AOSSIE" | "dots" | "grid" | "none" buttonVariant: "", // "AOSSIE" | "primary" | "secondary" | "ghost" | "gradient" hero: { title: "", // â your heading description: "", // â your subheading sponsorLabel: "", // â optional label above org info Image: { src: "", alt: "" }, // â hero background image, Note: Remove the prop if you do not require a hero image. fit: "", // â use "cover" for full-width images, "contain" for logo-style images to avoid cropping }, organizationInformation: { name: "", // â your organization name description: "", // â short org description logo: { src: "", alt: "" }, // â Add file path to src and alt text for accessibility. Note: Accepts a string path/url. url: "https://example.com", // â optional: if a valid https:// URL is provided, the logo becomes clickable projectInformation: { name: "", // â your project name description: "",// â short project description }, }, // Optional â remove if you have no sponsors yet sponsors: [ { name: "", logo: "", link: "", sponsorshipTier: "" }, // Tiers: "Platinum" | "Gold" | "Silver" | "Bronze" (higher â bigger card) ], ctaSection: { title: "", // â CTA heading description: "", // â why people should sponsor sponsorLink: [ { name: "Examplename", className: "sponsor-link", url: "https://example.com/sponsor", icon: null, // This Accepts ReactNode element(JSX) newTab: true, }, // Add one entry per sponsorship platform ], }, }; <SupportUsButton {...props} />;
Props API
Show details
Available API
| Prop | Type | Required | Description |
|---|---|---|---|
Theme |
string | No | Theme for the button, can be one of "AOSSIE", "light", "dark", "minimal", or "corporate" |
pattern |
string | No | Optional background pattern for the button, can be one of "dots", "grid", "AOSSIE", or "none" |
hero |
object | Yes | Information about the Hero section, including title, description, sponsor label, and optional background Image |
organizationInformation |
object | Yes | Information about the organization, including name, description, logo, and project information |
sponsors |
array of objects | No | List of current sponsors, each with name, optional logo, link, and sponsorship tier |
ctaSection |
object | Yes | Information about the call-to-action section, including title, description, and sponsor links |
classNames |
object | No | Optional additional CSS class for custom styling |
buttonVariant |
string | No | Optional button variant for styling the call-to-action buttons |
Prop Options Reference
Show details
All available options for configurable props in the component.Theme
Show details
Controls the overall visual appearance of the widget.
| Value | Description |
|---|---|
AOSSIE |
Default theme styled for AOSSIE branding |
corporate |
Corporate styled layout |
dark |
Dark mode UI |
light |
Light mode UI |
minimal |
Minimal clean design |
Pattern
Show details
Adds a decorative background pattern to the hero section.
| Value | Description |
|---|---|
AOSSIE |
Square and Circle pattern |
dots |
Dot pattern background |
grid |
Subtle grid pattern |
none |
None |
hero
Show details
Controls the top section of the widget.
| Value | Type | Required | Description |
|---|---|---|---|
Image |
Image |
No | Background or hero image |
title |
string | Yes | Main heading |
fit |
"cover" / "contain" | No | logo-style images to avoid cropping |
description |
string | Yes | Hero description |
sponsorLabel |
string | No | Label above sponsor section |
Image
Show details
Used in hero images and organization logos.
| Value | Type | Required | Description |
|---|---|---|---|
src |
string | No | Imag URl |
alt |
string | No | Alternative text |
buttonVariant
Show details
Controls the styling of the call-to-action buttons.
| Value | Description |
|---|---|
AOSSIE |
Default styled button |
primary |
Primary action button |
secondary |
Secondary button style |
ghost |
Transparent minimal button |
gradient |
Gradient styled button |
organizationInformation
Show details
Information about the organization and project.
| Value | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Organization name |
description |
string | Yes | Organization description |
logo |
Image / string |
No | Organization logo |
url |
string | No | Organization link |
projectInformation |
projectInformation |
No | Project details |
projectInformation
Show details
Details about the project being sponsored.
| Value | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Project name |
description |
string | Yes | Project description |
sponsors
Show details
List of sponsors displayed in the widget.
| Value | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Sponsor name |
logo |
string | No | Sponsor logo |
link |
string | No | Sponsor website |
sponsorshipTier |
Tier |
No | Sponsor tier |
Tier
Show details
Used inside the sponsors array to visually differentiate sponsors.
| Value | Description |
|---|---|
Platinum |
Highest tier sponsor |
Gold |
High level sponsor |
Silver |
Mid level sponsor |
Bronze |
Entry level sponsor |
ctaSection
Show details
Call-to-action section encouraging sponsorship.
| Value | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | CTA title |
description |
string | Yes | CTA description |
sponsorLink |
sponsorLink[] |
Yes | List of sponsorship platforms |
sponsorLink
Show details
Platform links for sponsorship (Patreon, GitHub Sponsors, etc).
| Value | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Platform name |
url |
string | Yes | Sponsorship URL |
icon |
ReactNode | No | Icon for the platform |
className |
string | No | Custom CSS class |
newTab |
boolean | No | Open link in new tab |
classNames
Show details
Allows custom styling of different widget sections.
| Value | Description |
|---|---|
container |
Root container styling |
Hero |
Hero section styling |
organizationInformation |
Organization section styling |
sponsors |
Sponsors section styling |
ctaSection |
CTA section styling |
ðą App Screenshots
AOSSIE-Theme
Light-Theme
Dark-Theme
ð Contributing
â Don't forget to star this repository if you find it useful! â
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure smooth collaboration, please refer to our Contribution Guidelines.
âĻ Maintainers
ð License
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
ðŠ Thanks To All Contributors
Thanks a lot for spending your time helping SupportUsButton grow. Keep rocking ðĨ
ÂĐ 2026 AOSSIE








